
User Manual
Chapter 7
GFK-1742F
Jan 2020
Programmed Motion
199
Conditional Jump testing ends when the designated CTL bit turns ON (Jump Trigger occurs)
or when a new Block Number becomes active.
If more than one Conditional Jump is programmed without an intervening PMOVE, CMOVE,
DWELL, or WAIT command, only the last Conditional Jump will be recognized.
A Conditional Jump cannot be used as the last line of a Subroutine (or on the line before an
Unconditional Jump to the end of a subroutine) because jump testing terminates when the
End Subroutine command is processed.
In summary, a Conditional Jump transfers control to a new program block on the basis of
one of the external CTL input bits turning ON. Tests for CTL bit status can be carried out once
or continuously during the following Type 3 command if it is in the same program block.
Multiple Conditional Jumps are not supported within the same program block (the following
example illustrates this incorrect usage of the Conditional Jump command).
Conditional Jump Example 1:
PROGRAM 1 MULTI-AXIS
VELOC AXIS1 10000
ACCEL
AXIS1 10000
1:
JUMP CTL01, 2 //This JUMP command will be ignored
JUMP
CTL02, 3 //This JUMP command will be recognized
CMOVE AXIS1 +40000, INCR, LINEAR
2:
CMOVE AXIS2 +20000, INCR, LINEAR
3:
PMOVE AXIS2 +100000, ABS, LINEAR
4:
DWELL AXIS2 100
ENDPROG
The first JUMP is not programmed correctly because (1) it is not followed by an intervening
Type 3 command, and (2) it is in the same block as another JUMP command. When a new
Block Number becomes active AFTER a Conditional JUMP command, Jump testing will occur
one final time.
Conditional Jump Example 2:
PROGRAM 2 AXIS1
VELOC 10000
ACCEL
10000
1:
CMOVE 20000, ABS, LINEAR
JUMP
CTL01, 3
2:
PMOVE 40000, ABS, LINEAR //CTL01 tested only once
3:
DWELL 100