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