APIs, concepts, guides, and more

◆ MoveVelocitySCurve()

void MoveVelocitySCurve ( double velocity,
double accel,
double jerkPct )
Description:
MoveVelocitySCurve commands a constant velocity move (jog) with non-constant acceleration.
Parameters
velocityTarget velocity, UserUnits/second.
accelAverage acceleration, UserUnits/second/second. (peak up to 2× accel when jerkPercent = 100, see below)
jerkPctWhich 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.
Warning


Using a non-zero JerkPercent increases the maximum acceleration above the user-specified average.
If your system can’t handle the higher peak, you risk overshoot or excessive load. The relation between average acceleration and maximum acceleration is:

\[ Maximum Acceleration \;=\; \frac{accel}{1 - \bigl(jerkPercent \times 0.005\bigr)} \]

  • accel: the requested (average) acceleration value given in the MoveSCurve command.
  • jerkPercent: the percent of time with non-zero jerk (0–100) given in the MoveSCurve command.
  • Maximum Acceleration: the resulting peak commanded acceleration.

See the S-Curve Motion concept page for more information.

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:
axis->MoveVelocitySCurve(1000.0, 10000.0, 50.0);
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
Motion Scope:
Velocity move (SCurve type) profile shown below:
See also
Velocity Motion,, MoveSCurve, MoveTrapezoidal, MovePT, MovePVT