ABB Robot Error Codes
The IRC5 event log numbers that stop an ABB robot cell most often: what the number tells you, what each event means, the likely causes, the first checks in order, and how to log it so the same stop does not come back next week.
How ABB numbers its events
IRC5 events show in the FlexPendant event log (tap the status bar, then Event Log, then tap an entry to see its description, consequences, probable causes and recommended actions), and the same log can be read, saved and printed from RobotStudio (sources 1, 3).
ABB uses three event types: Information (logged, no action needed), Warning (something may not be right but operation continues) and Error (something is seriously wrong and operation has stopped, act now) (sources 1, 5).
The event number tells you which part of the system raised it: the leading digit or digits give the number series, for example 1xxxx operational, 2xxxx system, 3xxxx hardware, 5xxxx motion and 9xxxx functional safety, with six-digit series such as 11xxxx process events (sources 1, 4).
The FlexPendant log keeps up to 20 entries per category and 1000 in the all-events list, and older entries are overwritten and lost, so save the log before clearing it (source 3).
Never stand under the arm if the holding brakes are suspect or have been released; support the arm by other means first, because a collapsing arm can kill or seriously injure (source 2).
After a collision or emergency stop, make sure the hazardous situation is gone, reset the device that stopped the robot, check that nobody is inside the working range and only then press Motors ON and Start (source 3). Follow lockout/tagout and your site's safe-work procedures, and check the manual for your exact model before you act.
Quick lookup
Errors stop the robot and count as availability loss in OEE, warnings let it keep running until you act, and info events only record a change of state.
Type a number or a word (collision, SMB, battery, brake) to filter the list. Click a number for its causes and first checks.
40 codes
| Code | Type | Title |
|---|---|---|
| 10012 | Info | Safety guard stop state |
| 10013 | Info | Emergency stop state |
| 10014 | Error | System failure state |
| 10020 | Error | Execution error state |
| 10024 | Info | Collision triggered |
| 10027 | Error | Collision retraction fail |
| 10036 | Warning | Revolution counter not updated |
| 10039 | Warning | Robot memory is not OK |
| 20010 | Error | Emergency stop state |
| 20025 | Warning | Stop order timeout |
| 20031 | Error | Axis not calibrated. |
| 20032 | Error | Rev. counter not updated |
| 20192 | Warning | Disk memory low |
| 34200 | Error | Lost communication with all drive units |
| 34203 | Error | Motor current too high |
| 34306 | Error | Drive unit temperature error |
| 34316 | Error | Motor current error |
| 34402 | Error | DC link voltage too low |
| 37001 | Error | Motors ON contactor activation error |
| 37056 | Warning | Cooling fan error |
| 38103 | Error | Lost communication with the SMB |
| 38200 | Warning | Battery backup lost |
| 38213 | Warning | Battery charge low |
| 39520 | Error | Communication lost with Drive Module |
| 50021 | Error | Joint position error |
| 50024 | Warning | Corner path failure |
| 50026 | Error | Close to singularity |
| 50050 | Error | Position outside reach |
| 50052 | Error | Joint speed error |
| 50053 | Error | Too large revolution counter difference |
| 50055 | Error | Joint load too high |
| 50056 | Error | Joint collision |
| 50057 | Error | Joint not synchronized |
| 50204 | Error | Motion supervision |
| 50296 | Error | Robot memory data difference |
| 50415 | Error | Motor temperature error |
| 71058 | Error | Lost communication with I/O device |
| 90203 | Error | Enabling Device open |
| 90205 | Error | Auto Stop open |
| 90206 | Error | General Stop open |
Each event: causes and first checks
Event 10012: Safety guard stop state
Logged state: find out why the cell stoppedWhat it means: The robot is in guard stop: the Motors ON circuit was opened by a safeguard stop input (General, Auto or Superior Stop), by switching from Automatic to Manual, or by releasing the enabling device in manual mode, and the axes are held by the brakes.[1][3]
Likely causes
- A safeguard wired to the controller stop inputs opened, such as a cell gate, light curtain or safety mat
- The mode selector was switched from Automatic to Manual
- The FlexPendant enabling device was released while in manual mode
First checks, in this order
- Look at the events logged at the same moment (for example 90205 Auto Stop open or 90206 General Stop open) to find which safety device opened
- Make sure the cell is clear, then close or reset that device
- Switch back to Motors ON and restart the program
Event 10013: Emergency stop state
Logged state: find out why the cell stoppedWhat it means: An emergency stop device opened the Motors ON circuit, so all program execution and robot motion stopped at once and the axes are held by the mechanical brakes.[1][3]
Likely causes
- The emergency stop button on the FlexPendant or on the controller was pressed
- An external emergency stop device added by the cell builder opened
First checks, in this order
- Make sure the hazard that caused the stop no longer exists
- Find the emergency stop device that tripped and release its latch (twist or pull the button, or reset the automatic device as the cell documentation describes)
- Press the Motors ON button on the controller, then restart
Event 10014: System failure state
Hits OEE: AvailabilityWhat it means: All normal tasks stopped because of a malfunction, and no program start or jogging is possible until the controller is restarted.[1]
Likely causes
- Many different faults can put the system in this state; the real cause is a separate event logged at the same time
- Hardware faults such as lost SMB communication (38103) are documented as sending the system to system failure state
First checks, in this order
- Open the event log and read the events logged just before and with this one to find the original fault
- Fix that fault
- Restart the controller as described in the operating manual
Event 10020: Execution error state
Hits OEE: AvailabilityWhat it means: Program execution in a task stopped because of an unexpected error, and the program cannot run until the error is cleared.[1]
Likely causes
- ABB states that a large number of malfunctions can cause it
- The actual cause is another event logged at the same time
First checks, in this order
- Find the event logged at the same moment in the FlexPendant or RobotStudio event log
- Fix that cause
- If needed, move the program pointer to main before pressing Start
Event 10024: Collision triggered
Logged state: find out why the cell stoppedWhat it means: Collision detection found that part of the robot hit fixed equipment in the cell, so motion was interrupted and the program stopped.[1][4][6]
Likely causes
- The robot or tool hit a fixture, part, clamp or other equipment
- Typical cases ABB lists: welding wire stuck to the part, weld gun tip sticking, clamps not closed, gripper closed by mistake, jogging in the wrong direction
- Incorrect load data, which also trips the supervision (see 50204)
First checks, in this order
- Make the cell safe before entering and look at what the robot touched
- Read the motion events logged at the same time (for example 50204 Motion supervision or 50056 Joint collision) to see which axis tripped
- Remove the obstacle or jog the robot clear in manual mode, check the tool for damage, then restart
Event 10027: Collision retraction fail
Hits OEE: AvailabilityWhat it means: After a collision the robot tried to back away from the obstacle and could not, so it is not ready to return to normal operation.[1][4]
Likely causes
- The robot is stuck to the object it hit
- In welding cells this can be stuck wire or a stuck gun tip, which ABB names as common collision cases
First checks, in this order
- Switch to manual mode
- Jog the robot carefully away from the object
- Check the tool and the object for damage, then restart the program
Event 10036: Revolution counter not updated
Warning: act before it becomes a stopWhat it means: At startup the controller found that the revolution counters of one or more axes are not updated, and all of them must be updated before the robot can run.[1][3]
Likely causes
- A motor or related unit was changed, for example after replacing a faulty part
- The SMB battery backup was lost, which erases the revolution counter data (see 38200)
- The arm was moved by hand while the power was off (see 50053)
First checks, in this order
- Jog each affected axis to its calibration (sync) marks as shown in the robot product manual
- On the FlexPendant: ABB menu, Calibration, select the mechanical unit, Rev. Counters, Update Revolution Counters, select the axes, Update
- Check the calibration position carefully after the update before running production
Event 10039: Robot memory is not OK
Warning: act before it becomes a stopWhat it means: At startup the data stored in the robot memory (on the serial measurement board) does not match the controller, so jogging works but automatic operation is blocked; in RobotWare 5 this message was called SMB memory is not OK.[1][2]
Likely causes
- The SMB board in the robot was replaced
- The controller was replaced
- Both were replaced, so robot and controller data differ
First checks, in this order
- Check the robot memory status on the FlexPendant
- Confirm the serial number loaded in the controller belongs to the robot that is connected
- Update the robot memory as described in the operating manual for the controller (see 50296 for which direction to transfer)
Event 20010: Emergency stop state
Hits OEE: AvailabilityWhat it means: Someone tried to operate the robot while the emergency stop circuit was still broken, so the system stays in Waiting for Motors ON after emergency stop.[1]
Likely causes
- Start, jog or the enabling device was used before the emergency stop was reset
- Motors ON was not pressed after resetting the emergency stop
First checks, in this order
- Reset the emergency stop device that caused the stop
- Press the Motors ON button on the controller
- Then start or jog again
Event 20025: Stop order timeout
Warning: act before it becomes a stopWhat it means: A stop request was not acknowledged within the expected time, so the controller carried it out as a forced guard stop.[1][2]
Likely causes
- ABB gives no specific probable cause for this message
- It can be a follow-on of another stop or fault; ABB's troubleshooting method is to separate the original symptom from the consequential ones
First checks, in this order
- Read the events logged at the same moment and fix the first one
- Reset the guard stop and restart
- If it keeps returning with no other event, save the event log and a system diagnostics file for ABB support
Event 20031: Axis not calibrated.
Hits OEE: AvailabilityWhat it means: One or more absolute or relative measurement axes are not calibrated, so the action you asked for is not allowed.[1][3]
Likely causes
- A motor or related unit was changed, for example after replacing a faulty part (cause given for the matching event 10035 Axis not calibrated)
First checks, in this order
- Check in the Calibration menu which axes are not calibrated
- Calibrate those axes as described in the robot product manual
- Check the calibration position before running production
Event 20032: Rev. counter not updated
Hits OEE: AvailabilityWhat it means: The revolution counter is not updated, so one or more absolute measurement axes are not synchronized and the robot does not know its exact position.[1][3]
Likely causes
- SMB battery backup lost or battery run down (38200, 38213)
- Communication with the SMB was lost, which loses the calibration information (38101, 38103)
- A motor or related unit was replaced (10036)
First checks, in this order
- Jog the axes to their sync marks
- Update the revolution counters: ABB menu, Calibration, select the unit, Rev. Counters, Update Revolution Counters
- Check the calibration position, then fix the battery or cable cause so the message does not come back
Event 20192: Disk memory low
Warning: act before it becomes a stopWhat it means: Free space on the controller disk is under 25 MB, and at 10 MB RAPID program execution stops.[1]
Likely causes
- Too much data stored on the controller disk
- Files that should live on a network disk or USB memory are kept on the controller
First checks, in this order
- Save the files you need to another disk on the network or to USB memory
- Erase data you no longer need from the controller disk
Event 34200: Lost communication with all drive units
Hits OEE: AvailabilityWhat it means: In a drive module the axis computer lost contact with every drive unit, so the system goes to Motors Off with zero torque.[1]
Likely causes
- Loose or faulty communication cable between drive units and axis computer
- Drive units without logic power, for example a power supply unit fault
- Damaged Ethernet cable
First checks, in this order
- Check that all cables are properly connected
- Check that the drive units have logic power and that the power supply unit gives its 24 V output
- Check or replace the Ethernet cables
- Look for power supply unit events in the event log
Event 34203: Motor current too high
Hits OEE: AvailabilityWhat it means: The motor current for one joint is too high, so the system goes to Motors Off until the fault is corrected.[1]
Likely causes
- Collision or stalled motor
- Axis load too high for the motor
- Incorrect motor configuration
- Short circuit between motor phases or to ground
First checks, in this order
- Check that the robot has not collided and the axis is free
- Check that the axis load is not too high and, if possible, reduce the program speed
- Check the motor configuration
- With the cables disconnected, measure the resistance of the motor cable and motor
Event 34306: Drive unit temperature error
Hits OEE: AvailabilityWhat it means: The drive unit for one joint is too hot, so the system goes to Motors Off until it is fixed.[1]
Likely causes
- Cooling fans faulty or air flow blocked
- Dust on the cooling fins
- Ambient temperature too high
- The joint runs at high torque for long periods
First checks, in this order
- Check that the fans run and the air flow is not blocked
- Clean the cooling fins
- Check the ambient temperature against the cabinet rating
- Reduce hard accelerations and decelerations in the program, or static torque from gravity or external forces
Event 34316: Motor current error
Hits OEE: AvailabilityWhat it means: For one joint the current controller saw too large a deviation in motor torque current, so the system goes to Motors Off.[1]
Likely causes
- Motor cables damaged or badly connected
- Short circuit in the motor cable, phase to phase or phase to ground
- DC link voltage too low or incoming mains voltage out of specification
- Wrong motor data in the configuration
First checks, in this order
- Inspect the motor cables and connectors for that joint
- Test the motor cables for shorts between phases and to ground
- Look for DC link events and check the incoming mains voltage
- Check the motor data in the configuration for that joint
Event 34402: DC link voltage too low
Hits OEE: AvailabilityWhat it means: In a drive module the DC link voltage is too low for a drive unit, so the system goes to Motors Off.[1]
Likely causes
- Incoming mains voltage to the rectifier is out of specification
- Wrong voltage selected on the optional transformer
- Fault in the main switch, mains filter, fuse, contactors or 3-phase cabling in the drive module
First checks, in this order
- Check the event log for other mains voltage events
- Measure the incoming mains voltage
- Check the transformer voltage jumpers if a transformer is fitted
- Check the main switch, mains filter, fuses, contactors and cabling in the drive module
Event 37001: Motors ON contactor activation error
Hits OEE: AvailabilityWhat it means: A Motors ON contactor in the drive module did not close when ordered, so the robot cannot run manually or automatically.[1]
Likely causes
- The run chain for the contactor is open
- Mechanical or electrical fault in the contactor
- The enabling device was toggled too quickly
First checks, in this order
- Acknowledge the error, release the enabling device and press it again after about one second
- Check the cables and connections of the safety system
- Read other events logged at the same time
- ABB states the robot must not be used further until this fault is found and removed
Event 37056: Cooling fan error
Warning: act before it becomes a stopWhat it means: A cooling unit fan has stopped or is turning very slowly.[1]
Likely causes
- Fan cable problem
- Failed fan
First checks, in this order
- Check the fan cables
- Replace the fan
Event 38103: Lost communication with the SMB
Hits OEE: AvailabilityWhat it means: The axis computer lost contact with the serial measurement board (SMB), so the system goes to system failure state and loses its calibration information.[1]
Likely causes
- Bad connections or poor cable screening, especially with non-ABB cables on additional axes
- Strong electrical interference near the robot cabling
- Faulty serial measurement board
- Faulty axis computer
First checks, in this order
- Check that the cable between SMB and axis computer is connected correctly and meets ABB's specification
- Check that the cable screen is connected at both ends
- Check for strong sources of electrical interference near the robot cables
- Replace a faulty SMB or axis computer, then update the revolution counters
Event 38200: Battery backup lost
Warning: act before it becomes a stopWhat it means: The battery backup to the serial measurement board was lost, so the robot loses its revolution counter data; the warning repeats until reset.[1]
Likely causes
- SMB battery discharged or not connected
- The robot signal cable was disconnected on a model where the battery supply runs through a jumper in that cable
- On some older robots, a rechargeable battery that was not charged for at least 18 hours
First checks, in this order
- Make sure a charged SMB battery is connected, and replace it if discharged
- Update the revolution counters, which also resets the warning
- Remember that unplugging the robot signal cable can trigger this warning
Event 38213: Battery charge low
Warning: act before it becomes a stopWhat it means: The battery on the serial measurement board will soon be empty and should be replaced at a suitable stop.[1]
Likely causes
- SMB battery close to the end of its life
- If it runs out, the robot loses its revolution counter data (see 38200)
First checks, in this order
- Do not switch off the controller until the battery has been replaced
- Replace the battery on the serial measurement board at the next planned stop
Event 39520: Communication lost with Drive Module
Hits OEE: AvailabilityWhat it means: The main computer lost contact with a drive module, so the system goes to SYS HALT and nothing runs until it is fixed.[1]
Likely causes
- Broken cable between control module and drive module
- Badly connected connector
- High electrical interference on the cable
First checks, in this order
- Check the cable between control module and drive module for damage
- Check that both connectors are fully seated
- Check for strong sources of electrical interference near the cabling
Event 50021: Joint position error
Hits OEE: AvailabilityWhat it means: The actual position of a joint is too far from the position the controller ordered.[1]
Likely causes
- External forces acting on the joint
- Servo tuning parameters
- Hardware fault
First checks, in this order
- Check for external forces on the joint
- Check the tuning parameters
- Check the hardware and look for hardware events at the same time
Event 50024: Corner path failure
Warning: act before it becomes a stopWhat it means: A programmed corner zone was run as a stop point, so the robot paused at that point instead of blending through it.[1]
Likely causes
- Time delay, for example too many instructions between two move instructions
- Points programmed very close together
- High CPU load in the system
First checks, in this order
- Reduce the number of instructions between consecutive move instructions
- Reduce speed, space the points wider or use the Conc option
- Increase the system parameter Prefetch Time (topic Motion, type Motion Planner); if the stop is on the first move after a fine point, increase Interpolation Buffer Startup Adjust
- If the pause is acceptable, the warning can be suppressed with the RAPID instruction CornerPathWarning
Event 50026: Close to singularity
Hits OEE: AvailabilityWhat it means: The robot is too close to a singular position to follow the path or jog in the chosen mode.[1]
Likely causes
- The programmed path passes through or near a singularity
- Linear or reorient jogging near a singularity
- The robot position depends on an additional axis that is being jogged
First checks, in this order
- Change the robot path away from the singularity
- Jog in joint (axis) mode instead
- With an additional axis, change the jogging coordinate system from world to base
Event 50050: Position outside reach
Hits OEE: AvailabilityWhat it means: A target needs a joint position outside its working area (the message names the axis, or 23 for a combination of axes 2 and 3).[1]
Likely causes
- Wrong work object, or a target outside the working range
- ConfL off with a very large move, more than 90 degrees on one axis
- Motion system parameters limit the working range
First checks, in this order
- Check the work object and the working range
- Move the joint in joint coordinates
- Insert intermediate points on large movements
- Check the Motion system parameters
Event 50052: Joint speed error
Hits OEE: AvailabilityWhat it means: The speed of a joint differs too much from the ordered speed because of a system error or a collision.[1]
Likely causes
- Collision
- External forces on the joint
- Tuning parameters or hardware fault
First checks, in this order
- Check for a collision or external force on the joint
- Check the tune parameters and hardware
- Reduce the programmed speed
Event 50053: Too large revolution counter difference
Hits OEE: AvailabilityWhat it means: The revolution counter value on the SMB differs too much from what the controller expects, so the robot is not calibrated and can only be jogged manually.[1]
Likely causes
- The arm was moved by hand while the power was off
- Faulty serial measurement board
- Faulty resolver or cables
First checks, in this order
- Update the revolution counter
- Check the resolver and its cables
- Check the serial measurement board and replace it if faulty
Event 50055: Joint load too high
Hits OEE: AvailabilityWhat it means: The actual torque on a joint is too high.[1]
Likely causes
- Incorrect load data for tool or payload
- Too high acceleration
- High external process forces
- Low temperature or a hardware fault
First checks, in this order
- Check the load data
- Reduce acceleration or speed
- Check the hardware
Event 50056: Joint collision
Hits OEE: AvailabilityWhat it means: The actual torque on a joint is higher than ordered while the joint moves slowly or stands still, which points to a jam or a hardware fault.[1][6]
Likely causes
- The arm is stuck (jam)
- Hardware fault
First checks, in this order
- Check that the arm is not stuck
- Check the hardware
- Look for other hardware events logged at the same time
Event 50057: Joint not synchronized
Hits OEE: AvailabilityWhat it means: After a power down or power failure, the position of a joint is too far from where it was before.[1][3]
Likely causes
- The joint position changed during the power down or power failure
- The stored revolution counter data no longer matches the real arm position
First checks, in this order
- Make a new update of the revolution counter for that joint
- Check the calibration position after the update
Event 50204: Motion supervision
Hits OEE: AvailabilityWhat it means: Motion supervision (collision detection) tripped on an axis, so the unit stops at once and moves back to a position on its path; without Collision Error Handling the program stops and stays in Motors ON waiting for Start.[1][4][5]
Likely causes
- Collision
- Incorrect load definition, for example tool or payload data wrong, or equipment such as a wire feeder not configured as a load (the last one is a user report on ABB's forum)
- Forces from an external process acting on the robot
First checks, in this order
- Make the cell safe, find and remove what the robot hit, then acknowledge and press Start on the FlexPendant
- Check that all loads are defined and identified correctly (Load Identification)
- Only if process forces are normal and expected, raise the supervision level with the RAPID instruction MotionSup or the system parameters
- Consider configuring Collision Error Handling (topic Controller, type General Rapid) and adding an error handler for collision errors
Event 50296: Robot memory data difference
Hits OEE: AvailabilityWhat it means: The data in the robot memory (on the SMB) is not the same as in the controller for a mechanical unit; in RobotWare 5 this message was called SMB memory data difference.[1][2]
Likely causes
- The SMB board or the controller was replaced
- System parameters were changed
- The serial number in the controller does not belong to the robot that is connected
First checks, in this order
- Check the memory status on the FlexPendant and that the right system parameters (serial number) are loaded
- Check that the serial number belongs to the robot connected to this controller
- If the controller was replaced, transfer data from robot memory to the controller
- If the SMB came from another robot, first clear the robot memory, then transfer data from controller to robot
Event 50415: Motor temperature error
Hits OEE: AvailabilityWhat it means: The motor of a joint is too hot, so the system goes to Motors Off and cannot continue until the motor has cooled down.[1]
Likely causes
- The program has too much hard acceleration and deceleration on that joint
- Gravity torque or external forces on the joint are too high
First checks, in this order
- Let the motor cool down
- Rewrite the program to reduce how hard that motor is used
- Only if the motor trips while cold (extra cooling or low ambient), lower the system parameter Thermal Supervision Sensitivity Ratio (topic Motion, type Arm) in steps of 0.1; ABB warns that too low a value switches the protection off and can destroy the motor
Event 71058: Lost communication with I/O device
Hits OEE: AvailabilityWhat it means: An I/O device that was working stopped communicating with the controller, so its signals cannot be read or written; in RobotWare 5 the title says I/O unit.[1][2]
Likely causes
- The I/O device was disconnected from the system
- Network cable unplugged at the controller
- The I/O device lost its power supply
First checks, in this order
- Check that the network cable is connected to the controller
- Check that the I/O device is powered
- Check the cabling to the I/O device
Event 90203: Enabling Device open
Hits OEE: AvailabilityWhat it means: Only one of the two enabling device chains opened, which the controller treats as a fault and goes to SYS HALT; in RobotWare 5 this was event 20203.[1][2]
Likely causes
- Faulty FlexPendant enabling device
- FlexPendant cable damaged or badly connected
First checks, in this order
- Check the FlexPendant cable and its connection
- Replace the faulty FlexPendant or its cable if needed
Event 90205: Auto Stop open
Hits OEE: AvailabilityWhat it means: The Automatic mode safeguarded stop circuit opened, which stops the robot in Auto mode only; in RobotWare 5 this was event 20205.[1][2][3]
Likely causes
- A safeguard switch wired in series in the Auto Stop circuit opened, such as a gate, tread mat or light curtain
- Cable or connection fault in that circuit
First checks, in this order
- Find the switch that opened, reset it and restart the controller (ABB's recommended action)
- If no switch is open, check the cables and connections of the circuit
Event 90206: General Stop open
Hits OEE: AvailabilityWhat it means: The General mode safeguarded stop circuit opened, which stops the robot in any operating mode; in RobotWare 5 this was event 20206.[1][2][3]
Likely causes
- A safeguard switch wired in series in the General Stop circuit opened, such as a gate, tread mat or light curtain
- Cable or connection fault in that circuit
First checks, in this order
- Find the switch that opened, reset it and restart the controller (ABB's recommended action)
- If no switch is open, check the cables and connections of the circuit
Log it, or the same alarm comes back
An error event stops the robot, and in a cell that usually stops the line, so in OEE terms it is a breakdown. A warning does not stop the robot yet. Log errors with the minutes lost and the program position, and keep a count of warnings that repeat.
- Reason code: the event number plus the cell, for example ABB 50204, weld cell 2, so a motion supervision stop that happens every Tuesday on one fixture becomes visible.
- Loss bucket: a stop that needs a reset, a part or a technician is an availability loss (breakdown). Stops shorter than your micro-stop threshold go to performance (minor stops). The six big losses page shows where each one belongs.
- What to count: how often each code fires per week and the minutes it costs. Two numbers a week turn "that alarm comes up sometimes" into a ranked list. The MTBF and MTTR calculator and the downtime cost calculator do the math.
The free OEE tracker logs each stop with its reason and turns the week into a downtime Pareto, so the code that costs the most rises to the top.
For robot faults in general (collisions, overtravel, encoder batteries, safety stops), fabrico.io has a longer guide: industrial robot fault troubleshooting. An error code tells you what the robot controller detected, not what happened in the cell in the seconds before. Fabrico's camera-based OEE software syncs camera video with machine data, so you can replay the moment the cell stopped next to the error.
Frequently asked questions
How do I clear 50204 Motion supervision and get the robot running again?
Make the cell safe, find and remove whatever the robot hit, then acknowledge the message and press Start on the FlexPendant; the robot has already backed off to a point on its path. If nothing was hit, check that the tool and payload data are right (run Load Identification) and that extra equipment such as a wire feeder is configured as a load. Raise the supervision level with MotionSup or the system parameters only when the cause is a normal process force, not to hide a crash.
What does 20032 Rev. counter not updated mean, and how do I update the revolution counters?
It means one or more axes have lost their revolution count, for example after the SMB battery ran out, SMB communication was lost or a motor was replaced, so the robot does not know its exact position. Jog each axis to its sync marks, then on the FlexPendant go to ABB menu, Calibration, select the unit, Rev. Counters, Update Revolution Counters, pick the axes and confirm. ABB warns that a wrong update causes wrong positioning, so check the calibration position before running production and fix the battery or cable cause.
How do I save or export the event log?
On the FlexPendant, tap the status bar to open the event log and tap Save all logs as, then pick a folder (for example USB memory) and a file name. For ABB support, create a system diagnostics file (Control Panel, Diagnostics on the FlexPendant, or Properties, Save System Diagnostics in RobotStudio), which includes the event log, a backup and system information. Do it early, because the log only keeps 20 entries per category and 1000 in total and the oldest entries are overwritten.
What does the first digit of an ABB event number tell me?
It tells you which part of the system raised the event: 1 operational, 2 system, 3 hardware, 4 program (RAPID), 5 motion, 7 I/O, 8 user and 9 functional safety. Six-digit numbers starting 11, 12, 13, 15 and 17 are process, configuration, paint, RAPID and Connected Service events. So a 3xxxx event sends you to hardware (drives, SMB, power), while a 5xxxx event points at motion, loads, paths or collisions.
After replacing the SMB board or the controller I get 10039 or 50296. What do I do?
The data in the robot memory (SMB) and the controller no longer match, so automatic operation is blocked until you sort it out. If the controller was replaced, transfer the data from the robot memory to the controller; if the SMB came from another robot, clear the robot memory first and then transfer the data from the controller to the robot. Before transferring, check that the serial number in the controller belongs to the connected robot.
Sources
Codes and meanings follow the manufacturer documentation below. Wording is ours, simplified for the shop floor; the manual for your exact model and software version wins if it differs.
- ABB Operating manual - Troubleshooting IRC5, 3HAC020738-001, Revision AE (released with RobotWare 6.10.02), copy hosted on the ABB Robotics Tech Community file store
- ABB Operating manual - Trouble shooting, IRC5, 3HAC020738-001, Revision K (released with RobotWare 5.13), ABB Library
- ABB Operating manual - IRC5 with FlexPendant, 3HAC050941-001, Revision G (RobotWare 6.08), copy hosted by Texas State University
- ABB Robotics, Collision Detection RobotWare option, product leaflet PR10044EN_R2
- ABB Robotics Tech Community forum thread, Event message 50204
- ABB Robotics Tech Community forum thread, Motion Supervision Error
See the moment the cell stopped
Fabrico, a light MES with computer vision, syncs camera footage with machine and timeline data, so you can replay the exact moment the cell stopped and review the cause next to the robot's error. Cameras also catch short stops and a line that is switched on but not producing, the losses nobody writes down. Machines connect through a PLC, a Fabrico IoT device or an AI camera.
Book a Fabrico demoRelated: industrial robot troubleshooting · spot welder · palletizer · pick and place · servo motor
Other alarm code lookups: FANUC: servo amplifier · spindle amplifier · robot SRVO | Siemens: MICROMASTER 440 · MASTERDRIVES · SINAMICS G120 · SINAMICS V90 servo · SINAMICS V20 | ABB: ACS550 drive · ACS800 drive | Okuma: OSP alarms | Haas: alarm lookup | Mitsubishi: MELSERVO servo · FR-D700 and FR-E700 inverters · FX PLC | Allen-Bradley: Kinetix and Ultra3000 · MicroLogix · PowerFlex 753 and 755 · PowerFlex 70 and 700 · 1336 and 1305 | Yaskawa: V1000 drive · SERVOPACK servo · Motoman robot | Delta: VFD drives · ASDA servo | Eaton: DC1 and SVX9000 drives | Control Techniques: Commander SK and M200 | Kollmorgen: AKD servo | Lenze: SMVector, 8200, 8400, i500 | Magnetek: IMPULSE and DSD 412 | Omron: MX2 and RX inverters · G5 and 1S servo | WEG: CFW500, CFW300, CFW11, CFW08 | Hitachi: WJ200 inverter | Toshiba: E3, Q9, P9, S15, nC3, AS3 | AutomationDirect: GS10, GS20, GS4, GS1 to GS3 | SANYO DENKI: SANMOTION servo | Parker: SSD 590+, 690+, AC10 | KEB: COMBIVERT F5 | Epson: robot RC700, RC90 | B&R: ACOPOS servo | Schneider Electric: Lexium 32 servo | Bosch Rexroth: IndraDrive | Vacon: NX, VACON 100 and 20 | Fuji Electric: FRENIC-Mini, Multi, Ace, MEGA | LS Electric: S100, G100, iG5A | Panasonic: MINAS A6 and A5 servo | Invertek: Optidrive E3, P2, Eco | SEW-Eurodrive: MOVITRAC B and MOVIDRIVE B
Related tools: full troubleshooting directory · OEE calculator · downtime cost · MTBF / MTTR · glossary