ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQmxReadRaw execution time

I am acquiring and processing analog data in a tight loop with the PCI-MIO-16E-1 using the DAQmx 7.5 C library function DAQmxReadRaw.  Using hardware flags to measure execution times with a scope I see that on this (very new) PC a call DAQmxReadRaw takes ~120 us. whether I get 100 samples back or 8000 samples (occasionally much longer, depending on what Win XP is doing, I assume, but I have a way to deal with that).  This is a major bottleneck for me - is there a faster routine to get the data, or some other technique that could reduce the transfer time in a real-time loop like this?  In particular, I'd like to have the ability to reduce the number of samples and get more speed out of the loop - it currently doesn't seem to make any difference in the range that is useful to me.
 
Thanks!
0 Kudos
Message 1 of 2
(2,968 Views)
Hi,


The DAQmx ReadRaw function is not the best way to go about performing your application.  Creating a task and using the DAQmx read function would give you better performance.  There are numerous examples located in your National Instruments folder under NI DAQ and then DAQmx ANSI C.  I would also recommend updating to the newest version of the DAQmx driver , to get the most benefit out of your computers performance.  You can download new drivers at ni.com/support.  Please let me know if you have further questions regarding this issue.

Have a great week,

Michael D
Applications Engineer
National Instruments


0 Kudos
Message 2 of 2
(2,940 Views)