General Return Values
RSIMessageOK The operation was successful. This message code is returned by a method when the operation completed successfully. If a message code other than RSIMessageOK is returned by a method, then an error occurred or operation status information is being reported. Check return values from ALL method calls. The only exceptions are methods that return object handles. For example, the mpiObjectCreate(...) methods return a handle to an object.
RSIMessageARG_INVALID An argument is not valid. This message code is returned by a method when one or more arguments fail an integrity check. The following integrity checks are made, depending on the argument types:
RSIMessagePARAM_INVALID A parameter is not valid. Parameters are the data inside an argument. This message code is returned by a method when one or more parameters fail an integrity check. The following integrity checks are made, depending on the parameter types:
RSIMessageHANDLE_INVALID An object handle is not valid. This message code is returned by a method when the object handle argument is NULL. To correct this problem, create an object using an object create method. For example, to create an axis object use .
RSIMessageNO_MEMORY Memory is not available. This message code is returned by a method when an object, thread or buffer is not created due to a memory allocation failure. All host memory allocation occurs through . To correct this problem, check your host computer resources and remove unused components or add more memory. NOTE: Some methods may make several memory allocations or may call other methods that allocate memory. If a memory allocation fails, the previous allocations will not be freed.
RSIMessageOBJECT_FREED The object has been freed. This message code is set within the object when the object is deleted. This message code is used internally. This message code is returned by an object delete method if the object has already been deleted. To prevent this problem, make sure to delete objects only one time.
RSIMessageOBJECT_IN_USE This message is returned when an operation cannot be completed because the object is ?currently in use. For example, when threadDelete() from the apputil library attempts to delete a thread that is currently running, RSIMessageOBJECT_IN_USE will be returned. To correct this problem, make sure the object is not in use before you attempt the operation.
RSIMessageOBJECT_NOT_ENABLED The object is not active in the controller. This message code is returned by a method if real-time data or a handshake is required between the RSI and the controller, and the specified object is not enabled in the controller. To correct this problem, use to enable the object, by setting the object count to greater than the specified object number. For example, to enable motor objects 0 to 3, set motorCount to 4.
RSIMessageOBJECT_NOT_FOUND The object is not found on an object list. This message code is returned by a method when an object does not exist on the specified list or the object list does not exist. This message code can be returned from methods that insert or remove objects from a list. To correct this problem, specify an object that exists on the list or specify a different object list containing the object. To prevent object creation/deletion problems, delete objects in the reverse order they were created.
RSIMessageOBJECT_ON_LIST The object is a member of a list. This message code is returned when a method tries to add an object to a list and the object already exists on the list. It is also returned when a method tries to delete an object when the object exists on a list. For example, if an axis object is a member of a list of axis objects or an axis object is associated with a motion object, calling will return the object on list message code. To correct this problem when adding an object to a list, check to make sure the object is not already a member. To correct this problem when deleting an object, remove the object from the list and delete the parent object. To prevent object creation/deletion problems, delete objects in the reverse order they were created.
RSIMessageTIMEOUT The wait time has expired. This message code is returned by a method waiting for a response from the controller, a hardware resource, or a semaphore lock and the maximum wait time value expired. The library uses timeout values to prevent lock-up conditions when unexpected behavior occurs. To correct this problem, check the hardware health, power, and network connections.
RSIMessageUNSUPPORTED The software or controller does not support a feature. This message code is returned by a method if the RSI library, controller, or network device does not support a feature.
RSIMessageFATAL_ERROR The software or hardware failed. This message code is returned by a method when an inexplicable data value is read from the controller or host memory. This message code indicates a serious problem with the host computer, memory, or controller. Contact an RSI applications engineer if you receive this message code.
RSIMessageFILE_CLOSE_ERROR An error occurred when closing a file. This message code is returned by a method that fails to close a file. Internally, files are closed using meiPlatformClose(...) which makes a platform specific call. File closing errors indicate a missing file, bad file, or other file system problems.
RSIMessageFILE_OPEN_ERROR An error occurred when opening a file. This message code is returned by a method that fails to open a file. Internally, files are opened using meiPlatformOpen(...) which makes a platform specific call. File opening errors indicate a missing file, bad file, or other file system problems.
RSIMessageFILE_READ_ERROR An error occurred when reading from a file. This message code is returned by a method that fails to read from a file. Internally, files are read using which makes a platform specific call. File reading errors indicate a bad file or other file system problems.
RSIMessageFILE_WRITE_ERROR An error occurred when writing to a file. This message code is returned by a method that fails to write to a file. Internally, files are written using which makes a platform specific call. File writing errors indicate a bad file or other file system problems.
RSIMessageFILE_MISMATCH The file being downloaded does not match the installed hardware. For example, if a user attempts to download an XMP file to a ZMP controller or a ZMP file to an XMP controller, the RSI will return error code RSIMessageFILE_MISMATCH.
RSIAxisMessageFIRST First message in list of messages, placeholder only
RSIAxisMessageAXIS_INVALID The axis number is out of range. This message code is returned by if the axis number is less than zero or greater than or equal to RSIXmpMAX_Axes.
RSIAxisMessageCOMMAND_NOT_SET The axis command position did not get set. This message code is returned by if the controller's command position does not match the specified value. Internally, the method requests the controller to change the command position, waits for the controller to process the request, and reads back the controller's command position. There are several cases where the controller will calculate a new command position to replace the requested command position. For example, if motion is in progress, stopped, or if the amp enable is disabled (when the motor's disableAction is configured for command equals actual), the controller will calculate a new command position every sample. To prevent this problem, set the command position when the motion is in an IDLE state and the motor's disableAction is configured for no action. It may also indicate that the motor associated to this axis is configured to mode RSIMotorDisableActionCMD_EQ_ACT and the motor is disabled. When the motor is disabled and in the RSIMotorDisableActionCMD_EQ_ACT mode, the command position is continually set to the actual position. To set the command position, enable the motor or take the motor out of the RSIMotorDisableActionCMD_EQ_ACT mode. Alternatively, setting the origin for the motor can often perform an equivalent result in this situation, as the command position will be set to the actual position the next sample.
RSIAxisMessageNOT_MAPPED_TO_MS An axis is not mapped to the motion supervisor. This message code is returned by , , or when an axis is associated with a motion object, but not mapped to a motion supervisor. To correct this problem, map the axes to the motion supervisor in the controller by calling: with RSIActionMAP or RSIActionRESET, , , or .
CAN RSICanMessageFIRST First message in list of messages, placeholder only.
RSICanMessageCAN_INVALID The can network number is out of range. This message code is returned by if the network number is less than zero or greater than or equal to RSICanNetworkMAX.
RSICanMessageFIRMWARE_INVALID The CAN firmware is not valid. This message code is returned by if the CAN hardware bootloader detects no firmware has been loaded or the firmware signature is not recognized. To correct this problem, download valid firmware with .
RSICanMessageFIRMWARE_VERSION The CAN firmware version does not match the software version. This message code is returned by , , or if the CAN firmware version is not compatible with the RSI library. To correct this problem, download the proper firmware version with .
RSICanMessageNOT_INITIALIZED The CAN firmware did not initialize. This message code is returned by if the controller did not copy the configuration structure from flash to memory after power-on or controller reset. To correct this problem, verify the controller firmware is correct and the controller hardware is operating properly.
RSICanMessageIO_NOT_SUPPORTED The CAN node does not support the specified I/O. This message code is returned by CAN methods that read/write to a digital or analog input/output that is out of range. To prevent this problem, specify a supported I/O bit.
RSICanMessageFILE_FORMAT_ERROR The CAN firmware file format has an error. This message code is returned by if the specified file has an error in its internal headers. This indicates a corrupted file. To correct this problem, use the original CAN firmware file or reinstall the software distribution.
RSICanMessageUSER_ABORT The CAN firmware loading was aborted. This message code is returned by or when the firmware loading is aborted by the user via the callback function. This message code is returned for application notification. It is not an error.
RSICanMessageCOMMAND_PROTOCOL The CAN command failed due to a protocol error. This message code is returned by CAN methods that do not get a valid response from a CAN node. To correct this problem, check your CAN nodes for proper operation.
RSICanMessageINTERFACE_NOT_FOUND The CAN interface is not available. This message code is returned by if the specified controller does not support a CAN network interface. To correct this problem, use a controller that has a CAN interface.
RSICanMessageNODE_DEAD The CAN node does not respond. This message code is returned by CAN methods that read/write from a CAN node and the node fails the health check. This message code indicates a node hardware or network connection problem. To correct this problem, verify the node operation and network connections.
RSICanMessageSDO_TIMEOUT The CAN command failed due to a timeout. This message code is returned by CAN methods that do not get a response from a CAN node within the timeout period. To correct this problem, check your CAN nodes for proper operation.
RSICanMessageSDO_ABORT The CAN command failed due to a user abort. This message code is returned by CAN methods when an SDO transaction is aborted.
RSICanMessageSDO_PROTOCOL The CAN command failed due to an SDO protocol error. This message code is returned by CAN methods when an SDO transaction fails because the node did not conform to the CANOpen protocol. The controller's transmit buffer overflowed. This message code is returned by CAN methods that failed to transmit a message due to an internal memory buffer overflow.
RSICanMessageRTR_TX_OVERFLOW The controller's transmit buffer overflowed. This message code is returned by CAN methods that failed to transmit a message due to an internal memory buffer overflow.
RSICanMessageRX_BUFFER_EMPTY The controller's receive buffer is empty. This message code is returned by CAN methods that expected to get a response from a CAN node, but the controller's receive buffer was empty.
RSICanMessageBUS_OFF The CAN network bus is in the off state. This message code is returned by CAN methods that are not able to use the CAN network because the bus is off. To correct this problem, verify the node operation and network connections.
RSICanMessageSIGNATURE_INVALID When initialising the CAN system, some tests are performed to make sure that the CAN processor is returning a valid signature value. If an unexpected signature is returned, this error message is returned. A probable cause for this error is that the bootloader is invalid. To correct this problem, you will need to return the controller to RSI to fix the bootloader.
Capture
RSICaptureMessageFIRST First message in list of messages, placeholder only.
RSICaptureMessageCAPTURE_INVALID The capture number is out of range. This message code is returned by mpiCaptureCreate(...) if the capture number is less than zero or greater than or equal to RSIXmpMaxCapturesPerMotor.
RSICaptureMessageCAPTURE_TYPE_INVALID --> config.Type = = RSICaptureNOT.MAPPED.
RSICaptureMessageENCODER_INVALID The encoder index is out of range. This message code is returned by if the encoder index is less than RSIMotorEncoderFIRST or greater than or equal to RSIMotorEncoderLAST.
RSICaptureMessageMOTOR_INVALID --> config.captureMotorNumber is not valid. It's either greater than maxMotors or = = RSICaptureNOT.MAPPED.
RSICaptureMessageCAPTURE_ARMED The Capture resource being configured is already armed and cannot be reconfigured until it is disabled or triggered. See .
RSICaptureMessageINVALID_EDGE The encoder edge trigger type is not valid. This message code is returned by if the encoder capture edge type is not a member of the enumeration.
RSICaptureMessageGLOBAL_CONFIG_ERR The global trigger configuration is not valid. This message code is returned by if the capture's trigger source is set to global and the capture's global trigger is enabled simultaneously. To correct this problem, either set the capture's trigger source to global or enable the capture's global trigger (not both).
RSICaptureMessageGLOBAL_ALREADY_ENABLED The global trigger is already enabled. This message code is returned by if a global trigger is already enabled on another capture on the same node. Only one global trigger enable is allowed per node. To prevent this problem, do not enable a second global trigger on a single node.
RSICaptureMessageCAPTURE_NOT_ENABLED The capture object's hardware resource is not available. This message code is returned by if the node hardware for the specified motor and encoder is not found. During controller and network initialization the nodes and motor count for each node is discovered and mapped to the controller's motor and capture objects. A capture object cannot be created if there is no mapped hardware to support it. To correct this problem, verify that all expected nodes were found. Use and to determine the node topology and motor count per node. Check the node hardware power and network connections.
RSICaptureMessageCAPTURE_STATE_INVALID This value is returned by when the communication between the controller and the capture logic on the node fails resulting in an invalid capture state. See .
RSICaptureMessageNOT_MAPPED The capture object's hardware resource is not available. This message code is returned by if the node hardware for the specified motor and encoder is not found. During controller and network initialization the nodes and motor count for each node is discovered and mapped to the controller's motor and capture objects. A capture object cannot be created if there is no mapped hardware to support it. To correct this problem, verify that all expected nodes were found. Use and to determine the node topology and motor count per node. Check the node hardware power and network connections.
RSICaptureMessageSECONDARY_INDEX_INVALID This message is returned from when the secondary encoder's index is specified as a trigger source in conjunction with other capture sources.
RSICaptureMessageUNSUPPORTED_PRIMARY The capture hardware does not support the primary encoder. This message code is returned by if the node hardware's primary encoder does not support the specified capture. To correct this problem, select a different motor, encoder, or capture number.
RSICaptureMessageUNSUPPORTED_SECONDARY The capture hardware does not support the secondary encoder. This message code is returned by if the node hardware's secondary encoder does not support the specified capture. To correct this problem, select a different motor, encoder, or capture number.
Client
RSIClientMessageFIRST First message in list of messages, placeholder only
RSIClientMessageCLIENT_INVALID Not supported.
RSIClientMessageMETHOD_INVALID The client method is out of range. This message code is returned by meiClientMethod(...) if the method number is not a member of the RSIRemoteMethod enumeration.
RSIClientMessageHEADER_INVALID The client packet header is not valid. This message code is returned by meiClientMethod(...) if the packet header is corrupted. This indicates a problem with the message transmission. Check your network hardware.
Command
RSICommandMessageFIRST First message in list of messages, placeholder only
RSICommandMessageCOMMAND_INVALID Not supported.
RSICommandMessageTYPE_INVALID The command type is not valid. This message code is returned by if the command type is not a member of the RSICommandType enumeration.
RSICommandMessagePARAM_INVALID Not supported.
Compensator
RSICompensatorMessageFIRST First message in list of messages, placeholder only
RSICompensatorMessageCOMPENSATOR_INVALID If the number used to in was not a valid number. Valid numbers range from 0 to RSIControlMAX_COMPENSATORS.
RSICompensatorMessageNOT_CONFIGURED RSI Compensator object must be configured before calling / or mpiCompensatorInfo.
RSICompensatorMessageNOT_ENABLED If the corresponding controller compensation object number is valid, but is disabled on the controller.
RSICompensatorMessageAXIS_NOT_ENABLED The axisOutNumber or any of the inputAxis[n].axisNumbers correspond to disabled Axis objects on the controller. See .
RSICompensatorMessageTABLE_SIZE_ERROR The host compenstation table will not fit within the controller's configured compensation table. See .
RSICompensatorMessagePOSITION_DELTA_INVALID The positionDelta argument is either out of range or is not a multiple of the range. See .
RSICompensatorMessageDIMENSION_NOT_SUPPORTED dimensionCount is out of range. See for more information.
Control
RSIControlMessageFIRST First message in list of messages, placeholder only.
RSIControlMessageLIBRARY_VERSION The RSI Library does not match the application. This message code is returned by if the RSI's library (DLL) version does not match the RSI header files that were compiled with the application. To correct this problem, the application must be recompiled using the same RSI software installation version that the application uses at run-time.
RSIControlMessageADDRESS_INVALID The controller address is not valid. This message code is returned by if the controller address is not within a valid memory range. only requires memory addresses for certain operating systems. To correct this problem, verify the controller memory address.
RSIControlMessageCONTROL_INVALID Not supported.
RSIControlMessageCONTROL_NUMBER_INVALID The controller number is out of range. This message code is returned by if the controller number is less than zero or greater than or equal to MaxBoards(8).
RSIControlMessageTYPE_INVALID The controller type is not valid. This message code is returned by if the controller type is not a member of the RSIControlType enumeration.
RSIControlMessageINTERRUPTS_DISABLED The controller interrupt is disabled. This message code is returned by if the controller's interrupt is not enabled. This prevents an application from waiting for an interrupt that will never be generated. To correct this problem, enable controller interrupts with before waiting for an interrupt.
RSIControlMessageEXTERNAL_MEMORY_OVERFLOW The controller's external memory will overflow. This message code is returned by if the dynamic memory allocation exceeds the external memory available on the controller. To correct the problem, reduce the number/size of control configuration resources or use a controller model with a larger static memory component.
RSIControlMessageADC_COUNT_INVALID The ADC count is not valid. This message code is returned by if the number of ADCs is greater than RSIXmpMAX_ADCs. The axis count is not valid. This message code is returned by if the number of axes is greater than RSIXmpMAX_Axes.
RSIControlMessageAXIS_FRAME_COUNT_INVALID This message is returned from if the value for RSIControlConfig.axisFrameCount is not a power of two or if axisFrameCount is less than RSIControlMIN_AXIS_FRAME_COUNT.
RSIControlMessageAXIS_FRAME_COUNT_INVALID This message is returned from mpiControlConfigSet() if the value for RSIControlConfig.axisFrameCount is not a power of two or if axisFrameCount is less than RSIControlMIN_AXIS_FRAME_COUNT.
RSIControlMessageCAPTURE_COUNT_INVALID The capture count is not valid. This message code is returned by if the number of captures is greater than RSIXmpMAX_Captures.
RSIControlMessageCOMPARE_COUNT_INVALID The compare count is not valid. This message code is returned by if the number of compares is greater than RSIXmpMAX_Compares.
RSIControlMessageCMDDAC_COUNT_INVALID The command DAC count is not valid. This message code is returned by if the number of command DACs is greater than RSIXmpMAX_DACs.
RSIControlMessageAUXDAC_COUNT_INVALID The auxiliary DAC count is not valid. This message code is returned by if the number of auxiliary DACs is greater than RSIXmpMAX_DACs.
RSIControlMessageFILTER_COUNT_INVALID The filter count is not valid. This message code is returned by if the number of filters is greater than RSIXmpMAX_Filters.
RSIControlMessageMOTION_COUNT_INVALID The motion count is not valid. This message code is returned by if the number of motions is greater than RSIXmpMAX_MSs.
RSIControlMessageMOTOR_COUNT_INVALID The motor count is not valid. This message code is returned by if the number of motors is greater than RSIXmpMAX_Motors.
RSIControlMessageSAMPLE_RATE_TO_LOW The controller sample rate is too small. This message code is returned by if the sample rate is less than 1000. SynqNet does not support cyclic data rates below 1kHz. The controller's sample rate specifies the SynqNet cyclic rate.
RSIControlMessageRECORDER_COUNT_INVALID The recorder count is not valid. This message code is returned by if the number of recorders is greater than RSIXmpMAX_Recorders.
RSIControlMessageCOMPENSATOR_COUNT_INVALID The compensator count is not valid. This message code is returned by if the number of compensators is greater than RSIControlMAX_COMPENSATORS.
RSIControlMessageAXIS_RUNNING Attempting to configure the control object while axes are running. It is recommended that all configuration of the control object occur prior to commanding motion.
RSIControlMessageRECORDER_RUNNING Attempting to configure the control object while a recorder is running. It is recommended that all configuration of the control object occur prior to operation of any recorder objects.
RSIControlMessageFIRMWARE_INVALID The controller firmware is not valid. This message code is returned by if the RSI library does not recognize the controller signature. After power-up or reset, the controller loads the firmware from flash memory. When the firmware executes, it writes a signature value into external memory. If does not recognize the signature, then the firmware did not execute properly. To correct this problem, download firmware and verify the controller hardware is working properly.
RSIControlMessageFIRMWARE_VERSION_NONE The controller firmware version is zero. This message code is returned by control methods do not find a firmware version. This indicates the firmware did not execute at controller power-up or reset. To correct this problem, download firmware and verify the controller hardware is working properly.
RSIControlMessageFIRMWARE_VERSION The controller firmware version does not match the software version. This message code is returned by control methods if the firmware version is not compatible with the RSI library. To correct this problem, either download compatible firmware or install a compatible RSI run-time library.
RSIControlMessageFPGA_SOCKETS The maximum number of FPGA socket types has been exceeded. This message code is returned by if the controller has more FPGA types than the controller has flash memory space to support them.
RSIControlMessageBAD_FPGA_SOCKET_DATA Not supported.
RSIControlMessageNO_FPGA_SOCKET The FPGA socket type does not exist. This message code is returned by if the controller does not support the FPGA type that was specified in the FPGA image file. To correct this problem, use a different FPGA image that is compatible with the controller.
RSIControlMessageINVALID_BLOCK_COUNT Not supported.
RSIControlMessageSYNQNET_OBJECTS Not supported.
RSIControlMessageSYNQNET_STATE The controller's SynqNet state is not expected. This message code is returned by , and if the SynqNet network initialization fails to reach the SYNQ state. To correct this problem, check your node hardware and network connections.
RSIControlMessageIO_BIT_INVALID The controller I/O bit is not valid. This message code is returned by or if the controller I/O bit is not a member of the enumeration.
DriveMap
RSIDriveMapMessageFIRST First message in list of messages, placeholder only.
RSIDriveMapMessageMAP_FILE_OPEN_ERROR The drive map file could not be opened. Either it doesn't exist or the user does not have permission to access it.
RSIDriveMapMessageMAP_FILE_FORMAT_INVALID The contents of the drive map file does not match the format of a drive map file.
RSIDriveMapMessageNODE_NOT_FOUND_IN_MAP The node type, specified by the "nodeName" parameter, was not found in the drive map file.
RSIDriveMapMessageVERSION_NOT_FOUND_IN_MAP The drive firmware version, specified by the "firmwareVersion" parameter, was not found in the drive map file.
RSIDriveMapMessageDRIVE_PARAM_READ_ONLY An attempt was made to modify a read-only drive parameter.
Element
RSIElementMessageFIRST Internal
RSIElementMessageELEMENT_INVALID The element is not valid. This message code is used internally to guarantee an element module and element number are valid.
Event
RSIEventMessageFIRST First message in list of messages, placeholder only.
RSIEventMessageEVENT_INVALID The event type is not valid. This message code is returned by if the event type is not a member of the or enumerations.
EventMgr
RSIEventMgrMessageFIRST First message in list of messages, placeholder only
RSIEventMgrMessageEVENTMGR_INVALID Not supported.
Filter
RSIFilterMessageFIRST First message in list of messages, placeholder only
RSIFilterMessageCONVERSION_DIV_BY_0 Returned when or cannot convert digital coefficients to analog coefficients. When this error occurs, the offending section(s) will report its type as RSIFilterTypeUNKNOWN and will not contain any analog data.
RSIFilterMessageFILTER_INVALID The filter number is out of range. This message code is returned by if the filter number is less than zero or greater than or equal to RSIXmpMAX_Filters.
RSIFilterMessageINVALID_ALGORITHM The filter algorithm is not valid. This message code is returned by if the filter algorithm is not a member of the RSIXmpAlgorithm enumeration (does not support integrators). This problem occurs if the filter type is set to user or an unknown type with .
RSIFilterMessageINVALID_DRATE The filter derivative rate is not valid. This message code is returned by if the filter derivative rate is less than 0 or greater than 7. NOTE: The derivative rate for all gain tables must be in the range [0,7], not just the derivative rate for the current gain table.
RSIFilterMessageINVALID_FILTER_FORM Returned when or cannot interpret the current postfilter's form (when the form is something other than NONE, IIR, or BIQUAD).
RSIFilterMessageINVALID_KA1 The filter Ka1 value is not valid. This message code is returned by if the filter Ka1 value is less than 0 or greater than or equal to 1 for the PIV algorithm.
RSIFilterMessageSECTION_NOT_ENABLED Returned when or attempt to read postfilter data when no postfilter sections are enabled.
Flash
RSIFlashMessageFIRST First message in list of messages, placeholder only
RSIFlashMessageFLASH_INVALID The flash object is not valid. This message code is returned by , , , or if the flash object's memory cache has not been allocated. The flash memory cache is allocated in . To prevent this problem, create flash objects with and check the return value.
RSIFlashMessageFLASH_VERIFY_ERROR The flash memory read failed. This message code is returned by if the read from flash memory does not match the read from the file. This indicates the specified flash file is different from the flash memory. This message code can also be returned from , since it calls . To correct this problem, first check that the specified file is the one you intended. If the specified file is correct, use to download the file.
RSIFlashMessageFLASH_WRITE_ERROR The flash memory write failed. This message code is returned by , , or if the flash memory write fails. This indicates a problem in the flash memory component or subsystem.
RSIFlashMessagePATH The flash file path is too long. This message code is returned by if the file path is longer than RSIFlashFileMaxPathChars. To correct this problem, use a shorter path.
RSIFlashMessageNETWORK_TOPOLOGY_ERROR The network topology has not been saved to flash. This message code is returned by object flash config set methods if the network topology has not been previously saved to flash. This message code serves as a warning of a potential safety problem. Saving object configurations to flash will cause those values to be sent to nodes during the next network intialization, even if the flash configurations are not compatible with the network topology. If the network topology is saved to flash, then the controller will automatically verify the topology before sending object configuration values to the nodes. To prevent this message code return, use to save the network topology to the controller's flash. For more information, please see .
List
RSIListMessageFIRST First message in list of messages, placeholder only
RSIListMessageLIST_INVALID List invalid.
RSIListMessageELEMENT_NOT_FOUND The element is not a member of the list. This message code is returned by meiListElement(...) if the index to the list is greater than or equal to the list count. This message code is used by the RSI internally to check object list handling.
RSIListMessageELEMENT_INVALID The element is not valid. This message code is returned by meiListInsertNow(...) or meiListRemoveNow(...) if the element cannot be inserted or removed from the list. This message code is used by the RSI internally to check object list handling.
Map
RSIMapMessageFIRST First message in list of messages, placeholder only.
RSIMapMessageNAME_INVALID The map name is not valid. This message code is returned by meiMapNameToParams(...) if the name is not a member of a map.
RSIMapMessageNAME_NOT_FOUND The map name is not found. This message code is returned by meiMapCreate(...), meiMapNameToParams(...), or meiMapNameParse(...) if the name is not found in the map.
RSIMapMessageINDEX_INVALID The map index is not valid. This message code is returned by meiMapNameToParams(...) if the map index is less than 0 or greater than or equal to the maximum instance count.
RSIMapMessageFILE_INVALID The map file is not valid. This message code is returned by meiMapNameParse(...) if the map file cannot be parsed.
Motion
RSIMotionMessageFIRST First message in list of messages, placeholder only.
RSIMotionMessageMOTION_INVALID The motion supervisor number is out of range. This message code is returned by if the motion supervisor number is less than zero or greater than or equal to RSIXmpMAX_MSs.
RSIMotionMessageAXIS_NOT_FOUND The specified axis object is not available. This message is returned from if the axis that is being removed is not a member of the motion object.
RSIMotionMessageAXIS_COUNT The number of axes is out of range. This message is returned from mpiMotionConfigSet(...), , or if there are no axes associated with the motion object or if the axis count exceeds RSIXmpMAX_COORD_AXES.
RSIMotionMessageAXIS_FRAME_COUNT The axis frame count invalid on this Motion object. All axes appended to a Motion object must have the same frame buffer size. The axis frame buffer sizes are configured with the low-level controller configuration routine .
RSIMotionMessageTYPE_INVALID The motion type or motion attribute is not valid. This message code is returned from or if the motion type or motion attribute mask is not recognized by the library. To correct the problem, select a motion type/attribute from the RSI and/or RSI enumerations.
RSIMotionMessageATTRIBUTE_INVALID The motion attribute is not valid. This message code is returned from or if the motion attribute mask is not compatible with the specified motion type. To correct the problem, do not use the motion attribute mask with the specified motion type or select a different motion type.
RSIMotionMessageIDLE All motion supervisor axes are not moving and are ready to move. This message code is returned from when the motion supervisor is in the IDLE state. A motion cannot be modified if no motion is in progress. To correct the problem, use the AUTO_START attribute for or use instead. This message code is also returned from when a STOP or RESUME is commanded when the motion supervisor is in the IDLE state. A motion cannot be stopped if there is no motion in progress and a motion cannot be resumed if there is no motion profile pending.
RSIMotionMessageMOVING At least one motion supervisor axis is moving. This message code is returned from when the motion supervisor is in the MOVING state. A motion cannot be started if a motion is in progress. To correct the problem, use instead. This message code is also returned from when a RESUME or RESET is commanded when the motion supervisor is in the MOVING state. A motion cannot be resumed or reset while a motion is in progress.
RSIMotionMessageSTOPPING Motion supervisor axes are stopping due to a STOP action. This message code is returned from or when the motion supervisor is in the STOPPING state. A motion cannot be commanded when a stop is in progress. This message code is also returned from when a RESUME or RESET is commanded when the motion supervisor is in the STOPPING state. A motion cannot be resumed or reset while a stop is in progress.
RSIMotionMessageSTOPPED Motion supervisor axes are stopped due to a STOP action. This message code is returned from when a STOP action is commanded while the motion supervisor is already in the STOPPED state.
RSIMotionMessageSTOPPING_ERROR Motion supervisor axes are stopping due to an E_STOP or ABORT action. This message code is returned from or when the motion supervisor is in the STOPPING_ERROR state. A motion cannot be commanded when a stopping on error action is in progress. This message code is also returned from when a RESUME or RESET is commanded when the motion supervisor is in the STOPPING state. A motion cannot be resumed or reset while a stopping on error action is in progress.
RSIMotionMessageERROR Motion supervisor axes are in an error state due to an E_STOP or ABORT action. This message code is returned from or when the motion supervisor is in the ERROR state. A motion cannot be commanded when the motion supervisor is in an error state. This message code is also returned from when a STOP or RESUME is commanded when the motion supervisor is in the ERROR state. To correct the problem, fix the condition that caused the E_STOP or ABORT action and then clear the ERROR state using with a RESET.
RSIMotionMessageAUTO_START The motion modify was automatically converted to a motion start. This message code is returned from m when the AUTO_START attribute mask was specified and the motion was commanded while the motion supervisor is in the IDLE state. This message code is useful for notifying an application of an auto-start, it is not an error condition.
RSIMotionMessageILLEGAL_DELAY Returned if a motion modify is called with a non-zero delay value and the RSIMotionAttrDELAY attribute is set while in motion. If it is currently not in motion and the AUTO_START attribute is set, this message will not be returned and the specified delay will be used at the beginning of the motion.
RSIMotionMessagePROFILE_ERROR The motion profile is not possible with the specified constraints. This message code is returned by when the NO_REVERSAL attribute mask is specified, but the specified target position is in the reverse direction. To correct the problem, either remove the NO_REVERSAL constraint or specify a target position that is in the same direction as the motion profile in progress.
RSIMotionMessagePROFILE_NOT_SUPPORTED The controller firmware does not support the specified motion profile type. This message code is returned by or when an S_CURVE_JERK or VELOCITY_JERK motion type is commanded, but not supported by the controller firmware. Due to programming memory space constraints, specific revisions of controller firmware may not support jerk motion types. To correct the problem, use the S_CURVE or VELOCITY motion instead.
RSIMotionMessagePATH_ERROR The specified multi-point motion path is not valid. This message code is returned by or when the final point is not specified or the time slice is less than one controller sample.
RSIMotionMessageFRAMES_LOW The controller's frame buffer is low. This message code is returned by meiMotionFramesLow(...). This is an internal message code used by the library to manage the frame buffering.
RSIMotionMessageFRAMES_EMPTY The controller's frame buffer is empty. This message code is returned by meiMotionFramesLow(...). This is an internal message code used by the library to manage the frame buffering.
RSIMotionMessageFRAME_BUFFER_TOO_SMALL When trying to start a cam, an insufficient amount of space was found on the controller. To remedy this problem, you can either reduce the number of points within the cam or increase the number of points in the frame buffer.
RSIMotionMessageRESERVED0 Reserved for specialized use.
RSIMotionMessageRESERVED1 Reserved for specialized use.
RSIMotionMessageRESERVED2 Reserved for specialized use.
RSIMotionMessageNO_AXES_MAPPED The motion object has no axes. This message code is returned by , or if there are no axes mapped to the motion object. To correct this problem, make sure there is at least one axis object associated with the motion object before commanding any motion or motion actions.
RSIMotionMessageBAD_PATH_DATA If any of the motion parameters passed to the RSI for path motion are infinite or NAN, the RSI will return RSIMotionMessageBAD_PATH_DATA and will not load the move to the controller.
Motor
RSIMotorMessageFIRST First message in list of messages, placeholder only.
RSIMotorMessageMOTOR_INVALID The motor number is out of range. This message code is returned by if the motor number is less than zero or greater than or equal to RSIXmpMAX_Motors.
RSIMotorMessageTYPE_INVALID The motor type is not valid. This message code is returned by / if the motor type is not a value defined in the enumeration . To avoid this error, use one of the defined motor types in .
RSIMotorMessageMOTOR_NOT_ENABLED The motor number is not active in the controller. This message code is returned by / if the specified motor is not enabled in the controller. To correct the problem, use to enable the motor object, by setting the motorCount to greater than the motor number. For example, to enable motor 0 to 3, set motorCount to 4.
RSIMotorMessageSECONDARY_ENCODER_NA The motor's secondary encoder is not available. This message code is returned by or if the encoder fault trigger is configured for a secondary encoder when the hardware does not support a secondary encoder. To correct the problem, do not select the secondary encoder when configuring the encoder fault conditions.
RSIMotorMessageHARDWARE_NOT_FOUND The motor object's hardware resource is not available. This message code is returned by / . if the node hardware for the motor is not found. During controller and network initialization the nodes and motor count for each node is discovered and mapped to the controller's motor objects. An application should not configure a motor object if there is no mapped hardware to receive the service commands. To correct this problem, verify that all expected nodes were found. Use and to determine the node topology and motor count per node. Check the node hardware power and network connections.
RSIMotorMessageSTEPPER_INVALID The motor object stepper configuration is not valid. These message codes are returned by if the motor type is configured for stepper while the disable action is configured for command position equals actual position. The disable action feature sets the command position equal to the actual position when the amp enable signal is set to disable. Stepper motor types are driven by a digital pulse, which is triggered by the controller's command position. Do not use disable action set to command equals actual with stepper motor types.
RSIMotorMessageDISABLE_ACTION_INVALID The motor object stepper configuration is not valid. These message codes are returned by if the motor type is configured for stepper while the disable action is configured for command position equals actual position. The disable action feature sets the command position equal to the actual position when the amp enable signal is set to disable. Stepper motor types are driven by a digital pulse, which is triggered by the controller's command position. Do not use disable action set to command equals actual with stepper motor types.
RSIMotorMessagePULSE_WIDTH_INVALID The motor object stepper pulse width is not valid. The pulse width must be no greater than 1 millisecond and no less than 100 nanoseconds.
RSIMotorMessageFEEDBACK_REVERSAL_NA Feedback reversal is not applicable or is not supported for the feedback type specified.
RSIMotorMessageFILTER_DISABLE_NA Disabling of filters is not applicable or is not supported for the feedback type specified.
RSIMotorMessagePHASE_FINDING_FAILED The phase finding procedure could not be initiated on the drive.
Notify
RSINotifyMessageFIRST First message in list of messages, placeholder only.
RSINotifyMessageNOTIFY_INVALID The notify object is not valid. This message code is returned by a notify method if the notify object handle is not valid. This problem can be caused by failed . To prevent this problem, check your notify objects after creation by using .
RSINotifyMessageWAIT_IN_PROGRESS The notify object is waiting for an event. This message code is returned by if the notify object is already waiting for an event in another thread. To prevent this problem, make sure a thread does not share notify objects with other threads.
Packet
RSIPacketMessageFIRST First message in list of messages, placeholder only.
RSIPacketMessagePACKET_INVALID Not supported.
RSIPacketMessageADDRESS_INVALID The server socket address is not valid. This message code is returned by or if the server name is not specified or the server address is not valid. This message code comes from a lower level routine, meiPacketClient(...). To correct the problem, make sure the server is operational and the server name or address is valid.
RSIPacketMessageCOMM_ERROR The socket communication failed. This message code is returned by a packet method that fails to send or receive data correctly. This usually indicates a hardware problem. To correct this problem, make sure your network hardware is functioning properly and all network connections are reliable.
RSIPacketMessageCONNECTION_CLOSED The socket communication connection is closed. This message code is returned by meiPacketRecv(...) or meiPacketSend(...) if zero bytes of data are sent or received. This usually means the socket communication was not opened or was closed. To correct this problem, make sure meiPacketCreate(...) was successful and that another thread did not close the socket connection.
RSIPacketMessageRECV_ERROR Not supported. See .
RSIPacketMessageSEND_ERROR Not supported. See .
Path
RSIPathMessageFIRST First message in list of messages, placeholder only.
RSIPathMessagePATH_INVALID The path object is not valid. This message code is returned by a path method if the path object handle is not valid. This problem can be caused by a failed . To prevent this problem, check your path objects after creation by using .
RSIPathMessageILLEGAL_DIMENSION The path dimensions are not valid. This message code is returned by or if the path dimension is less than one or greater than or equal to RSIPathPointDIMENSION_MAX. Also, this message code is returned if specific path element types have dimension restrictions. For example, the ARC type is limited to 2 dimensions and the ARC_END_POINT type is limited to 3 dimensions. To correct this problem, select an appropriate dimension for the path element type.
RSIPathMessageILLEGAL_ELEMENT The path element type is not valid. This message code is returned by if the specified path element type is not a member of the RSIPathElementType enumeration.
RSIPathMessageARC_ILLEGAL_DIMENSION Illegal arc dimension (too many axes in arc). Arc dimension is out of range. This message code occurs when the specified dimension is out of range. An arc element dimension must be 2.
RSIPathMessageHELIX_ILLEGAL_DIMENSION Not supported.
RSIPathMessageILLEGAL_RADIUS The path element arc radius is not valid. This message code is returned by if the ARC element radius is less than or equal to zero. To correct this problem, set the arc radius to a value greater than zero.
RSIPathMessagePATH_TOO_LONG The path length is not valid. This message code is returned by if the path length is greater than MAX_PATH_POINTS_MAX. To correct the problem, specify a path with fewer points than MAX_PATH_POINTS_MAX.
RSIPathMessageILLEGAL_VELOCITY The path element velocity is not valid. This message code is returned by if the specified velocity is less than or equal to zero. To correct this problem, set the element velocity to a value greater than zero.
RSIPathMessageILLEGAL_ACCELERATION The path element velocity is not valid. This message code is returned by if the specified velocity is less than or equal to zero. To correct this problem, set the element velocity to a value greater than zero.
RSIPathMessageILLEGAL_TIMESLICE The path element time slice is not valid. This message code is returned by if the specified time slice is less than or equal to zero. To correct this problem, set the element time slice to a value greater than zero.
RSIPathMessageINVALID_BLENDING The path element blending is not valid. This message code is returned by if the element blending is set to TRUE and the motion type does not support blending. To correct this problem, either set the element blending to FALSE or select a different motion type.
Platform
RSIPlatformMessageFIRST First message in list of messages, placeholder only.
RSIPlatformMessagePLATFORM_INVALID The platform object is not valid. This message code is returned by a platform method if the platform object handle is not valid. Most applications do not use the platform module. The RSI library uses the platform module internally. If an application needs a platform handle, use . Do NOT create your own platform object with .
RSIPlatformMessageDEVICE_INVALID The platform device driver is not valid. This message code is returned by or if the platform device handle is not valid. This message code comes from the lower level routines, meiPlatformInit(...) or meiPlatformDeviceClose(...). To correct the problem, make sure the device driver is installed and operational.
RSIPlatformMessageDEVICE_ERROR The platform device failed. This message code is returned by the platform methods that fail to access a controller via a device driver. It occurs if the specified board type is not a member of the enumeration. It also occurs if the device driver fails to read/write controller memory or there is an interrupt handling failure. To correct the problem, verify the platform has support for your controller and the device drive is installed and operational. Check for any resource conflicts (memory range, I/O port range, and interrupts) with other devices.
RSIPlatformMessageDEVICE_MAP_ERROR The platform device memory mapping failed. This message code is returned by or if the controller memory could not be mapped to the operating system's memory space. To correct this problem, verify there are no memory resource conflicts. Also, make sure the host computer and operating system have enough free memory for the controller (XMP-Series requires 8MB).
Probe
RSIProbeMessageFIRST First message in list of messages, placeholder only.
RSIProbeMessageNODE_INVALID The SynqNet node number is not available on the network. This message code is returned by RSI methods that fail a service command transaction due to the specified node number being greater than or equal to the total number of nodes discovered during network initialization. To correct this problem, check the discovered node count with . If the node count is not what you expected, check your network wiring, node condition, and re-initialize the network with .
RSIProbeMessagePROBE_TYPE_INVALID The Probe data type is not valid. This message is returned by mpiProbeConfigSet(...) if the specified Probe data type is not one of the enumerated values.
RSIProbeMessagePROBE_INVALID The Probe is not valid. This message is returned by or if the specified Probe params or configurations are out of range. To correct this problem, check your Probe params and config structures. The probe number specified was invalid. The likely cause of this is that the node you are referring to does not support the probe feature. Please refer to the node feature table to see if your node supports probe.
Recorder
RSIRecorderMessageFIRST First message in list of messages, placeholder only.
RSIRecorderMessageNO_RECORDERS_AVAIL This message code is returned when there are no more recorders available to create. If the (control, -1) is called to create the next available recorder object and either all 32 recorders have already been allocated or there are not enough recorders enabled on the controller, this error message will be returned. Check to make sure that enough recorders are enabled on the controller. To enable more recorders, use .
RSIRecorderMessageNOT_ENABLED This message code is returned by a recorder method when a specific recorder is not enabled on the controller. When a recorder number is explicitly requested when creating a recorder such as (control, 3) and the corresponding recorder is not enabled on the controller, this message will be returned.
RSIRecorderMessageRECORDER_INVALID The recorder object is not valid. This message code is returned by a recorder method if the recorder object handle is not valid. This problem can be caused by a failed . To prevent this problem, check your recorder objects after creation by using .
RSIRecorderMessageRUNNING This message is returned by and when an application attempts to configure a recorder that is currently running.
RSIRecorderMessageSTARTED The data recorder is already running. This message code is returned by if the data recorder has already been started. If this is a problem, call to stop the data recorder or wait for the recorder to collect the number of specified records and stop.
RSIRecorderMessageSTOPPED The data recorder is not running. This message code is returned by if the data recorder has already been stopped. If this is a problem, call to start the data recorder.
RSIRecorderMessageNOT_CONFIGURED The data recorder has not been configured. This message code is returned by if the data address count has not been configured. To correct this problem, configure the data recorder with .
Sequence
RSISequenceMessageFIRST First message in list of messages, placeholder only.
RSISequenceMessageSEQUENCE_INVALID The sequence number is out of range. This message code is returned by if the sequence number is less than zero or greater than or equal to RSIXmpMAX_PSs. This message code is also returned if the specified sequence number is not active in the controller. To correct this problem, use to enable the sequence object, by setting the sequenceCount to greater than the sequence number. For example, to enable sequence 0 to 3, set sequenceCount to 4. This message code is returned by if the sequence buffer size and the sequence page size are not equal. This indicates an internal RSI Library problem.
RSISequenceMessageCOMMAND_COUNT The sequence command count is out of range. This message code is returned by mpiSequenceStart(...) or meiSequenceCompile(...) if the sequence command count is less than or equal to zero. To correct this problem, set the command count to a value greater than zero.
RSISequenceMessageCOMMAND_NOT_FOUND The sequence command is not found. This message code is returned by , , or if the specified command is not a member of the sequence. To correct this problem, specify a command that is a member of the sequence.
RSISequenceMessageSTARTED The program sequencer is already running. This message code is returned by , , or if the program sequencer has already been started. If this is a problem, call to stop the program sequencer or monitor the sequence status and wait for the state to equal STOPPED.
RSISequenceMessageSTOPPED The program sequencer is not running. This message code is returned by if the program sequencer has already been stopped. If this is a problem, call to start the program sequencer.
Server
RSIServerMessageFIRST First message in list of messages, placeholder only.
RSIServerMessageSERVER_INVALID Not supported.
RSIServerMessageMETHOD_INVALID The server method is out of range. This message code is returned by meiServerMethod(...) if the method number is not a member of the RSIRemoteMethod enumeration.
RSIServerMessageHEADER_INVALID The server packet header is not valid. This message code is returned by meiServerMethod(...) if the packet header is corrupted. This indicates a problem with the message transmission. Check your network hardware. This message code can also be returned when there is an RSI version mismatch between the server.exe utility and the connecting client application.
SqNode
RSISqNodeMessageFIRST First message in list of messages, placeholder only.
RSISqNodeMessageINVALID The SqNode type is out of range. This message code is returned by SynqNet node methods if the node type is not a member of the SQNodeLibNodeType enumeration.
RSISqNodeMessageNODE_INVALID The node number is not available on the network. This message code is returned by RSI methods that fail a service command transaction due to the specified node number is greater than or equal to the total number of nodes discovered during network initialization. To correct this problem, check the discovered node count with . If the node count is not what you expected check your network wiring, node condition, and re-initialize the network with .
RSISqNodeMessageSTATE_ERROR Some methods can only be executed in SYNQ state. This message will be returned when the network is not in the expected network state (i.e ASYNQ state).
RSISqNodeMessageCONFIG_NETWORK_MISMATCH The type of map file specified in does not match the type of drive found on the network.
RSISqNodeMessageNOT_IN_CONFIG_FILE The parameter name or number specified in was not valid for the specified drive.
RSISqNodeMessageBOOT_FILE_NOT_FOUND The boot file "kollmorgen_ember.a00" was not found. When downloading drive images to Kollmorgen CD, DASA, and PicoDAD drives, a boot file is downloaded to the drive prior to the actual drive image. This boot file needs to be located in the same directory as the drive's image file that is provided for download.
RSISqNodeMessageMAP_CONFIG_MISMATCH The parameter name or number specified in was not valid for the specified drive.
RSISqNodeMessageCONFIG_FILE_FORMAT_INVALID A file with an incorrect format was used in .
RSISqNodeMessageRESPONSE_TIMEOUT The drive/node did not respond to the service command issued in a reasonable amount of time.
RSISqNodeMessageREADY_TIMEOUT The node/drive did not complete the hand shaking for the service command.
RSISqNodeMessageSRVC_ERROR There was an error in carrying out the service command issued.
RSISqNodeMessageSRVC_UNSUPPORTED The service command issued is either not supported or recognized by the drive.
RSISqNodeMessageSRVC_CHANNEL_INVALID Invalid service channel specified. See RSISqNodeCmdHeader.
RSISqNodeMessageCMD_NOT_SUPPORTED The service command is not supported by the node.
RSISqNodeMessageDISCOVERY_FAILURE Unable to discover node rescources.
RSISqNodeMessageDISPATCH_ERROR Is the default error code returned when a node specific routine has failed. Check the node FPGA version to verify whether or not it is correct.
RSISqNodeMessageINIT_FAILURE A node specific initialization routine was unable to successfully complete its routine. Verify that the node FPGA is the default version for your RSI version. See .
RSISqNodeMessageINTERFACE_ERROR1 This is an outdated node, which does not support the current discovery routine.
RSISqNodeMessageFILE_NODE_MISMATCH Node type does not match the file provided for download.
RSISqNodeMessageFILE_INVALID The file provided for download was not found or was corrupted.
RSISqNodeMessageINVALID_HEADER The header information in the download image is invalid. Please verify firmware file to be correct and retry download. If firmware file is correct please contact firmware manufacturer.
RSISqNodeMessageDOWNLOAD_FAIL Node firmware download failed. Verify that the firmware file is correct and retry the download. NOTE: A network reset my be required.
RSISqNodeMessageVERIFY_FAIL The node FPGA firmware does not match the FPGA image file.
RSISqNodeMessageDOWNLOAD_NOT_SUPPORTED The downloading of the node firmware (FPGA) image is not supported for this node.
RSISqNodeMessageVERIFY_NOT_SUPPORTED The Node specified for verification does not support the upload of the FPGA image. Therefore, the image cannot be verified.
RSISqNodeMessageBOOT_ROM_INVALID The SqNode Boot Rom identification or version is not recognized by the RSI.
RSISqNodeMessageINVALID_TABLE Invalid resource table in node module. This is a fatal error within the RSI. Please verify RSI and node FPGA versions to be correct and then contact RSI's Technical Support.
RSISqNodeMessageINVALID_STR_LEN An attempt to write information to the node has failed due to an invalid string length.
RSISqNodeMessageFEEDBACK_MAP_INVALID Returned from when the given secondary encoder (n) is not mappable to the motor on the node specified by RSISqNodeFeedbackSecondary[n].motorIndex. See .
RSISqNodeMessageNODE_FAILURE An attempt was made to access a SynqNet node that has a node failure event active.
RSISqNodeMessageEXCEEDED_MAXIMUM_SYNQNET_PACKET_LIMIT When initializing the SynqNet network one of the node requires a SynqNet packet larger that what can be supported.
RSISqNodeMessageIO_MODULE_INCOMPATIBILITY Two modules attached to a SQID node are incompatible. This error message code is returned when initializing a SQID node. Different types of I/O module may be incompatible and will not work on the same SQID node.
RSISqNodeMessageIO_MODULE_EEPROM_NOT_PROGRAMMED The EEPROM on one of the modules attached to a SQID node has not been programmed.
RSISqNodeMessageIO_MODULE_COUNT_EXCEEDED The maximum number of I/O that can be supported by a SQID node has been exceeded.
RSISqNodeMessageIO_MODULE_LENGTH_CHECK_FAILED When initializing an SQIO node, checks are performed to confirm that the node actually supports the correct number of I/O. This error is returned when one of these tests fails. An error will occur when the length of at least one of the inter module (SPI) buses did not match the length calculated from data held in the module EEPROMs. This error message can be returned by RSI functions that reset the SynqNet Network such as, , , . This error can ONLY be generated by SQIO nodes. This fault can also be caused by a poor electrical connection between the SQID and the I/O modules. If the modules are firmly connected and the error persists then you will need to contact your supplier of the I/O Modules to correct the hardware.
RSISqNodeMessageIO_MODULE_3_3V_BUS_CURRENT_EXCEEDED During the initialization of the modules attached to a SQID node, the maximum current that can be drawn from the inter module 3.3V bus exceeds the allowable current.
RSISqNodeMessageIO_MODULE_24V_BUS_CURRENT_EXCEEDED During the initialization of the modules attached to a SQID node, the maximum current that can be drawn from the inter module 5V bus exceeds the allowable current.
RSISqNodeMessageIO_SLICE_INITIALIZATION_FAULT An error was encountered while initalizing the slice node.
RSISqNodeMessageIO_SLICE_INITIALIZATION_FAULT_TOO_MANY_SLICES Slice I/O nodes can only support 32 slices attached to the network adapter. This error is returned when more than 32 slices are detected.
RSISqNodeMessageIO_SLICE_INITIALIZATION_TIMEOUT The slice node did not initalize within the expected time.
RSISqNodeMessageIO_SLICE_INITIALIZATION_FAULT_VENDOR_MISMATCH A slice is attached to the node that is not supplied by RSI. You can only use slices supplied by RSI.
RSISqNodeMessageIO_SLICE_TOPOLOGY_MISMATCH When attempting to restore the slice parameters to the attached slices of a Slice I/O node, the arrangement of slices did not match the expected arrangement. If you wish to clear the previous slice parameters, you can stop this error by calling .
RSISqNodeMessageIO_SLICE_SERVICE_RECEIVE_ERROR When attempting to access data on Slice I/O, a communication fault was detected. The message received from the slice was badly formed, errors include CRC and missing start/stop bits.
RSISqNodeMessageIO_SLICE_SERVICE_TOO_MANY_CHAR When attempting to access data on Slice I/O, a communication fault was detected. The slice returned too many characters when responding to this request.
RSISqNodeMessageIO_SLICE_SERVICE_BUS_ERROR_CODE When attempting to access data on Slice I/O, a communication fault was detected. The slice returned an error code.
RSISqNodeMessageIO_SLICE_SERVICE_UNKNOWN_FAULT_CODE When attempting to access data on Slice I/O, a communication fault was detected. An unknown fault was detected when accessing this slice.
RSISqNodeMessageIO_SLICE_SERVICE_RESOURCE_UNAVAILABLE When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the requested data.
RSISqNodeMessageIO_SLICE_SERVICE_NOT_SUPPORTED When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the action requested on this data. For example, a read or write.
RSISqNodeMessageIO_SLICE_SERVICE_INVALID_ATTRIBUTE_VALUE When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the requested data.
RSISqNodeMessageIO_SLICE_SERVICE_ALREADY_IN_MODE When attempting to access data on Slice I/O, a communication fault was detected. The slice is already in the requested mode.
RSISqNodeMessageIO_SLICE_SERVICE_STATE_CONFLICT When attempting to access data on Slice I/O, a communication fault was detected. The slice can not perform the requested action in its current state.
RSISqNodeMessageIO_SLICE_SERVICE_ATTRIBUTE_NOT_SETTABLE When attempting to access data on Slice I/O, a communication fault was detected. You cannot modify the data on this slice.
RSISqNodeMessageIO_SLICE_SERVICE_NOT_ENOUGH_DATA When attempting to access data on Slice I/O, a communication fault was detected. Not enough data was supplied to the slice for this operation.
RSISqNodeMessageIO_SLICE_SERVICE_ATTRIBUTE_NOT_SUPPORTED When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the requested data.
RSISqNodeMessageIO_SLICE_SERVICE_TOO_MUCH_DATA When attempting to access data on Slice I/O, a communication fault was detected. Too much data was supplied to the slice for this operation.
RSISqNodeMessageIO_SLICE_SERVICE_OBJECT_DOES_NOT_EXIST When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the requested data.
RSISqNodeMessageIO_SLICE_SERVICE_INVALID_PARAMETER When attempting to access data on Slice I/O, a communication fault was detected. The slice does not support the specified parameter.
RSISqNodeMessageIO_SLICE_SERVICE_STORE_OPERATION_FAILURE When attempting to access data on Slice I/O, a communication fault was detected. The slice failed during a store operation.
RSISqNodeMessageIO_SLICE_SERVICE_UNKNOWN_ERROR_CODE When attempting to access data on Slice I/O, a communication fault was detected. The error code from the slice was not recognized.
RSISqNodeMessageIO_SLICE_SERVICE_TIMEOUT When attempting to access data on Slice I/O, a communication fault was detected. The operation on the slice exceeded the timeout threshold.
RSISqNodeMessageIO_SLICE_SERVICE_RESPONSE_FORMAT When attempting to access data on Slice I/O, a communication fault was detected. The response from the slice was not formatted correctly.
RSISqNodeMessageIO_SLICE_SERVICE_EEPROM_FORMAT The data held on the EEPROM on the network adaptor was not formatted correctly.
RSISqNodeMessageIO_SLICE_SERVICE_TOO_MUCH_IO When attempting to access data on Slice I/O, a communication fault was detected. You should remove some slices to stop this error message from being generated.
RSISqNodeMessagePARAM_READ_ONLY The drive parameter that the user is attempting to set is read only.
RSISqNodeMessagePARAM_LOCKED The drive parameter that the user is attempting to set is not accessible. SelSFDParam must be set to 0, otherwise the SFD motor parameters will be used.
RSISqNodeMessageMONITOR_INDEX Drive does not support the configuring of Monitors through indexing.
RSISqNodeMessageMONITOR_ADDRESS Drive does not support the configuring of Monitors through addressing.
SynqNet
RSISynqNetMessageFIRST First message in list of messages, placeholder only.
RSISynqNetMessageSYNQNET_INVALID The SynqNet number is out of range. This message code is returned by if the SynqNet network number is less than zero or greater than or equal to RSIXmpMaxSynqNets.
RSISynqNetMessageMAX_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 RSIXmpMaxSynqNetBlocks.
RSISynqNetMessageSTATE_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 RSIXmpSynqNetState or RSIXmpSynqNetInternalState enumeration. The most commonly used methods that initialize the SynqNet network are: , and . This message code indicates a failure in the controller's initialization sequence. To correct this problem, call .
RSISynqNetMessageCOMM_ERROR The SynqNet network communication failed. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_CRC The SynqNet network communication failed due to excessive CRC errors. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_RX The SynqNet network communication failed due to a Rincon receive error. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_RX_LEN The SynqNet network communication failed due to a Rincon receive length error. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_RX_FIFO The SynqNet network communication failed due to a Rincon receive buffer error. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_RX_DRIBBLE The SynqNet network communication failed due to a Rincon receive dribble error. This message code is returned by RSI 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.
RSISynqNetMessageCOMM_ERROR_RX_CRC The SynqNet network communication failed due to a Rincon receive CRC error. This message code is returned by RSI 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.
RSISynqNetMessageINTERFACE_NOT_FOUND The controller does not support a SynqNet interface. This message code is returned by , , , , and if the controller does not have a SynqNet hardware interface. To correct this problem, use a controller that supports SynqNet.
RSISynqNetMessageTOPOLOGY_MISMATCH The network topology does not match the expected network topology. This message code is returned by or 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 .
RSISynqNetMessageTOPOLOGY_MISMATCH_FLASH The network topology does not match the expected network topology. This message code is returned by or 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 it's dynamic memory. Later, when 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 .
RSISynqNetMessageRESET_REQ_TIMEOUT The network reset request packet exceeded the timeout. This message code is returned by , , or 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.
RSISynqNetMessageRESET_ACK_TIMEOUT The network reset complete packet exceeded the timeout. This message code is returned by , , or 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.
RSISynqNetMessageDISCOVERY_TIMEOUT The network topology discovery exceeded the timeout. This message code is returned by , , or 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.
RSISynqNetMessageNO_NODES_FOUND The controller did not find network nodes. This message code is returned by , , or 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.
RSISynqNetMessageNO_TIMING_DATA_AVAIL The corresponding SynqNet node module does not contain timing data, so the network cannot be initialized. Contact RSI or drive manufacturer for an updated node module.
RSISynqNetMessageINCOMPLETE_MOTOR This message is returned by , when the packet configuration contains a motor configuration that is missing feedback or command fields.
RSISynqNetMessageINTERNAL_BUFFER_OVERFLOW The controller's SynqNet buffer size was exceeded. This message code is returned by , 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.
RSISynqNetMessageINVALID_MOTOR_COUNT This message is returned by meiSynqNetPacketConfigSet(...), when the packet configuration contains more motors than supported by the node.
RSISynqNetMessageINVALID_AUX_ENC_COUNT This message is returned by , when the packet configuration contains more secondary encoders than supported by the node.
RSISynqNetMessageINVALID_COMMAND_CFG This message is returned by , when the packet configuration contains a different command configuration than is supported by the node.
RSISynqNetMessageINVALID_PULSE_ENGINE_COUNT This message is returned by , when the packet configuration contains an illegal number of pulse engines.
RSISynqNetMessageINVALID_ENCODER_COUNT This message is returned by , when the packet configuration contains more encoders than supported by the node.
RSISynqNetMessageINVALID_CAPTURE_COUNT This message is returned by , when the packet configuration contains a larger capture count than is supported by the node.
RSISynqNetMessageINVALID_COMPARE_COUNT This message is returned by , when the packet configuration contains a larger compare count than is supported by the node.
RSISynqNetMessageINVALID_INPUT_COUNT This message is returned by , when the packet configuration contains a larger ioInput count than is supported by the node.
RSISynqNetMessageINVALID_OUTPUT_COUNT This message is returned by , when the packet configuration contains a larger ioOutput count than is supported by the node.
RSISynqNetMessageINVALID_MONITOR_CFG This message is returned by , when the packet configuration contains more monitor fields than the node can support.
RSISynqNetMessageINVALID_ANALOG_IN_COUNT This message is returned by , when the packet configuration contains a larger analogIn count than is supported by the node.
RSISynqNetMessageINVALID_DIGITAL_IN_COUNT This message is returned by , when the packet configuration contains a larger digitalIn count than is supported by the node.
RSISynqNetMessageINVALID_DIGITAL_OUT_COUNT This message is returned by , when the packet configuration contains a larger digitalOut count than is supported by the node.
RSISynqNetMessageINVALID_ANALOG_OUT_COUNT This message is returned by , when the packet configuration contains a larger analogOut count than is supported by the node.
RSISynqNetMessageLINK_NOT_IDLE This message is returned by when the cable number supplied is not the idle link. The status check can only be run on an idle cable. See .
RSISynqNetMessageIDLE_LINK_UNKNOWN This message is returned by 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.
RSISynqNetMessageRING_ONLY This message is returned by and because idle cables exist on ring topologies only. It is also returned by when attempting to enable SynqNet recovery mode, which is only supported for ring topologies.
RSISynqNetMessageRECOVERING The network is recovering from a fault condition. This message is returned by 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 .
RSISynqNetMessageCABLE_LENGTH_UNSUPPORTED This message is returned when a cable on the network is too long.
RSISynqNetMessageCABLE_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 RSISynqNetConfig.cableLength[n].minimum and maximum. Check cable length (if necessary) and save new cable length values to flash. See .
RSISynqNetMessageCABLE_LENGTH_INVALID_NOMINAL The nominal cable length is too long.
RSISynqNetMessageCABLE_LENGTH_INVALID_MIN The minimum cable length is too long or exceeds nominal value.
RSISynqNetMessageCABLE_LENGTH_INVALID_MAX The maximum cable length is too long or is less than nominal value.
RSISynqNetMessageNODE_FPGA_VERSION The node FGPA version is out of date. Use sqNodeFlash.exe to load most current FPGA version to node.
RSISynqNetMessageMAX_MOTOR_ERROR The number of motors on the network exceeds the number set by .
RSISynqNetMessagePLL_ERROR The node PLL is unable to lock with drive.
RSISynqNetMessageNODE_INIT_FAIL A node specific initialization routine was unable to complete successfully. Verify node FPGA is the default version for your RSI version. See .
RSISynqNetMessageTOPOLOGY_CLEAR An attempt to clear the saved network topology was made when no network topology has been saved.
RSISynqNetMessageTOPOLOGY_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.
RSISynqNetMessageTOPOLOGY_AMPS_ENABLED An and routine has been called while one or more motor amplifiers are enabled. Disables all motor amplifiers () before calling these low-level routines. To avoid this error message, disable the motor(s) amp enable before calling meiSynqNetFlashTopologySave/Clear.
RSISynqNetMessageNODE_MAC_VERSION A node on the network has an incompatible MAC version. Use to load the correct node .sff file that came with your RSI release.
RSISynqNetMessageADC_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 and ) or decrease your controller sample rate (see and ).
RSISynqNetMessageSCHEDULING_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
RSISynqNetMessageINVALID_PROBE_CFG This message is returned by , when the RSISynqNetPacketCfgProbe.count contains a larger count than is supported by the node. See .
RSISynqNetMessageINVALID_PROBE_DEPTH This message is returned by , when the RSISynqNetPacketCfgProbe.depth contains a larger count than is supported by the node. See .