MC_Phasing![This function or function block supports PLCopen motion PLCopen motion icon](../Resources/Images/Icon_PLCopen.png)
Usage
This function block:
- performs a master position phase shift for the slave axis
- provides a way to smoothly apply a master offset instead of writing values directly to the Master Offset Parameter 1002.
- is commonly used along with MC_TouchProbe for performing position corrections on the slave axis in a Mark to Mark registration application.
-
- MC_Phasing performs a similar function to adjusting the MasterOffset input in the MC_CamIn function block but has the additional feature of setting the velocity, acceleration, deceleration, and jerk
In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time motion parameters.
Description
In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time values. The difference is that the interpolated command delta is not commanded to the axis but is, instead, added to the Slave axis’s Master Offset. This will shift the Master axis’s position as viewed by the Slave axis, causing a change in the Slave axis’s physical position. This will only affect the Slave axis if it is executing a slave move. Subsequent calls to MC_Phasing can abort or blend to an executing MC_Phasing command.
-
- This function block starts a motion-related action and therefore stores data for calculations and error checking. Please see Calling Function Blocks Multiple Times in the Same Cycle if you are using a dual-core controller.
Arguments
For more detail on how inputs and outputs work, refer to PLCopen Function Blocks - General Rules
Input
Execute | Description | Requests to queue the phase shift |
Data type | BOOL | |
Range | 0, 1 | |
Unit | N/A | |
Default | — | |
Master | Description | Name of a declared instance of the AXIS_REF library function. For more details,About Axis Name and Number) |
Data type | AXIS_REF | |
Range | [1,256] | |
Unit | N/A | |
Default | — | |
Slave | Description | AXIS_REF AXIS_NUM is the slave axis number |
Data type | AXIS_REF | |
Range | [1,256] | |
Unit | N/A | |
Default | — | |
PhaseShift | Description | Amount of phase shift |
Data type | LREAL | |
Range | — | |
Unit | User unit | |
Default | — | |
Velocity | Description | Velocity setpoint![]() |
Data type | LREAL | |
Range | — | |
Unit | User unit/sec | |
Default | — | |
Acceleration | Description | Trapezoidal: Acceleration rate S-curve: Maximum acceleration |
Data type | LREAL | |
Range | — | |
Unit | User unit/sec2 | |
Default | — | |
Deceleration | Description | Trapezoidal: Deceleration rate S-curve: Unused |
Data type | LREAL | |
Range | — | |
Unit | User unit/sec2 | |
Default | — | |
Jerk | Description | Trapezoidal: 0 S-curve: Constant jerk |
Data type | LREAL | |
Range | — | |
Unit | User unit/sec3 | |
Default | — | |
BufferMode | Description |
|
Data type | SINT | |
Range | [0,5] | |
Unit | N/A | |
Default | — |
Output
Done | Description | Indicates the phase shift has been completely applied |
Data type | BOOL | |
Busy | Description | High from the moment the Execute input is one-shot to the time the move is ended |
Data type | BOOL | |
Active | Description | Indicates this phase shift is the active phase shift |
Data type | BOOL | |
CommandAborted | Description | Indicates the move was aborted |
Data type | BOOL | |
Error | Description | Indicates an invalid input was specified or the move was terminated due to an error |
Data type | BOOL | |
ErrorID | Description | Indicates the error if Error output is set to TRUE |
Data type | INT |
Example
Structured Text
(* MC_Phasing ST example *) //Inst_MC_Phasing is an instance of MC_Phasing function block
Inst_MC_Phasing(PhasingAxis1, Axis2, Axis1, 1000.0,100.0, 200.0, 200.0, 0, 0 );
See also how this function is used in the Hole punch project here.
Ladder Diagram