Activating the Following Function
You can activate the following function by calling the Link (WRITE_CMD) or FollowOn (implicit exchanges) functions. You can deactivate the following function by calling the UnLink (WRITE_CMD) or FollowOff (implicit exchanges) functions.
Following does not start as soon as it is activated: issuing a command to activate following starts a sequence of events, and following is not considered until all the events are complete. For the slave axis, the AXIS_IS_LINKED bit indicates when following actually starts.
Once following actually begins, the slave axes follow the master. If the master is under the control of the multi-axis movement controller, the application program commands the master axis to move to achieve the desired following motion.
Movement with Active Following
The master may be executing a move when following is activated.
-
In Ratio mode, the slave axis accelerates to the desired following speed.
-
In Cam mode, the slave axis rapidly accelerates to achieve the desired speed specified by the CamProfile.
The slave may be executing a move command when following is activated, under the following conditions:
-
If the FOLL_ON_HALT SlaveMode bit is set, then this movement command in progress is issued a halt command when following is triggered. This cancels the movement, and the resulting slave axis movement is based only on following the master axis.
-
If the FOLL_ON_HALT SlaveMode bit not set to 1, this movement command in progress is not stopped. The resulting slave axis movement is the sum of the movement from following the master plus the movement from the movement command in progress.
Movement with Inactive Following
The master may be executing a move when following is deactivated.
-
In Ratio mode, the slave ratio is decelerated to 0 using the configured deceleration. This stops the movement of the slave axis based on following the master axis.
-
In Cam mode, the slave axis will immediately stop following the master without any deceleration.
The slave may be executing a move (in addition to following the master) when following is deactivated, under the following conditions:
-
If the FOLL_BIAS_REMAINS SlaveMode bit is set to 0, the movement profile in progress is issued with a stop command. The slave axis reaches zero speed at the end of any deceleration of the movement from following the master and when the movement command in progress is stopped. Following is then deactivated and the AXIS_IS_LINKED MovementStatus bit is set to 0.
-
If the FOLL_BIAS_REMAINS SlaveMode bit is set, this move command in progress is not stopped. The movement of following the master is therefore zero, and the AXIS_IS_LINKED bit is set to 0. The slave axis continues to move according to the movement command in progress. The AbsoluteSlaveBias remains in effect until the slave axis receives a stop or disable command (%Ir.m.c.24 = 1). This means that any ABS_MOVE command will be offset by the value of the AbsoluteSlaveBias.
In order to command an absolute movement to a slave axis while the AbsoluteSlaveBias remains, you must subtract the AbsoluteSlaveBias from the commanded position:
commanded position = desired position - AbsoluteSlaveBias
Once the slave axis completes a halt or disable command, the AbsoluteSlaveBias is automatically reset, and normal position commands may be sent.
Activating Following in Ratio and Cam Modes
In each of these modes, activating following causes the movement controller to calculate a new value for the SlaveBias. This new value is chosen to prevent the slave axis from moving, given the current master position and the SlaveRatio (for Ratio mode) or CamProfile (for Cam mode). You may adjust SlaveBias to any desired value after following is activated or by issuing an incremental movement command to the slave axis.
In Ratio mode, the SlaveBias value changes with the SlaveRatio. Monitor the SlaveBias after the RAMPING bit of the slave axis is reset.
NOTE: SlaveBias: Position delta between master and slave.