◆ MoveSCurve() [1/3]

virtual void MoveSCurve ( double  position,
double  vel,
double  accel,
double  decel,
double  jerkPct 
)
pure virtual

Command a point-to-point S-Curve motion.

ℹ This function is avaliable in RapidCode and RapidSequencer

Part of the Motion method group.

Description:
MoveSCurve command a point-to-point motion, with an S-Curve velocity profile.
This type of motion has an "S" shape to the acceleration and deceleration phases. It uses the JerkPercent parameter to decide how much of the acceleration and deceleration phases is curved. A JerkPercent of zero produces a trapezoidal profile.
Parameters
positionTarget Position in units.
velMaximum velocity, units/second.
accelMaximum accleration , units/second/second.
decelMaximum deceleration , units/second/second.
jerkPctJerk Percent, which defines the percentage of acceleration time which is smoothed, 0.0 to 100.0 .
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:
SCurveMotion
axis.MoveSCurve(Constants.POSITION); // Command SCurve Motion. This overload willuse default velocity, acceleration, deceleration, jerk values for the axis. See axis config to learn how to set those values.
axis.MotionDoneWait(); // Wait for motion to finish
//---TEST ASSERT---
Assert.That(axis.CommandPositionGet(), Is.EqualTo(Constants.POSITION), "The command position should be equal to POSITION");
RapidSetup:
Go to axis screen->Motion Profile box (left) to select type of motion
Go to axis screen->Motion Parameters box (right) to select values for motion
Axis_Motion_Profile_and_Parameters.jpg
Motion Scope:
Trapezoidal Move profile shown below:
Axis_Motion_SCurve.jpg
See also
Different Motion Types, MoveSCurve, MoveRelative, MoveVelocity, MovePT, MovePVT