User Manual
PD-x-1670 TMCL
™
Firmware Manual • Firmware Version V2.0 | Document Revision V1.0 • 2018-Oct-29
2 / 82
Contents
1 Features 4
2 First Steps with TMCL 5
2.1 Basic Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Using the TMCL Direct Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Testing with a simple TMCL Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 TMCL and the TMCL-IDE — An Introduction 7
3.1 Binary Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 Checksum Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Reply Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Standalone Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 TMCL Command Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 TMCL Commands by Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.1 Motion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.2 Parameter Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.3 Branch Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5.4 I/O Port Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5.5 Calculation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6 Detailed TMCL Command Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6.1 ROR (Rotate Right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6.2 ROL (Rotate Left) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6.3 MST (Motor Stop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6.4 MVP (Move to Position) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.6.5 SAP (Set Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.6 GAP (Get Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6.7 STAP (Store Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.8 RSAP (Restore Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6.9 SGP (Set Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6.10 GGP (Get Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.11 STGP (Store Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.12 RSGP (Restore Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.6.13 SIO (Set Output) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.14 GIO (Get Input) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.15 CALC (Calculate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6.16 COMP (Compare) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.6.17 JC (Jump conditional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.6.18 JA (Jump always) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6.19 CSUB (Call Subroutine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.6.20 RSUB (Return from Subroutine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6.21 WAIT (Wait for an Event to occur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6.22 STOP (Stop TMCL Program Execution – End of TMCL Program) . . . . . . . . . . . . . . 44
3.6.23 SCO (Set Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6.24 GCO (Get Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.25 CCO (Capture Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.6.26 ACO (Accu to Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.6.27 CALCX (Calculate using the X Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.28 AAP (Accu to Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6.29 AGP (Accu to Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6.30 CLE (Clear Error Flags) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6.31 Customer specific Command Extensions (UF0. . . UF7 – User Functions) . . . . . . . . . 56
©2018 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at www.trinamic.com