.

MPIEventType / MEIEventType

Definition: MPIEventType

typedef enum {
    MPIEventTypeINVALID,

    MPIEventTypeNONE,                /*  0 */

    /* Motor events */
    MPIEventTypeAMP_FAULT,           /*  1 */
    MPIEventTypeHOME,                /*  2 */
    MPIEventTypeLIMIT_ERROR,         /*  3 */
    MPIEventTypeLIMIT_HW_NEG,        /*  4 */
    MPIEventTypeLIMIT_HW_POS,        /*  5 */
    MPIEventTypeLIMIT_SW_NEG,        /*  6 */
    MPIEventTypeLIMIT_SW_POS,        /*  7 */
    MPIEventTypeENCODER_FAULT,       /*  8 */
    MPIEventTypeAMP_WARNING,         /*  9 */

    /* Motion events */
    MPIEventTypeMOTION_DONE,         /* 10 */
    MPIEventTypeMOTION_AT_VELOCITY,  /* 11 */

    /* Recorder events */
    MPIEventTypeRECORDER_HIGH,       /* 12 */
    MPIEventTypeRECORDER_FULL,       /* 13 */
    MPIEventTypeRECORDER_DONE,       /* 14 */

    /* External events */
    MPIEventTypeEXTERNAL,            /* 15 */
} MPIEventType;

Description

MPIEventType is used by the MPIEventMask macros to help generate event masks.

 
MPIEventTypeNONE This event type indicates no event was generated.
MPIEventTypeAMP_FAULT This event type indicates an Amp Fault event was generated from a Motor object.
MPIEventTypeHOME This event type indicates a Home event was generated from a Motor object.
MPIEventTypeLIMIT_ERROR This event type indicates a position Error Limit was generated from a Motor object.
MPIEventTypeLIMIT_HW_NEG This event type indicates a Negative Hardware Limit event was generated from a Motor object.
MPIEventTypeLIMIT_HW_POS This event type indicates a Positive Hardware Limit event was generated from a Motor object.
MPIEventTypeLIMIT_SW_NEG This event type indicates a Negative Software Limit event was generated from a Motor object.
MPIEventTypeLIMIT_SW_POS This event type indicates a Positive Software Limit event was generated from a Motor object.
MPIEventTypeENCODER_FAULT This event type indicates an Encoder Fault event was generated from a Motor object. See Use of MPIEventTypeENCODER_FAULT.
MPIEventTypeAMP_WARNING

This event type indicates an Amp Warning event was generated from a Motor object.

MPIEventTypeMOTION_DONE This event type indicates a Motion Done event was generated from a Motion Supervisor object.
MPIEventTypeMOTION_AT_VELOCITY This event type indicates an At Velocity event was generated from a Motion Supervisor object.
MPIEventTypeRECORDER_HIGH

This event type indicates that the controller's recorded data exceeded the buffer's high limit.

MPIEventTypeRECORDER_FULL This event type indicates that the controller's recorded data has filled the buffer.
MPIEventTypeRECORDER_DONE This event type indicates that the controller has recorded the number of requested data records.
MPIEventTypeEXTERNAL This event type indicates an External event was generated from an external source.

 

Definition: MEIEventType

typedef enum {
/* Controller events */ MEIEventTypeCONTROL_HOST_PROCESS_TIME_EXCEEDED, MEIEventTypeCONTROL_FAN, /* Motor events */ MEIEventTypeLIMIT_USER0, MEIEventTypeLIMIT_USER1, MEIEventTypeLIMIT_USER2, MEIEventTypeLIMIT_USER3, MEIEventTypeLIMIT_USER4, MEIEventTypeLIMIT_USER5, MEIEventTypeLIMIT_USER6, MEIEventTypeLIMIT_USER7, MEIEventTypeLIMIT_USER8, MEIEventTypeLIMIT_USER9, MEIEventTypeLIMIT_USER10, MEIEventTypeLIMIT_USER11, MEIEventTypeLIMIT_USER12, MEIEventTypeLIMIT_USER13, MEIEventTypeLIMIT_USER14, MEIEventTypeLIMIT_USER15, /* Motion events */ MEIEventTypeMOTION_OUT_OF_FRAMES, /* Axis events */ MEIEventTypeIN_POSITION_COARSE, MEIEventTypeIN_POSITION_FINE, MEIEventTypeSETTLED MEIEventTypeAT_TARGET, MEIEventTypeFRAME, /* SynqNet events */ MEIEventTypeSYNQNET_DEAD, MEIEventTypeSYNQNET_RX_FAILURE, MEIEventTypeSYNQNET_TX_FAILURE, MEIEventTypeSYNQNET_NODE_FAILURE, MEIEventTypeSYNQNET_RECOVERY, /* SqNode events */ MEIEventTypeSQNODE_IO_ABORT, MEIEventTypeSQNODE_NODE_DISABLE, MEIEventTypeSQNODE_NODE_ALARM, MEIEventTypeSQNODE_ANALOG_POWER_FAULT, MEIEventTypeSQNODE_USER_FAULT, MEIEventTypeSQNODE_NODE_FAILURE, MEIEventTypeSQNODE_IO_FAULT, /* CAN events */ MEIEventTypeCAN_BUS_STATE, MEIEventTypeCAN_RECEIVE_OVERRUN, MEIEventTypeCAN_EMERGENGY, MEIEventTypeCAN_NODE_BOOT, MEIEventTypeCAN_HEALTH, MEIEventTypeCAN_DIGITAL_INPUT, MEIEventTypeCAN_ANALOG_INPUT, MEIEventTypeMOTION_START, } MEIEventType;
  Change History: Modified in the 03.03.00.

Description

MEIEventType is used by the MPIEventMask macros to help generate event masks.

 
MEIEventTypeCONTROL_HOST_PROCESS_TIME_EXCEEDED

This is an event that occurs if the xmp.SystemData.SyncInterrupt.ProcessFlag is set when SynqNet data is transmitted at the end of the firmware’s foreground cycle. If the user is using the SynqInterrupt feature and sets the ProcessFlag at the beginning of the foreground cycle, the firmware checks to see if the user cleared the ProcessFlag by the time SynqNet data is transmitted. If the ProcessFlag has not been cleared, the event occurs.

MEIEventTypeCONTROL_FAN

This is an event that can occur when the on-board fan controller detects an error (overheating, fan failure, etc…).

NOTE: This is for the ZMP only and will not occur on an XMP.

MEIEventTypeLIMIT_USER0 This event type indicates a User Limit event was generated from a Motor object. User Limit number 0.
MEIEventTypeLIMIT_USER1 This event type indicates a User Limit event was generated from a Motor object. User Limit number 1.
MEIEventTypeLIMIT_USER2 This event type indicates a User Limit event was generated from a Motor object. User Limit number 2.
MEIEventTypeLIMIT_USER3 This event type indicates a User Limit event was generated from a Motor object. User Limit number 3.
MEIEventTypeLIMIT_USER4 This event type indicates a User Limit event was generated from a Motor object. User Limit number 4.
MEIEventTypeLIMIT_USER5 This event type indicates a User Limit event was generated from a Motor object. User Limit number 5.
MEIEventTypeLIMIT_USER6 This event type indicates a User Limit event was generated from a Motor object. User Limit number 6.
MEIEventTypeLIMIT_USER7 This event type indicates a User Limit event was generated from a Motor object. User Limit number 7.
MEIEventTypeLIMIT_USER8 This event type indicates a User Limit event was generated from a Motor object. User Limit number 8.
MEIEventTypeLIMIT_USER9 This event type indicates a User Limit event was generated from a Motor object. User Limit number 9.
MEIEventTypeLIMIT_USER10 This event type indicates a User Limit event was generated from a Motor object. User Limit number 10.
MEIEventTypeLIMIT_USER11 This event type indicates a User Limit event was generated from a Motor object. User Limit number 11.
MEIEventTypeLIMIT_USER12 This event type indicates a User Limit event was generated from a Motor object. User Limit number 12.
MEIEventTypeLIMIT_USER13 This event type indicates a User Limit event was generated from a Motor object. User Limit number 13.
MEIEventTypeLIMIT_USER14 This event type indicates a User Limit event was generated from a Motor object. User Limit number 14.
MEIEventTypeLIMIT_USER15 This event type indicates a User Limit event was generated from a Motor object. User Limit number 15.
MEIEventTypeMOTION_OUT_OF_FRAMES

This event type indicates that the number of frames left to be executed in the controller has reached the buffer empty limit / emptyCount (see MPIMotionPoint). Therefore the controller will perform the specified eStop action.

MEIEventTypeIN_POSITION_COARSE This event type indicates an In Coarse Position event was generated from an Axis object. See Axis Tolerances and Related Events and MPIAxisInPosition.
MEIEventTypeIN_POSITION_FINE This event type indicates that an In Fine Position event was generated from an Axis object. See Axis Tolerances and Related Events and MPIAxisInPosition.
MEIEventTypeSETTLED Equivalent to MEIEventTypeIN_POSITION_FINE.
MEIEventTypeAT_TARGET Reserved Frame Event.
MEIEventTypeFRAME This event type is currently not supported and is reserved for future use.
MEIEventTypeSYNQNET_DEAD The SynqNet network was shutdown due to a communication failure. This status/event occurs when the controller fails to read/write data to the SynqNet network interface from an RX_FAILURE or a TX_FAILURE. To recover from a DEAD event, the network must be shutdown and reinitialized. SYNQNET_DEAD is latched by the controller, use meiSynqNetEventReset(...) to clear the status/event bit.
MEIEventTypeSYNQNET_RX_FAILURE SynqNet network data receive failure. Generated when the controller fails to receive the packet data buffer (Rincon DMA to internal memory) in two successive controller samples. A SYNQNET_RX_FAILURE is most likely caused by an incorrect RX_COPY_TIMER value (internal) or a timing problem. To recover from an RX_FAILURE event, the network must be shutdown and reinitialized. SYNQNET_RX_FAILURE is latched by the controller, use meiSynqNetEventReset(...) to clear the status/event bit.
MEIEventTypeSYNQNET_TX_FAILURE SynqNet network data transmission failure. Generated when the controller fails to transmit the packet data buffer in two successive controller samples. This occurs when the maximum foreground time exceeds the Tx time percentage of the controller's sample period. The default Tx time value is 75% of the controller's sample period. To correct Tx failures, either increase the Tx time or decrease the controller's sample rate. To recover from a TX_FAILURE event, the network must be shutdown and reinitialized. SYNQNET_TX_FAILURE is latched by the controller, use meiSynqNetEventReset(...) to clear the status/event bit.
MEIEventTypeSYNQNET_NODE_FAILURE SynqNet node failure. Generated when any node's upstream or downstream packet error rate counters exceed the failure limit. The failure limits are configured with meiSqNodeConfigSet(...). Use meiSynqNetStatus(...) to read the nodeFailedMask to identify the failed nodes. Also, a SQNODE_NODE_FAILURE will be generated for each node that fails. SYNQNET_NODE_FAILURE is latched by the controller, use meiSynqNetEventReset(...) to clear the status/event bit. To recover from a node failure, the network must be shutdown and reinitialized.
See Also: SynqNet Node Failure
MEIEventTypeSYNQNET_RECOVERY SynqNet fault recovery. Generated when any node's upstream or downstream packet error rate counters exceed the fault limit and the data traffic is redirected around the fault. The fault limits are configurable via meiSqNodeConfigSet(...). SYNQNET_RECOVERY is latched by the controller. Use meiSynqNetEventReset(...) to clear the status/event bit.
MEIEventTypeSQNODE_IO_ABORT SynqNet node I/O abort. Generated when the node I/O Abort is activated. When the I/O Abort is triggered, the node's outputs are disabled (set to the power-on condition). The node I/O Abort can be configured to trigger when either a Synq Lost occurs, Node Disable is active, a Power Fault occurs, or a User Fault is triggered. See MEISqNodeConfigIoAbort{.} for more details.
MEIEventTypeSQNODE_NODE_DISABLE SynqNet node's Node Disable input is activated. Generated when the Node Disable input signal transitions from inactive to active. This signal is latched in hardware. Use meiSqNodeEventReset(...) to clear the status/event and the hardware latch.
MEIEventTypeSQNODE_NODE_ALARM SynqNet node analog power failure. Generated when the node's power failure input bit transitions from inactive to active. The power fault circuit is node specific, but is typically connected to an analog power monitor. This signal is latched in hardware. Use meiSqNodeEventReset(...) to clear the status/event and the hardware latch.
MEIEventTypeSQNODE_ANALOG_POWER_FAULT

AnalogPowerFault may be used by a SynqNet node to indicate a problem with analog power rails. For example, the RMB-10V2 reports an AnalogPowerFault if its internal +15V or -15V (used to power the DACs and ADC) are below minimum values.

NOTE: The exact meaning of AnalogPowerFault is specific to each particular node.

MEIEventTypeSQNODE_USER_FAULT SynqNet node user fault. Generated when the node's user configurable fault is triggered. The user fault can be configured to monitor any controller memory address and compare the masked value to a specified pattern. This signal is latched by the controller, use meiSqNodeEventReset(...) to clear the status/event bit.
MEIEventTypeSQNODE_NODE_FAILURE SynqNet node failure. Generated when a node's upstream or downstream packet error rate counters exceed the failure limit. The failure limits are configured with meiSqNodeConfigSet(...). SQNODE_NODE_FAILURE is latched by the controller, use meiSqNodeEventReset(...) to clear the status/event bit. To recover from a node failure, the network must be shutdown and reinitialized.
MEIEventTypeSQNODE_IO_FAULT

The event indicates that a fault was detected when communicating with one of the slices or SynqNet I/O modules attached to either Slice or SQID nodes.This event is only generated by slice and SynqNet (SQID) I/O nodes.

MEIEventTypeCAN_BUS_STATE The BusState has changed. Data[0] contains the new bus state.
MEIEventTypeCAN_RECEIVE_OVERRUN The CAN hardware detected a receive overrun.
MEIEventTypeCAN_EMERGENGY An emergency message was received from a node. Data[0] contains the node number. Data[1 to 4] contains the contents of the emergency message.
MEIEventTypeCAN_NODE_BOOT A node boot message was received from a node. Data[0] contains the node number.
MEIEventTypeCAN_HEALTH The health of a node has changed. Data[0] contains the node number. Data[1] contains the new node health.
MEIEventTypeCAN_DIGITAL_INPUT A digital input event was received from a node. Data[0] contains the node number. Data[1 to 4] contains the new input state.
MEIEventTypeCAN_ANALOG_INPUT An analog input event was received from a node. Data[0] contains the node number. Data[1 to 4] contains the new input state.
MEIEventTypeMOTION_START This event type indicates a Motion Start event was generated from a Motion Supervisor object.

See Also

MPIEventMask | MPIEventMgr | MPINotify | MPIEventStatus | meiSynqNetEventReset | Error Limit and Limit Switch Errors

Use of MPIEventTypeENCODER_FAULT


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