Dynamic Signal Acquisition

cancel
Showing results for 
Search instead for 
Did you mean: 

how can i acquire 64 channels ~500000 samples at a 4k sample rate then save the wave form data using a 2 cDAQ 9178 chassis and 16 9234 cards?

I tried creating two DAQ-mx (one for each chassis) then saving the raw data with a export waveform to spreadsheet.  There are other sub VIs down that road that do some indexing and transforms. 

 

When I run this I get a "memory is full" error. 

 

Can I make a loop or make this more this less memory consuming?

 

requirements: 

-2 min of continuous data ( i e 480000 divided by 4000 = 120s)

-save all data to file with timestamps

-endgame: pass the signals to signalexpress for data viewing and manipulation.

0 Kudos
Message 1 of 4
(6,304 Views)

I did not look at your entire program, yet notice that you are performing a acquire N samples.  This collects all of your data into memory. 

 

I would recommend instead, you acquire data continiously with an appropriate block size, and stream data to TDMS using the DAQmx tools to do so. 

http://zone.ni.com/devzone/cda/tut/p/id/9574

This will also work in a continious loop. 

 

Then you can play back the data block by block for additional analysis and conversion.  In this way, you have just the data you need in memory. 

 

Other examples to review:

http://zone.ni.com/devzone/cda/epd/p/id/6354  (Flexsignal executes DAQmx and takes care of a lot of the configuration internally,  it also plays back files).

http://zone.ni.com/devzone/cda/tut/p/id/11805 (Data Acqusition Reference Design  provides a recording feature and builds on Flex Signal)

 

Hope these help. 

 

Preston

 

 

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 2 of 4
(6,299 Views)

Thanks Preston. Using the TDMS worked well, but...

 

Now I'm getting the "memory full error" later down the line when I am manipulating my data. 

 

How do I "play back my data block by block" as you described above. 

 

As you can probably tell I'm very new to labview. thanks for you help and patience. 

 

 

0 Kudos
Message 3 of 4
(6,285 Views)

The TDMS file structure is rich in features.  It has file pointers, etc where you can read back some of the data and advance the pointer to read more after you processed the first part of data. 

 

Try the FlexSignal example from my previous post.  It already has the constructs to read just part of the file back, and to advance through the file at your choice of block size.  It advances the pointers for you and allows you to select all the channels or just some of them. 

 

Preston

Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 4 of 4
(6,277 Views)