Y_AX_AbsolutePositionManager
This function monitors for any controller or servo alarm related to the absolute encoder or battery backed encoder offset data stored in the controller. It can serve as the single point of monitoring, clearing, and defining the position of an absolute encoder. This function includes a retained Boolean output variable that once set, requires that the alarm be cleared through this function, and that the position of the encoder is redefined. The intention is to prevent the machine from operating until the position of the absolute encoder has been calibrated to the machine coordinates.
This function includes the following PLCopenPart1 function blocks:
MC_ReadAxisError,
Y_ReadAlarm
Y_ResetAbsoluteEncoder,
Y_ClearAlarms
and
MC_SetPosition.
Parameters:
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Axis | 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 every scan while Enable is held high and there are no errors. | FALSE |
| V | SetPosition | BOOL | Command to set the axis position to the value specified by the Position input. | FALSE |
| V | Position | LREAL | A positive or negative value within the coordinate system in user units. | LREAL#0.0 |
| V | ResetEncoder | BOOL | Initiates a function to clear any absolute encoder related SERVOPACK alarm, including A.810 and A.CC0. | LREAL#0.0 |
| VAR_OUTPUT | ||||
| B | Valid | BOOL | Indicates that the function is operating normally and the outputs of the function are valid. | |
| B | Busy | BOOL | Indicates that the function block is operating, but may not be ready to provide valid outputs . | |
| V | SetPositionDone | BOOL | Indicates that MC_SetPosition has successfully completed. | |
| V | PositionValid | BOOL | Indicates that the absolute encoder has no alarms, and the MC_SetPosition has been used at some point in the past to align the encoder with the mechanical system. | |
| V | ResetDone | BOOL | Indicates that the ResetEncoder request has completed successfully. | |
| V | EncoderAlarmID | UINT | ServoPack alarm related to the absolute encoder. | |
| V | ControllerAlarmID | UDINT | Controller alarm related to the MRAM, which stores the absolute encoder offset. | |
| B | Error | BOOL | Set high if an error has occurred during the execution of the function block. This output is cleared when 'Execute' or 'Enable' goes low. | |
| B | ErrorID | UINT | If Error is true, this output provides the Error ID. This output is reset when 'Execute' or 'Enable' goes low. | |
Notes:
- Output data other than 'Error' and 'ErrorID' are only correct when the 'Valid' output is high
- To clear the absolute encoder alarm from a servo amplifier, A.810, the user must use the 'ResetEncoder' input, then reset the servo amplifier by either cycling power or using function block Y_AX_RebootServo
- See the AbsolutePositionManager eLearning Module on Yaskawa's YouTube channel.
Error Description:
See the
Function Block ErrorID List
Examples
Setting Absolute Encoder Position
Resetting Absolute Encoder alarm
Absolute Encoder alarm A.810.
Set the Reset Encoder input.
Power cycle the servo amplifier, or use Y_AX_Reboot Servo.