Error Codes

From Wiki

Error codes are used to describe different error conditions. This article explains the error codes that can occur.

Most error codes are either hardware errors or kinematic errors. Most other errors, e.g. robot program errors, are signaled as a message without a code, as described in CRI Ethernet Interface.

Hardware Error Codes

This kind of error originates from the hardware modules and therefore depends on the hardware protocol.

CPRog/iRC displays a summary of all module error codes at the left side next to the 3D view. Check the information tab at the bottom for the error code of each axis.


The error code can be a combination of the following. Some codes have alternative names that may be mentioned in older software versions.

The bit code is relevant for CRI and Modbus users: The error codes are transmitted as bitfields.

Bit Code Description Hints
0x00 NoError No error Axis is enabled and ready for operation
0x01 ESTOP / TEMP Emergency stop pressed / temperature limit exceeded Check the fan at the axis modules, lower the motor current
0x02 ESTOP / LOWV Emergency stop pressed / low voltage Low or no motor voltage at the axis modules. Check the e-stop, the fuse, plugs and wires
0x04 MNE Motor not enabled No error, the motor is ready to be enabled
0x08 COM Communication watchdog Module missed some messages; expected state after startup
0x10 LAG Position lag Axis could not follow target: too fast, load too heavy, current too low
0x20 ENC Encoder error Defective encoder or cable, emergency stop, motor blocked, too fast, load too heavy, current too low
0x40 OC Over current Current limit exceeded
0x80 DRV / GEN Driver / general error Contact support
0x100 BUS Bus dead CAN bus issue, no responses received; check CAN bus wiring and module power
0x200 DEAD Module dead A module did not respond; check CAN ID at the module and configuration, too many modules configured (I/O, external axes)?
0x1000 NOTREADY Joint not ready This error should disappear shortly after enabling once the joints are aligned. Alignment may be prevented when the motor current is missing, e.g. when the estop is pushed.
ERR unknown error This error appears if the error code is not known to the robot control software. Please update.


CANopen uses a different error code scheme, however the robot control translates most codes to the CPRCANv2 format. Additionally the following CANopen status codes are displayed.

If your robot control gets stuck in an unexpected state check the firmware and configuration of your axis controllers. If an axis e.g. exceeded the software limit or if a limit switch is triggered the axis may constantly return to that error state.

Code Description Hints
not inited hardware is not initialized yet this should not occur
startup axis is starting up this should not occur
not_ready_to_switch_on see CANopen state machine initializing or error if stuck
switch_on_disabled see CANopen state machine initialized, motors not powered yet
ready_to_switch_on see CANopen state machine initialized, motors not powered yet
switched_on see CANopen state machine motors are powered but motion is not yet enabled
operation_enabled see CANopen state machine motors are enabled and ready for operation
quick_stop_active see CANopen state machine an error occured
fault_reaction_active see CANopen state machine an error occured
fault see CANopen state machine an error occured
homing axis is in homing / referencing mode wait until referencing is done or do a reset to return to operation mode

Kinematic Error Codes

These errors are caused by the kinematic calculation, e.g. when the target position can not be reached or when a mathematical error ocured.

See also Singularities and Kinematic Limits for more detailed explanations and solutions.

Code Description Hints
0 No error
13 Joint limit min reached an axis reached it's lower limit
14 Joint limit max reached an axis reached it's upper limit
21 Center singularity robot arm is too close to vertical center axis, change to joint motion
22 Out of reach cartesian position can not be reached, try joint motion
23 Wrist singularity wrist joint of 6 axis arm can not be extended completely in cartesian mode, change to joint motion
30 Virtual box violated in X+ reached virtual box max X position
31 Virtual box violated in X- reached virtual box min X position
32 Virtual box violated in Y+ reached virtual box max Y position
33 Virtual box violated in Y- reached virtual box min Y position
34 Virtual box violated in Z+ reached virtual box max Z position
35 Virtual box violated in Z- reached virtual box min Z position
50 NAN value in joint position a mathematical error occured, contact support
99 Motion not allowed a hardware error occured

igus ReBeL status light

The ReBeL arm shows status information at its power switch. It's meaning is explained in Igus ReBeL.