Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

NI 9411 buffer read-out contains corrupt data

Dear all,

 

I am using a NI 9178 rack containing 2x NI 9222 analog acquisition cards and 1 NI 9411 digital acquisition card.

These cards acquire data simulanuously and continuously at a rate of 108 kS/s.I wrote an application in C# that reads data from the cards sequentially in chunks of 27000 samples (0.25 sec) per read-out. The buffersize of the cards is set to 1080 kS (10 sec).

 

The majority of the time the acquisition works fine, but every now and then the NI 9411 (digital card) returns a buffer containing wrong values. More specific: by default a 'high' signal is applied to (and read from) all digital inputs. Pulses are measured as 'low' values on these channels. A pulse is always at most 25 ms width and there is a delay of at least 75 ms between 2 pulses. Sometimes however the returned buffer of 1 of the channels contains only 'low' values (exactely the size of 1 buffer, 250 ms) while the input was definitely not low for such a long period. This is not specific behavior of the channel, since it has been seen on other channels too.

 

The phenomenon has been seen while an analog input was connected to the digital input (to check it is not the input signal that is unstable). The applied 'high' signal is well above the threshold. No exception is thrown by the NIDAQ driver when this occurs.

 

I also traced the number of samples available during acquisition up till the moment of the 'bug', this is always below 100 kS (the number of available samples grows and shrinks within this margin), so it seems that reading out is quick enough.

 

NIDAQmx drivers installed: 9.2.2

 

Can anyone explain what might be the cause of a 'corrupted' read?

 

Thanks in advance.

0 Kudos
Message 1 of 2
(3,483 Views)

Hi ohmjanssen,

 

I find this very troubling.  NI treats possible data corruption issues very seriously.  We haven't seen this behavior before based on what you've described so far.  To help us reproduce, could you please let me know the following:

  1. What OS are you using?  If you're on XP, have you installed the Microsoft hotfix found here?  The hotfix is also linked from the DAQmx Readme.

  2. What slot are you using?  If you're in slots 5-8, could you try putting hte 9411 in slot 1-4 instead?  Or, if you're in slot 1-4, could you try the 9411 in slot 5-8?  The groupings of slots use different lanes for the data transfers so it's worth a try.

  3. What is your signal source and how are you connecting it to the 9411?  Perhaps if it does not share its reference with COM it is drifting outside of the range of the device and railing the measurement either high or low?

  4. Could you provide the simplest reproducing code that you have available?  Perhaps there is something in the software that is causing the task to behave differently than you expect.

 

That's all of the suggestions I can think of at the moment.  Please let me know the answers to the above to help us troubleshoot/reproduce the issue.

 

 

Best Regards,

John Passiak
0 Kudos
Message 2 of 2
(3,390 Views)