CNC Machine Error Codes Explained: FANUC, Haas, Siemens
Share Post

Navigating CNC Machine Error Codes
When an automated CNC machine halts production and displays an alarm on the control panel, it can immediately halt your workflow and impact your delivery timelines. CNC control platforms use diagnostic fault codes to communicate hardware failures, software errors, or safety violations. However, these codes can often feel like a foreign language to operators and shop floor managers.
Understanding what these error codes mean, identifying their root causes, and knowing what immediate operator checks to perform can save hours of troubleshooting and prevent unnecessary service dispatch fees. This comprehensive guide covers the most common error codes for the three leading industry control brands: FANUC, Haas, and Siemens SINUMERIK. This reference is designed to help you determine when an issue can be resolved by an operator and when it requires professional on-site CNC repair.
FANUC Error Codes & Alarms
FANUC is the most widely utilized CNC control system in the world, famous for its reliability but known for its brief, numeric error messages. Understanding these common alarms is key to maintaining production efficiency.
1. SV0301 – APC Alarm: Communication Error
- What It Means: Absolute Pulse Coder (APC) communication error. The FANUC controller has lost communication with the axis feedback encoder.
- Likely Cause: A damaged or broken encoder cable, a loose connection at either the servo amplifier or the motor end, or liquid coolant ingress into the physical encoder connector housing.
- Operator Check: Power down the machine completely. Visually inspect the flexible cable carrier (cat track) for signs of pinched, cut, or severely worn cables. Check the physical connections at the motor. Clean any coolant out of the connector using electrical contact cleaner, dry thoroughly, and reconnect.
- When to Call a Tech: If the error persists after cleaning and tightening the connections, the encoder cable is likely internally severed, or the pulse coder itself has failed and must be replaced.
2. SV0401 – V-Ready Off
- What It Means: The servo amplifier is not ready to receive commands because the velocity control signal (V-Ready) is turned off.
- Likely Cause: A tripped circuit breaker in the electrical cabinet, a failed servo drive power supply unit, a blown fuse, or a fault in the machine’s safety circuit (such as a stuck door interlock or a bad emergency stop button).
- Operator Check: Check the main electrical cabinet for any tripped breakers or yellow fault lights on the servo drives. Verify that all emergency stop buttons are released and door interlocks are physically closed.
- When to Call a Tech: If a breaker instantly trips again upon power-up, or if a drive indicates an internal hardware fault, there is likely a short circuit in the servo motor or drive module. This requires technical diagnosis to prevent further hardware damage.
3. OT0500 – +Over-Travel (Soft) / OT0501 – -Over-Travel (Soft)
- What It Means: The CNC machine has commanded a move that exceeds the soft travel limits stored in the machine parameters for that axis.
- Likely Cause: A programming G-code error, an incorrect work coordinate system offset (G54-G59), or an incorrect tool length offset.
- Operator Check: Switch the machine to manual jog mode and jog the axis away from the travel limit. Check the active program for G-code errors, and verify that the tool and work offsets match the setup sheet.
- When to Call a Tech: If the machine is physically stuck on a hard-limit switch (which cuts power to the servos), an operator may need to manually turn the ballscrew by hand (with power off) or bypass the limit switch via temporary overrides. If the alarm cannot be cleared after jogging away, a limit switch is likely stuck or broken.
Haas Alarm List
Haas Automation utilizes a proprietary controller that provides highly descriptive text warnings alongside numeric codes. This user-friendly interface simplifies troubleshooting, but key alarms still require technical understanding.
1. Alarm 103 – X Axis Servo Error Too Large (or Y/Z Axis)
- What It Means: The physical difference between where the controller commanded the axis to move and where it actually is has exceeded the safety limit.
- Likely Cause: A mechanical obstruction (like a tool collision, chip build-up under the way covers, or frozen guide rails), a worn ballscrew, or a failed servo motor/drive.
- Operator Check: Power down and visually inspect the axis for physical obstructions, jammed parts, or massive chip pack-up. Verify that the way covers are sliding freely and the automatic lubrication reservoir is full.
- When to Call a Tech: If the axis moves freely by hand (with power off) but still triggers the alarm when powered up, the issue is likely a failed servo drive amplifier, a shorted motor winding, or a complete loss of mechanical preload. This requires specialized testing.
2. Alarm 123 – Spindle Drive Fault
- What It Means: The spindle vector drive has detected an electrical fault or over-current condition.
- Likely Cause: Accelerating or decelerating the spindle too quickly (regenerative resistor failure), low incoming line voltage, a shorted spindle motor, or excessive mechanical load.
- Operator Check: Check the spindle load meter during operation to see if it is drawing excessive current. Inspect the spindle for mechanical binding by spinning it manually with the tool released. Check the vector drive cooling fans for proper airflow.
- When to Call a Tech: Vector drive issues involve high voltages and sensitive electronics. If the alarm occurs immediately upon commanding spindle rotation or during deceleration, the vector drive or its regenerative braking resistors must be tested and replaced by a technician.
3. Alarm 205 – Coolant Level Low
- What It Means: The liquid coolant level in the main reservoir has dropped below the safety sensor threshold.
- Likely Cause: Natural coolant evaporation and drag-out from finished parts, or a physical leak in the coolant tank or lines.
- Operator Check: Replenish the coolant tank with the correct water-to-soluble-oil ratio. Clean away chips from the float sensor to ensure it is moving freely and not stuck in the down position.
- When to Call a Tech: Only necessary if the alarm persists when the tank is full and the float switch is verified to be clean and physically functional, indicating a electrical failure or broken wiring in the sensor circuit.
Siemens SINUMERIK Fault Codes
Siemens controls are common on high-end, complex multi-axis milling and turning centers. Their fault codes are highly detailed but require careful interpretation.
1. 21612 – Axis %1 VDI-Signal ‘Servo Enable’ Reset during Motion
- What It Means: The physical servo enable signal (which keeps the motor energized) was abruptly cut off while the axis was in motion.
- Likely Cause: A safety door switch was opened during automatic operation, an emergency stop button was pressed, or the safety PLC detected a fault.
- Operator Check: Ensure all safety doors are securely closed and the physical interlocks are aligned. Verify that no safety devices have been interrupted. Inspect the safety light curtains if equipped.
- When to Call a Tech: If all physical interlocks are closed and functional but the safety PLC continues to drop the servo enable signal, there may be a broken wire in the safety chain, a faulty safety relay, or a corrupted PLC parameter.
2. 25000 – Axis %1 Hardware Limit Switch Active
- What It Means: The axis has traveled too far and physically depressed the emergency hardware limit switch.
- Likely Cause: A G-code programming error, incorrect tool offsets, or a failure of the software-based limit parameters.
- Operator Check: If the controller allows, use the “limit override” button on the panel and carefully jog the axis in the opposite direction. If the control will not power up, a technician or trained operator must manually rotate the axis ballscrew with power disconnected.
- When to Call a Tech: If the axis is jogged away from the physical switch but the alarm remains active, the limit switch is broken, internally shorted, or the wiring has been cut.
On-Site CNC Troubleshooting and Repair in Southern California
When a complex CNC machine error code halts your production, don’t waste hours swapping parts blindly. At In-House CNC Service LLC, based in Menifee, CA, we provide rapid, expert on-site CNC repair and diagnostic services throughout Southern California.
Led by owner Jason Wutzke, our experienced technicians specialize in deep-level troubleshooting of FANUC, Haas, and Siemens controls. We carry advanced diagnostic tools to pinpoint the exact root cause of your alarmsu2014whether it’s a failed servo amplifier, a cut encoder cable, a shorted spindle motor, or a safety circuit issue. We serve manufacturing shops in Riverside, San Diego, Orange, San Bernardino, and Los Angeles counties. Contact us today at (951) 540-4820 or visit in-housecnc.com to schedule an emergency service call and get your machine back online quickly.