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,972 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,944 Views)