User manual

PD-1021 TMCL Firmware V1.19 Manual (Rev. 1.01 / 2012-JUL-30) 38
www.trinamic.com
3.5.18 JC (jump conditional)
The JC instruction enables a conditional jump to a fixed address in the TMCL program memory, if the
specified condition is met. The conditions refer to the result of a preceding comparison. Please refer to
COMP instruction for examples. This function is for standalone operation only.
The host address and the reply are only used to take the instruction to the TMCL program memory while
the program loads down. It does not make sense to use this command in direct mode. See the host-only
control functions for details.
Internal function: the TMCL program counter is set to the passed value if the arithmetic status flags are
in the appropriate state(s).
Related commands: JA, COMP, WAIT, CLE
Mnemonic: JC <condition>, <label>
where <condition>=ZE|NZ|EQ|NE|GT|GE|LT|LE|ETO|EAL|EDV|EPO
Binary representation:
INSTRUCTION NO.
TYPE
MOT/BANK
VALUE
21
0 ZE - zero
1 NZ - not zero
2 EQ - equal
3 NE - not equal
4 GT - greater
5 GE - greater/equal
6 LT - lower
7 LE - lower/equal
8 ETO - time out error
(don't care)
<jump address>
Example:
Jump to address given by the label when the position of motor is greater than or equal to 1000.
GAP 1, 0, 0 //get axis parameter, type: no. 1 (actual position), motor: 0, value: 0 (don't care)
COMP 1000 //compare actual value to 1000
JC GE, Label //jump, type: 5 greater/equal
...
...
Label: ROL 0, 1000
Binary format of JC GE, Label when Label is at address 10:
Byte Index
0
1
2
3
4
5
6
7
Function
Target-
address
Instruction
Number
Type
Motor/
Bank
Operand
Byte3
Operand
Byte2
Operand
Byte1
Operand
Byte0
Value (hex)
$01
$15
$05
$00
$00
$00
$00
$0a