LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

repetetive timing of subVIs

Solved!
Go to solution

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

0 Kudos
Message 1 of 3
(2,143 Views)

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

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 2 of 3
(2,129 Views)
Solution
Accepted by topic author thofufish

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.

Tim
GHSP
0 Kudos
Message 3 of 3
(2,121 Views)