◆ MovePVT()

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

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

ℹ This function is avaliable in RapidCode

Part of the Streaming Motion method group.

Description:
MovePVT fits jerk profile segments through the list of points.
Parameters
*positionArray of positions.
*velocityArray of velocities.
*timeArray of times (seconds).
pointCountThe number of points.
emptyCountE-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)
retainPoints kept, or not kept.
finalIf True, this is the final point. If False, more points expected.
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.