MC_Phasing (FB)¶
FUNCTION_BLOCK MC_Phasing
MC_Phasing provides a constant phase shift between master and slave axis.
MC_Phasing will abort any ongoing movement of the slave axis.
In this respect, it differs from the function blocks MC_PhasingAbsolute
and MC_PhasingRelative defined by the PLCopen for Motion Control 2.0
standard.
These function blocks don’t abort an ongoing slave movement but superimpose
the phase shift on top of e.g. an ongoing MC_CamIn or MC_GearIn
movement.
To achieve this behavior with MC_Phasing, please use an additional
virtual axis as the slave axis of MC_Phasing and use this virtual
slave as the master for MC_CamIn or MC_GearIn.
Alternatively, MC_MoveSuperimposed can be used on the master axis of
an MC_CamIn or MC_GearIn movement.
Important
Phase, Velocity, Acceleration and
Deceleration of a phase shift are controlled by the function block.
Note
MC_Phasing should be called after the motion FB controlling
the Master axis has been called. Otherwise, the Slave axis
will lag behind the Master axis.
Timing example of MC_Phasing
Timing of MC_Phasing¶
Example demonstrating the effect of MC_Phasing
Demonstrating the effect of MC_Phasing¶
- InOut:
Scope
Name
Type
Initial
Comment
Inout
MasterReference to master axis
SlaveReference to slave axis
Input
ExecuteBOOLFALSE
Rising edge: Starts the execution of the function block.
PhaseShiftLREAL0
Phase difference between master and slave (slave - master) [u]
VelocityLREAL0
Maximum velocity for reaching phase difference [u/s]
AccelerationLREAL0
Maximum acceleration for reaching phase difference [u/s²]
DecelerationLREAL0
Maximum deceleration for reaching phase difference [u/s²]
JerkLREALmaximum jerk to reach phase difference [u/s^3]
Output
DoneBOOLFALSE
TRUE: Commanded phasing has been reached.BusyBOOLFALSE
TRUE: Execution of the function block has not been finished.CommandAbortedBOOLFALSE
TRUE: Command has been aborted by another command.ErrorBOOLFALSE
TRUE: Error has occurred within the function block.ErrorIDSMC_ERROR0
Error identification