◆ MotionDoneWait() [1/2]

virtual int32_t MotionDoneWait ( )
pure virtual

Waits for a move to complete.

ℹ This function is avaliable in RapidCode and RapidSequencer

Part of the State and Status method group.

Description:
MotionDoneWait Will poll the Axis to see when the motion is complete and settled.
Returns
elapsed milliseconds
Sample Code:
AbsoluteMotionAnchor
axis.MoveTrapezoidal(Constants.POSITION, Constants.VELOCITY, Constants.ACCELERATION, Constants.DECELERATION);// Command simple trapezoidal motion.
axis.MotionDoneWait();// Wait for motion to be done
//---TEST ASSERT---
Assert.That(axis.CommandPositionGet(), Is.EqualTo(Constants.POSITION), "The command position should be equal to POSITION");
Note
This method polls the state of the axis, and sleeps the task for 10 milliseconds each time the state is checked. You might want to create your own version of this method if you are running in a single threaded environment, so you could do other things while waiting for a motion to complete.
MotionDoneWait is true when all the settling criteria has been met. MotionDoneWait is also true if an axis gets ERROR or STOPPED state - StateGet().
See also
InterruptWait, MotionDoneGet
Examples
MotionHoldReleasedBySoftwareAddress.cpp, MultiaxisMotion.cpp, PathMotion.cpp, PVTmotionMultiAxis.cpp, SingleAxisSyncOutputs.cpp, SyncOutputWithMotion.cpp, and UpdateBufferPoints.cpp.