APIs, concepts, guides, and more

◆ Stop()

void Stop ( )
pure virtual

Stop an axis.

If the motion is in the moving state (RSIStateMOVING), a STOP action will decelerate the axis to a stop in the time specified by the "stop" time configuration - StopTimeSet(). The motion state will transition to RSIStateSTOPPING during the deceleration and then to RSIStateSTOPPED after the motion completes.
After Stop(), axis does NOT have error state & drive(amplifier) is still enabled
The stopping time that is used will be from the object (Axis or MultiAxis) that started the active motion, NOT the object that commanded this action.
If a MultiAxis motion is in progress, the stopping time will be determined by MultiAxis::StopTimeSet() and the individual Axis::StopTimeSet() values will be ignored.

Part of the Action method group.

Sample Code:
Motion: Modify
Console.WriteLine("Start Motion");
axis.MoveSCurve(100); // Call MoveScurve to move to a position.
// set feedrate for axis to 150%
while (axis.CommandPositionGet() < 5)
Thread.Sleep(1); // Wait here until we reach position "15".
axis.Stop(); // Stop the axis/motor.
axis.MotionDoneWait(); // Wait for move to complete.
axis.FeedRateSet(-1); // Change FeedRate to reverse motion.
axis.Resume(); // Start Reverse Motion.
Console.WriteLine("New Feed Rate Start");
axis.FeedRateSet(1); //restore default

Stop is the same as Pause, and can be resumed by calling Resume(). This means if you have commanded a move and call Stop() method, axis will retain it's motion profile which will continue upon calling Resume().
Go to axis screen->Position and Trajectory box. Various actions (Stop, EStop, Abort) are shown in image below.
See also
StopTimeSet , StopTimeGet , Resume, RSIState