.


Motion Start Events

The MPI supports two types of events that indicate when a move profile begins and ends, Start Events (MPIEventTypeMOTION_START) and Done Events (MPIEventTypeMOTION_DONE).

The Start Event is triggered when the axis begins its command position trajectory generation portion of a new move profile. Using a trapezoidal move as an example, a new move profile is created in one of the following ways:

  1. Any call to mpiMotionTrapezoidalMove(...) without MPIMotionPointToPointAttrMaskBEHAVIOR.
  2. Calling mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeSTART_ERROR_IF_MOVING, if called after the previous move completed with a Done Event.
  3. Calling mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeMODIFY, if called after the previous move completed with a Done Event.
  4. Calling mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeAPPEND_WITHOUT_MOTION_DONE, if called after the previous move completed with a Done Event.

Note: A Start Event can not be created by mpiMotionTrapezoidalMove(...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeMODIFY_ERROR_IF_NOT_MOVING, or by a triggered motion modify. Start Events supports the same info data as standard events. For example, the info data can be configured to return the motion ID.

Scenarios

This section contains Velocity vs. Timing diagrams that provide the conditions generating a Start Event.

Example 1.

The following diagram illustrates a single move commanded when the axis is idle (command velocity is zero).

Example 2.

The following diagram illustrates a single move commanded with a delay and hold.

Example 3.

The following diagram illustrates a move modified by calling mpiMotionTrapezoidalMove(...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeMODIFY,or by a triggered motion modify.

Example 4.

The following diagram illustrates a move appended by calling mpiMotionTrapezoidalMove (...) with no behavior specified.


Example 5.

The following diagram illustrates a move appended with mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeAPPEND_WITHOUT_MOTION_DONE.

Example 6.

The following diagram illustrates a move appended by calling mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeAPPEND_WITHOUT_MOTION_DONE or mpiMotionTrapezoidalMove (...) with MPIMotionPointToPointAttrMaskBEHAVIOR and MPIMotionPointToPointBehaviorTypeMODIFY  when either call occurs after Done Event1:

Example 7.

The following diagram illustrates a move with multiple axes (X and Y) per MS and Single axis (X, Y) per MS. Note same conditions apply as described in the previous scenarios. For example, an mpiMotionTrapezoidalCartesianMove( MSxy ) generates motion Start Events on MSx, MSy, and MSxy.

 

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