Key takeaways
A FANUC control that stops with an alarm number costs spindle minutes every time somebody walks over, reads the code, presses RESET and hopes. This reference explains how FANUC alarms are structured, what the common codes mean, and the first checks worth running before anyone opens a cabinet or orders a part.
It is written for maintenance technicians, maintenance managers and plant engineers who need the machine cutting again, and staying that way. For other controls, see our guides to Haas alarm codes, Mitsubishi CNC alarm codes and Sinumerik alarm codes.
When a FANUC control raises an alarm it shows an alarm number and a short message, and for anything affecting motion it drops the servos and stops the program. Some alarms clear with RESET once the condition has gone. Others return immediately because the fault is still live, and a few, including most parameter changes, need a full power cycle.
Two screens matter more than the alarm text. The alarm history gives you a time stamped list of recent alarms, which is how you find the first fault in a cascade. The diagnostic screens hold the bits that say which specific servo condition fired. A 414 on its own is a dead end. A 414 read together with its diagnostic bits usually points at one item.
One caveat before any list of codes. FANUC alarm numbers and their wording differ across control generations, so treat the table below as a starting point for Series 0i, 16i, 18i, 21i and 30i controls and confirm against the documentation for your own machine.
Anything whose on screen text differs from this table should be confirmed in your own documentation rather than assumed.
| Alarm | What it means | Likely causes | First checks |
|---|---|---|---|
| 000 PLEASE TURN OFF POWER | A parameter was changed that only takes effect after a power cycle | Normal after parameter or servo edits | Power down and back up. If it returns at once, something is rewriting a parameter |
| 010 IMPROPER G CODE | The program commanded a G code this control does not support | Wrong post processor, missing control option, typo | Check the block shown, confirm the option is installed |
| 100 PARAMETER WRITE ENABLE | The parameter write switch is still set to 1 | Somebody edited parameters and left PWE on | Set PWE back to 0, then RESET |
| 300 APC ALARM NEED REF RETURN | The absolute encoder has lost its reference position | Encoder battery, battery cable, or the axis moved with power off | Replace the battery with control power on if the machine allows it, then reference the axis |
| 401 SERVO ALARM VRDY OFF | The amplifier ready signal dropped out | Amplifier fault, MCC, emergency stop chain, DC link, FSSB order | Read the amplifier LEDs, check the E stop chain and the main supply |
| 404 SERVO ALARM VRDY ON | Ready signal present when the control expects it off | Welded MCC contact, amplifier or wiring fault | Inspect MCC contacts and amplifier state |
| 410 EXCESS ERROR AT STOP | Position deviation too large while the axis is stopped | Mechanical bind, brake not releasing, low gain, amplifier | With the brake released, try moving the axis by hand and feel for binding |
| 411 EXCESS ERROR WHILE MOVING | Position deviation too large during motion | Bind, way lube starvation, aggressive acceleration, encoder slip | Check way lube delivery first, then feed and acceleration parameters |
| 414 SERVO ALARM DETECTION SYS ERROR | The digital servo detected an internal fault | Encoder, encoder cable, amplifier, or overheat | Read the servo diagnostic bits to see which condition fired before swapping anything |
| 417 SERVO ALARM PARAMETER INCORRECT | A servo parameter is outside its valid range | Bad parameter after a board swap or a restore | Compare servo parameters against the machine backup |
| 500 and 501 OVER TRAVEL | A stored stroke limit was exceeded in plus or minus | Crash, wrong work offset, lost reference | Hold the limit release and jog away in the opposite direction |
| 506 and 507 OVER TRAVEL | A hardware limit switch has tripped | Overrun past the switch, failed switch or wiring | Use limit release to jog off, then inspect the switch and its wiring |
| 749 S SPINDLE LSI ERROR | Serial spindle communication fault | Electrical noise, cable or fibre, spindle amplifier | Check the serial spindle cable, connector seating and cabinet grounding |
| 750 SPINDLE SERIAL LINK START FAULT | The serial spindle link did not start at power up | Spindle amplifier not ready, fibre, parameter mismatch | Confirm the amplifier powers up, reseat the fibre, verify spindle parameters |
| 5136 FSSB NUMBER OF AMPS IS SMALL | The control found fewer amplifiers than configured | Amplifier unpowered, broken fibre, FSSB order changed | Power up every amplifier, inspect the fibre run, verify the FSSB setting |
Alpha and Beta series amplifiers show a letter code on the amplifier display as well as raising a control alarm. The letter tells you what the amplifier saw, which is often more specific than the number on the control.
| Code | Meaning | Likely causes | First checks |
|---|---|---|---|
| OVC | Overcurrent detected in software | Mechanical bind, wrong servo parameters, failing motor | Check the mechanics before the electronics, then compare parameters to backup |
| OVL | Overload, thermal | Sustained heavy cutting, blocked cooling, bind, thermostat | Clean filters and fans, confirm the motor thermostat circuit |
| HCAL | Abnormal current, hardware trip | Shorted motor winding or cable, failed power device | Isolate and megger the motor and its cable before refitting an amplifier |
| HVAL | Overvoltage on the DC link | Regen circuit, high incoming line voltage, harsh deceleration | Measure incoming voltage, inspect the regenerative resistor |
| LVAL | Low voltage | Incoming supply, loose terminal, failed power supply | Measure the supply under load, not at rest |
| DCAL | Regenerative discharge overheat | Too many rapid decelerations, failed resistor, blocked cooling | Check the resistor and the duty cycle of the axis |
| FBAL | Feedback disconnected | Broken conductor, connector, encoder | Inspect and flex the encoder cable while watching for the fault |
| BZAL | Battery zero, absolute position lost | Encoder battery fully discharged or disconnected | Replace the battery, then reference the axis to restore position |
| BLAL | Battery low warning, position still valid | Battery nearing end of life | Replace it with control power on so the position survives |
Serial encoder communication faults appear as DTERR, CRCERR and STBERR. All three point at the same short list: the encoder cable, its shielding and grounding, connector contacts, or the encoder itself. Treat them as a wiring investigation, not an encoder replacement.
Escalate to your machine builder or FANUC service when HCAL returns after the motor and cable have been cleared, when FSSB faults persist after the fibre has been replaced, when a repair would need servo parameter changes and you have no verified backup, or when the fault sits in the safety circuit. None of those are places to experiment on a production machine.
The difference between a plant that fights the same alarm every week and one that does not is bookkeeping. If every alarm is logged as a coded downtime event, you can rank alarms by frequency and by minutes lost, and the chronic ones get an engineering fix instead of a daily reset. If alarms are only ever cleared at the machine, that information never exists.
For the wider set of failure modes across CNC controls, drives, sensors and utilities, start from our machine troubleshooting guides.
Fabrico reads production signals directly from the control or from an IoT gateway on older machines, so a stop is recorded with its real start and end time rather than from memory at the end of a shift. Alarm driven stops can then be attributed and turned into a work order with the asset, its history and its parts already attached.
The stops that usually stay invisible are the short ones. A fault that clears itself in forty seconds rarely gets logged by anyone, and on a busy line those add up to more lost time than the long breakdowns. Fabrico can also use cameras pointed at the process to explain stops the control never reported at all.
Where do I find the complete FANUC alarm list for my machine? In the maintenance or parameter manual for your specific control series. There is no single universal list, because numbering differs between generations and your machine builder adds its own PMC alarm ranges on top.
Why does the same alarm number mean different things on two machines? Because the control series differs, and because builder added alarms occupy their own ranges. Always match the on screen text, not just the number.
What is the difference between BZAL and BLAL? BLAL is a warning that the encoder battery is low while position is still valid, so replacing it under power keeps the reference. BZAL means the voltage reached zero and absolute position is lost, which requires referencing the axis again.
Can I just reset a 401 and carry on? Sometimes it clears, but 401 means the amplifier reported that it was not ready, so something interrupted the ready chain. If you reset without finding out what, the same fault will stop the machine again, often mid cut.
Do alarm codes tell me the root cause? No. They tell you which subsystem noticed a problem. The root cause is usually one layer down, in lubrication, alignment, cooling, power quality or a connector.