◆ MoveTrapezoidal() [1/3]

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

ℹ This function is avaliable in RapidCode and RapidSequencer

Part of the Motion method group.

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 accleration , 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.
Sample Code:
AbsoluteMotion
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");
RapidSetup:
Go to Axis->Motion (default tab)
Axis_Motion_Profile_and_Parameters.jpg
Motion Scope:
Trapezoidal Move profile shown below:
Axis_Motion_Trapezoidal.jpg
See also
Different Motion Types, MoveSCurve, MoveRelative, MoveVelocity, MovePT, MovePVT