Fanuc alarm SV0410 ‘EXCESS ERROR (STOP)’ means the axis position error exceeded its limit while the axis was supposed to be standing still. The control commanded ‘hold position’, but the measured position drifted further from the commanded position than parameter 1829 allows. Its sibling SV0411 is the same check during motion (limit in parameter 1828). The message sounds abstract, but the physics is simple: either something pushed the axis and the servo could not hold it, or the servo’s idea of position is wrong. Here is how to find out which — covering 0i, 16i/18i/21i, 30i/31i series.
How the check works
The control continuously compares commanded and actual position; the difference (position error) is visible on the diagnosis screen, DGN 300. At standstill it should sit near zero. If it grows past the parameter 1829 value (typically 100–500 detection units), SV0410 trips and the servos drop. So the first diagnostic is free: watch DGN 300 for the axis at standstill and see whether it drifts.
Cause 1 — Something is physically pushing the axis
- Vertical axis with a failing brake or counterbalance: the classic case. Z holds during the day, then SV0410 at servo-off/on transitions, or the head visibly sags. Test the motor brake (it should hold the axis with servos off) and check counterbalance pressure. A dropping Z axis is also a safety issue — fix before running.
- Machining force / crash aftermath: a heavy cut or jammed chip conveyor pushing against the axis at stop. If the alarm follows a crash, check for mechanical damage before anything else.
- Hydraulic/pneumatic actuators leaning on the axis — tailstock quill, steady rest, pallet clamps interfering.
Cause 2 — The servo cannot produce holding torque
- Amplifier fault: a failing SVM output stage or a dropped phase supplies partial torque — the axis creeps under load. Often accompanied by other servo alarms in the history; the amplifier needs bench testing.
- Motor problems: weak magnets or a winding fault reduce torque. Winding balance and insulation checks as per our servo alarm guide.
- Power supply sag under simultaneous axis load — check the PSM and incoming supply if multiple axes alarm together.
Cause 3 — The position information is wrong
- Encoder/pulse coder fault or contaminated feedback: position jumps at standstill with the machine untouched point at the pulse coder or its cable — see identifying a faulty Fanuc encoder.
- Loose coupling or slipping ballscrew pulley: the motor holds perfectly but the table moves — the motor-side encoder cannot see it, then a position check (or the operator) notices. With scales (full closed loop), a loose scale head gives the same symptom from the other side.
- Full-closed-loop mismatch: after scale or parameter work, wrong flexible-feed-gear or scale direction parameters make error accumulate — alarms appear at first motion or first stop.
About raising parameter 1829
Increasing the limit makes the alarm go away — it does not make the problem go away. It is legitimate only when a machine builder specifies it (special axes, torque-limited operations like skip-based clamping). Raising it to silence a sagging Z axis or a slipping coupling just converts an alarm into scrapped parts or a dropped head. Diagnose first; touch 1829 last, and only with the original value recorded (enable writing via PWE).
Diagnosis checklist (in order)
- Which axis, and when — at rest, at servo-on, after an event? Vertical axis → brake/counterbalance first.
- Watch DGN 300 at standstill: smooth drift vs jumps.
- Servo-off test (E-stop): does the axis physically move/sag? Brake test on vertical axes.
- Check couplings and pulley setscrews between motor and screw; scale head mounting on closed-loop machines.
- Review alarm history for companion alarms (encoder, overcurrent, overload) — they usually name the failing component.
- Still ambiguous → swap-test or bench-test the amplifier and motor/encoder pair.
Related guides
- Fanuc servo drive alarm codes — common causes
- How to identify and replace a faulty Fanuc encoder
- Setting the reference position / zero return
