06-26-2021 09:54 AM - edited 06-26-2021 09:55 AM
Hello all,
I hope you guys are doing well. I am started to study LabVIEW for one week. I am so sorry for the long description.
I would like to request to make three VIs into one VI with a time delay. Meaning that I want to mix up all together on the one front panel.
You can see three VIs with attached files
1)Animatic motor -> "smi_example_1"
2)Function generator -> "NF WF1973_74 sample output"
3)Oscilloscope -> "Tektronix DPO MSO 2000 4000 Series Acquire Multiple Waveform Example"
I want to run three VIs with a time delay when I click the global start button (I can control each VI respectevely.) Also, I want to control all knobs (ex, motor speed, applied voltage....) on the one front panel.
The details are as follow:
1. When I click the global start button, the oscilloscope (three channels) will start to acquire the three wave functions.
2. after 100 ms, the function generator will apply the voltage to my experimental setup.
3. after 150 ms, the motor will start to rotate.
4. Osiloscope will be stopped after 5 s.
I see some examples and questions, Would it be possible to use the sequence and time delay to make three VIs into one VI?
I love to get advice or a big picture or recommended example to do this.
Thank you guys, Have a nice day!
Solved! Go to Solution.
06-26-2021 12:17 PM
Please excuse me -- I have not looked at your code, but will try to answer your question by discussing an important point about LabVIEW that you haven't learned in your one week of study -- LabVIEW operates according to the Principle of Data Flow, which (in LabVIEW terms, means the following:
Note that there are some "advanced exceptions" to these Principles, but as has been said, often "the Exceptions Prove the Rules".
So what does this mean? Assume you have three While Loops, one that (when started) runs the Oscilloscope, one that runs the Function Generator, and one that runs the Motor. Assume that they are arranged in a "vertical stack", one above the other, have constant inputs (i.e. no Boolean "Start" buttons or "Delay" functions) wired in on the left side, and have outputs that go to unique Indicators. Which one will start first?
If you think about the Principle of Data Flow, the answer is "you can't tell". What LabVIEW will do is to start these loops running in parallel, and will do its best to keep them running in parallel.
So the way to accomplish your goal is to do the following:
Bob Schor