Post Trajectory Gearing
If your application needs electronic gearing AND the ability to command point to point motion on a geared Axis, you want to use Post Trajectory Gearing (PTG) and not the standard electronic gearing. It’s just like regular electronic gearing but the gearing offset is applied after the slave Axis’ motion is processed. The PTG geared position is added to the EtherCAT position demand and subtracted from the Axis’ ActualPosition.
This means that a PTG slave will appear to not be in motion when its master is moving. This allows for us to make correctional or superimposed motions on the slave while it is following the master.
Post Trajectory Gearing is updated every sample.
Post Trajectory Gearing is limited to drives working in Cyclic Synchronous Position Mode. Post Trajectory Gearing is always based on Command Position deltas.
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.
ulong axisGearingOffsetAddress = axis.AddressGet(RSIAxisAddressType.RSIAxisAddressTypePOST_TRAJECTORY_GEARING_POSITION);
Double actualCommandPosition = axis.CommandPositionGet() - axis.CountsToUserUnits(controller.MemoryDoubleGet(axisGearingOffsetAddress));