MPIEventType

Declaration

     typedef enum MPIEventType {
             MPIEventTypeINVALID = -1,
              
             MPIEventTypeNONE,                                 /*0 */
              
             /* Motor events */
             MPIEventTypeAMP_FAULT,                            /*1 */
             MPIEventTypeAMP_WARNING,                          /*2 */
             MPIEventTypeFEEDBACK_FAULT,                       /*3 */
             MPIEventTypeLIMIT_ERROR,                          /*4 */
             MPIEventTypeLIMIT_TORQUE,                         /*5 */
             MPIEventTypeLIMIT_HW_NEG,                         /*6 */
             MPIEventTypeLIMIT_HW_POS,                         /*7 */
             MPIEventTypeLIMIT_SW_NEG,                         /*8 */
             MPIEventTypeLIMIT_SW_POS,                         /*9 */
            
             /* Motion events */
             MPIEventTypeMOTION_DONE,                          /* 10 */
             MPIEventTypeMOTION_START,                         /* 11 */
             MPIEventTypeMOTION_AT_VELOCITY,                   /* 12 */
             MPIEventTypeMOTION_OUT_OF_FRAMES,                 /* 13 */
             MPIEventTypeMOTION_LOAD_FRAMES,                   /* 14 */
             
             /* Axis events */
             MPIEventTypeNEAR_TARGET,                          /* 15 */
             MPIEventTypeSETTLED,                              /* 16 */
             MPIEventTypeAT_TARGET,                            /* 17 */
             MPIEventTypeFRAME,                                /* 18 */
             
             /* Recorder events */
             MPIEventTypeRECORDER_HIGH,                        /* 19 */
             MPIEventTypeRECORDER_FULL,                        /* 20 */
             MPIEventTypeRECORDER_DONE,                        /* 21 */
             
             /* Sequencer events */
             MPIEventTypeSEQUENCE,                             /* 22 */
             MPIEventTypeSEQUENCE_LOAD,                        /* 23 */
             
             /* System events */
             MPIEventTypeCONTROL_HOST_PROCESS_TIME_EXCEEDED,   /* 24 */
             MPIEventTypeCONTROL_FAN,                          /* 25 */
             
             /* SynqNet events */
             MPIEventTypeSYNQNET_DEAD,                         /* 26 */
             MPIEventTypeSYNQNET_RX_FAILURE,                   /* 27 */
             MPIEventTypeSYNQNET_TX_FAILURE,                   /* 28 */
             MPIEventTypeSYNQNET_NODE_FAILURE,                 /* 29 */
             MPIEventTypeSYNQNET_RECOVERY,                     /* 30 */
             
             /* SqNode events */
             MPIEventTypeSQNODE_IO_ABORT,                      /* 31 */
             MPIEventTypeSQNODE_NODE_DISABLE,                  /* 32 */
             MPIEventTypeSQNODE_NODE_ALARM,                    /* 33 */
             MPIEventTypeSQNODE_ANALOG_POWER_FAULT,            /* 34 */
             MPIEventTypeSQNODE_USER_FAULT,                    /* 35 */
             MPIEventTypeSQNODE_NODE_FAILURE,                  /* 36 */
             MPIEventTypeSQNODE_IO_FAULT,                      /* 37 */
             
             /* UserLimit events */
             MPIEventTypeUSER_LIMIT,                           /* 38 */
             
             /* Capture events */
             MPIEventTypeCAPTURE,                              /* 39 */
             
             MPIEventTypeEND,
             MPIEventTypeFIRST = MPIEventTypeINVALID + 1,
             
             MPIEventTypeMOTOR_FIRST = MPIEventTypeAMP_FAULT,
             MPIEventTypeMOTOR_END   = MPIEventTypeLIMIT_SW_POS + 1,
             MPIEventTypeMOTOR_COUNT = MPIEventTypeMOTOR_END - MPIEventTypeMOTOR_FIRST,
             
             MPIEventTypeMOTOR_DEDICATED_LIMIT_FIRST = MPIEventTypeAMP_FAULT,
             MPIEventTypeMOTOR_DEDICATED_LIMIT_END   = MPIEventTypeLIMIT_SW_POS + 1,
             
             /* Events that can be filtered by the direction of motion */
             MPIEventTypeDIR_FIRST      = MPIEventTypeLIMIT_HW_NEG,
             MPIEventTypeDIR_END        = MPIEventTypeLIMIT_SW_POS + 1,
             
             MPIEventTypeMOTION_FIRST   = MPIEventTypeMOTION_DONE,
             MPIEventTypeMOTION_END 		= MPIEventTypeMOTION_OUT_OF_FRAMES + 1,
             MPIEventTypeMOTION_COUNT   = MPIEventTypeMOTION_END - MPIEventTypeMOTION_FIRST,
             
             MPIEventTypeRECORDER_FIRST = MPIEventTypeRECORDER_HIGH,
             MPIEventTypeRECORDER_END   = MPIEventTypeRECORDER_DONE + 1,
             MPIEventTypeRECORDER_COUNT = MPIEventTypeRECORDER_END - MPIEventTypeRECORDER_FIRST,
             
             MPIEventTypeCONTROL_FIRST  = MPIEventTypeCONTROL_HOST_PROCESS_TIME_EXCEEDED,
             MPIEventTypeCONTROL_END    = MPIEventTypeCONTROL_FAN + 1,
             MPIEventTypeCONTROL_COUNT  = MPIEventTypeCONTROL_END - MPIEventTypeCONTROL_FIRST,
             
             MPIEventTypeAXIS_FIRST     = MPIEventTypeNEAR_TARGET,
             MPIEventTypeAXIS_END       = MPIEventTypeFRAME + 1,
             MPIEventTypeAXIS_COUNT     = MPIEventTypeAXIS_END - MPIEventTypeAXIS_FIRST,
             
             MPIEventTypeSQNODE_FIRST   = MPIEventTypeSQNODE_IO_ABORT,
             MPIEventTypeSQNODE_END     = MPIEventTypeSQNODE_IO_FAULT + 1,
             MPIEventTypeSQNODE_COUNT   = MPIEventTypeSQNODE_END - MPIEventTypeSQNODE_FIRST,
             
             MPIEventTypeSYNQNET_FIRST  = MPIEventTypeSYNQNET_DEAD,
             MPIEventTypeSYNQNET_END    = MPIEventTypeSYNQNET_RECOVERY + 1,
             MPIEventTypeSYNQNET_COUNT  = MPIEventTypeSYNQNET_END - MPIEventTypeSYNQNET_FIRST
      } MPIEventType

Required Header: stdmpi.h

Change History: Modified in 04.00.

Description

Return Values
MPIEventTypeNone Indicates no event was generated.
MPIEventTypeAMP_FAULT Indicates an Amp Fault event was generated from a Motor object.
MPIEventTypeAMP_WARNING Indicates an Amp Warning event was generated from a Motor object.
MPIEventTypeFEEDBACK_FAULT Indicates an Feedback Fault event was generated from a Motor object. See Use of MPIEventTypeFEEDBACK_FAULT.
MPIEventTypeLIMIT_ERROR Indicates a Position Error Limit was generated from a Motor object.
MPIEventTypeLIMIT_TORQUE Indicates a Torque Limit was generated from a Motor object.
MPIEventTypeLIMIT_HW_NEG Indicates a Negative Hardware Limit event was generated from a Motor object.
MPIEventTypeLIMIT_HW_POS Indicates a Positive Hardware Limit event was generated from a Motor object.
MPIEventTypeLIMIT_SW_NEG Indicates a Negative Software Limit event was generated from a Motor object.
MPIEventTypeLIMIT_SW_POS Indicates a Positive Software Limit event was generated from a Motor object.
MPIEventTypeMOTION_DONE Indicates a Motion Done event was generated from a Motion Supervisor object.
MPIEventTypeMOTION_START Indicates a Motion Start event was generated from a Motion Supervisor object.
MPIEventTypeMOTION_AT_VELOCITY Indicates an At Velocity event was generated from a Motion Supervisor object.
MPIEventTypeMOTION_OUT_OF_FRAMES 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 performs the specified eStop action.
MPIEventTypeMOTION_LOAD_FRAMES This type of event is generated when the controller requests the host computer load more motion frames. Note: This type of event is automatically handled by the MPI. and is exposed in case a user wants to log the occurrence of the events.
MPIEventTypeNEAR_TARGET Indicates a Near Target event was generated from an Axis object. For more information, see Axis Tolerances and Related Events and MPIAxisConfig.
MPIEventTypeSETTLED Indicates that a Settled event was generated from an Axis object. For more information, see Axis Tolerances and Related Events and MPIAxisConfig.
MPIEventTypeAT_TARGET Indicates that an axis command position has reached the final position during a move. For more information, see Axis Tolerances and Related Events.
MPIEventTypeFRAME This event type is currently not supported and is reserved for future use.
MPIEventTypeRECORDER_HIGH Indicates that the controller's recorded data exceeded the buffer's high limit.
MPIEventTypeRECORDER_FULL Indicates that the controller's recorded data has filled the buffer.
MPIEventTypeRECORDER_DONE Indicates that the controller has recorded the number of requested data records.
MPIEventTypeSEQUENCE Indicates that a program sequencer has executed a user event command.
MPIEventTypeSEQUENCE_LOAD This type of event is generated when the controller requests the host computer load more program sequencer commands. Note: This type of event is automatically handled by the MPI and is exposed in case a user wants to log the occurrence of the events.
MPIEventTypeCONTROL_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 ProcessFlagby the time SynqNet data is transmitted. If the ProcessFlag has not cleared, the event occurs.
MPIEventTypeCONTROL_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.
MPIEventTypeSYNQNET_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 mpiSynqNetEventReset(...) to clear the status/event bit.
MPIEventTypeSYNQNET_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 mpiSynqNetEventReset(...) to clear the status/event bit.
MPIEventTypeSYNQNET_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, usempiSynqNetEventReset(...) to clear the status/event bit.
MPIEventTypeSYNQNET_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 mpiSqNodeConfigSet(...). UsempiSynqNetStatus(...) 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, usempiSynqNetEventReset(...) to clear the status/event bit. To recover from a node failure, the network must be shutdown and reinitialized. For more information, see SynqNet Node Failure.
MPIEventTypeSYNQNET_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 viampiSqNodeConfigSet(...). SYNQNET_RECOVERY is latched by the controller. Use mpiSynqNetEventReset(...)to clear the status/event bit.
MPIEventTypeSQNODE_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 is configured to trigger when either a Synq Lost occurs, Node Disable is active, a Power Fault occurs, or a User Fault is triggered. For more information, see MpiSqNodeConfigIoAbort(...).
MPIEventTypeSQNODE_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 mpiSqNodeEventReset(...) to clear the status/event and the hardware latch.
MPIEventTypeSQNODE_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 mpiSqNodeEventReset(...) to clear the status/event and the hardware latch.
MPIEventTypeSQNODE_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.
MPIEventTypeSQNODE_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 mpiSqNodeEventReset(...) to clear the status/event bit.
MPIEventTypeSQNODE_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 withmpiSqNodeConfigSet(...). SQNODE_NODE_FAILURE is latched by the controller, usempiSqNodeEventReset(...) to clear the status/event bit. To recover from a node failure, the network must be shutdown and reinitialized.
MPIEventTypeSQNODE_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.
MPIEventTypeUSER_LIMIT Indicates a User Limit event was generated.
MPIEventTypeCAPTURE Indicates a Capture event was generated.

See Also

MPIEventMask | MPINotify | mpiSynqNetEventReset | Error Limit and Limit Switch Errors |
Use of MPIEventTypeENCODER_FAULT