Sounds like an encoder, if the encoder is on the motor that is.
One way to detect bad encoder that has worked for me in the past is to disconnect the motor armature leads so the motor cannot turn.
Attempt to move the axis by HW on low rate, turn in say + direction until following error appears, when it does, read out the amount of travel it would have gone if connected, say .375".
BTW, the display shows what the desired position is, not read from the encoder.
Next reset the error and again slowly turn the HW to some value under the F.E. value, Then turn the motor shaft or ball screw the amount that correlates to the screen, i.e. if the display shows .125" then turn the motor the amount it would have turned for .125", you have to work this out from the BS or gearing.
If you keep repeatedly advancing one and then the other, the control will not detect a following error and you will know it is reading the encoder.
If you cannot do it without a F.E. appearing, it show the encoder is bad.
It sounds complicated but it has worked for me on many occasions.