JNR <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>...
> I have a boolean control (Start Button) inside a while loop that needs
> to initiate TWO processes when it is activated. For the FIRST of these
> processes, it is imperative that once the button is pressed, the
> boolean control must remain in its switched state (switch when
> pressed) for the remaining duration of the VI.
> 
> However, for the SECOND process, the same boolean control must trigger
> a process (some code inside a Case Structure) only ONCE, and never
> again. Due to various constraints, this Case Structure code is also in
> the same While Loop that contains the boolean control.
> 
> I am trying to figure out a way to do this, but have not been
> successful so far.
> 
> If the explanation of the problem I have provided above is not clear,
> here's another way of looking at the problem:
> 
> I need an effect similar to the "latch when pressed" mechanical action
> of controls, but achieved programatically. The Case Structure
> containing my code receives a default "False" status until the button
> is pressed. After the button is pressed (and for the remainder of the
> program), the status is changed to "True". This Case Structure is
> inside a While Loop, which runs throughout the length of the program.
> How do I make the code in the Case Structure only happen once, and not
> with each iteration of the While Loop?
> 
> Any suggestions are appreciated.

Add a shift register to the while loop.  Connect the start button to
the right-hand shift-register terminal.  Connect a False constant to
the left-hand shift-register terminal outside the while loop.  Feed
the selector of the case statement with the following logic:
Start_Button AND (NOT left_hand_shift_register_terminal).  This logic
while cause the TRUE case to execute only on a transition of the Start
button from F to T.

Paul Cardinale

Reply via email to