From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
05-21-2015 06:07 AM
Start situation:
a GPIB-USB HS hub connected to a laptop running LV 2013 is used to talk to ONE Agilent 3458 DMV.
This configuration and a simple piece of code (VISA) works as expected. For instance, configure instrument, arm trigger and trigger data taking in order to acquire, store and retrieve 100 points delivers 100 points as expected.
Strange observation:
I use the exact same code, duplicate it to talk to TWO identical instruments (see attached file) and observe strange results.
Both instruments are addressed through their corresponding GPIB addresses, are asked to perform the SAME tasks but deliver a different number of readings, although they are given the same commands. One instrument yields 160 to 170 points instead of 100, as instructed. The number of points available in the buffer of this particular instrument is indeed larger. This observation is consistent with the fact that the second instrument measures more points than instructed, as can be seen on the display panel.
I fail to understand why the same code would convince one instrument to measure 100 points and a different number for the other. If I swap GPIG addresses, instruments are swapped, but the channel reading more points than expected remains the same.
Hints and/or comments are welcome.
Regards, Philippe
05-21-2015 07:43 AM
05-21-2015 08:59 AM
Hi Dennis,
yes, sample count control does set the 100 points to be acquired.
yes, I agree parallel operation is not going to happen with GPIB.
and yes, as said in my post, with one instrument at the time the number of points acquired is what is set.
If I force a sequence like instr 1 then instr 2, the number of points is correct as well.
this naive piece of code does not introduce any link between the two chains. Thus, why would LV be so liberal and have one instrument go beyond the fence, and measure more points, starting right after both instruments have done their job. From the front panel of the DVM the sequence is clear:
data acquisistion does start almost together
both DMV acquire their numbers
when instr 1 and 2 are done (not simultaneously), instr 1 goes on for a while, approx 70 % of 100.
the string that I read from that instrument also says that the memory contains more than 100 points, namely exactly the number that is displayed.
regards, Philippe
05-21-2015 09:41 AM
What I would do is to use that same VI but comment out either the top or bottom code. Run the VI.
If that runs okay, then I would just open and close the VI reference on one instrument and have the other instrument read the points.
Run the VI again.
You may also want to see if the firmware is the same on both instruments.
05-22-2015 04:01 AM
Following the suggestions, I ran the top part of the code by changing, in a sequence, the visa resources names as well as the top and bottom parts of the code together, in which I removed the settings and mesurements statements for the bottom part.
As expected, this works OK, and delivers the correct number of measured points.
Thus, we still need to understand why the clumsy top and bottom part running "in parallel" makes one instrument go beyond what one is asking.
05-22-2015 09:17 AM
Hi
It seems that you are trying to run the exact same Sub VI at the same time so they both use the same resources you can try to change the reentrant condition to Preallocated clone reentrant execution in all the AG 3458 SubVI's, as described in the link below.
http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/reentrancy/
05-22-2015 10:21 AM
@Roland_Win wrote:
Hi
It seems that you are trying to run the exact same Sub VI at the same time so they both use the same resources you can try to change the reentrant condition to Preallocated clone reentrant execution in all the AG 3458 SubVI's, as described in the link below.
http://zone.ni.com/reference/en-XX/help/371361J-01/lvconcepts/reentrancy/
No, that is not what he is doing.
The VI has two loops running in parallel.
One loop controlling one instrument.