Quantcast
Channel: Digital I/O topics
Viewing all articles
Browse latest Browse all 2182

Slow digital output on USB-6009 using NIDAQmx

$
0
0

I have a USB-6009 device that I am controlling with the .Net NI-DAQmx interface.

It appears that each call to "WriteSingleSamplePort" takes exactly 1 millisecond. For those not familiar with the .Net interface, this is equivalent to writing an integer value to a digital port, thereby setting the digital output state for all pins in a DO port at the same time.

Now, I assume that the NI-DAQmx software interface is what is limiting the output speed. Is this true, and if so, can anyone provide a reference to this limitation? (In the USB-6009 spec, I can see rate limits for Analog input and output, but not digital output.)

 

Is this 1-ms limit only true for the USB-600x devices, or is it true for digital output with Ni-DAQ-mx in general?

Is there any way to remove this limitation? Is there a way to increase DO speed by e.g. writing to a single pin instead of the whole port?

 

Is this speed limitation put in place because the hardware itself can take up to 1 ms to respond? If so, why is the DO operation so slow? Even if digital output is slow, I don't like the fact that the software locks the thread for the full millisecond. I would like to be performing continuous analog input at the same time as digital output, and it appears I will only be able to do this by using a multi-threaded approach where analog input is occuring on a separate thread because the digital output locks its own thread for a full millisecond during each pin change. (Edit: I suppose I can avoid explicit multithreading by using the async BeginWriteMultiSamplePort function etc)

 

Thank you for any help or advice you can provide regarding this.


Viewing all articles
Browse latest Browse all 2182

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>