beautypg.com

Emerson P/N 400361-00 User Manual

Page 83

background image

How User Programs Work www.emersonct.com 69

valid range for the numbers provided is 0 to 2147483647.

Example:

For Count = 1 to 5

Index.1.Initiate
Dwell For Time 1.000 'seconds

Next

Example:

For Count = 1 To 10

Wait For ModuleInput.1 = ON
Index.0.Initiate
Wait For Index.AnyCommandComplete
EZOutput.1=ON
Wait For Time 1.000 'seconds
EZOutput.1=OFF

Next

8.4.1.4 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.

Example:

Do While EZInput.1=ON

Index.1.Initiate
Dwell For Time 1.000 'seconds

Loop

Example:

Do While (Slot2.Input.4=ON AND

Slot2.Input.4=OFF)
Index.1.Initiate
Dwell For Time 1.000 'seconds

Loop

Example:

Do While (TRUE)

Index.1.Initiate
Dwell For Time 1.000 'seconds

Loop

8.4.1.5 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 (EZ=ON, AtVel, etc.) as well as
comparisons (PosnFeedback > 1234, VelFeedback < 100,
etc.) can be used in a Wait For instruction.

Example:

Wait For (EZInput.1=ON AND

EZInput.2=OFF)

Index.0.Initiate

Example:

Wait For Index.AnyCommandComplete

If (EZInput.2=ON) Then

Jog.0.PlusInitiate 'Vel=20in/s
Wait For EZInput.2=OFF
Jog.Stop

Endif

If (SPInput.6=ON) Then

Jog.0.MinusInitiate 'Vel=20in/s
Wait For SPInput.6=OFF
Jog.Stop

Endif

Example:

Wait For (MasterAxis.PosnFeedback >

1000.00)

EZOutput.1 = ON

Example:

Wait For (VelFeedback > 50.00)

EZOutput.2 = ON

8.4.1.6 Wait For Time

This program instruction is used to halt program execution
for a specified period of time. This instruction is not a
motion instruction and can be used while a motion
instruction is executing.

Units: Seconds, Resolution: 0.001 seconds

A comment is automatically inserted after the "Wait For
Time" instruction which notes that the time is in units of
seconds. The comment starts with the apostrophe '
character.

The accuracy of the Wait For Time instruction is dependant
on the Trajectory Update Rate found on the Setup view.
The actual accuracy for this instruction is +/- 1 Trajectory
Update. Therefore, if the Trajectory Update Rate is set to
2msec, then the worst-case accuracy is 2msec.

Example:

Wait For Time 5.000 'seconds

Do While (TRUE)

Index.1.Initiate
Wait For AtVel
EZOutput.1=ON
Wait For Time 1.000 'seconds
EZOutput.1=OFF
Wait For Index.AnyCommandComplete

Loop

8.4.1.7 Call Program

This program flow instruction is used to call another
program. When the called program finishes the controller