MC_CamOut_BkPlcMc (from V3.0)
The function block releases a cam plate coupling between two axes, which was started through an MC_CamIn_BkPlcMc function block.
Inputs
VAR_INPUT
Execute: BOOL;
ND_VAR
Name | Type | Description |
---|---|---|
Execute | BOOL | A rising edge at this input starts the coupling. |
Inputs/outputs
VAR_INOUT
Slave: Axis_Ref_BkPlcMc;
END_VAR
Name | Type | Description |
---|---|---|
Slave | Axis_Ref_BkPlcMc | Here, the address of a variable of type Axis_Ref_BkPlcMc should be transferred. |
Outputs
VAR_OUTPUT
Busy: BOOL;
Done: BOOL;
Error: BOOL;
ErrorID: UDINT;
END_VAR
Name | Type | Description |
---|---|---|
Busy | BOOL | Indicates that a command is being processed. |
Done | BOOL | This indicates successful processing of the command. |
Error | BOOL | The occurrence of an error is indicated here. |
ErrorID | UDINT | An encoded indication of the cause of the error is provided here. |
Behavior of the function block
On a rising edge at Execute the function block checks the transferred axis interface. A number of problems can be detected and reported during this process:
- If the pointer pStAxParams in Axis_Ref_BkPlcMc is not initialized, the system responds with Error and ErrorID:=dwTcHydErrCdPtrPlcMc.
- If the pointer pStAxParams in Axis_Ref_BkPlcMc is not initialized, the system responds with Error and ErrorID:=dwTcHydErrCdPtrMcPlc.
- If the axis is not coupled, the function block responds with Done, without further checks or activities.
- If the current set velocity of the axis is smaller than the velocity specified by pStAxParams.fCreepSpeed, the axis immediately assumes McState_Standstill and dissipates the residual velocity. Done is indicated, and no further checks or activities take place.
If these checks could be performed without problem and Done is not already indicated for one of the reasons mentioned, the motion controlled by the cam plate coupling is converted to a continuous motion with the same velocity and direction, which is independent of the master. Done is indicated if this conversion was executed successfully, otherwise the system responds with Error and ErrorID:=error code.
This function block requires no time for executing its tasks. The output Busy will never assume the value TRUE and only exists for compatibility reasons. |