Portada ยป How to synchronize axes without any synchronism function?

How to synchronize axes without any synchronism function?

by admin
373 views

With a function to perform absolute positioning, axes can be synchronized in applications where much dynamics are not required, as could be the case of the XL and XR engines in the figure. It is explained in detail below.

Operation of an axis synchronism

From the moment an axis is enabled in any Motion Control system, the CPU sends its reference position value to each interrupt interval of the Motion task. If the axis does not move because there is no programmed command, it will remain stable in the same position, if the program executes any movement, the Motion Profiler of the Motion task will calculate the corresponding value of the new reference position, transfer it to the servo drive through the fieldbus used (Sercos III, Ethercat, EtherNet/IP (CIP Sync)) and the axis will follow.

That said, the solution is easy. The first thing is to unify the X axis into a virtual axis, let’s call it VX_Reference. This axis will be the only one that we will move so that the XL and XR axes are synchronized with it. It can be moved with absolute/relative positioning functions and Jog movements.

To establish the relationship between the master axis and the slave we program the variables XL_RatioNum and XL_RatioDen the reference position for the slave axis, it will be the result of multiplying the position of VX_Reference (Master) by that relationship. The result is assigned to the variable XL_Ref as the absolute target position for the real XL_Axis axis. At each variation in the position of the XL_Ref axis, a pulse will be generated in xPulseL to execute the positioning on the real axis XL_Axis.

This code will be programmed into a quick task. In this way we manage to calculate the position that corresponds to each slave axis, and we make the value of XL_Ref become the position reference of the real axis by means of the MC_MoveXL positioning, the same for the XR_Axis axis. In a way we are doing the same thing that the firmware would do with an instance of MC_GearIn, but by code and you can not
get all the dynamics, but more than enough for many applications.

Summary / Conclusions:

  1. By executing an absolute positioning continuously in a fast task, we manage to send the desired reference position to the servo-drive
  2. In this way we could also generate reference values by code, for example, the values of a sine wave
  3. This technique does not work in architectures where the servo-drive is really doing the movement and the control only sends parameters for positioning through a fieldbus.
  4. Currently all control equipment for Motion control have functions to perform axis synchronisms, but this technique can be useful in some cases.

Related News