LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

data space for file saving, 25 channels at 30Khz

Hello,
 
I am looking to build an application which can handle the streaming of 52 channels at 30Khz, being saved to file every second. The hardware can handle to acquisition and have a 350GB hard disk
 
I am also writing to two analogue output channels and updating front panel graphs every second.
 
A) do able at all?
 
B) How do you calculate exactly how much space this is going to use?
 
C) I was literally going to have the acquisition in one while loop, the output to the two analogue outputs in another loop and the save data to file in a third event structure loop, triggered of a timing event for when the data needed to be stored. Any recomendations on a better architeure?
 
regards
0 Kudos
Message 1 of 4
(2,637 Views)
NIStudent asked
 

A) do able at all?
 
Yes
 

 

 
B) How do you calculate exactly how much space this is going to use?
 
Mutliplication for the most part.
 
Data element size X rate X # channels X # of copies X # of seconds buffered
 

 

 
C) I was literally going to have the acquisition in one while loop, the output to the two analogue outputs in another loop and the save data to file in a third event structure loop, triggered of a timing event for when the data needed to be stored. Any recomendations on a better architeure?
 
Loop1
DAQ pass to two queues, one for display, one for logging
 
Loop2
Read queue write to file
 
Loop3
Read queue and display.
 
When you set up you buffers make sure you have more than enough to handle CPU going to la-la-land for a couple of senconds every now and then.
 

 
I hope this helps,
 
Ben
 
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 2 of 4
(2,633 Views)

ok,

I have created a program to do it, I am using write to binary file, the file size is always around 14mb. I have a problem that when I wish to do this on a continuous streaming then sometimes it is takin well over a second to append to the file. if im storing everything in a queue, then surely I am going to have some major backlog issues here?

thanks

0 Kudos
Message 3 of 4
(2,625 Views)

"if im storing everything in a queue, then surely I am going to have some major backlog issues here?"

Yep! That is why the file I/O should not be in the same loop as the DAQ functions. that loop should be lean and mean. The file writting loop should keep reading whatever it finds in the queue as they come in. Similarly the DAQ loop should do repeated reads of teh backlog and queue up the readings to the other loops to handle.

Rather than repeat myself, please review this thread for suggestions.

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 4 of 4
(2,619 Views)