NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Intermittent DAQ VI mis-reads in Batch mode

Solved!
Go to solution

Hello All, 

 

I've got a problem in a Test Stand sequence, where I use a LabVIEW VI to read about 20 voltages from analogue input channels from a PXI chassis.

 

I use the VI in several Multiple Numeric Limit test steps, and occasionally the VI returns all zero's (i.e. 0.00000), causing the step to fail.

 

If I run the VI stand-alone I always get a genuine result (even if its a reading of 0.001154). 

 

If I run the sequence in Single Pass mode, I don't get a failure.

 

If I run the sequence in Batch mode, with a different sequence file, which also calls the VI during multiple steps, I get these occasional failures.

 

Thanks, 

 

Martin

0 Kudos
Message 1 of 4
(3,641 Views)

Are you using the auto scheduler to prevent executions from trying to read from the device at the same time? Its possible that the threads are attempting to read from the DAQ device at the same time which is returning the invalid data.

CTA, CLA, MTFBWY
Message 2 of 4
(3,620 Views)
Solution
Accepted by topic author Martin.Griffiths

You might also consider using the lock step type to protect critical sections in your sequence.

 

-Doug

Message 3 of 4
(3,593 Views)

Hi, 

 

Thanks to all for the input, I took a look at the different types of synchronisation step, and decided that a Lock was the best choice for this sequence, as I had one DAQ resource, that I wanted to restrict 1 thread to access at a time.

 

Seems to have done the trick.

 

Thanks again

 

Martin

0 Kudos
Message 4 of 4
(3,588 Views)