Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9237 returns strange measurements sometimes

Solved!
Go to solution

I have been using an NI 9237 card in a cDAQ 9172 chassis for developing a test system.  We are capturing force data from 4 load cells, and this force is used as feedback for controlling stepper motors via two NI 9401 cards.  Only recently, the NI 9237 started having problems capturing force data from the load cells.  First, I started seeing occasional errors.  I swapped out the card with another NI 9237, and this error has not recurred.  However, now the measurements look correct for a while, but they suddenly jump to a value that is out of range of the sensor.  After this happens, the values never seem to return.  This strange behavior seems to occur on some, but not all, of the NI 9237 channels.  Different channels are affected from one test to the next.  The read function in LabVIEW does not output any error codes.  Unplugging the cDAQ and plugging it back in seems to cause the measurements to return to the correct values.  I think it is a hardware problem, but I have no idea how to diagnose it.  I am running LabVIEW 2011 SP1, and my version of DAQmx is 9.3.5

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

One of the things to check: Cables and connectors for loose or short contacts 🙂

Sometimes hard to find....

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


Message 2 of 4
(2,991 Views)

Henrik, thanks for the response.  Things are working a bit better now.  I think there may be several things going on.  The wiring, cable connections, and grounding seem to be fine with the possible exception of a USB extension cable, which we have removed.  The laptop running the LabVIEW application was trying to download updates, and was running slower than usual.  Stopping that process and adjusting execution priorities seems to have fixed the problem.  Now I just want to make sure that it doesn't happen in the future or at least to detect the problem if it does recur.  The strange thing is that the data seemed to go bad on different channels from the same NI 9237 card (and recover) at different times.  I think we were getting the -200279 buffer overwrite error, but the program wasn't actually hitting the DAQmx Read vi, because some logic upstream was checking if samples were available using a property node (which incidentally did not output the error code; it just returned zero samples available).  I will work on some software fixes, including allowing overwrites when necessary, more complete error detection, and possibly isolate the read function by moving a downstream lowpass filter into a separate loop.  Another interesting thing to note is that we could unplug the analog inputs from our NI 9237 card and get similar data, except that the sign was reversed.  In these cases, it appears to be getting a max or min A-to-D conversion.  With the load cell cable unplugged, the system does not appear to automatically detect a missing instrument.  I would have expected to get an error from an open circuit detection.  One other safeguard to add to the program would be to test the analog input value to see if it is out of the expected range.  Sometimes the bad data has been within the expected range, but hopefully the above changes will prevent/detect those problems.

0 Kudos
Message 3 of 4
(2,970 Views)
Solution
Accepted by topic author jtrout

Just looked back and saw that this thread didn't have a solution.  Swapping out the analog card seemed to fix the problem.

0 Kudos
Message 4 of 4
(2,832 Views)