APIs, concepts, guides, and more

◆ MoveTrapezoidal() [2/3]

void MoveTrapezoidal ( double position,
double vel,
double accel,
double decel )

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Description:
MoveTrapezoidal commands a point-to-point motion with a trapezoidal velocity profile. This has a trapezoidal shape for the velocity with constant acceleration and deceleration phases.
Parameters
positionTarget Position in units.
velMaximum velocity, units/second.
accelMaximum acceleration , units/second/second.
decelMaximum deceleration , units/second/second.
Note
In most cases, a servo motor has a feedback device mounted. Depending on feedback device resolution, one motor shaft rotation will produce fixed value of counts. Example: motor has a resolution of 8192 counts. This means if 8192 is entered as distance to move, motor will move single revolution. User can implement UserUnitsSet() to change to a different unit (ex: mm, inches, etc) from encoder counts.
Note
Non-Blocking Execution Motion commands return instantly and do not pause code execution. Use MotionDoneWait() post-call to block execution until motion completes, or MotionDoneGet() to poll for completion.

Part of the Motion method group.

Sample Code:
AbsoluteMotion
axis.AmpEnableSet(true);
axis.MoveTrapezoidal(POSITION, VELOCITY, ACCELERATION, DECELERATION);
axis.MotionDoneWait(); // wait for motion to complete
RapidSetup:
Go to Axis->Motion (default tab)
Motion Scope:
Trapezoidal Move profile shown below:
See also
Point to Point, MoveSCurve, MoveRelative, MoveVelocity, MovePT, MovePVT
Examples
PointToPoint.cpp, and axis-motion-point-to-point.cs.