MPI 04.00 Reference >> mpiMotion

MPIMotionType

Definition: MPIMotionType

typedef enum {
  MPIMotionTypeINVALID = -1,

MPIMotionTypePT, MPIMotionTypePTF, MPIMotionTypePVT, MPIMotionTypePVTF, MPIMotionTypeSPLINE, MPIMotionTypeBESSEL, MPIMotionTypeBSPLINE, MPIMotionTypeBSPLINE2,
MPIMotionTypeS_CURVE, MPIMotionTypeTRAPEZOIDAL, MPIMotionTypeS_CURVE_JERK,
MPIMotionTypeVELOCITY, MPIMotionTypeVELOCITY_JERK,
MPIMotionTypeCAM_LINEAR, MPIMotionTypeCAM_CUBIC,
MPIMotionTypeFRAME,
MPIMotionTypeEND, MPIIMotionTypeFIRST = MPIMotionTypeINVALID + 1, } MPIMotionType;

Description

MPIMotionType is an enumeration of motion profile types. Internally, the motion profile is calculated and broken up into smaller trajectory segments called frames. The frames contain position, time, velocity, acceleration, and jerk trajectory information. The controller buffers the frames in its memory and executes them by loading the values into its trajectory calculator. For simple MotionTypes, like VELOCITY, TRAPEZOIDAL, and S_CURVE, the frames are calculated by the controller. For complex, multi-point motions, like PT, PVT, SPLINE, etc. the frames are calculated in the MPI Library. MotionTypes that are calculated in the controller can be modified on-the-fly.

The move types, MPIMotionTypeS_CURVE_JERK and MPIMotionTypeVELOCITY_JERK are only available with custom firmware (Option 2 & Option 21). In the custom firmware, the Velocity/Trapezoidal/S-Curve algorithm is replaced with the S-Curve Jerk algorithm. In the standard firmware, the MPIMotionTypeS_CURVE_JERK and MPIMotionTypeVELOCITY_JERK motion types are not supported and if specified, the MPI will return a "profile not supported" error.

For more information, see S-Curve Jerk Algorithm and Attributes.

MPIMotionTypePT This type fits constant velocity profile segments through a list of position and time points. Not supported in motion sequences. For more information, see Frame Buffer Management for Streaming Point Motion.
MPIMotionTypePTF PTF motion is identical to PT except host-calculated feedforward values can be specified for each PTF motion segment. See Frame Buffer Management for Streaming Point Motion.
MPIMotionTypePVT This type fits jerk profile segments through a list of position, velocity and time points. Not supported in motion sequences. For more information, see Frame Buffer Management for Streaming Point Motion.
MPIMotionTypePVTF PVTF motion is identical to PVT except host-calculated feedforward values can be specified for each PVTF motion segment.See Frame Buffer Management for Streaming Point Motion.
MPIMotionTypeSPLINE This type fits a Cubic spline through a specified list of position and time points. For more information, see Frame Buffer Management for Streaming Point Motion.
MPIMotionTypeBESSEL This type fits a Bessel spline through a specified list of position and time points. For more information, see Frame Buffer Management for Streaming Point Motion.
MPIMotionTypeBSPLINE This type fits a 3rd order B spline through a list of position and time points.
MPIMotionTypeBSPLINE2 This type fits a 2nd order B spline through a list of position and time points. Ffor more information, sSee Frame Buffer Management for Streaming Point Motion.
MPIMotionTypeS_CURVE This type specifies point to point motion using a S-Curve velocity profile. The profile is specified by acceleration, velocity, deceleration, jerkPercent, and final position.
MPIMotionTypeS_CURVE_JERK This type specifies point to point motion using a S-Curve velocity profile. The profile is specified by acceleration, velocity, deceleration, accelerationJerk, decelerationJerk, and final position.
MPIMotionTypeTRAPEZOIDAL This type specifies simple point to point motion using a trapezoidal velocity profile. The profile trajectory is specified by acceleration, velocity, deceleration and final position.
MPIMotionTypeVELOCITY This type specifies S-Curve acceleration to a constant velocity. The profile trajectory is specified by acceleration, velocity, and jerkPercent.
MPIMotionTypeVELOCITY_JERK This type specifies S-Curve acceleration to a constant velocity. The profile trajectory is specified by acceleration, velocity, accelerationJerk and decelerationJerk.
MPIMotionTypeCAM_LINEAR This type generates linear interpolated cam motion. See Camming.
MPIMotionTypeCAM_CUBIC This type generates cubic interpolated cam motion. See Camming.
MPIMotionTYpeFRAME This motion type is used to construct motion profiles at the frame level.

See Also

Path Motion Type Calculations | Frame Buffer Management for Path Motion