MC_Phasing
The MC_Phasing FB is used to achieve an offset of the slave axis with respect to the master axis. To this end, a phase offset of the master axis is specified from the point of view of the master axis and the slave axis tries to eliminate this offset by accelerating or decelerating. The motion is always executed jerk-limited with the constant set input ‘Jerk’. This value is valid for both ‘Acceleration’ and ‘Deceleration’.
The mechanical analogy is releasing coupling of the master and slave axes for a limited period.
In the case of camming, this FB results in a change in the ‘apparent’ master position from the slave's point of view. In the case of gearing, a phase offset is produced between the master and slave by commanding a superimposed motion in the slave. Therefore, in the case of gearing, MC_Phasing has the same effect as MC_MoveSuperImposed (into which it is actually converted in the control system).
In the case of camming, the dynamics values ‘Velocity’, ‘Acceleration’ and ‘Deceleration’ refer to the change in the ‘apparent’ master position from the point of view of the slave whereas, in the case of gearing, they refer to the superimposed motion of the slave axis itself.
Block diagram
Parameters of the FB
VAR_IN_OUT | |||
| Master | AXIS_REF | Axis reference to the master axis. |
| Slave | AXIS_REF | Axis reference to the slave axis |
VAR_INPUT | |||
| Execute | BOOL | Start the phasing process at the rising edge. |
| PhaseShift | LREAL | Phase shift between master axis and slave axis, as seen by the slave axis. The calculated phase shift is transferred to the slave axis as the master axis position. Range [-2147483648.0, 2147483647.0] |
| Velocity | LREAL | Maximum value of the velocity that may be attained during generation of the phase shift. The velocity is not necessarily achieved. Range [1.0, 2147483647.0] |
| Acceleration | LREAL | Maximum acceleration to reach phase difference (always positive). Range [1.0, 2147483647.0] |
| Deceleration | LREAL | Maximum deceleration to reach phase difference (always positive). Range [1.0, 2147483647.0] |
| Jerk | LREAL | Maximum Jerk to reach phase difference (always positive). Range [1.0, 2147483647.0] |
VAR_OUTPUT | |||
| Done | BOOL | Commanded phasing reached. |
| CommandAborted | BOOL | Command is aborted by another command. |
| Error | BOOL | Indicates if an error has occurred. |
| ErrorID | WORD | Error identification. |
Behavior of the FB
- Phase offset can only be commanded when the slave axis is in the ‘Synchronized Motion’ state.
- If this is not the case, the ‘Error’ output is set to FALSE and ‘ErrorID’ indicates an error value that designates the state the axis is currently in.
- The value range of the ‘PhaseShift’, ‘Velocity’, ‘Acceleration’, ‘Deceleration’, and ‘Jerk’ input variables is monitored and, if it is exceeded, an error number referring to the variable is output at the ‘ErrorID’ output and ‘Error’ is set to TRUE.
- Values that correspond to a minimum ramp time of TA (cycle time of the IPO, e.g. 2 ms) and a maximum ramp time of 100s make sense as the ‘Jerk’. The limit transition to non-jerk-limited speed realization lies at the minimum ramp time of TA. In the case of a value of 0, the maximum ramp time from the axis MDS is used to determine the ‘Jerk’.
- The function block is retriggerable, i.e. it can send a command when it is in the active state.