User manual

TMCM-6110 TMCL Firmware V1.19 Manual (Rev. 1.03 / 2012-JUL-31) 41
www.trinamic.com
5.6.16 CALC (calculate)
A value in the accumulator variable, previously read by a function such as GAP (get axis parameter) can be
modified with this instruction. Nine different arithmetic functions can be chosen and one constant operand
value must be specified. The result is written back to the accumulator, for further processing like
comparisons or data transfer.
Related commands: CALCX, COMP, JC, AAP, AGP, GAP, GGP, GIO
Mnemonic: CALC <operation>, <value>
Binary representation:
INSTRUCTION NO.
TYPE <operation>
MOT/BANK
VALUE
19
0 ADD add to accu
1 SUB subtract from accu
2 MUL multiply accu by
3 DIV divide accu by
4 MOD modulo divide by
5 AND logical and accu with
6 OR logical or accu with
7 XOR logical exor accu with
8 NOT logical invert accu
9 LOAD load operand to accu
don’t care
<operand>
Example:
Multiply accu by -5000
Mnemonic: CALC MUL, -5000
Binary:
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
$13
$02
$00
$FF
$FF
$EC
$78
Reply:
Byte Index
0
1
2
3
4
5
6
7
Function
Host-
address
Target-
address
Status
Instruction
Operand
Byte3
Operand
Byte2
Operand
Byte1
Operand
Byte0
Value (hex)
$02
$01
$64
$13
$ff
$ff
$ec
$78
Status = no error, value = -5000