.

MPIMotorEventTrigger

Definition

 
typedef union {
    long                 polarity; /* 0 => active low, else active high */
    double               position; /* MPIEventTypeLIMIT_SW_[POS|NEG] */
    float                error;    /* MPIEventTypeLIMIT_ERROR */
    MPIMotorEncoderFault encoder;  /* MPIEventTypeENCODER_FAULT */
} MPIMotorEventTrigger;
 

Change History: Modified in the 03.04.00. Changed position info to a double.

Description

 
polarity

Motor does not support capture and the default home limit is the home input which triggers limit directly.

Configures the polarity for the motor event trigger.
If polarity = 0 (FALSE), the event will trigger on an active low signal.
If polarity = 1 (TRUE), the event will trigger on an active high signal.

Motor supports capture and input triggers capture object which then triggers limit.

Polarity is always set to 1 (TRUE). Home event status bit transitions from 0 to 1 when capture is triggered. Having polarity set to 0 (FALSE) may cause mpiCaptureStatus(…) to return MEICaptureMessageCAPTURE_STATE_INVALID

position

Configures the positive and negative software position limits. The controller monitors the actual position and compares it to the positive and negative software position limits.


If the positive limit is exceeded the controller will generate a MPIEventTypeLIMIT_SW_POS event.
If the negative limit is exceeded the controller will generate a MPIEventTypeLIMIT_SW_NEG event.

MPI version 03.04.xx (and newer)
If the actual position value minus the negative limit value is greater than 263 counts, then the negative limit will trip.
Similarly, if the actual position value minus the positive limit value is less than -263 counts, then the positive limit will trip.
This is a result of a wraparound with the 64-bit signed value. When these conditions occur, the comparisons will not work correctly.

MPI version 03.03.xx (and older)
If the actual position value minus the negative limit value is greater than 231 counts, then the negative limit will trip.
Similarly, if the actual position value minus the positive limit value is less than -231 counts, then the positive limit will trip.
This is a result of a wraparound with the 32-bit signed value. When these conditions occur, the comparisons will not work correctly.

error Configures the position error limit. The controller calculates the position error each sample period: (command position - actual position) = position error. If the position error exceeds the range of the specified error limit, the controller will generate a MPIEventTypeLIMIT_ERROR.
encoder Configures the controller to monitor the primary or secondary for faults. The encoder should be set to one of the values defined by the MPIMotorEncoderFault{...} enumeration. When configured, if the primary, secondary, or either encoder generates a fault, the controller will generate the MPIEventTypeENCODER_FAULT.

See Also

MPIMotorEventConfig | MPIMotorEncoderFault | MPIEventType | MEIEventType | Error Limit and Limit Switch Errors

 

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