Have a 2000 Haas MiniMill. We run a two minute production program, milling small parts in a fixture. Then we reload the fixture and run the program again, eight hours a day. In the middle of the program, the Z axis made an uncommanded move, down exactly .100" which broke the small cutter and caused the tool holder to contact the fixture. We use a G57 offset setting for the X, Y and Z axis. This is the 3rd occurrence of this error over the last 8 to 10 months. Any ideas?
I'm completely unfamiliar with your particular machine, and certainly unqualified to offer any REAL advise, but I'd guess that you have a 10tpi screw on your z axis? If so, possibly look to an encoder problem. maybe losing the pulses and spinning until it picks up the index pulse again. If that is happening it could be the encoder going or faulty wiring. I can't see noise causing that scenario. May also want to check the mechanical mounting of the encoder, coupling condition, etc. Is this happening at the same point in the same program every time?
This is the type of problem that could be caused by soooo many things depending on the situation. You can't rule anything out, since SOMETHING is changing, whether it's the software or hardware.
Tool improperly loaded? (drive lugs misaligned or spindle moving during toolchange...this should cause a "spindle not locked" error but who knows)
Does the program have any incremental movements or other possible ways that an offset could be shifted? G10, G91, G52, etc
Operator mis-adjusted an offset at some point?
Presumably the workpieces and fixture aren't moving, but it depends on the design. I've seen some pallet-changing setups that were improperly clamped which lifted the whole subplate upwards by 1/8" or so.
It's a good scenario to keep track of offsets for your own records, then you can run an offset verification program every once in a while to check that the tool hasn't physically moved and that the numbers make sense.
I also presume you don't have probing on that machine (fairly old) so running an in-process inspection is probably not possible. But you can see how useful that would be in this case.
Mechanically, I wouldn't think the issue to be caused by the ballscrew since it's such a round number. The machine will also cause an alarm if the encoder movement doesn't match programmed movement (outside of an error tolerance anyway). Additionally, the machine's home position can drift around a little bit due to contaminants on the limit switches, but nowhere near that much ("margin"). At least that's how the newer machines are set...I have a 1999 mill but haven't ever seen a "margin error" on its linear axes so I guess I don't know if its parameter differences changed that much.