MC_EmergencyStop_BkPlcMc (from V3.0.5)
The function block cancels a current axis motion and monitors the emergency stop operation.
Inputs
VAR_INPUT
Execute: BOOL;
RampTime: LREAL; (ab/from V3.0.5)
END_VAR
Name | Type | Description |
---|---|---|
Execute | BOOL | A rising edge at this input ends a movement being carried out by the axis. |
RampTime | LREAL | [s] The required stopping time. |
Inputs/outputs
VAR_INOUT
Axis: Axis_Ref_BkPlcMc;
END_VAR
Name | Type | Description |
---|---|---|
Axis | 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;
Active: BOOL;
CommandAborted: BOOL;
END_VAR
Name | Type | Description |
---|---|---|
Busy | BOOL | Indicates that a command is being processed. |
Done | BOOL | This indicates successful processing of the operation. |
Error | BOOL | The occurrence of an error is indicated here. |
ErrorID | UDINT | An encoded indication of the cause of the error is provided here. |
Active | BOOL | Indicates that a command is being processed. |
CommandAborted | BOOL | Indicates that processing of this command was aborted by another command. |
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:
- The stop can only be executed if the axis is actively carrying out a movement. If it is stationary, the function block immediately asserts the Done signal.
- If the axis is already in an error state, or if it is in the process of carrying out a stop operation, it responds with Error and ErrorID:=dwTcHydErrCdNotReady.
- If the axis is in a state, in which it is controlled by a coupling with another axis or a comparable mechanism, it responds with Error and ErrorID:=dwTcHydErrCdNotReady.
The Stop operation begins if these checks can be carried out without problems. RampTime is used to calculate a deceleration, taking into account the reference velocity. MaxJerk is used if a jerk-limiting control value generator is selected. If no value is specified for RampTime, which is recognizably greater than 0, the axis parameter fEmergencyRamp is used.
An MC_Stop_BkPlcMc function block is used internally for slowing down the axis. Once the control value output is reduced to 0, all control or regulating voltage outputs are suppressed, as long as Execute is set to TRUE.