Technical Article

The Importance of Rev Counters When Troubleshooting a Robot

February 23, 2020 by Damond Goodwin

This article discusses the importance of rev counters when troubleshooting a robot and how to update rev counters as needed.

What are Rev counters?

Rev counters are the servo motor encoders on the axis motors of a robot. Although the term Rev counter is considered an ABB term, all robots use encoders on their servo motors, the nomenclature in the teach pendant may be slightly different depending on the robot brand. 

These encoders are extremely precise devices and rarely get out of sync, which allows for very accurate robotic movements. However, in older systems, one of the first things that I check for when servicing a malfunctioning robot is out of sync Rev Counters. 

The Rev Counters feed the control cabinet vital information about the position of each servo and allow the robot to run calculations, enabling precise movements of the arm.  

Robot from Denso

A large robot from DENSO. Image used courtesy of Denso.


Out of sync Rev Counters can occur due to a robot’s age or to unorthodox programming. This issue usually arises when robotic cell operators/programmers have not been properly trained in robot programming. Mistakes are easy to make if the operator doesn’t understand the background knowledge that goes into correctly programming a robot.

For example, if the operator programs a new part into the robot’s routine, but fails to check that the Tool Center Point is correctly in sync, the arm will likely be inaccurate in its movements after the TCP is updated. 


Common Problems Caused by Out of Sync Rev Counters

While not an exhaustive list of problems that can be caused by out of sync servos, a few of the most common problems caused by them are outlined below.  

  • Check TCP- All correctly programmed robots should have a Tool Center Point. This allows the robot to offset its movements relative to the end of arm tool. To check the TCP, place the TCP pointer in its correct configuration and rotate the pointer around a stationary point. Ensure that the robot is being jogged in ‘reorient mode’ (ABB terminology) and that the correct tool is selected. ‘Reorient Mode’ makes the robot track around the tool, every brand of robot has a version of this, sometimes with different nomenclature. 

If the TCP is correctly set up, the end of the pointer will not move or track in any direction but will stay stationary at the point in space.  Otherwise, if the TCP is off, the pointer will track in one direction or the other, sometimes quite dramatically, so it is best to take it slow when checking a TCP. 

  • Programs Might Have to be Touched Up- When a robot is out of sync,  the arm is not where the “brain” in the system thinks it is. Most of the time, the difference is small and won’t cause many issues. A box may be sat in a slightly different place, or the robot will start to have malfunctions more often than before, but nothing significant. Occasionally operators will have fixed the problems by physically changing something in the cell, not realizing the movements of the robot have changed slightly.  


Any programs or new taught points, will be off and/or unrepeatable if the robot loses position data. Since the actual position of the robot and the perceived position are different, the program positions will be inaccurate. In order to fix this, the Rev Counters will need to be reset.

Loss of position data to the robot is usually caused by bad backup batteries in the robot cabinet. When the robot gets shut down the encoders lose track of where the servo motors are and the arm’s current position becomes unknown to the control cabinet. 


How to Update Rev. Counters

Updating Rev Counters is essentially the same process for every robot with slightly different syntax. Depending on the system, a login may be required to make the update. Once in the update screen, the robot should be manually driven to its zero position. 

It is best to manually drive each axis until it aligns with the physical zero indicators on the side of the arm. There is typically a diagram sticker on the arm to show the exact configuration of the robot in its zero position. 

A good way to identify if the position data is inaccurate involves checking to see where the arm is located when each axis is driven to zero in the teach pendant and comparing this to the physical markers on each axis. For example, if axis 3 was driven to zero, the zero indicators on that axis should be lined up, if they are not, axis 3 will need to be updated.

The fastest way to get all axes correctly zeroed is to drive them all to zero and update the entire set in one big update. However, in some cells the robot can’t be driven to that configuration due to the physical constraints of the cell. In that instance, the best thing to do is to update the axes individually based on their availability with each robot position.

As a general rule of thumb, it’s always a good idea to include a program in the robot that only contains the zero position. Before shutting down the robot for an extended period of time run the zero program and shut the robot off.

Doing so will make updating the Rev Counters much simpler since the robot will already be at zero the next time it is turned on. After the Rev Counters have been updated, take the time to check the Tool Center Point to make sure everything is working as it should be.

Be sure to manually jog through the programs after updating to prevent crashing the robot if some points were changed while it was out of sync. 


What are some ways you troubleshoot your robot?