APIs, concepts, guides, and more

Link two or more axes such that the slave axis position is a function of the master axis position, useful in various systems like in-feed and conveying systems, achieved electronically without mechanical linkage.

๐Ÿ”น What is Gearing?

Gearing or Electronic Gearing links two or more axes such that the position of the โ€œslaveโ€ axis is a function of the position of the โ€œmasterโ€ axis.

๐Ÿ”น Gearing Overview

Mechanical gearing consists of a master unit and a slave unit-linked mechanically by a ratio determined by the number of teeth on the input gear and the output gear.


Electronic gearing can achieve the same relationship without mechanical linkage. This can be useful in a variety of systems, such as:

1. In-feed systems where two pinch-rollers must rotate in an inverse relationship (-1:1)


2. Conveying systems where the ratio between the pay-out and take-up spool continuously changes as product moves from one spool to the other (ratio of (1:4) at the start, ratio of (4:1) at the end)


  • It is possible to have one master axis and multiple slave axes.
    • E.g., Axis 0 can be the master, and axes 1,2,3,4 can be set up as slaves.
  • It is possible to have several master and slave axis combinations.
    • E.g., Axis 0 can be master to axis 1 while axis 2 is master to axis 3.
  • It is possible to make a correction move on the slave axis.
    • E.g., If axis 0 is master to axis 1, a relative or absolute move can be commanded on the slave to make a correction move. The gearing will still be in effect, however, the slave axis will speed up to complete the short move.

โ“ FAQ

What is the reaction time for electronic gearing?

The RMP should update within a single sample cycle (default is 1ms). Reaction time is mostly dependent on when the Master Source is written to the ESC for the next Network Exchange & Post Exchange waiting for the Slave to respond to the new data in its ESC.

What are the various gearing sources available?

Please check RSIAxisMasterType to see all available sources..

๐Ÿ”น RMP Motion Controller Gearing Notes

  • Cyclic Data is Exchanged with Network (including Gearing Master Axis Actual Position [One possible Gearing Source])
  • EtherCAT Master updates RMP Gearing Master's Actual Position.
  • RMP Motion Control processes <<What to do Next>>. While processing the Gearing Slave, it takes the Master Axisโ€™s Actual Position, multiples Feedback Source by the numerator, devices result by the denominator, and finally sets the value as Command Value for Gearing Slave.
  • EtherCAT Master takes Position Demand for all Axes.
  • Cyclic Data is Exchanged with Network (including Gearing Slave Axis's Scaled Position Demand).
Electronic gearing will only work when both, the Master and Slaves are in Position Mode.

๐Ÿ“œ Sample Code

  • C#

    //Create RapidCode Objects
    Axis moving_axis = controller.AxisGet(Constants.MAIN_AXIS_NUMBER);
    Axis follower_axis = controller.AxisGet(Constants.DRIVEN_AXIS_NUMBER);
    int numerator = 2; // Specify the numerator of the gearing ratio.
    int denominator = 1; // Specify the denominator of the gearing ratio.
    // Configure the 'follower' axis to be a follow to the 'moving' axis at a ratio of 2:1, that is,
    // for every rotation of the Moving Axis axis, the Driven axis will rotate twice.
    RSIAxisMasterType.RSIAxisMasterTypeAXIS_COMMAND_POSITION, // If NOT using a Phantom Axis, switch to RSIAxisMasterTypeAXIS_ACTUAL_POSITION
    // Perform a S-curve motion on the Moving Axis axis.
    moving_axis.MotionDoneWait(); // Wait for motion to finish.