02-13-2006 01:46 PM
a) Both Yoko's get initialised fine, no problemsb) The first Yoko doesn't start reading datac) The second Yoko does read data fine, no problemsd) The Keithley's are fine, too (they don't seem to be affected at all, whatever I try with the Yoko's/E5810's)e) When I press the 'stop' button in my program (not the 'stop' at the LabView menu) LabVIEW crashes.d) When I press the 'stop' button of the LabVIEW menu, LabVIEW won't crash but when I start the measurement again the first Yoko won't initialise properly.
02-16-2006 09:43 AM
02-16-2006 07:40 PM
02-17-2006 05:25 AM
Hi,
After Revision K of the Agilent I/O libraries it is possible to install Agilent VISA (Agilent I/O Libraries) and NI-VISA side-by-side. The necessary instructions are included in the attached document.
NI-VISA will only function as the primary VISA and therefore only one visa32.dll can be registered at a time, rev K of the Agilent I/O libraries provides a second DLL named agvisa32.dll. Any program linked to this DLL will have access to Agilent’s VISA without requiring that Agilent VISA be primary. The same PC can run some programs with NI-VISA and other programs with Agilent VISA. PnP drivers will only work with the VISA that is primary.
Without having the hardware setup here to be able to investigate fully, we need to be systematic about how we approach this.
Are you using low level visa calls, or an instrument driver that was downloaded? (If downloaded, where from?)
From a look on google for the Agilent interface you're using, it appears that Agilent's E5810 only implements the VXI-11.3 Instrument functions,like Write,Read,SerialPoll and Clear,and does not implement the VXI-11.2 Interface functions. The E5810 does have some non-standard VXI-11commands that increase its interface capability however, which is probably why using the Agilent VISA would help the situation.
Since the E5810 is a single client only, it shouldn't really be getting confused since you have two separate IP addresses for it. This would leave me a little confused about the race condition, since the messages would be going to individual interfaces, and therefore isolated entirely from each other. It's not based on IVI, so there's no state cacheing going on, and it should simply be passing on the information. How have you got the network setup - are they connected via a switch, or a hub etc? If it's through a hub, and the first instrument/E5810 combination is blasting lots of data backwards and forwards, it could be causing the messages to not get through to the other instrument/E5810. It should happen eventually though.
The crash on stop is quite bizarre too though.
It might be plausible to try a different E5810, or even try a National Instruments ENET-GPIB - please call into the office on 01635 572400 for the UK, and talk to your internal sales engineer to discuss a loan of one of these.
Please let us know the results of your testing.
Thanks
Sacha Emery
National Instruments (UK)
02-20-2006 11:56 AM
Thanks Gents, it's working now!
However, I have cheated a bit and didn't do it properly as you guys suggested. Must confess that - as we are under a bit of time pressure here at the moment - I didn't dare to download any drivers or change the primary VISA's etc ... didn't want to upset the rest of the system, if you know what I mean.
As both Yoko's worked fine separately, I've re-written my program so that only only one E5180 connection is open at any one time. That obvioiusly means that the Yoko's now won't take readings in sync but as they are quite fast (app. 3 values/sec, much faster than the mulitpexer cards of the loggers), the scan rate for our test will be app. 30 sec, and we are looking at steady test conditions anyway, this is totally acceptable.
Certainly a quick fix for the near term only but it does what we want it to do. We'll get it sorted properly when we have a bit more time, I guess.
Thanks again,
Stefan
02-21-2006 10:10 AM
02-22-2006 04:08 AM
Hi!
I have used a 'Sequence Structure' from the 'Structure' menu. The first frame of the sequence structure contains the initialisation for the first Yokogawa (via the E5180), triggers the Yokogawa to read the data, and closes the connection again. ( I've used standard Sub-VI's from Yokogawa for these tasks). The second frame does exactly the same for the second Yokogawa/E5810, and so on. As the initialisation of the Yokogawas is quite fast, and so are reading the data and closing the connection, we are able to get app. 3 readings/second from each Yokogawa. Obviously not simultaneous readings but close enough for our application. We do get the measurement time stamp for one Yokogawa, and pass it on through the sequence structure with a 'Sequence Local' (right-click on the frame of the structure) to the other Yokogawas. That way we get the same time stamp for the data files for each Yokogawa. Not 100% correct, I know but we are talking miliseconds here, which is as mentioned above acceptable for our application.
Hope the above makes sense,
Cheers