Emerson P/N 400361-00 Computer Hardware User Manual


 
70 www.emersonct.com SM-EZMotion Module User Guide
picks up where it left off in the program that called it. This
is often used when a section of code is used in multiple
places in a program. By moving the code to another
program and then calling that program, the total number of
program lines can be reduced. This can also make the
program easier to understand. Care should be taken not to
"nest" more than four program calls due to processor stack
overflow. Therefore, no more than four different programs
should be called without returning to the original program.
In the diagram below, => Represents a Call Program
instruction
Example:
Call Program.10
Example:
Call Program.7
8.4.1.8 End
This program flow instruction is used to halt the execution
of the program. It can be used in multiple places within the
program. It is not required on the last line of every program.
It is implied that after the controller executes the last line of
code in a program the program will halt.
It is commonly used inside of If/Then/Endif constructs to
end the program if a certain condition has been met.
Example:
If EZInput.1=OFF Then
End
Endif
Example:
If EZInput.1=ON Then
EZOutput.1=ON
End
Endif
8.4.1.9 Formula
This program instruction can be used to enter a formula or
assignment into a program. All SM-EZMotion parameters
are available for use in a formula. They may be dragged
and dropped into a formula, but the program User Level will
determine how many appear for dragging and dropping
(see “User Levels” on page 11). Formulas can also be
created by simply typing them into the program. This
instruction was created to inform the user that formulas can
be used in a program.
Examples:
Index.1.Vel = 20.0
Index.0.Dist = Index.2.Dist + 0.1
EZOutput.1 = ON
Index.0.Accel =
(Index.0.Accel*1000)+5.00
8.4.1.10 Label:
The Label: instruction is used in conjunction with the GoTo
instruction to cause program flow to transfer to a specified
location within a program. The destination label is allowed
to be above or below the GoTo instruction within the same
program. It is not possible to GoTo a label outside of the
program containing the GoTo instruction, nor is it possible
to use a GoTo/Label: to exit out of a For Count/Next loop.
In either of these conditions, a Red Dot error will be
generated.
The Label to which program flow transfers is a string of up
to 50 characters in length and can be made up of any
alphanumeric character. The label name must not start
with a number, and must end with a colon character ":".
When using the Label: instruction, a ":" will be
automatically inserted for the user.
Labels are not case sensitive.
Example:
Start:
Index.1.Initiate
Wait For Index.AnyCommandComplete
If (EZInput.2 = ON) Then
GoTo Start:
EndIf
EZOutput.1 = ON
End
See GoTo instruction for additional examples.
8.4.1.11 GoTo
The GoTo instruction is used in conjunction with the Label:
instruction to cause program flow to transfer to a specified
location within a program. The destination label is allowed
to be above or below the GoTo instruction within the same
program. It is not possible to GoTo a label outside of the
program containing the GoTo instruction, nor is it possible
to use a GoTo/Label: to exit out of a For Count/Next loop.
In either of these conditions, a Red Dot error will be
generated.
The Label to which program flow transfers is a character
string up to 50 characters in length and can be made up of
any alphanumeric character. The label name must not start
with a number, and must end with a colon character ":".
Labels are not case sensitive.
Example:
Do While (TRUE)
If (EZInput.1 = ON) Then
GoTo RunIndex1: 'Go to RunIndex1 label
Else