I've recently learned how to implement state machines, but I have a question that I haven't been able to find an aswer to.
Question:
How do I record uninterupted data (presently i'm using the DAQ assistant to record a single channel at 10kS/s at 1kS intervals) without interfering with my state machine?
Background:
I have a time sensitive test setup (measuring pressure in a rocket chamber), and I'm using labview to both record a single pressure transducer as well as operate the valves (O2, N2, igniter, etc). I'm using a state machine Labview architecture (just learned how). Presently, the DAQ assistant sits in the "Idle" state, and timers (valves need to be turned on at specific times) and manual buttons control when the other states are activated. I have a 10ms timer controlling how often each state is run, and this is the root of my concern.
Main concerns:
I'm worried that:
1) I'm forced to change my data recording to 10ms intervals to match the 10ms timer, and
2) The 10ms timer will interrupt my data recording when it's in another state.
It's very important that the pressure data is recorded without interruption but that I have high time resolution in controlling my valves as well.
Thoughts:
1) Maybe I put the 10ms timer in the "Idle" state only, and this way the other states won't interrupt the data acqusition
2) Maybe there is a way to completely isolate the state machine for controlling the valves and the data acqusition. I'm not sure how to do this.
3) People on the forums have been talking about Queuing their data acqusition, but I'm not sure how this would benefit my situation.
Thanks to everyone for their feedback!