User Manual

TMCM-3230 TMCL
Firmware Manual Firmware Version V1.07 | Document Revision V1.05 2017-OCT-10
9 / 103
3 TMCL and the TMCL-IDE An Introduction
As with most TRINAMIC modules the software running on the microprocessor of the TMCM-3230 consists
of two parts, a boot loader and the rmware itself. Whereas the boot loader is installed during production
and testing at TRINAMIC and remains untouched throughout the whole lifetime, the rmware can be
updated by the user. New versions can be downloaded free of charge from the TRINAMIC website
(http://www.trinamic.com).
The TMCM-3230 supports TMCL direct mode (binary commands). It also implements standalone TMCL
program execution. This makes it possible to write TMCL programs using the TMCL-IDE and store them in
the memory of the module.
In direct mode the TMCL communication over RS-232, RS-485, CAN and USB follows a strict master/slave
relationship. That is, a host computer (e.g. PC/PLC) acting as the interface bus master will send a command
to the TMCM-3230. The TMCL interpreter on the module will then interpret this command, do the
initialization of the motion controller, read inputs and write outputs or whatever is necessary according to
the specied command. As soon as this step has been done, the module will send a reply back over the
interface to the bus master. Only then should the master transfer the next command.
Normally, the module will just switch to transmission and occupy the bus for a reply, otherwise it will stay
in receive mode. It will not send any data over the interface without receiving a command rst. This way,
any collision on the bus will be avoided when there are more than two nodes connected to a single bus.
The Trinamic Motion Control Language [TMCL] provides a set of structured motion control commands.
Every motion control command can be given by a host computer or can be stored in an EEPROM on the
TMCM module to form programs that run standalone on the module. For this purpose there are not only
motion control commands but also commands to control the program structure (like conditional jumps,
compare and calculating).
Every command has a binary representation and a mnemonic. The binary format is used to send com-
mands from the host to a module in direct mode, whereas the mnemonic format is used for easy usage of
the commands when developing standalone TMCL applications using the TMCL-IDE (IDE means Integrated
Development Environment).
There is also a set of conguration variables for the axis and for global parameters which allow individual
conguration of nearly every function of a module. This manual gives a detailed description of all TMCL
commands and their usage.
3.1 Binary Command Format
Every command has a mnemonic and a binary representation. When commands are sent from a host
to a module, the binary format has to be used. Every command consists of a one-byte command eld, a
one-byte type eld, a one-byte motor/bank eld and a four-byte value eld. So the binary representation
of a command always has seven bytes. When a command is to be sent via RS-232, RS-485, RS-422 or USB
interface, it has to be enclosed by an address byte at the beginning and a checksum byte at the end. In
these cases it consists of nine bytes.
The binary command format with RS-232, RS-485, RS-422 and USB is as follows:
©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