MPIMotionConfig / MEIMotionConfig

Definition: MPIMotionConfig

typedef struct MPIMotionConfig {
   MPIMotionDecelTime   decelTime;
   float                normalFeedrate;
   float                pauseFeedrate;


decelTime This structure defines the deceleration time for Stop and E-Stop actions. Please see MPIMotionDecelTime data type documentation for more information.
normalFeedrate This value defines the normal feed speed rate. The default value is 1.0 (100%).
pauseFeedrate This value defines the feed speed rate for the Stop action. The default value is 0.0.


Definition: MEIMotionConfig

typedef struct  MEIMotionConfig {
    char    userLabel[MEIObjectLabelCharMAX+1];
    long    axisCount;
    long    axisNumber[MEIXmpMAX_COORD_AXES_Obsolete];
    double  blendLimit;
} MEIMotionConfig;
  Change History: Modified in the 03.03.00



This value consists of 16 characters and is used to label the motion object for user identification purposes. The userLabel field is NOT used by the controller.

axisCount The current number of axes mapped to the Motion Supervisor on the controller. The valid range is 0 to 15. The controller firmware supports MEIXmpMAX_COORD_AXES, but the MEIMotionConfig structure is limited to 16 for backwards compatibility.
axisNumber This array specifies the axis numbers of the current Axis to Motion Supervisor mapping on the controller. The axisNumber array size is 16. The controller firmware can support MEIXmpMAX_COORD_AXES, but the MEIMotionConfig structure is limited to 16 for backwards compatibility.
blendLimit This value specifies the acceleration blending limit criteria. If the change direction is greater than 90 degrees (0 degrees = no change, 180 degrees = about face) the acceleration resulting from the blending can exceed the acceleration limit specified in the motion parameters (180 degrees = acceleration*2.0). The blendLimit allows the user to limit the sharpness of turns to be blended. If cosine (turn angle defined above) is greater than the blendLimit, the motion will be blended. A blend limit value of 0 exclude turns sharper than 90 degrees. 1.0 causes all moves to be blended. -1.0 allows no blending

Sample Code


void modifyFeedrate(MPIMotion motion,
float normalFeedrate,
float pauseFeedrate)
MPIMotionConfig motionConfig;
long returnValue;

returnValue = mpiMotionConfigGet(motion,

printf("Before: normalFeedrate %lf, pauseFeedrate %lf\n",motionConfig.normalFeedrate,motionConfig.pauseFeedrate);

motionConfig.normalFeedrate = normalFeedrate;
motionConfig.pauseFeedrate = pauseFeedrate;

returnValue = mpiMotionConfigSet(motion,

printf("After: normalFeedrate %lf, pauseFeedrate %lf\n",motionConfig.normalFeedrate,motionConfig.pauseFeedrate);


See Also

MPIMotionDecelTime | mpiMotionModify


       Legal Notice  |  Tech Email  |  Feedback
Copyright ©
2001-2010 Motion Engineering