MC_Stop

Function block MC_Stop
Commands a controlled motion stop and sets the axis to the Stopping state. It aborts any ongoing function block execution. While the axis is in the Stopping state, other function blocks can't move the axis. After the axis has reached velocity zero, the Done output is set to TRUE immediately. The axis remains in the Stopping state as long as Execute is TRUE or velocity zero is not yet reached. As soon as Done is set and Execute is FALSE, the axis goes to the state Standstill.
VAR_IN_OUT
B AxisIn AXIS_REF Reference to an axis.
VAR_INPUT
B Execute BOOL Starts the motion at rising edge.
E Deceleration LREAL Value of the deceleration. The unit is determined by MC_ProfileType. [unit/second2] or [second]
E Jerk LREAL Value of the jerk. The unit is determined by MC_ProfileType. [unit/second3] or [second]
VAR_OUTPUT
B Done BOOL Zero velocity reached.
E Busy BOOL The function block is not finished and new output values are to be expected.
E CommandAborted BOOL The command is aborted by switching off power (only MC_Power can abort it).
B Error BOOL Signals that an error has occurred within the function block.
E ErrorID MC_Error Error identification.
  • Make the axis decelerate at the specified speed until it stops.
  • This function block is primarily intended for emergency stop functionality or exception situations.
  • As long as Execute is high, the axis remains in the state Stopping and may not be executing any other motion command.
  • If Deceleration = 0, the behavior of the function block is implementation-specific.
  • To allow other functions moving the axis again, use MC_Stop again and set Execute to FALSE.

 

  MC_Stop  
AXIS_REF   AxisIn   Axis   AXIS_REF
BOOL   Execute   Done   BOOL
LREAL   Deceleration   Busy   BOOL
LREAL   Jerk   CommandAborted   BOOL
        Error   BOOL
        ErrorID   MC_Error
             

The example below shows the behavior in combination with a MC_MoveVelocity.

  1. A rotating axis is ramped down using the function block (FB) MC_Stop.
  2. The axis rejects motion commands as long as MC_Stop's parameter Execute = TRUE. The MC_MoveVelocity FB reports an error indicating the busy MC_Stop command.