.

MEISynqNetMessage

Definition

typedef enum {
    MEISynqNetMessageSYNQNET_INVALID,
    MEISynqNetMessageMAX_NODE_ERROR,
    MEISynqNetMessageSTATE_ERROR,
MEISynqNetMessageCOMM_ERROR, MEISynqNetMessageCOMM_ERROR_CRC, MEISynqNetMessageCOMM_ERROR_RX,
MEISynqNetMessageCOMM_ERROR_RX_LEN,
MEISynqNetMessageCOMM_ERROR_RX_FIFO,
MEISynqNetMessageCOMM_ERROR_RX_DRIBBLE,
MEISynqNetMessageCOMM_ERROR_RX_CRC,
MEISynqNetMessageINTERFACE_NOT_FOUND, MEISynqNetMessageTOPOLOGY_MISMATCH, MEISynqNetMessageTOPOLOGY_MISMATCH_FLASH,
MEISynqNetMessageRESET_REQ_TIMEOUT, MEISynqNetMessageRESET_ACK_TIMEOUT, MEISynqNetMessageDISCOVERY_TIMEOUT, MEISynqNetMessageNO_NODES_FOUND, MEISynqNetMessageNO_TIMING_DATA_AVAIL, MEISynqNetMessageINTERNAL_BUFFER_OVERFLOW, MEISynqNetMessageINVALID_MOTOR_COUNT, MEISynqNetMessageINVALID_AUX_ENC_COUNT, MEISynqNetMessageINCOMPLETE_MOTOR, MEISynqNetMessageINVALID_COMMAND_CFG, MEISynqNetMessageINVALID_PULSE_ENGINE_COUNT, MEISynqNetMessageINVALID_ENCODER_COUNT, MEISynqNetMessageINVALID_CAPTURE_COUNT, MEISynqNetMessageINVALID_COMPARE_COUNT, MEISynqNetMessageINVALID_INPUT_COUNT, MEISynqNetMessageINVALID_OUTPUT_COUNT,
MEISynqNetMessageINVALID_MONITOR_CFG, MEISynqNetMessageINVALID_ANALOG_IN_COUNT, MEISynqNetMessageINVALID_DIGITAL_IN_COUNT, MEISynqNetMessageINVALID_DIGITAL_OUT_COUNT,
MEISynqNetMessageINVALID_ANALOG_OUT_COUNT MEISynqNetMessageLINK_NOT_IDLE, MEISynqNetMessageIDLE_LINK_UNKNOWN, MEISynqNetMessageRING_ONLY,
MEISynqNetMessageRECOVERING, MEISynqNetMessageCABLE_LENGTH_UNSUPPORTED,
MEISynqNetMessageCABLE_LENGTH_TIMEOUT, MEISynqNetMessageCABLE_LENGTH_MISMATCH, MEISynqNetMessageCABLE_LENGTH_INVALID_NOMINAL, MEISynqNetMessageCABLE_LENGTH_INVALID_MIN, MEISynqNetMessageCABLE_LENGTH_INVALID_MAX, MEISynqNetMessageNODE_FPGA_VERSION,
MEISynqNetMessageMAX_MOTOR_ERROR,
MEISynqNetMessagePLL_ERROR, MEISynqNetMessageNODE_INIT_FAIL, MEISynqNetMessageTOPOLOGY_CLEAR, MEISynqNetMessageTOPOLOGY_SAVED, MEISynqNetMessageTOPOLOGY_AMPS_ENABLED, MEISynqNetMessageNODE_MAC_VERSION, MEISynqNetMessageADC_SAMPLE_FAILURE, MEISynqNetMessageSCHEDULING_ERROR, MEISynqNetMessageINVALID_PROBE_CFG, MEISynqNetMessageINVALID_PROBE_DEPTH, MEISynqNetMessageSAMPLE_PERIOD_NOT_MULTIPLE,
MEISynqNetMessageNODE_LATENCY_EXCEEDED, MEISynqNetMessageHOT_RESTART_FAIL_NOT_SYNQ_STATE, MEISynqNetMessageHOT_RESTART_FAIL_RECOVERING,
MEISynqNetMessageHOT_RESTART_FAIL_TEST_PACKET,
MEISynqNetMessageHOT_RESTART_FAIL_ADDRESS_ASSIGNMENT, MEISynqNetMessageHOT_RESTART_NOT_ALL_NODES_RESTARTED, MEISynqNetMessageSHUTDOWN_NODES_NONCONSECUTIVE,
MEISynqNetMessageSHUTDOWN_NODES_STRANDED,
MEISynqNetMessageSHUTDOWN_RECOVERY_DISABLED, MEISynqNetMessageNODE_BOOT_FPGA_VERSION,
MEISynqNetMessageNODE_FPGA_LAB_VERSION,
MEISynqNetMessageNODE_MAC_LAB_VERSION,
} MEISynqNetMessage;
            
  Required Header: stdmei.h
Change History: Modified in the 03.04.00. Modified in the 03.03.00. Modified in the 03.02.00.

Description

MEISynqNetMessage is an enumeration of SynqNet error messages that can be returned by the MPI library.

MEISynqNetMessageSYNQNET_INVALID
  The SynqNet number is out of range. This message code is returned by meiSynqNetCreate(...) if the SynqNet network number is less than zero or greater than or equal to MEIXmpMaxSynqNets.
MEISynqNetMessageMAX_NODE_ERROR
  The SynqNet node number is out of range. This message code is returned by a SynqNet method if the specified node number is greater than or equal to MEIXmpMaxSynqNetBlocks.
MEISynqNetMessageSTATE_ERROR
  The SynqNet network state is not valid. This message code is returned by any method that initializes a SynqNet network if the controller's network state is not a member of the MEIXmpSynqNetState or MEIXmpSynqNetInternalState enumeration. The most commonly used methods that initialize the SynqNet network are: mpiControlInit(...), mpiControlReset(...) and meiSynqNetInit(...). This message code indicates a failure in the controller's initialization sequence. To correct this problem, call mpiControlReset(...).
MEISynqNetMessageCOMM_ERROR
  The SynqNet network communication failed. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_CRC
  The SynqNet network communication failed due to excessive CRC errors. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_RX
  The SynqNet network communication failed due to a Rincon receive error. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_RX_LEN
  The SynqNet network communication failed due to a Rincon receive length error. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_RX_FIFO
  The SynqNet network communication failed due to a Rincon receive buffer error. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_RX_DRIBBLE
  The SynqNet network communication failed due to a Rincon receive dribble error. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageCOMM_ERROR_RX_CRC
  The SynqNet network communication failed due to a Rincon receive CRC error. This message code is returned by MPI methods that fail a service command transaction due to a network shutdown. This message indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageINTERFACE_NOT_FOUND
  The controller does not support a SynqNet interface. This message code is returned by meiSynqNetValidate(...), meiSynqNetFlashTopologySave(...), meiSynqNetFlashTopologyClear(...), mpiControlInit(...), and mpiControlReset(...) if the controller does not have a SynqNet hardware interface. To correct this problem, use a controller that supports SynqNet.
MEISynqNetMessageTOPOLOGY_MISMATCH
  The network topology does not match the expected network topology. This message code is returned by mpiControlInit(...) or meiSynqNetInit(...) if the discovered network topology does not match the controller's expected network topology (stored in dynamic memory). During the first network initialization the controller stores node identification information (manufacturer, product, and unique values) into it's dynamic memory. This message code indicates the number of nodes, the node order, or types of nodes have changed since the initial network initialization. To correct this problem, either change the network topology to the original configuration or clear the controller's memory with mpiControlReset(...).
MEISynqNetMessageTOPOLOGY_MISMATCH_FLASH
  The network topology does not match the expected network topology. This message code is returned by mpiControlInit(...) or meiSynqNetInit(...) if the discovered network topology does not match the controller's expected network topology (stored in flash memory). During the first network initialization the controller stores node identification information (manufacturer, product, and unique values) into its dynamic memory. Later, when meiSynqNetFlashTopologySave(...) is called, the topology information is stored into flash memory. This message indicates the number of nodes, the node order, or types of nodes have changed since the topology information was stored in flash. To correct this problem, either change the network topology to the saved configuration or clear the controller's flash topology with meiSynqNetFlashTopologyClear(...).
MEISynqNetMessageRESET_REQ_TIMEOUT
  The network reset request packet exceeded the timeout. This message code is returned by mpiControlInit(...), mpiControlReset(...), or meiSynqNetInit(...) if the reset request packet fails to traverse the network in the allotted time. This message code indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageRESET_ACK_TIMEOUT
  The network reset complete packet exceeded the timeout. This message code is returned by mpiControlInit(...), mpiControlInit(...), or meiSynqNetInit(...) if the reset complete packet fails to traverse the network in the allotted time. This message code indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageDISCOVERY_TIMEOUT
  The network topology discovery exceeded the timeout. This message code is returned by mpiControlInit(...), mpiControlInit(...), or meiSynqNetInit(...) if the controller failed to discover the network topology in the allotted time. This message code indicates a node or network cable failure. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageNO_NODES_FOUND
  The controller did not find network nodes. This message code is returned by mpiControlInit(...), meiSynqNetPacketConfigSet(...), or meiSynqNetInit(...) if the controller failed to discover any nodes during network initialization. This message code indicates the first node has failed or the network connection from the controller to the first node is faulty. To correct this problem, check your network wiring and node condition.
MEISynqNetMessageNO_TIMING_DATA_AVAIL
  The corresponding SynqNet node module does not contain timing data, so the network cannot be initialized. Contact MEI or drive manufacturer for an updated node module.
MEISynqNetMessageINTERNAL_BUFFER_OVERFLOW
  The controller's SynqNet buffer size was exceeded. This message code is returned by mpiControlInit(...) or mpiControlReset(...) if the controller's SynqNet buffer could not be allocated due to overflow. This message code indicates the controller does not have enough memory to initialize the network topology. To correct the problem, either reduce the network nodes or use a different controller model.
MEISynqNetMessageINVALID_MOTOR_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains more motors than supported by the node.

MEISynqNetMessageINVALID_AUX_ENC_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains more secondary encoders than supported by the node.

MEISynqNetMessageINCOMPLETE_MOTOR
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a motor configuration that is missing feedback or command fields.

MEISynqNetMessageINVALID_COMMAND_CFG
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a different command configuration than is supported by the node.

MEISynqNetMessageINVALID_PULSE_ENGINE_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains an illegal number of pulse engines.

MEISynqNetMessageINVALID_ENCODER_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains more encoders for feedback than are supported by the node.

MEISynqNetMessageINVALID_CAPTURE_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger capture count than is supported by the node.

MEISynqNetMessageINVALID_COMPARE_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger compare count than is supported by the node.

MEISynqNetMessageINVALID_INPUT_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger ioInput count than is supported by the node.

MEISynqNetMessageINVALID_OUTPUT_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger ioOutput count than is supported by the node.

MEISynqNetMessageINVALID_MONITOR_CFG
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains more monitor fields than the node can support.

MEISynqNetMessageINVALID_ANALOG_IN_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger analogIn count than is supported by the node.

MEISynqNetMessageINVALID_DIGITAL_IN_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger digitalIn count than is supported by the node.

MEISynqNetMessageINVALID_DIGITAL_OUT_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger digitalOut count than is supported by the node.

MEISynqNetMessageINVALID_ANALOG_OUT_COUNT
 

This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains a larger analogOut count than is supported by the node.

MEISynqNetMessageLINK_NOT_IDLE
 

This message is returned by meiSynqNetIdleCableStatus(...) when the cable number supplied is not the idle link. The status check can only be run on an idle cable. See meiSynqNetIdleCableListGet(...).

MEISynqNetMessageIDLE_LINK_UNKNOWN
 

This message is returned by meiSynqNetIdleCableListGet(...) when an idle cable number in a ring topology cannot be determined. This is due to one or more failed nodes on a ring topology. Be sure to check the status of the nodes.

MEISynqNetMessageRING_ONLY
 

This message is returned by meiSynqNetIdleCableListGet(...) and meiSynqNetIdleCableStatus(...) because idle cables exist on ring topologies only. It is also returned by meiSynqNetConfigSet(...) when attempting to enable SynqNet recovery mode, which is only supported for ring topologies.

MEISynqNetMessageRECOVERING
 

The network is recovering from a fault condition. This message is returned by meiSynqNetIdleCableStatus(...) during network fault recovery, because the network traffic is being redirected around the faulted cable and a new idle cable is in the process of being assigned. If you receive this message, wait for recovery to complete and then check the identity of the idle cable with meiSynqNetIdleCableListGet(...).

MEISynqNetMessageCABLE_LENGTH_UNSUPPORTED
 

This message is returned when a cable on the network is too long.

MEISynqNetMessageCABLE_LENGTH_TIMEOUT
 

The cable length discovery failed to complete due to a timeout. This message is returned by mpiControlInit(…), meiSynqNetInit(…), or meiSynqNetNodeRestart(…) during SynqNet network initialization if the node fails to respond to a cable length measurement packet. This message indicates a hardware problem. To correct the problem, check your cabling and node hardware.

MEISynqNetMessageCABLE_LENGTH_MISMATCH
 

This message is returned at network initialization when topology has been saved to flash and a cable length is detected that lies outside the MEISynqNetConfig.cableLength[n].minimum and maximum. Check cable length (if necessary) and save new cable length values to flash.

MEISynqNetMessageCABLE_LENGTH_INVALID_NOMINAL
 

The nominal cable length is too long.

MEISynqNetMessageCABLE_LENGTH_INVALID_MIN
 

The minimum cable length is too long or exceeds nominal value.

MEISynqNetMessageCABLE_LENGTH_INVALID_MAX
 

The maximum cable length is too long or is less than nominal value.

MEISynqNetMessageNODE_FPGA_VERSION
 

The node resource FPGA image is out of date. This is only a warning message. Your network will still reach cyclic (SYNQ) mode, but certain node resources may not be available or may not operate as expected. Only ignore this warning if you are aware of FPGA changes between this version and the version built with the MPI or use the sqNodeFlash.exe utility to load the most current FPGA version to the node.

MEISynqNetMessageMAX_MOTOR_ERROR
 

The number of motors on the network exceeds the number set by MEISynqNetMaxMOTORS.

MEISynqNetMessagePLL_ERROR
 

The node PLL is unable to lock with drive.

MEISynqNetMessageNODE_INIT_FAIL
  A node specific initialization routine was unable to complete successfully. Verify node FPGA is the default version for your MPI version. See MEISqNodeInfoFpga.defaultVersion.
MEISynqNetMessageTOPOLOGY_CLEAR
  An attempt to clear the saved network topology was made when no network topology has been saved.
MEISynqNetMessageTOPOLOGY_SAVED
  An attempt to save network topology was made when the network topology has already been saved. Clear the network topology before attempting to save another topology to flash.
MEISynqNetMessageTOPOLOGY_AMPS_ENABLED
 

An meiSynqNetFlashTopologySave /Clear routine has been called while one or more motor amplifiers are enabled. Disables all motor amplifiers (mpiMotorAmpEnableSet(...)) before calling these low-level routines. To avoid this error message, disable the motor(s) amp enable before calling meiSynqNetFlashTopologySave/Clear.

MEISynqNetMessageNODE_MAC_VERSION
 

The node MAC FPGA image is out of date. This is an error message. Your network will probably never reach cyclic (SYNQ) mode. Use the sqNodeFlash.exe utility to load the most current FPGA version tothe node.

MEISynqNetMessageADC_SAMPLE_FAILURE
  A check to verify that all analog inputs can be sampled during the given controller sample rate has failed. Either reduce the number of analog inputs on your network (see meiSynqNetPacketConfigGet / meiSynqNetPacketConfigSet) or decrease your controller sample rate (see mpiControlConfigGet / mpiControlConfigSet).
MEISynqNetMessageSCHEDULING_ERROR
 

This is a generic return value to indicate that a problem has occurred while calculating the network scheduling. For more specific information about the error, run your application with timing assignment tracing turned on, using the trace mask:
             0x00100000          SynqNet: Display timing assignments

MEISynqNetMessageINVALID_PROBE_CFG
 

This message is returned by meiSynqNetPacketConfigSet(...), when the MEISynqNetPacketCfgProbe.count contains a larger count than is supported by the node.

MEISynqNetMessageINVALID_PROBE_DEPTH
 

This message is returned by meiSynqNetPacketConfigSet(...), when the MEISynqNetPacketCfgProbe.depth contains a larger count than is supported by the node.

MEISynqNetMessageSAMPLE_PERIOD_NOT_MULTIPLE
 

The controller update period is not an integer multiple of all the SynqNet nodes drive periods.
This message is returned from mpiControlConfigSet(…) if the specified controller sample rate is not an integer multiple of the node drive periods. For more details, see Sample Rate for more details.

MEISynqNetMessageNODE_LATENCY_EXCEEDED
 

The node latency exceeded the maximum control latency limit. This message is returned by mpiControlInit(…) or meiSynqNetInit(…) during SynqNet initialization if the node latency exceeds the maximum control latency configured by mpiSynqNetConfigSet(…). To avoid this problem, either leave the maximum control latency configuration at the default value or increase the maximum control latency limit.

MEISynqNetMessageHOT_RESTART_FAIL_NOT_SYNQ_STATE
 

The SynqNet network is not in the SYNQ state. This message is returned by meiSynqNetNodeRestart(…) if the SynqNet network is not in the SYNQ state when the nodes are restarted. To avoid this problem, make sure that the network state is in SYNQ mode before attempting to restart any shutdown nodes. Use meiSynqNetInit(…) to initialize a SynqNet network to the SYNQ state.

MEISynqNetMessageHOT_RESTART_FAIL_RECOVERING
 

The SynqNet network is not ready for a node restart. This message is returned by meiSynqNetNodeRestart(…) if the SynqNet network fault recovery is in process. To avoid this problem, wait for fault recovery to complete before restarting a node.

MEISynqNetMessageHOT_RESTART_FAIL_TEST_PACKET
 

The SynqNet node restart did not complete due to a failed restart packet. This message is returned by meiSynqNetNodeRestart(…) if the restart packet failed. The problem is that the test packet is in use, so hot restart cannot take place. Test packets should not be in use when using Hot Restart because restart takes over the test packet's memory locations.

MEISynqNetMessageHOT_RESTART_FAIL_ADDRESS_ASSIGNMENT
 

The SynqNet node restart did not complete due to failed node identification. This message is returned by meiSynqNetNodeRestart(…), if the a node did not respond to a service command to read the node’s identification data. This message indicates a hardware problem. To correct the problem, check your cabling and node hardware.

MEISynqNetMessageHOT_RESTART_NOT_ALL_NODES_RESTARTED
 

One or more SynqNet nodes were not restarted. This message is returned by meiSynqNetNodeRestart(…), if any node could not be restarted. This message is for information purposes. Possible causes for nodes not being restarted are if they are not connected to the network or do not have power.

MEISynqNetMessageSHUTDOWN_NODES_NONCONSECUTIVE
 

The specified nodes to shutdown are not sequential. This message is returned by meiSynqNetShutdown(…) if the shutdown nodeMask does not specify sequential nodes. This message protects the user from shutting down nodes without specifying them in the nodeMask. For example, suppose there are three nodes in a string (0, 1, 2) and the shutdown nodeMask = 0x5 (node 0 and 2). Node 1 would fail when nodes 0 and 2 are shutdown.

MEISynqNetMessageSHUTDOWN_NODES_STRANDED
 

The specified nodes to shutdown will cause additional nodes to fail. This message is returned by meiSynqNetShutdown(…) if the shutdown nodeMask will cause additional nodes not specified in the nodeMask to fail. This message protects the user from shutting down nodes without specifying them in the nodeMask. For example, suppose there are two nodes in a string (0, 1) and the shutdown nodeMask = 0x1 (node 0). Node 1 would fail when node 0 is shutdown.

MEISynqNetMessageSHUTDOWN_RECOVERY_DISABLED
 

The SynqNet network recovery mode is disabled. This message is returned by meiSynqNetShutdown(…) if the network is a ring topology and the recovery mode is disabled. To avoid this message, set the SynqNet network recovery configuration to Single-Shot or Auto-Arm.

MEISynqNetMessageNODE_BOOT_FPGA_VERSION
 

 

 

MEISynqNetMessageNODE_FPGA_LAB_VERSION
 

 

 

MEISynqNetMessageNODE_MAC_LAB_VERSION
 

 

 

See Also

Table of Error Messages / Return Values
Descriptions of Error Messages / Return Values

 

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