Motion Programming with drive/motor built-in Motion Controller

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:
oConditional jumps and calls of TML functions
oTML interrupts generated on pre-defined or programmable conditions (protections triggered, transitions on limit switch or capture inputs, etc.)
oWaits 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:
oHoming modes: select the homing procedure(s) to use from a list of already defined procedures.
oFunctions: create new TML functions (initially void) and manipulate those defined: delete, rename, change their order in the program
oInterrupts: choose the TML interrupt service routines you want to view/change their default implementation
oCam 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