Chapter 8 Motion Control Function
8.2.14 Phase Correction Control
Phase correction control performs phase correction for the main-axis of the axes during synchronization control operation. It performs a
virtual movement of the position of the main-axis which the sub-axis refers to in synchronization control operation, and the sub-axis
performs synchronized operation to the moved main-axis position.
1. Control features
(1) Phase correction order can be executed with respect to the axes where synchronized operation is underway as in gear
operation or cam operation.
(2) Phase correction does not change the actual command position or current position of the main-axis, and phase correction
is performed on the main-axis position referred to by sub-axis in synchronous control operation. In other words, the main-
axis does not know that phase correction is executed by the sub-axis. Phase correction velocity is relative to the velocity
of the current main-axis operation.
(3) If the main-axis is encoder, when phase correction control is executed, the operation uses the velocity limit of the sub-axis.
(4) The main-axis position which the sub-axis refers to during synchronized operation is "actual main-axis position + phase
correction control position.”
(5) If the command is re-executed during the phase correction operation, phase correction is performed again from the
current position. In other words, PhaseShift is operated in a relative value.
(6) If re-executing phase correction by setting PhaseShiftto 0 during the phase correction operation, the existing phase
correction operation stops immediately.
2. Motion function block
MC_Phasing
MasterMaster
Slave
Done BOOL
UINT
UINT
UINT
BOOL Execute
LREAL PhaseShift Busy BOOL
CommandAborted BOOL
Error BOOL
ErrorID WORD
Active BOOL
LREAL Velocity
LREAL Acceleration
LREAL Deceleration
LREAL Jerk
Slave
UINT
CoveredPhaseShift LREAL
3. Limitation
In the following cases, Phase correction cannot be performed due to errors.
(1) Sub-axis is not performing synchronization control operation (Error Code: 0x1130)
(2) The designated main-axis is the main-axis of the actual synchronized operation (Error Code: 0x1131)
(3) PhaseShift is outside the pulse unit position expression range (INT) (Error Code: 0x1132)
(4) Velocity setting is less than0, or exceeds the velocity limit for the main-axis (Error Code: 0x1133)
(5) Acceleration setting is less than 0 (Error Code: 0x1014)
(6) Deceleration setting is less than 0 (Error Code: 0x1015)
(7) Jerk setting is less than 0 (Error Code: 0x1016)