From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Simultaneous analog input and digital output

I am using a DAQCard-6036E. I need to simultaneously collect analog input (66K x 3 channels) and issue digital out commands. When I send several digital out commands in a row, I sometimes get the error: -200322: "Data transfer has been stopped to prevent the computer from becoming completely unresponsive. Could not transfer enough data to satisfy the data transfer requirements with Interrupts as the Data Transfer Mechanism."
 
What does this mean exactly and how can I avoid it?
 
Thx.
0 Kudos
Message 1 of 4
(3,017 Views)
Hello KMCDM,

The error you are getting is due to the fact that you are trying to transfer too much data too quickly and your processor cannot keep up.  The DAQCard-6036E uses Interrupt Requests (IRQ) as the Data Transfer Mechanism instead of Direct Memory Access (DMA) channels.  Because IRQ transfers are slower than DMA (see this KB), the rate at which data can be transferred from the device to the PC memory is slower.  With your three channels of analog input in addition to the digital output, the computer cannot keep up with the data transfer. 

In order to get around this, you have two options.  The first would be to lower the sampling rate to reduce the amount of data that is being transferred.  The second option would be to purchase a higher-performance device that uses either DMA or USB Signal Streaming to transfer data.  None of the PCMCIA DAQCards use DMA, so for best portability with a laptop, I would recommend the USB-6251

I hope this information helps you to find a suitable workaround.

Best regards,
0 Kudos
Message 2 of 4
(3,001 Views)
Thanks for the help Jarrod!  Upon further investigation I realized this error started appearing when I updating to the latest NI driver (8.1). Prior to that I was using version 8.0.1.  When I went back to using version 8.0.1 I am no longer receiving error -200322 and my code appears to be functioning properly...

Are there any known anomalies with driver 8.1 or is it possible 8.0.1 is masking the problem? Other thoughts?

Are there any major bugfixes between 8.0.1 and 8.1 that would require me to run the later driver version?

Thanks.
0 Kudos
Message 3 of 4
(2,985 Views)
Hello KMCDM,

The major reason for the NI-DAQmx 8.1 upgrade is to support some of our newer devices such as CompactDAQ and USB M Series.  Hopefully it is not the case that 8.0.1 is masking some sort of problem or that 8.1 is introducing a new one. If you can post the simplest version of your code that demonstrates the error in 8.1, I would be glad to try and reproduce it here.  If it is reproducible, R&D can investigate the issue further.

In the mean time, if your code is working in 8.0.1, you can use that version as a workaround. 

Best regards,
0 Kudos
Message 4 of 4
(2,966 Views)