While Technosoft drives and intelligent motors are capable of standalone operation using the built-in Technosoft Motion Language (TML). They are also designed to be fully integrated into custom software systems. Developers who need to send live commands to drives from a PC can achieve this using the TML_LIB motion control library. This library acts as a bridge, allowing developers to use high-level functions within their preferred programming environments to implement complex motion control applications.
This article explores the capabilities of the Technosoft Motion Control Library (TML_LIB), showing how it can control drives natively from Windows and Linux environments.
Supported Programming Environments
The TML_LIB library is designed to be versatile, supporting both Microsoft Windows and Linux platforms (including x86, x64, and ARM architectures). Depending on the operating system, it offers compatibility with a wide array of development environments:
- C/C++: Fully supported on both Windows and Linux platforms. It is particularly robust for advanced use cases, fully supporting multithreaded applications where individual axes can be managed on separate threads for high-performance synchronization.
- C#: Supported on Windows platforms, allowing developers to integrate motion control directly into modern applications.
- Delphi Pascal: Supported on Windows and, much like C/C++, is fully capable of handling multithreaded implementations within the TML_LIB.
- Visual Basic: Supported on Windows for developers utilizing VB applications.
- LabVIEW: The library can also be integrated into LabVIEW host applications, allowing engineers to blend Technosoft motion control with broader laboratory or industrial automation and testing environments.
Core Capabilities and Features
By integrating TML_LIB, developers unlock a massive suite of independent control capabilities with the added benefit of still being able to rely on the drive’s internal program sequence.
Flexible Communication: The library natively handles the complexities of the underlying communication protocols. PC applications can interface with the drives via standard serial RS-232 links, CAN bus networks (using compatible PC-to-CAN interfaces), or Ethernet channels.
Handling Multithreading: TML_LIB fully supports multithreaded and multiprocess architecture. For instance, in a multi-axis CNC machine, a developer can create a dedicated software thread for each axis, allowing simultaneous command execution and status monitoring.
Advanced Motion Programming: Host applications can rapidly program various types of motion. This includes standard positioning with trapezoidal or S-curve profiles, as well as complex interpolations like PVT (Position-Velocity-Time) and PT (Position-Time) modes where the drive smoothly navigates a series of host-provided points. Furthermore, the software can configure drives to act as masters or slaves in electronic gearing and camming networks.
Multi-Axis and Distributed Control: For systems utilizing multiple motors, the library provides extensive administrative tools. Software can send targeted commands to an individual active axis, issue group commands to simultaneously trigger actions across specific clusters of drives, or broadcast messages to the entire network. Additionally, applications can utilize a distributed intelligence model, meaning the PC software can trigger complex, pre-compiled TML routines already stored on the drives, leaving the drives to handle the micro-management of the motion while the host oversees the macro-system.
Event Handling and Monitoring: The library allows the host software to continuously monitor drive status, read internal registers, and handle errors or faults. The drive can be programmed to autonomously execute an action or notify the host when a specific condition is met – such as reaching a target load position, hitting a specific speed, triggering a limit switch, or observing a digital input change.
Direct I/O (Input/Output) Management: Technosoft drives feature a specific number of general-purpose digital inputs and outputs. TML_LIB provides dedicated functions to directly read the status of these inputs or toggle the outputs, either individually or simultaneously across multiple ports. This allows the PC software to manage machine logic (such as reading proximity sensors or triggering relays) directly through the drive without needing a separate programmable logic controller (PLC).
Homing Sequences and Machine Initialization: TML_LIB allows developers to easily trigger the execution of homing routines embedded directly in the drive. Technosoft provides a set of up to 40 predefined homing methods that can be triggered by their specific index number, allowing the user to execute complex homing routines stored in the drive’s non-volatile memory.
On-the-Fly Parameterization and Data Transfer: Custom PC applications can use the library’s data transfer functions to read and write internal TML parameters and variables on the fly. Whether dealing with 16-bit integers, 32-bit long variables, or fixed-point values, the host software can adjust tuning gains, update positional offsets, or modify other parameters based on the machine’s current state.
Error and Fault Recovery: If a drive detects an error and enters a fault status, automatically disables its power stage to protect the hardware and sets specific error flags. TML_LIB empowers the PC software to monitor these states by reading the drive’s specific error registers. The library can also retrieve human-readable text descriptions of the last occurred error to aid in diagnostics. From there, the host application can issue specific reset commands to clear the fault and safely re-enable the power stage to restore normal operation.
Conclusion
In summary, utilizing TML_LIB transforms a PC into a powerful, real-time motion controller, enabling users to build highly customized and responsive robotic or industrial systems across many standard programming languages.
Contact our team today!