Indeed a challenging application! Here is what has been done successfully in other applications:
1) to separate the DAQ task from other tasks, put the data into a Queue. This creates a second software buffer for your data.
2) for large buffers, so you can extract pre and post trigger data, use two files (a double buffered file buffer) and stream the data to each file successively within your DAQ VI.
3) when you detect the threshold trigger in your DAQ loop, note the block number and pass this as part of the queue
4) your processing loop, can then use the block number to get pre and post trigger blocks for further analysis.
Hope this helps you get started.
Preston Johnson
Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc