TRINAMIC TMCL IDE Software
Specifications
- Product Name: TMCL IDE for Linux
- Operating System: Linux
- Manufacturer: Trinamic
Product Usage Instructions
Download and Installation:
- Go to Trinamic TMCL IDE download page and download the TMCL IDE x.x.xx.x for Linux.
- Open a console terminal and unzip the downloaded folder using the following commands:
mkdir TMCL_IDE
tar xvzf TMCL-IDE-v3.0.19.0001.tar.gz -C TMCL_IDE
System Update:
- Update your system by running the following commands in the console:
sudo apt-get update
sudo apt-get upgrade
Configure COM Ports:
- Prevent modem manager from controlling COM ports with Trinamic devices by adding specific rules:
sudo adduser dialout
sudo gedit /etc/udev/rules.d/99-ttyacms.rules
- Add the following lines to the file:
ATTRS{idVendor}==16d0, ENV{ID_MM_DEVICE_IGNORE}=1
ATTRS{idVendor}==2a3c, ENV{ID_MM_DEVICE_IGNORE}=1
- Reload the settings with:
sudo udevadm control --reload-rules
- Alternatively, you can purge modemmanager using:
sudo apt-get purge modemmanager
Start the Program:
- Navigate to the directory where TMCL IDE is located and start the program by running:
./TMCL-IDE.sh
- You can also run the script by clicking on it and executing as a program.
Note: Tested with Ubuntu 16.04
FAQ
- Q: Which Linux versions are compatible with TMCL IDE?
- A: TMCL IDE has been tested and verified to work on Ubuntu 16.04. It may also work on other Linux distributions, but official support is for Ubuntu 16.04.
“`
Revision V3.3.0.0 | Document Revision V3.05 • 2021-MAR-04
The TMCL-IDE is an integrated development environment made for developing applications that use Trinamic modules and chips. It contains a set of tools for easily setting parameters, for visualizing measured data and for developing and debugging stand-alone applications with TMCL™, the Trinamic Motion Control Language. The TMCL-IDE is available free of charge and runs on Windows 7, Windows 8.x or Windows 10. A version for Linux is also available free of charge.
Introduction
Getting the TMCL-IDE
The TMCL-IDE can be downloaded free of charge from software section of the TRINAMIC website: https://www.trinamic.com/support/software/tmcl-ide/#c414. The latest version can always be found there.
Also older versions can be downloaded from there if needed.
Installing the TMCL-IDE
Windows
It is always possible to download a version with automated installation (filename: TMCL-IDE-3.x.x.x-Setup.exe).
After downloading this file, just double click it to start the installation process. For ease of installation we recommend using this file.
There is also a non-install version. This is a ZIP file that contains all necessary files. After downloading this file, unpack it to one directory.
Linux
The Linux version can be found on GitHub. Please follow the link to GitHub from the Software section of the TRINAMIC website. Here you can also find detailed instructions for installing the TMCL-IDE on Linux.
Supported Interfaces
For connecting to a Trinamic module or to a Trinamic evaluation board, different interfaces can be used. These are USB, RS232, RS485 and CAN. Each module or evaluation board that is equipped with a USB interface can be connected directly via USB. It will then automatically be recognized by the TMCL-IDE.
For modules equipped with RS232 or RS485 interface, an appropriate interface will also be needed on the PC. Many standard off-the-shelf RS232 and RS485 interfaces can be used. For connecting via CAN bus a CAN interface that is supported by the IDE will be needed. Table 1 contains a list of all currently supported CAN interfaces.
Launching the TMCL-IDE
On Windows, run the TMCL-IDE simply by choosing the TMCL-IDE entry from the start menu or by double clicking the TMCL-IDE desktop icon or (mainly if you are using the non-install version) by double clicking the TMCL-IDE.exe file.
On Linux, run the TMCL-IDE.sh script either from the command line or by clicking on it.
At first, a splash screen will appear that shows the progress of loading the program and all of its components. Then, the TMCL-IDE main window will appear.
The Main Window
After launching the TMCL-IDE the main window will appear on the screen. The main window contains the following parts:
Menu Bar and Status Bar
The menu bar is placed at the top of the main window, the status bar is placed to the bottom. Both bars are not moveable.
Figure 2: The Menu and Status Bar
The status bar shows on the left side actual messages and on the right side the current TMCL command rate, which means the number of requests plus replies per second. Besides this, used memory and CPU load are displayed. The menu commands are sorted in five entries:
• File: Shortcut ’alt gr + p’ allows shot of actual tool window as png file and to clipboard.
• Tools: Call container tools.
• Options: Properties of tool windows moving or behavior.
• Views: Hide or show the other windows around the central view.
• Help: Visit TRINAMIC YouTube channel, show some system info, open this document or looking for updates.
The about box gives an overview of the paths where components are installed. An INI file is used to store all settings and is located in home path shown. The working directory is users temporary path plus TMCLIDE. Some components are generating logging messages to the file debug.log. You can click on the link at the bottom to open this file with your system editor to view and save the content.
Tool Bar
Here you can find most needed common tools like firmware update tool, TMCL-PC Host or the compilation of several wizards. Those are the same as menu bar’s tools. In the right corner you can get by clicking the icon to open a list of all modules, You can choose any existing module to the related tools
Clicking on will call the Firmware Update Tool. Flash a given firmware file to the module.
The icon will open the The Settings Export/Import Tool. Choose a module and im- or export the parameter settings using files.
Clicking on will call the TMCL/PC Host. This tool enables writing TMCL instructions for controlling between various modules and their axes.
Call Wizards with . In the wizard tool you can pick a module to have a collection of available wizards. plots up to four value pairs in a XY graph. Mix any values from any axes from any module.
Device with Tool Tree
The tree root entries represent the families of various serial physical interfaces: USB, serial communications port, CAN and also non-physical virtual modules. Each root entry contains the connected interfaces and each interface is the parent of one or more connected TMC Module. Each module is the parent of tools depending of its characteristics.
Mouse right click will open a popup menu. An useful item maybe Alias in case some identical modules are connected. Alias is a column with editible fields in the module rows so a unique name can be given.
If selected the TMCL history window and/or the advanced tooltip window will also be shown. These, the icon bar and device tree are freely moveable and can be arranged to an own layout.
Connections
Depending on the host interfaces the module is equipped with there are different ways to connect the module to the PC. Many, but not all modules are equipped with a USB interface which is often the easiest way for a first connection to a PC. But also RS485, RS232 or CAN can be used to connect the module. All modules are equipped with at least one of these interfaces.
USB
For using a module with USB connection just plug in the USB cable into the module and the PC. Many TRINAMIC modules are also USB powered, but this will only work for configuring the module. USB power is not sufficient for powering motors, so it will always be necessary to connect the module also to a power supply in order to be able to run a motor using USB connection.
After plugging in the USB cable, the module will automatically appear in the module tree on the left hand side of the main window, and the tool tree that contains all tools that can be used with this module will be displayed underneath the module entry in the tree. Depending on the operating system of your PC it might be necessary to install the correct USB driver files for the module you are using. Mostly this will be done automatically by the TMCL-IDE. Sometimes it may also be necessary to install the driver manually. For this purpose, the driver files can be downloaded from the TRINAMIC website.
As all TRINAMIC modules that are equipped with a USB interface use the CDC class (communication device class) they will appear as virtual serial ports. Depending on the operating system they will either be shown as COMxx or /dev/ttyUSBxx, where xx stands for any number allocated by the operating system. Clicking on the virtual COM port shown in the tree view will open the connection window for this port.
Connection Settings
On the Connection tab of the USB connection window general connection settings can be made:
• Using the Disconnect button it is possible to temporarily close the USB connection to the module, so that other PC software can connect to the module without having to close the TMCL-IDE itself.
• Use the Connect button to re-connect to the module after the connection had been closed using the Disconnect button. Please be sure that no other program is accessing the module via the USB interface before re-connecting
Pause between TMCL commands: in some rare cases it seems to be necessary to insert pauses between commands as otherwise errors might occur. If this happens, set this value higher than zero. Normally this setting can be left at zero.
Timer Settings
Use the Timer tab of the USB connection window to control the timer which is used for regularly polling values from the module. This is needed for tools that regularly need to update values that they are displaying, like the Position Graph or the Velocity Graph for example. The following settings can be made here:
• Delay between TMCL requests: This is the polling interval. By default this is set to 5ms, but can be set lower or higher if needed.
• Use the Stop button to stop the timer. This will stop polling values from the module. Values being displayed in most tools will not be updated any more then.
• Use the Start button to start the timer. Values displayed in the tools will then be updated again.
TMCL Log Settings
Use the TMCL Log tab of the USB connection window to control which commands are being displayed in the TMCL Log window:
• The History checkbox generally switches on or off the history display for this module.
• Block Traced Values: This function prevents values that are regularly traced by the tools from being displayed in the TMCL Log window. Switching on this option considerably reduces the amount of data being displayed in the TMCL Log window.
• Block Circular Values: This function prevents values that are polled by the tools using the timer from being displayed in the TMCL Log window. Turning on this option also considerably reduces the amount of data being displayed in the TMCL Log window.
RS485 / RS232
Many TRINAMIC modules can also be connected via RS485, RS232 or a TTL level serial interface. The TMCLIDE can also via these types of serial interfaces. For this purpose a serial port (RS485, RS232 or TTL level) connected to the PC (for example via USB) or built into the PC (for example as a PCI card) is necessary. Serial ports from most manufacurers can be used for this purpose. Take care that has been properly installed before trying to use it. Please see also the hardware manual of your module on how to properly connect the module to the serial port. Using RS485 it is also possible to connect more than one module to one port.
All serial ports (regardless of RS485, RS232 or TTL level) are shown in the tree view on the left hand side of the main window. Depending on the operating system their names are either COMxx or /dev/ttyxx where xx stands for any number allocated by the operating system. Click on the appropriate COM port (the one your module is connected to) to display the connection window for the specific port.
Connection Settings
Use the Connection tab to make general settings for the connection and to connect to your module. The following options are available:
• Baudrate: Choose the baud rate of the serial port here. The factory default value on all TRINAMIC modules is 9600bps, so this value is always good for a new module. Change this if you have set up your module to use a different baud rate.
• Search IDs from/to: It is possible to connect more than one module to an RS485 bus. For this reason, the TMCL-IDE can search for more than one module on the serial port. Enter the ID of the first module connected to the bus and the ID of the last module connected to the bus here. If only one module is connected you can normally leave both values at 1, as this is also the factory default setting on TRINAMIC modules. Or if the module is set to a different ID, set both values to that ID. If you are not sure about the ID setting of a module you can also enter from 1 to 255 so that the TMCL-IDE will automatically scan through all possible serial module IDs, but this will take some time.
• Reply ID: The reply ID of the connected modules. This should normally be the same on all modules. The factory default setting is 2.
• Connect: Click the Connect button to open the connection and to start searching for modules connected to the serial port. The search progress will be shown by the progress indicator. All modules that have been found will appear on the tree view on the left hand side of the main window.
• Disconnect: Click here to close the connection.
Timer Settings
Use the Timer tab of the serial port connection window to control the timer which is used for regularly polling values from the module. This is needed for tools that regularly need to update values that they are displaying, like the Position Graph or the Velocity Graph for example. The following settings can be made here:
• Delay between TMCL requests: This is the polling interval. By default this is set to 5ms, but can be set lower or higher if needed. The lowest possible value depends on the selected baud rate.
• Use the Stop button to stop the timer. This will stop polling values from the module. Values being displayed in most tools will not be updated any more then.
• Use the Start button to start the timer. Values displayed in the tools will then be updated again.
The Syntax of TMCL™
This section defines the syntax of the TMCL™ commands used in the TMCL™ Creator. Please see the TMCL™ Firmware Manual of your module for further explanations concerning the functionality of all TMCL™ commands that your module supports. The command mnemonics given there are used in the TMCL™ Creator. Please see also the sample program files that are available on the TRINAMIC website.
8.1 Assembler Directives An assembler directive starts with the # sign, and the only directive is #include to include a file. The name of that file must be given after the #include directive. If this file has already been loaded into the editor then it will be taken from there. Otherwise it will be loaded from file, using the include file path that can be set in the Options dialogue of the TMCL™ Creator. Example #include test.tmc 8
.2 Symbolic Constants Symbolic constants are defined using the following syntax: = A Name must always start with a letter or the sign _ and may then contain any combination of letters, numbers and the sign _. A Value must always be a decimal, hexadecimal or binary number or a constant expression. Hexadecimal numbers start with a $ sign, binary numbers start with a % sign.
Example 1 Speed =1000 Speed2 = Speed /2 3 Mask = $FF Binary Value =%1010101 8.3 Constant Expressions Wherever a numerical value is needed, it can also be calculated during assembly. For this purpose constant expressions can be used. A constant expression is just a formula that evaluates to a constant value. The syntax is very similar to BASIC or other programming languages.
Table 2 shows all functions and table 3 shows all operators that can be used in constant expressions. The calculation takes place during compile time and not during runtime. Internally, the assembler uses floating point arithmetic to evaluate a constant expression, but as TMCL™ commands only take integer values, the result of a constant expression will always be rounded to an integer value when being used as an argument to a TMCL™ command.
Functions in Constant Expressions
Name Function
SIN Sinus COS Cosinus TAN Tangens ASIN Arcus Sinus ACOS Arcus Cosinus ATAN Arcus Tangens LOG Logarithm Base 10 LD Logarithm Base 2 LN Logarithm Base e EXP Power to Base e SQRT Square root CBRT Cubic root ABS Absolute value INT Integer (truncate) ROUND Integer (Round) CEIL Round upward FLOOR Round downward SIGN -1 if argument<1 0 if argument=0 1 if argument>0 DEG Converts from radiant to degrees RAD Converts from degrees to radiant SINH Sinus hyperbolicus COSH Cosinus hyperbolicus TANH Tangens hyperbolicus ASINH Arcus sinus hyperbolicus ACOSH Arcus cosinus hyperbolicus ATANH Arcus tangens hyperbolicus
Supplemental Directives
Producer Information
Copyright
TRINAMIC owns the content of this user manual in its entirety, including but not limited to pictures, logos, trademarks, and resources. © Copyright 2021 TRINAMIC. All rights reserved. Electronically published by TRINAMIC, Germany.
Redistributions of source or derived format (for example, Portable Document Format or Hypertext Markup Language) must retain the above copyright notice, and the complete Datasheet User Manual documentation of this product including associated Application Notes; and a reference to other available productrelated documentation.
Trademark Designations and Symbols
Trademark designations and symbols used in this documentation indicate that a product or feature is owned and registered as trademark and/or patent either by TRINAMIC or by other manufacturers, whose products are used or referred to in combination with TRINAMIC’s products and TRINAMIC’s product documentation.
This PC Software is a non-commercial publication that seeks to provide concise scientific and technical user information to the target user. Thus, trademark designations and symbols are only entered in the Short Spec of this document that introduces the product at a quick glance. The trademark designation /symbol is also entered when the product or feature name occurs for the first time in the document. All trademarks and brand names used are property of their respective owners.
Target User
The documentation provided here, is for programmers and engineers only, who are equipped with the necessary skills and have been trained to work with this type of product. The Target User knows how to responsibly make use of this product without causing harm to himself or others, and without causing damage to systems or devices, in which the user incorporates the product.
Disclaimer: Life Support Systems
TRINAMIC Motion Control GmbH & Co. KG does not authorize or warrant any of its products for use in life support systems, without the specific written consent of TRINAMIC Motion Control GmbH & Co. KG. Life support systems are equipment intended to support or sustain life, and whose failure to perform, when properly used in accordance with instructions provided, can be reasonably expected to result in personal injury or death.
Information given in this document is believed to be accurate and reliable. However, no responsibility is assumed for the consequences of its use nor for any infringement of patents or other rights of third parties which may result from its use. Specifications are subject to change without notice.
Disclaimer: Intended Use
The data specified in this user manual is intended solely for the purpose of product description. No representations or warranties, either express or implied, of merchantability, fitness for a particular purpose
©2021 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at www.trinamic.com
Documents / Resources
![]() |
TRINAMIC TMCL IDE Software [pdf] Instructions x.x.xx.x, 3.0.19.0001, 5.9.1, TMCL IDE Software, TMCL IDE, Software |