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
3 / 103
3.6.27 AAP (Accu to Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6.28 AGP (Accu to Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6.29 CLE (Clear Error Flags) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6.30 EI (Enable Interrupt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.6.31 DI (Disable Interrupt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6.32 VECT (Define Interrupt Vector) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.33 RETI (Return from Interrupt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.6.34 Customer specific Command Extensions (UF0. . . UF7 – User Functions) . . . . . . . . . 67
3.6.35 Request Target Position reached Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.6.36 TMCL Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4 Axis Parameters 72
5 Global Parameters 81
5.1 Bank 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Bank 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3 Bank 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.4 Bank 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6 Hints and Tips 86
6.1 Reference Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.1.1 Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.2 Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.3 Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.4 Mode 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1.5 Mode 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1.6 Mode 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.1.7 Mode 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.1.8 Mode 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Using Encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.3 stallGuard2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.4 coolStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.5 Velocity and Acceleration Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7 TMCL Programming Techniques and Structure 95
7.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2 Main Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.3 Using Symbolic Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.4 Using Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.5 Using Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.6 Combining Direct Mode and Standalone Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.7 Make the TMCL Program start automatically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8 Figures Index 99
9 Tables Index 100
10 Supplemental Directives 101
10.1 Producer Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.2 Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.3 Trademark Designations and Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.4 Target User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.5 Disclaimer: Life Support Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.6 Disclaimer: Intended Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
10.7 Collateral Documents & Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
©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.