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.

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.
positionTarget Position in units.
velMaximum velocity, units/second.
accelMaximum accleration , units/second/second.
decelMaximum deceleration , units/second/second.
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.
Non-Blocking Execution Motion commands return instantly and do not pause code execution. Use MotionDoneWait() post-call to halt execution until motion completes.

Part of the Motion method group.

Sample Code:
axis.MoveTrapezoidal(Constants.POSITION, Constants.VELOCITY, Constants.ACCELERATION, Constants.DECELERATION);// Command simple trapezoidal motion.
axis.MotionDoneWait();// Wait for motion to be done
Go to Axis->Motion (default tab)
Motion Scope:
Trapezoidal Move profile shown below:
See also
Point to Point, MoveSCurve, MoveRelative, MoveVelocity, MovePT, MovePVT
Motion.cs, and PointToPoint.cpp.