User Manual

TMCM-3230 TMCL
Firmware Manual Firmware Version V1.07 | Document Revision V1.05 2017-OCT-10
2 / 103
Contents
1 Features 5
1.1 stallGuard2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 coolStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 First Steps with TMCL 7
2.1 Basic Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Using the TMCL Direct Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Testing with a simple TMCL Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 TMCL and the TMCL-IDE An Introduction 9
3.1 Binary Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Checksum Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Reply Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Standalone Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 TMCL Command Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4.1 TMCL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 TMCL Commands by Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5.1 Motion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5.2 Parameter Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.3 Branch Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.4 I/O Port Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5.5 Calculation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5.6 Interrupt Processing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Detailed TMCL Command Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6.1 ROR (Rotate Right) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6.2 ROL (Rotate Left) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.6.3 MST (Motor Stop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6.4 MVP (Move to Position) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6.5 SAP (Set Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.6.6 GAP (Get Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6.7 SGP (Set Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.6.8 GGP (Get Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6.9 STGP (Store Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.6.10 RSGP (Restore Global Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6.11 RFS (Reference Search) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6.12 SIO (Set Output) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6.13 GIO (Get Input) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.6.14 CALC (Calculate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6.15 COMP (Compare) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6.16 JC (Jump conditional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.6.17 JA (Jump always) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.6.18 CSUB (Call Subroutine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.6.19 RSUB (Return from Subroutine) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.20 WAIT (Wait for an Event to occur) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.6.21 STOP (Stop TMCL Program Execution End of TMCL Program) . . . . . . . . . . . . . . 49
3.6.22 SCO (Set Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6.23 GCO (Get Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.6.24 CCO (Capture Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.6.25 ACO (Accu to Coordinate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6.26 CALCX (Calculate using the X Register) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6.27 AAP (Accu to Axis Parameter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
©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