Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Slow data acquisition by myDAQ

Hello all,

 

I am currently running a VI to measure the resonant frequency of a sensor which correlates to a temperature. I had been using a USB-6008 which operates at a sampling rate of 10kS/s and had been getting data points every 5 seconds or so, which wasn't as fast as desired. For this reason, the USB-6008 was replaced by the myDAQ which has a sampling rate of 200kS/s. When hooked up and run with the myDAQ, however, the program ran surprisingly much slower than even the USB-6008. Now, the program is set to take about 100 samples per frequency sweep, which would mean a sweep in much, much less than a second, but it really takes about 10-15 seconds per sweep.

 

The question is, is there anything that can be done to obtain faster results? I have attached the VI running in LabView 8.6.

0 Kudos
Message 1 of 2
(4,001 Views)

@shahidi124 wrote:

Hello all,

 

I am currently running a VI to measure the resonant frequency of a sensor which correlates to a temperature. I had been using a USB-6008 which operates at a sampling rate of 10kS/s and had been getting data points every 5 seconds or so, which wasn't as fast as desired. For this reason, the USB-6008 was replaced by the myDAQ which has a sampling rate of 200kS/s. When hooked up and run with the myDAQ, however, the program ran surprisingly much slower than even the USB-6008. Now, the program is set to take about 100 samples per frequency sweep, which would mean a sweep in much, much less than a second, but it really takes about 10-15 seconds per sweep.

 

The question is, is there anything that can be done to obtain faster results? I have attached the VI running in LabView 8.6.


Hello shahidi124,

 

I have browsed through your VI and there are a couple of points I'd like to mention to aid you with your data acquisition.

 

Firstly it'd be really useful if you could tell me how you have configured the TriangleOut and VoltageInput tasks so I can get a better understanding of just how you are trying to acquire your data.

 

Secondly you can see to what extent your device can acquire data by going to LabVIEW > Help > Find Examples... > Hardware Input and Output > DAQmx > Analogue Measurements > Voltage > Cont Acq&Graph Voltage-Int Clk.vi

Modulate the Sample Rate and Samples to Read parameters in order to determine the maximum sampling capabilities of your devices.

 

After doing this, you can then compare the results to how quickly your program acquires code and come up with some more direct questions regarding your software. In this case, your code looks to me like it is software driven. This means that your software is implementing the read and write functions in the software loop rather than delegating the tasks down to hardware, which is one of the benefits of using DAQmx. Through properly implemented hardware driven tasks, the device will clock at a much higher speed than your Operating System (OS) could possibly handle for acquisiton tasks and simply buffers the acquired data for read by your computer when it is ready. In the previously mentioned DAQmx Examples section, open the Analogue Generation subsection and access the Cont Gen Voltage Wfm-Int Clk.vi example to see hardware driven writing. (The previous example's block diagram will show an example of proper hardware driven acquisition).

 

You may also find the use of DAQ Assistants (Under the Express Palette of the LabVIEW functions menu) suitable for a much simpler implementation of this design which is just as capable.

 

After reading through these examples, please view this article on utilisation of the Producer-Consumer Software Design Pattern for effective management of data acquisition and processing.

 

If you have any more questions, please let me know!  


Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD)

0 Kudos
Message 2 of 2
(3,967 Views)