Protocols are the language of our products


To use our products you need to speak their language. The simplest language is to toggle a pin between low and high (e.g. Step/Direction). For more complex communication you have to set or read registers over a digital interface. This is how our ICs usually communicate.

To improve convenience and readability, we created the Trinamic Motion Control Language (TMCL). It’s a mix between a protocol and a programming language and is supported by most of our system-level products.

CANopen is a standard for communicating motion control applications in the automation industry. We support this standard with a growing class of ICs, modules, and PANdrives.

Trinamic Motion Control Language

The Trinamic Motion Control Language (TMCL™) is dedicated to motion control. It uses simple commands for positioning and setting all the relevant parameters of the motion controller to accelerate application development.

With a very motion control oriented command set like rotate right (ROR), rotate left (ROL), or move to position (MVP) TMCL lets you take any Motor connected to a Module into service within minutes of unboxing while offering a comprehensive command set for all the necessary motor control parameters.

TMCL is available for all Trinamic board-level solutions and for PANdrive. It may be used as a standalone script language, on a module or as a communications protocol optimized for motion control applications with a host PC or PLC. The protocol is available for USB and field buses like RS232, RS485 and CAN.

TMCL™ provides a set of structured motion-control commands that can be given by a host computer or can be stored in the module to form programs that run standalone. There are motion control commands and commands to control the program structure (like conditional jumps, compare and calculating). So, TMCL forms a powerful language that can either be used to control a module directly from a host (direct mode) or to program applications that run on a stand-alone module.

Every command has a binary representation and a mnemonic. The binary format is used to send commands from the host to a module in direct mode. The mnemonic format is used for when developing standalone TMCL applications using the TMCL-IDE (Integrated Development Environment).

There is also a set of configuration variables for every axis and for global parameters which allow individual configuration of nearly every function of a module.

More information about TMCL and TMCL-IDE at Support/Software & Tools.


canopen software

CANopen™ is a communication system. It comprises higher-layer protocols and profile specifications and has been developed as a standardized embedded network with highly flexible configuration capabilities. It was designed originally for motion-oriented machine control systems, such as handling system’s medical equipment, or building automation.

CANopen unburdens the system from dealing with CAN hardware-specific details such as bit timing and acceptance filtering. It provides standardized communication objects (COB) for time-critical processes, configuration as well as network management data.

Standardized CANopen devices and application profiles simplify the task of integrating system integration. This requires not only communication compatibility, but also interoperability and interchangeability. CANopen device, interface, and application profiles enable standardized interfaces to achieve devices with "plug and play" capability in CANopen networks.

Nevertheless, CANopen allows implementing manufacturer-specific functionalities. Trinamic products are designed to fulfill the CANopen™ DS402 and DS301 standards, but also to support our unique features like stallGuard™ or coolStep™ via CANopen.

Trinamic is a member of the CAN-CiA, an international users’ and manufacturers’ group that develops and supports CANopen and other CAN-based higher-layer protocols. The nonprofit group was founded in 1992 to provide CAN-based technical, product and marketing information.