EC-Motion Advanced - Motion Control Library

General Description

The EC-Master add-on EC-Motion Advanced is a motion control solution for drives based on the profile CiA402®. This library supports the single-axis and multi-axis movement s without the need for costly additional hardware. EC-Motion provides a Programmable Logic Controller (PLC) style interface. It is designed to be easy integrating in a PLC or any other C++ application for controlling servo drives.

The integrated trajectory generator calculates the velocity profile of the movement to the desired position based on the given dynamics of the movement command (maximum speed, acceleration, deceleration and jerk). The generator supports jerk-limited movements as well as blending between velocities. The servo drives can be operated in Cyclic Synchronous Position (CSP) mode or Cyclic Synchronous Velocity (CSV) mode.

Software Architecture

The library offers administrative function blocks, like McPower to set an axis into the state “Operation enabled”, and motion function blocks to move the axis to a specific position, like McMoveAbsolute.

If the axis is still busy with performing a movement, the motion block is queued and automatically executed after the ongoing movement is finished. By using the different blending modes (low, previous, next, high) comprehensive movements are possible.

The core component of the library is the trajectory generator which divides a movement into different sections (accelerate, decelerate, constant velocity) before a movement starts. For all accelerate and decelerate sections the jerk can be limited.

For a smooth axis movement, the generator has to calculate in every cycle the next velocity until the final position is reached. The axis layer is converting the velocity depending on the axis mode either into a target position (CSP mode), or a target velocity (CSV mode).

Configuration and Diagnosis

The EtherCAT configuration and diagnosis tool EC-Engineer helps the user easily to define the parameters and settings for all axis which shall be operated. Based on the configuration all CiA402 compatible drives can be operated without changing the application´s source code.

In EC-Engineer´s diagnosis mode all axis inputs and outputs can be monitored. The Motion dialog shows many live values, e.g., actual position, motion state etc. In addition, this dialog allows you to fully control the axis, e.g., switching it on and off, performing positioning, etc.

Features

  • Available on Linux, Xenomai, FreeRTOS, QNX, VxWorks, RTX64, etc.
  • Ready-to-run available on many CPU architectures: x86, x64, ARM, ARM64
  • Single-Axis and Multi-Axis (Camming and Gearing) movements
  • Sophisticated trajectory generator
    • Jerk-limited movements
    • Sequence of movements without stopping: Buffered Modes with blending
  • Changing parameters during movement (continuous update)
  • Provides a Programmable Logic Controller (PLC) style interface. It is designed to be easy integrating in a PLC for controlling servo drives
  • Administrative Function Blocks:
    • McPower: Controls the power stage (On or off)
    • McSetPosition: Shifts the coordinate system
    • McReadParameter, McReadBoolParameter: Returns the value of a parameter
    • McWriteParameter, McWriteBoolParameter: Modifies the value of a parameter
    • McReadActualPosition: Returns the actual position
    • McReadActualVelocity: Returns the actual velocity
    • McReadMotionState: Returns the actual velocity
    • McReadAxisInfo: Reads information concerning an axis
    • McReadAxisError: Presents general axis errors not relating to the Function Blocks
    • McReset: Makes the transition from the state ‘ErrorStop’ to ‘Standstill’ by resetting errors
    • McCalcMoveProfile, McCalcMoveTimeAtPos: Calculate trajectory without moving
  • Single-Axis Motion Function Blocks
    • McStop: Commands a controlled motion stop and transfers the axis to the state ‘Stopping’
    • McHalt: Commands a controlled motion stop and transfers the axis to the state ‘Standstill’
    • McMoveAbsolute: Commands a controlled motion to a specified absolute position
    • McMoveRelative: Commands a controlled motion of a specified distance relative to the set position
    • McMoveVelocity: Commands a never ending controlled motion at a specified velocity
    • McMoveContinuousAbsolute: Commands a controlled motion to a specified absolute position ending with the specified velocity
    • McMoveContinuousRelative: Commands a controlled motion of a specified relative distance ending with the specified velocity
  • Multi-Axis Motion Function Blocks
    • McCamTableSelect: Function Block selects the CAM tables by setting the connections to the relevant tables
    • McCamIn: Function Block engages the CAM
    • McCamOut: Function Block disengages the Slave axis from the Master axis immediately
    • McGearIn: Function Block commands a ratio between the VELOCITY of the slave and master axis
    • McGearOut: Function Block disengages the Slave axis from the Master axis

Advantages and Benefits

  • No extra Motion Controller hardware required for operating drives → Cost reduction
  • Perfected integration with acontis MainDevice Stack EC-Master → Saves effort
  • Out-of-the-box available for many operating systems and CPU architectures. No adaption required, start right away →Saves time
  • Single supplier for Motion Control solution and MainDevice Stack → Simplified implementation, less time spent on contracts and paperwork
Free Evaluation Request