APIs, concepts, guides, and more
|
Explore the various methods to stop a motor or axis, including disabling drives, ramping down feed rates, and applying deceleration, each configurable with specific actions and parameters.
A moving motor/axis can be stopped in a variety of ways. For a complete list of actions that can be performed on an axis see our RSIAction enum in our API.
There are three main ways motions are stopped:
If Motion is in the moving state RSIStateMOVING, a STOP action will decelerate the axis (or axes) to a stop in the time specified by the StopTimeSet(). The motion state will transition to RSIStateSTOPPING during the deceleration and then to RSIStateSTOPPED after the motion completes. The amplifier will remain enabled. STOP is also the same as PAUSE and can be resumed.
This action will decelerate the axis (or axes) to a stop in the time specified by the EStopTimeSet(). After the motion stops, the axis will be set to the RSIStateERROR. The amplifier will remain enabled.
This action will disable the PID control (or other algorithm), set the DAC output to the offset value, and disable the amp enable outputs. After the abort completes, the Motion will be set to the RSIStateERROR state. If outside forces such as gravity would cause a crash, you likely don’t want to use this.
First performs and E_STOP and then performs an ABORT. See EStop() and Abort() for details.
This action will decelerate the axis (or axes) to a stop in the time specified by the EStopTimeSet(). After the Motion stops, the the Motion will be set to the RSIStateERROR state. The amplifier will be disabled. When the E_STOP_CMD_EQ_ACT is triggered, the output of the axis trajectory calculator is replaced by settling the command position equal to the last sample’s actual position.
Similar to E_STOP except the user can now define explicit deceleration and jerk percent instead of the axis (or axes) simply decelerating to a stop in the time specified by the ESTOP time configuration. Users will need to set the deceleration and jerk percent using the EStopDecelerationSet() and EStopJerkPercentSet() methods.
First performs and E_STOP_MODIFY and then performs an ABORT. See E_STOP_MODIFY and ABORT for details.
If the motion is in the moving state RSIStateMOVING a TRIGGERED_MODIFY action will decelerate the axis to a stop by the TriggeredModifyDeceleration and TriggeredModifyJerkPercent. The motion state does not transition - it will remain RSIStateMOVING during the deceleration and then to RSIStateIDLE after the motion completes. After TriggeredModify() axis does NOT have error state & drive(amplifier) is still enabled.