02-29-2012 07:52 AM
Hello,
I would like to realize a simple pulse program, which sends different serial commands at different designated times during the runtime of the parent VI. The commands have to be sent only once at the beginning of the designated time (see attachment) and not continuously while the time duration is reached. I tried various methods (counting time and using differnt boolean operators, elapsed time express vi, pulse generators, etc.) but still I do not find a perfect structure for my needs. Parallel to sending commands I want to monitor other serial ports continuously for measuring data during runtime, so simple wait functions do not work. The command sequence I want to send has to be repeated several times (variable) which results in a classsical pulse program. Althought it seemed to me a simple task at the beginning I am lost right now, as different approaches work partly, but none gives a satisfying result so far.
I am pretty new to LabView and I will appreciate any ideas how to implement these functions in a clean and safe way (scaleability, etc.). This program will be used to control mass flow controllers (MFC) which dose different gases at different concentrations. I would like to use software timing as the times needed for dosing are in minutes and hours, so no millisecond triggering is necessary.
Thanks a lot for your help and hints,
Thomas
Solved! Go to Solution.
02-29-2012 08:45 AM
The basic idea would be separate loops, one for this main pulse. With this solution a simple wait will be enough. If you use the same serial port for all communications it becomes abit more advanced.
/Y
02-29-2012 10:31 AM
Even if you are using the same serial port you can still set up one loop that does the communications and use ques or events to have it send the commands when the other loop has timed out for that event. It shouldn't be that hard to get this to work.