PVT Interpolation Command
PVT interpolation synchronizes the motion of up to maxPvtInterpolateAxes. Each interpolating axis will execute its own PVT point sequence, but they will all start motion in the same communication cycle.
PVT Interpolation Example
The following code executes a PVT interpolation command.
Motion::PVTIntplCommand pvti;
pvti.axisCount = 2;
pvti.axis[0] = 0;
pvti.axis[1] = 1;
pvti.pointCount[0] = 4;
pvti.pointCount[1] = 4;
//Define point data
pvti.points[0][0].pos = 0;
pvti.points[0][0].velocity = 0;
pvti.points[0][0].timeMilliseconds = 0;
pvti.points[1][0].pos = 0;
pvti.points[1][0].velocity = 0;
pvti.points[1][0].timeMilliseconds = 0;
pvti.points[0][1].pos = 5000;
pvti.points[0][1].velocity = 10000;
pvti.points[0][1].timeMilliseconds = 1000;
pvti.points[1][1].pos = 10000;
pvti.points[1][1].velocity = 20000;
pvti.points[1][1].timeMilliseconds = 1000;
pvti.points[0][2].pos = 20000;
pvti.points[0][2].velocity = 20000;
pvti.points[0][2].timeMilliseconds = 2000;
pvti.points[1][2].pos = 25000;
pvti.points[1][2].velocity = 10000;
pvti.points[1][2].timeMilliseconds = 2000;
pvti.points[0][3].pos = 30000;
pvti.points[0][3].velocity = 0;
pvti.points[0][3].timeMilliseconds = 3000;
pvti.points[1][3].pos = 30000;
pvti.points[1][3].velocity = 0;
pvti.points[1][3].timeMilliseconds = 3000;
//Start PVT interpolation motion
wmxlib_CoreMotion->motion->StartPVT(&pvti);
The following plots show the position, velocity, and acceleration when the above code is executed.
