Skip to main content

Interruption of Movements

Interruption of single-axis movements

Single-axis movements, such as MC_MoveAbsolute, can be interrupted at any time by other movements. This can be a movement to a different position or a change in maximum velocity, acceleration, or jerk with the same type of movement and to the same position. The interruption is implemented in such a way that there is no jump in velocity. For all quadratic ramp types, there is also no jump in the acceleration.

In specific cases, a reversal of the axis is unavoidable due to the aborted movement:

  • If the new target position of an MC_MoveAbsolute exists before the end of the current deceleration distance

  • If a smaller maximum deceleration and/or a smaller maximum jerk is used for the aborted movement, which in turn extends the deceleration distance beyond the target position

  • If SMC_MoveContinuousAbsolute or SMC_MoveContinuousRelative is used with an EndVelocity which cannot be reached from the current axis state without reversal

When the ramp types sin² and quadratic (smooth) are used, a reversal can occur during interruption even if it does not appear to be necessary. (That is, even if the reasons listed above do not apply. See explanations below.) Then the new target position could be overtraveled, although it is not located before the old target position. This might happen even if the maximum deceleration and the maximum jerk are not changed (or even increased) and the final velocity is not changed compared to the aborted movement. In this case, the following rules apply:

  • For trapezoid and quadratic ramp types, there is never any overtraveling.

  • For the sin² ramp type, there is no overtraveling when the new target position and the limiting values for acceleration and deceleration are equal to the old values.

  • In all other cases, there may be overtraveling with sin² and quadratic (smooth) ramp types.

Explanation for the sin² ramp type: The aborted movement starts with a new sin² velocity ramp, which means that the acceleration starts at 0 and gradually increases or decreases. If the axis has an acceleration not equal to 0 at the time of aborting, then the acceleration jumps to 0 at the start of the sin² velocity ramp. This can lead to overtraveling because increasing or decreasing the acceleration takes time.

Explanation for the quadratic (smoothed) ramp type: The same explanation applies as for sin², but for the jerk instead of the acceleration.

Note about override

Based on the above explanations, using MC_SetOverride with the sin² and quadratic (smoothed) ramp type is not recommended

Interruption during the deceleration phase

Single-axis movements, such as MC_MoveAbsolute, can be interrupted at any time by other movements. This can be a movement to another position or a change of velocity or acceleration. Basically, the movement is interrupted by another one in such a way that there is no jump in the velocity. For all ramp types (except trapezoid), there is also no jump in the acceleration. When the ramp types sin² and quadratic (smooth) are used, a reversal can occur during interruption and does not appear necessary at first (see explanation). Then the new target position is overtraveled, although it is not located before the old target position. This can occur in the following situations:

  • If a smaller maximum deceleration value is set for the canceling movement than before

    In this case, the available deceleration distance to the new target position is possibly too short (for all ramp types).

  • Accordingly, for quadratic and quadratic (smooth) ramp types when a lower maximum value is set for jerk

However, if these maximum values remain unchanged (or increase), then the following rules apply:

  • For trapezoid and quadratic ramp types, there is never any overtraveling.

  • For the sin² ramp type, there is no overtraveling when the new target position and the limiting values for acceleration and deceleration are equal to the old values.

  • In all other cases, there may be overtraveling with sin² and quadratic (smooth) ramp types.