One of the key advantages of the Technosoft drives/motors is their capability to execute complex motions without requiring an external motion controller. This is possible because Technosoft drives offer in a single compact package both a state of art digital drive and a powerful motion controller.
Programming motion on a Technosoft drive/motor means to create and download a TML (Technosoft Motion Language) program into the drive/motor memory. The TML allows you to:
• | Set various motion modes (profiles, PVT, PT, electronic gearing or camming, etc.) |
• | Change the motion modes and/or the motion parameters |
• | Execute homing sequences |
• | Control the program flow through: |
o | Conditional jumps and calls of TML functions |
o | TML interrupts generated on pre-defined or programmable conditions (protections triggered, transitions on limit switch or capture inputs, etc.) |
o | Waits for programmed events to occur |
• | Handle digital I/O and analogue input signals |
• | Execute arithmetic and logic operations |
• | Perform data transfers between axes |
• | Control motion of an axis from another one via motion commands sent between axes |
• | Send commands to a group of axes (multicast). This includes the possibility to start simultaneously motion sequences on all the axes from the group |
• | Synchronize all the axes from a network |
With TML, you can really distribute the intelligence between the master and the drives/motors in complex multi-axis applications. Thus, instead of trying to command each step of an axis movement, you can program the drives/motors using TML to execute complex tasks and inform the master when these are done. Thus for each axis the master task may be reduced at: calling TML functions (with possibility to abort their execution if needed) and waiting for a message, which confirms the execution. If needed, the drives/motors may also be programmed to send periodically information messages to the master so it can monitor a task progress.
A TML program includes a main section, followed by the subroutines used: functions, interrupt service routines and homing procedures. The TML program may also include cam tables used for electronic camming applications.
When you select the “Motion” part of an application, you access the main section of your application TML program.
You can select the other components of a TML program too. Each has 2 types of access views:
• | Definition and/or selection view, with the following purposes: |
o | Homing modes: select the homing procedure(s) to use from a list of already defined procedures. |
o | Functions: create new TML functions (initially void) and manipulate those defined: delete, rename, change their order in the program |
o | Interrupts: choose the TML interrupt service routines you want to view/change their default implementation |
o | Cam Tables: create new cam tables loaded from other applications or imported from text files and manipulate those defined: select those to be downloaded and their order, delete or rename. |
• | Edit view – for editing the contents. There is one edit view for each homing procedure and cam table selected, for each function defined and each interrupt chosen for view/edit. |
In order to help you create a TML program, EasyMotion Studio includes a Motion Wizard which is automatically activated when you select “M Motion” – the main section view or an edit view for a homing procedure, function or interrupt service routine. The Motion Wizard adds a set of toolbar buttons in the project window just below the title bar. Each button opens a programming dialogue. When a programming dialogue is closed, the associated TML instructions are automatically generated. Note that, the TML instructions generated are not a simple text included in a file, but a motion object. Therefore with Motion Wizard you define your motion program as a collection of motion objects.
The major advantage of encapsulating programming instructions in motion objects is that you can very easily manipulate them. For example, you can:
• | Save and reuse a complete motion program or parts of it in other applications |
• | Add, delete, move, copy, insert, enable or disable one or more motion objects |
• | Group several motion objects and work with bigger objects that perform more complex functions |
The Motion Wizard includes the following programming dialogues:
Motion Programming and control
Trapezoidal Profiles
S-curve Profiles
PT
PVT
External
Electronic Gearing
Electronic Camming
Motor Commands
Position Triggers
Homing
Contouring
Test
Events Programming
Event Types
When the actual motion is complete
Function of motor or load position
Function of motor or load speed
After a wait time
Function of reference
Function of inputs status
Function of a variable value
Jumps and Function Calls
I/O Handling
Assignment & Data Transfer
16-bit Integer Data
32-bit Integer Data
Arithmetic Operations
Multiple Axis Data Transfer
Send to Host
Miscellaneous commands
Interrupt Settings
Free Text Editor
See also:
Motion View
Homing Procedures View
Functions View
Interrupts View
Cam Tables View
|