Y_AX_AxesInterlock
This function block checks
MC_ReadAxisError
and the actual position of both axes to verify that they are both free of alarms and within the position tolerance specified. It is intended for use with axes that operate on the same mechanical load and must remain within tolerance to avoid equipment damage, such as an X & X' (prime) gantry system. The Locked output will be high to indicate that the axes are synchronized and free of errors.
Parameters:
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Axis1 | AXIS_REF | Logical axis reference. This value can be located on the Configuration tab in the Hardware Configuration (logical axis number). | |
| B | Axis2 | AXIS_REF | Logical axis reference. This value can be located on the Configuration tab in the Hardware Configuration (logical axis number). | |
| VAR_INPUT | ||||
| B | Enable | BOOL | The function will continue to execute while enable is held high. | FALSE |
| V | Tolerance | LREAL | The allowable position difference between the two axes in user units. | LREAL#0.0 |
| V | Offset | LREAL | Offset between the two axes. This value will be considered when comparing the positions | LREAL#0.0 |
| VAR_OUTPUT | ||||
| B | Valid | BOOL | Indicates that the outputs of the function are valid. | |
| V | Locked | BOOL | Indicates TRUE if neither axis has an alarm and the position deviation is less than the specified tolerance. | |
| V | Deviation | BOOL | The amount of positional difference between the two axes. | |
| B | Error | BOOL | Set high if error has occurred during the execution of the function block. This output is cleared when 'Execute' or 'Enable' goes low. | |
| E | ErrorID | UINT | If Error is true, this output provides the Error ID. This output is reset when 'Execute' or 'Enable' goes low. | |
Notes:
- It is assumed that the axes have the same user units because they are operating the same load.
- See the AxesInterlock eLearning Module on Yaskawa's YouTube channel.
Error Description:
See the
Function Block ErrorID List.
Examples:
The
Y_AX_AxesInterlock
FB will be used in this example with a Deviation of 0.5 and a maximum allowable deviation of 0.4.
Since this example will require motion from the axis, the MC_Power FB will be used to turn on the two axis.
For this example, the two Axis need to start at a position of 0.0. This is done using the
MC_SetPosition
FB on both of the axis.
Once both Axis are at the zero position, motion will begin. In this example, both Axis start at zero and are within the maximum allowable deviation. In order to demonstrate the Axis falling outside of the allowable range, Axis2 will travel twice the velocity of Axis1.
Within a few seconds, the Axis will not longer be 'Locked' as they will exceed the maximum specified deviation. The Logic Analyzer trace for the example is shown below: