MC_Halt (FB)
FUNCTION_BLOCK MC_Halt
This function block commands a controlled motion stop.
The axis is moved to the state “DiscreteMotion”, until the velocity is zero. With the Done output set, the state is transferred to “STANDSTILL”.
Note
MC_Halt can be aborted by another command.
MC_Halt is used to stop the axis under normal operation conditions. In non-buffered mode it is possible to set another motion command during deceleration of the axis, which will abort the MC_Halt and will be executed immediately.
If this command is active the next command can be issued. E.g. a driverless vehicle detects an obstacle and needs to stop. MC_Halt is issued. Before the standstill is reached the obstacle is removed and the motion can be continued by setting another motion command, so the vehicle does not stop.
- Example
Behavior of MC_Halt in combination with MC_MoveVelocity
A rotating axis is ramped down with Function Block MC_Halt.
Another motion command overrides the MC_Halt command. MC_Halt allows this, in contrast to MC_Stop. The axis can accelerate again without reaching standstill.
- InOut:
Scope
Name
Type
Comment
Input
ExecuteBOOLStarts the function block at rising edge
DecelerationLREAL[u/s°°2] Value of the deceleration (decreasing energy of the motor). Range: >0. If value = 0, Deceleration will be equal to parameter paraMaxDecelerationAppl.If value > 0 and <= 1,Deceleration will be limited to 1.
JerkLREAL[u/s°°3] Value of the jerk. Range: >=-1.
Use jerk= 0 to disable jerk interpolation. This will result in a constant deceleration during the stop.Use jerk=-1 for automatic jerk calculation. This will create a triangle-shaped decelerationBufferModeNot supported, default mcABORTING used
Output
DoneBOOLShows the status of the function block. Done = TRUE if the execution is finished
BusyBOOLThe function block is not finished
ActiveBOOLIndicates that the function block has control on the axis
CommandAbortedBOOLCommand is aborted by another command from other PLCopen function block
ErrorBOOLSignals that error has occurred within function block
ErrorIDError identification. For error details refer to Enumeration ERROR_ID
Inout
AxisReference to axis