I have a 1986 vintage Daewoo Puma lathe (I have been told it's a Puma 4, the model number is worn off and all documentation has long since been lost) with a Fanuc 0T control. I have a problem where sometimes the machine goes to different locations than commanded. For instance I have a section of a part that gets turned to 1.220" dia, I can run one just fine, and then load another part, hit start without changing anything in the program and it will cut it to 1.300" dia. It will just keep doing this, doing nothing but loading new parts and hitting start will result in some good parts and some bad ones seemingly at random. It has also happened on the Z axis, it will face a part to the correct length, then running again with the same part left in the spindle it will sometimes come back and cut about 1/16th off the end. I have been seriously working with this machine for a few weeks now and this problem has been getting more and more common, it used to only happen maybe once every few dozen parts, now it's happening on the majority of them and I've had to give up actually running parts until this is sorted out.

What I have done so far is clean and check all the limit switches and dogs, I also pulled the cover off one of the servos to check if the encoder was dirty or something, inside was spotless as far as I could see. They are fanuc branded servos with yellow caps if that helps. I have also run the program in question a bunch of times over the same part to see if I could find a pattern to the behavior and nothing jumped out at me.

If there is any other information that would be useful please let me know. I'm mostly a manual machinist with some backround in manual g code programming and some basic electrical concepts, but this is my first foray into actually repairing a CNC machine tool.

Any suggestions about what could be causing this would be greatly appreciated.

Thank you for your time