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.
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 |
Master |
Reference to master axis |
||
Slave |
Reference to slave axis |
|||
Input |
Execute |
BOOL |
FALSE |
Rising edge: Starts the execution of the function block. |
PhaseShift |
LREAL |
0 |
Phase difference between master and slave (slave - master) [u] |
|
Velocity |
LREAL |
0 |
Maximum velocity for reaching phase difference [u/s] |
|
Acceleration |
LREAL |
0 |
Maximum acceleration for reaching phase difference [u/s²] |
|
Deceleration |
LREAL |
0 |
Maximum deceleration for reaching phase difference [u/s²] |
|
Jerk |
LREAL |
maximum jerk to reach phase difference [u/s^3] |
||
Output |
Done |
BOOL |
FALSE |
TRUE: Commanded phasing has been reached. |
Busy |
BOOL |
FALSE |
TRUE: Execution of the function block has not been finished. |
|
CommandAborted |
BOOL |
FALSE |
TRUE: Command has been aborted by another command. |
|
Error |
BOOL |
FALSE |
TRUE: Error has occurred within the function block. |
|
ErrorID |
SMC_ERROR |
0 |
Error identification |