01-31-2016 02:00 PM
I have been using lab view for sometime but have never used any of the more complicated architectures.
My project at the moment is a slightly adapted version of the 'Continuous data acquisition and logging (daqmx)' example that ships with labview.
i have a PCI 6115 that I am using to sample acoustic emission signals at 10MS/s the problem I am facing is that I need to run tests for an hour or more, obviously I can't be sampling for an hour at that sampling rate.
All i I need to do is to sample for say 10ms every 20 seconds. I know this is an easy problem but I get errors with the aquisition when I try and use the wait function and I am worried that it is not an eloquent enough solution.
Solved! Go to Solution.
01-31-2016 05:03 PM
Here is a quickly done example. You must set the Physical Channel (in "6115 Timing.vi") to match your system.
steve
01-31-2016 10:29 PM
Suppose the QMH can respond to a Take Samples message that takes 10ms of samples and "does something" with it. In the process of "doing something", it may generate other Messages for the Message Handler. You would need another loop, possibly, that simply generates a Take Samples message every 20 seconds, and that should handle the situation you describe. The only catch is controlling the loop with the 20 second wait, but I'm sure you can figure out ways to handle that (perhaps it could be run from the TimeOut case of an Event loop, for example ...)
Bob Schor
02-01-2016 12:19 AM - edited 02-01-2016 12:19 AM
You don't need any wait function; just ask for samples in groups of 10M and you will naturally run once a second.
02-08-2016 04:23 AM
Bob, thank you for your help.
I managed to solve the problem usinf the DAQ commit VI and then when the data was aquired I sent a 'Wait' message to the Queue which started another case which simply had a wait function in and then sent the 'Aquire' message back to teh queue.
Thanks,
James