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
48 / 103
3.6.20 WAIT (Wait for an Event to occur)
This instruction interrupts the execution of the TMCL program until the specified condition is met. This
command is intended for standalone operation only.
There are five different wait conditions that can be used:
• TICKS: Wait until the number of timer ticks specified by the <ticks> parameter has been reached.
•
POS: Wait until the target position of the motor specified by the <motor> parameter has been
reached. An optional timeout value (0 for no timeout) must be specified by the <ticks> parameter.
•
REFSW: Wait until the reference switch of the motor specified by the <motor> parameter has been
triggered. An optional timeout value (0 for no timeout) must be specified by the <ticks> parameter.
•
LIMSW: Wait until a limit switch of the motor specified by the <motor> parameter has been triggered.
An optional timeout value (0 for no timeout) must be specified by the <ticks> parameter.
•
RFS: Wait until the reference search of the motor specified by the <motor> field has been reached.
An optional timeout value (0 for no timeout) must be specified by the <ticks> parameter.
Special case for the <ticks> parameter: When this parameter is set to -1 the contents of the accumulator
register will be taken for this value. So for example WAIT TICKS, 0, -1 will wait as long as specified by the
value store in the accumulator. The accumulator must not contain a negative value when using this option.
The timeout flag (ETO) will be set after a timeout limit has been reached. You can then use a JC ETO
command to check for such errors or clear the error using the CLE command.
Internal function:
the TMCL program counter will be held at the address of this WAIT command until the
condition is met or the timeout has expired.
Related commands: JC, CLE.
Mnemonic: WAIT <condition>, <motor number>, <ticks>
Binary Representation
Instruction Type Motor/Bank Value
0 TICKS – timer ticks 0 (don’t care) <no. of ticks to wait
1
>
1 POS – target position reached <motor number> <no. of ticks for timeout
1
>
0 for no timeout
2 REFSW – reference switch <motor number> <no. of ticks for timeout
1
>
27 0 for no timeout
3 LIMSW – limit switch <motor number> <no. of ticks for timeout
1
>
0 for no timeout
4 RFS – reference search completed <motor number> <no. of ticks for timeout
1
>
0 for no timeout
Example
1
one tick is 10 milliseconds
©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.