 RapidCode 10.3.2 The RMP Motion Controller API

## ◆ MovePVT()

 virtual void MovePVT ( const double *const position, const double *const velocity, const double *const time, int32_t pointCount, int32_t emptyCount, bool retain, bool final )
pure virtual

Move commanded by list of positions, velocities, and times.

Description:
MovePVT fits jerk profile segments through the list of points.
Parameters
 *position Array of positions. *velocity Array of velocities. *time Array of times (seconds). pointCount The number of points. emptyCount E-stop generated if there are this number or fewer frames loaded. Use the value �0� to trigger an E-stop when the buffer is empty, or �-1� to not trigger an E-stop. (Typically for PT motion there are two frames per PT point) retain Points kept, or not kept. final If True, this is the final point. If False, more points expected.

ℹ This function is avaliable in RapidCode

Part of the Streaming Motion method group.

Sample Code:
PVTmotion
// Constants
int points = 3; // Specify the total number of streamed points. (Very Important!)
int emptyCount = -1; // E-stop generated if there are this number or fewer frames loaded. Use the value “0” to trigger an E-stop when the buffer is empty, or “-1” to not trigger an E-stop. (Typically for PT motion there are two frames per PT point)
double[] positions = { 1.0, 0.5, 0.75 }; // Specify the positions that you want to reach. (it can be n number)
double[] velocities = { 12.0, 10.0, 6.0 }; // Specify the velocities that you want to use to reach your position.
double[] times = { 0.1, 0.2, 0.1 }; // Specify the times in which you want to reach each position. (velocity and acceleration is calculated by the RMP)
axis.MovePVT(positions, // Specify the type of PT Motion that you want to perform. (RSIMotionType.RSIMotionTypePT, RSIMotionType.RSIMotionTypeBSPLINE, RSIMotionType.RSIMotionTypeBSPLINE2)
velocities, // Specify the positions that you want to reach. (it can be n number)
times, // Specify the times in which you want to reach each position. (velocity and acceleration is calculated by the RMP)
points, // Specify the total number of streamed points.
emptyCount, // E-stop generated if there are this number or fewer frames loaded. Use the value “0” to trigger an E-stop when the buffer is empty, or “-1” to not trigger an E-stop. (Typically for PT motion there are two frames per PT point)
false, // Specify whether points are kept, or are not kept.
true); // Specify if this is the last MovePT. (If True, this is the final point. If False, more points expected.)
axis.MotionDoneWait();
//---ASSERT---
Assert.That(axis.CommandPositionGet(), Is.EqualTo(positions.Last()), "The command position should be equal to last position in the array");
Examples
PVTmotionMultiAxis.cpp.