User Manual
Table Of Contents
- 1 Features
- 2 First Steps with TMCL
- 3 TMCL and the TMCL-IDE — An Introduction
- 3.1 Binary Command Format
- 3.2 Reply Format
- 3.3 Standalone Applications
- 3.4 TMCL Command Overview
- 3.5 TMCL Commands by Subject
- 3.6 Detailed TMCL Command Descriptions
- 3.6.1 ROR (Rotate Right)
- 3.6.2 ROL (Rotate Left)
- 3.6.3 MST (Motor Stop)
- 3.6.4 MVP (Move to Position)
- 3.6.5 SAP (Set Axis Parameter)
- 3.6.6 GAP (Get Axis Parameter)
- 3.6.7 SGP (Set Global Parameter)
- 3.6.8 GGP (Get Global Parameter)
- 3.6.9 STGP (Store Global Parameter)
- 3.6.10 RSGP (Restore Global Parameter)
- 3.6.11 RFS (Reference Search)
- 3.6.12 SIO (Set Output)
- 3.6.13 GIO (Get Input)
- 3.6.14 CALC (Calculate)
- 3.6.15 COMP (Compare)
- 3.6.16 JC (Jump conditional)
- 3.6.17 JA (Jump always)
- 3.6.18 CSUB (Call Subroutine)
- 3.6.19 RSUB (Return from Subroutine)
- 3.6.20 WAIT (Wait for an Event to occur)
- 3.6.21 STOP (Stop TMCL Program Execution – End of TMCL Program)
- 3.6.22 SCO (Set Coordinate)
- 3.6.23 GCO (Get Coordinate)
- 3.6.24 CCO (Capture Coordinate)
- 3.6.25 ACO (Accu to Coordinate)
- 3.6.26 CALCX (Calculate using the X Register)
- 3.6.27 AAP (Accu to Axis Parameter)
- 3.6.28 AGP (Accu to Global Parameter)
- 3.6.29 CLE (Clear Error Flags)
- 3.6.30 EI (Enable Interrupt)
- 3.6.31 DI (Disable Interrupt)
- 3.6.32 VECT (Define Interrupt Vector)
- 3.6.33 RETI (Return from Interrupt)
- 3.6.34 Customer specific Command Extensions (UF0…UF7 – User Functions)
- 3.6.35 Request Target Position reached Event
- 3.6.36 TMCL Control Commands
- 4 Axis Parameters
- 5 Global Parameters
- 6 Hints and Tips
- 7 TMCL Programming Techniques and Structure
- 8 Figures Index
- 9 Tables Index
- 10 Supplemental Directives
- 11 Revision History

TMCM-3212 TMCL
™
Firmware Manual • Firmware Version V1.07 | Document Revision V1.04 • 2017-JUN-08
17 / 103
I/O Port Commands
Mnemonic Command number Meaning
SIO 14 Set output
GIO 15 Get input
Table 9: I/O Port Commands
3.5.5 Calculation Commands
These commands are intended to be used for calculations within TMCL applications. Although they could
also be used in direct mode it does not make much sense to do so.
Calculation Commands
Mnemonic Command number Meaning
CALC 19 Calculate using the accumulator and a constant value
CALCX 33 Calculate using the accumulator and the X register
AAP 34 Copy accumulator to an axis parameter
AGP 35 Copy accumulator to a global parameter
ACO 39 Copy accu to coordinate
Table 10: Calculation Commands
For calculating purposes there is an accumulator (also called accu or A register) and an X register. When
executed in a TMCL program (in standalone mode), all TMCL commands that read a value store the result
in the accumulator. The X register can be used as an additional memory when doing calculations. It can be
loaded from the accumulator.
When a command that reads a value is executed in direct mode the accumulator will not be affected.
This means that while a TMCL program is running on the module (standalone mode), a host can still
send commands like GAP and GGP to the module (e.g. to query the actual position of the motor) without
affecting the flow of the TMCL program running on the module.
3.5.6 Interrupt Processing Commands
TMCL also contains functions for a simple way of interrupt processing. Using interrupts, many tasks can
be programmed in an easier way.
The following commands are use to define and handle interrupts:
©2017 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at www.trinamic.com
Read entire documentation.