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.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

GPIB-USB-HS - Agilent 3458A DVM - strange observation

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

 

0 Kudos
Message 1 of 7
(4,881 Views)
Is it the sample count control that sets the 100 points?

I would eliminate the duplicate code since GPIB does not permit parallel operations anyway (at least how you are doing it) and just change the resource name. Run one instrument at a time. Run with only one instrument connected. These steps will help isolate whether there is a bug in your code or with the instrument itself.
0 Kudos
Message 2 of 7
(4,869 Views)

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

0 Kudos
Message 3 of 7
(4,859 Views)

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.

0 Kudos
Message 4 of 7
(4,853 Views)

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.

0 Kudos
Message 5 of 7
(4,820 Views)

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/

0 Kudos
Message 6 of 7
(4,804 Views)

@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.

0 Kudos
Message 7 of 7
(4,797 Views)