
Question about executing two loops simultaneously
Chang-Kwon,
I believe that your problem doesn't really lie in the fact that you
have two loops, I think it is rooted in how you are doing your data
acquisition.
First, let me make the assumption that you are using buffered
acquisition for your data (you must be to get 250 kHz). When you do
your buffered acquisition, are you using DAQ occurrences to see when
the buffer is full (or has a specific amount of data in it) before you
perform your AI Read?
What I'm getting at is when you perform a buffered acquisition, you
call the AI Read VI to get the data out of the buffer and into
labview. If you ask the AI Read for an amount of data that is not
available in the buffer yet, it will consume the "data acquisition"
thread until the data IS available. Therefore, any other data
acquisition VI's that you are trying to run will be halted until this
operation completes.
The way to get around this is to use the DAQ occurrence VI. This VI
will halt until the amount of data is available in the buffer, but it
doesn't consume the data acquisition thread while it is waiting; when
it returns that the data is ready, then you can perform your AI Read.
This allows you to have more than one data acquisition going on in
either one or more loops.
Hope you understood that. Let me know if I can help you further.
Mark