APIs, concepts, guides, and more
Post Trajectory Gearing

Combine electronic gearing with point-to-point motion on a geared axis, applying the gearing offset after the slave axis' motion processing, enabling correctional or superimposed motions.

🔹 What is Post Trajectory Gearing

Post Trajectory Gearing (PTG) is electronic gearing whose offset is applied after the slave Axis' motion is processed, outside the command and actual positions the Axis reports. The PTG geared position is added to the EtherCAT position demand and subtracted from the Axis' ActualPosition.

This means that a PTG slave appears not to be in motion when its master is moving: its command and actual positions stay in the slave's own frame, and a point-to-point move on it lands at its absolute target in that frame. Use PTG when your application wants the master's movement kept out of the positions it reads and targets. Standard electronic gearing also supports point-to-point and other moves on a geared slave. There the move superimposes on the gearing and lands at its target plus the master's movement, and the reported positions include the gearing.

🔹 API methods

Method Description
PostTrajectoryGearingEnableSet Enable or disable post-trajectory gearing for this axis.
PostTrajectoryGearingEnableGet Get the enable state of post-trajectory gearing.
PostTrajectoryGearingMasterAxisSet Set the master axis for post-trajectory gearing.
PostTrajectoryGearingMasterAxisGet Get the master axis number used for post-trajectory gearing.
PostTrajectoryGearingMultiplierSet Set the multiplier for post-trajectory gearing.
PostTrajectoryGearingMultiplierGet Get the multiplier for post-trajectory gearing.
PostTrajectoryGearingScaledOffsetGet Get the current scaled position offset from post-trajectory gearing.

❓ FAQ

What is the reaction time for Post Trajectory Gearing?

Post Trajectory Gearing is updated every sample.

What drive modes are supported?

Post Trajectory Gearing is limited to drives working in Cyclic Synchronous Position Mode. Post Trajectory Gearing is always based on Command Position deltas.

My Command and Actual Positions don't make any sense. How can I get my axis' actual position?

When using PTG the geared offset is calculated each sample and is applied each sample as a delta. It is applied to the slave axis' position demand which is sent over EtherCAT.

This means that your command and actual positions are relative to this position demand, so if you want to see where your axis 'actually' is, you can subtract out the geared offset.

// Use the API method to get the gearing offset directly (C#)
Double gearingOffset = axis.PostTrajectoryGearingScaledOffsetGet();
Double actualCommandPosition = axis.CommandPositionGet() - gearingOffset;