Y_CamOut
This Function Block disengages a Slave axis from its Master axis when the master is at the DisengagePosition.
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Slave | AXIS_REF | A logical reference to the slave axis. | |
| VAR_INPUT | ||||
| B | Execute | BOOL | Upon the rising edge, all other function block inputs are read and the function is initiated. To modify an input, change the value and re-trigger the execute input. | FALSE |
| V | DisengagePosition | LREAL | The master position at which the slave will stop following the master. Units are those of the cam master. | LREAL#0.0 |
| V | DisengageWindow | LREAL | The slave will disengage at any master position from DisengagePosition +/- (DisengageWindow)/2. Units are those of the cam master. | 1% of the Master Cycle |
| V | DisengageData | Yt_DisengageData | Structure containing details about how the cam will disengage. | All zeros in Yt_Disengage_Data structure |
| VAR_OUTPUT | ||||
| B | Done | BOOL | Set high when the commanded action has completed successfully. If another block takes control before the action is completed, the Done output will not be set. This output is reset when Execute goes low. | |
| E | Busy | BOOL | Set high upon the rising edge of the Execute input, and reset when Done, CommandAborted, or Error is true. In the case of a function block with an Enable input, a Busy output indicates the function is operating, but not ready to provide Valid information. (No Error) | |
| 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. | |
| E | ErrorID | UINT | If Error is true, this output provides the Error ID. This output is reset when 'Execute' or 'Enable' goes low. | |
Notes
- Unlike the PLCopen standards describing MC_CamOut, the slave's final camming velocity is NOT held; the slave will stop and hold position when the master is within the DisengageWindow of the DisengagePosition.
- The term 'CamMaster' is used in reference to a machine cycle derived from the selected cam table data. This may be different than the machine cycle of the master axis as defined in the Hardware Configuration. The input parameters of this function block, such as EngagePosition, reference the CamMaster (Parameter 1502.)
- If the DisgageWindow is too small, the CamMaster may pass through the window without ever being inside it during the motion scan (MECHATROLINK or dual port RAM update interval.) This condition is not detected, and the slave may not disegage. Refer to the Camming section for more information about setting the EngageWindow.
- If Y_CamOut is executed when the axis is not associated to a cam master, there is no error; the Done output immediately becomes TRUE.
- For the DisengageData input, only Y_DISENGAGE_DATA#AtPosition is supported. To immediately stop the slave, use MC_Stopfor the slave axis.
- For more information on Camming transitions, see the Cam Transition Matrix.
- See the Camming section for more information about the DisengageWindow.
Error Description
See the
Function Block ErrorID List
Example
The example shown below illustrates Y_CamOut disengaging a slave at the default DisengagePosition of 0.0.