LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ Data - Efficient Storage ?

I am using DAQ-mx to acquire data (about 500,000 data points from each channel) in a VI. I am using shift registers to loop around till I get 500,000 data points and pushing them to a global.

I want to store this data and use it in another VI. Currently I read it from the global variable.

I tried writing into a binary file for every loop iteration but there is some problem with looping around with binary write VI.

I've read notes on functional globals, and queue but I am not exactly sure how to implement them. Could someone help ?

Kudos are the best way to say thanks 🙂
0 Kudos
Message 1 of 4
(2,849 Views)
Check out the tutorial Managing Large Data Sets in LabVIEW.  There is also a webcast, if you want to see the code in action.  You are correct that a global is a poor choice for this application.  If you need more info than the tutorial gives, let us know.
0 Kudos
Message 2 of 4
(2,835 Views)
You may also want to check out NI-HWS.  It was designed for high speed data streaming.  For this type of application, you will get near hardware limited performance.  It is available on your DriverCD under the computer based instruments tab.
0 Kudos
Message 3 of 4
(2,832 Views)
I went through the KB and ran some of the HDF5 examples. It's amazing how data managing can improve the performance. I am planning to use these functional globals to store the data from my DAQ. I know how to create these globals but am not very confident.

Can someone post a simple example of a functional global that stores the arrays at every iteration of a loop ?

Kudos are the best way to say thanks 🙂
0 Kudos
Message 4 of 4
(2,824 Views)