11-13-2020 03:36 AM
Hi
The extra read of 100 ms does not work because the wait works in parallele with the read that has already 3200 ms timeout in visa.
So you better increase the visa timeout and remove the sequence frame and the 100ms wait.
The visa timeout can be extended to 10 seconds (10000ms) because the timeout will end when a measurement is available.
11-13-2020 04:29 AM
the timeout error disappeared, when I added a few millisecond wait in a frame AFTER the VISA Read.
Maybe that will also fix my original problem, I have to see...
11-13-2020 04:47 AM
11-13-2020 11:42 AM
That EZ Voltage Vi you posted is part of the LabVIEW driver, but it's been modified. It's always better to make a separate copy with a different name so that the drivers doesn't get modified. That way your changes don't affect the behaviour of other programs. Also, EZ Voltage.VI seems to call itself? The unmodified version calls a subvi to convert a list of measurement pts to an array (list to array.vi found in the driver)..
From your image, the test code should be simplified to diagnose the problem. Why all the VISA CLR statements and Time Waits? You should also check the instrument errors on every loop and see what that returns.
The EZ Voltage.vi is meant to be a simple example of how to make a single measurement on N channels, it's not intended to be used in a loop. So the implementation here is not the recommended approach. You should look at the "/Example/Advanced Scan.vi" in the driver.
Your approach is to close relays, then use EZ voltage.vi which configures the instrument on every loop iteration, then open relays. It would be a lot better to use the standard approach to configure measurement, make N measurements in a loop while collecting data, then clean up after the loop. If you need to measure on multiple channels, you would setup the scan list that opens the relays automatically on every measurement. I think your timeout issue is due to slow response somewhere in the instrument internal calls; close relay, then slow configure measurement, measure but the timeout is too short - try 30s. Sounds ridiculous, but the DMM has a lot to do when a relay opens/closes, filter voltage spikes, measure autozero, scale ranging, averaging, etc...
Try something like (untested due to lack of 34970 at the moment)...
11-17-2020 12:41 PM
Personally, I have always found it easier to send my termination characters in my code rather than allowing the system to auto send termination. I have seen others have unterminated values at times using the auto-terminate configuration.