I've created a vi (see attached) that displays a signal when the user selects the start/stop button. The user can pause the signal by selecting the same button. The "collect" and "stop collect" buttons each display a message when selected, and the "exit" button stops the vi.
What I would like to do: Have the user be able to start/stop the signal, and be able to call the functions from the "collect", "stop collect", and "exit" buttons, regardless what state the start/stop signal is in.
What is actually happening: Buttons do not function if not selected in a specific sequence. For example, clicking the "stop collect" button then the "start/stop" button, the signal will not be displayed. But reverse the order and the signal will be displayed.
Why does the loop that contains the signal simulator intefere with the loop that contains my event structure for my buttons? I'm using Labview 2013.
Solved! Go to Solution.
The "stop collect" button is the one that stops your simulate signal loop. If you click it first, you don't have any signal to display. Double-click on it in the BD, you'll see.
I understand where it breaks, but I don't understand why, as the condition for the signal loop is not dependent upon the event structure. Shouldn't the "start/stop" control function correctly regardless of whether or not the "stop collect" control is selected first?
No, that loop is done. In your diagram, it starts up when your program does (although you also need to hit the start/stop button to generate data), and once it is stopped, there is no way to start it again.
Thank you, camerond. I solved my issue with your input.
For those as inexperienced in LV as I, I've attached an example (simplified from the one I originally posted).
I connected the exit control to the main loop stop terminal and attached a local variable referencing the exit control to the other two loops. I set the exit control mechanical action to "switch until released."