User manual

PDx-113-57/60-SE / TMCM-113-57/60-SE Firmware Manual (V1.10 / 2009-OCT-28) 56
Copyright © 2009, TRINAMIC Motion Control GmbH & Co. KG
6.7.18 JC (jump conditional)
The JC instruction enables a conditional jump to a fixed address in the TMCL
TM
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 stand-alone 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
TM
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
9 EAL external alarm
12 ESD shutdown 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
8
Function
Target-
address
Instruction
Number
Type
Motor/
Bank
Operand
Byte3
Operand
Byte2
Operand
Byte1
Operand
Byte0
Checksum
Value (hex)
$01
$15
$05
$00
$00
$00
$00
$0a
$25