Do while/loop, Wait for – Emerson FM-3 User Manual

Page 135

Advertising
background image

121

Programming

ModuleOutput.1=OFF

‘Turn ModuleOutput.1 Off

Next

Do While/Loop

This program instruction is used for repeating a sequence of code as long as an expression is
true. To loop forever use “TRUE” as the test expression as shown in the third example below.
The test expression is tested before the loop is entered. If the test expression is evaluated as
False (0) the code in the loop will be skipped over.

Logical tests (AND, OR, NOT) can be used in the Do While/Loop instruction. Parenthesis “()”
can be used to group the logical tests.

Examples:

Do While ModuleInput.1=ON

‘Repeat the three lines of code below

‘as long as ModuleInput.1 is ON.

Index.1.Initiate

‘Incremental,Dist=5.250in,Vel=10.0in/s

Dwell For Time 1.000

‘seconds

Loop

Do While (ModuleInput.1=ON AND ModuleInput.2=OFF)

‘Repeat the three lines of code below

‘as long as ModuleInput.1 is ON and

‘ModuleInput.2=OFF.

Index.1.Initiate

‘Incremental,Dist=5.250in,Vel=10.0in/s

Dwell For Time 1.000

‘seconds

Loop

Do While (TRUE)

‘Repeat until the program is halted

Index.1.Initiate

‘Incremental,Dist=5.250in,Vel=10.0in/s

Dwell For Time 1.000

‘seconds

Loop

Wait For

This program flow instruction is used to halt program execution until an expression becomes
true. Once the expression becomes true the program continues on with the next line of code.

Logical tests (AND, OR, NOT) can be used in the Wait For instruction. Output events
(DriveInput=ON, AtVel, etc.) as well as comparisons (PosnFeedback > 1234, VelFeedback
< 100, etc.) can be used in a Wait For instruction.

Examples:

Wait For (ModuleInput.1=ON AND ModuleInput.2=OFF)

Index.0.Initiate

Wait For Index.AnyCommandComplete

If (ModuleInput.2=ON) Then

‘Jog+ when ModuleInput.2=ON

Jog.0.PlusInitiate

‘Vel=20in/s

Wait For ModuleInput.2=OFF

‘Stop when the input goes OFF

Advertising