CNC Alarm Codes by Control: FANUC, Haas, Siemens

Updated Oct 26, 2026 · InduQT engineering team · Product facts checked Oct 26, 2026

The short answer

CNC alarm codes are organized differently on each control. FANUC 0i and 30i controls put a two-letter type in front of a four-digit number (SV0401 is a servo alarm, OT0500 an overtravel, PS0090 a program/operation alarm), Haas NGC uses one number per alarm with the axis in front of a period (3.108 is a Z-axis servo overload), and Siemens SINUMERIK groups alarms by number range (20000–29999 are axis/spindle alarms such as 25050 contour monitoring). Read the prefix or range first: it tells you whether to look at the program, the axis, the drive or the machine-builder logic.

  • FANUC’s 0i-D and 30i-B maintenance manuals list twelve CNC alarm types: PS, BG, SR, SW, SV, OT, IO, PW, SP, OH, DS and IE.
  • FANUC SV0401 IMPROPER V_READY OFF means the position control was ready (PRDY on) but the servo amplifier’s velocity-ready signal (VRDY) was off.
  • On SINUMERIK, 020000–029999 are axis/spindle alarms, 201000–265535 are SINAMICS drive alarms, and 500000–899999 are PLC alarms written by the machine builder.
  • Haas NGC replaced per-axis classic-control alarms (108, 109, 110, 111…) with one group number: 1.108 is X, 2.108 Y, 3.108 Z servo overload.
  • Haas alarm 108 is AXIS SERVO OVERLOAD: motor load over 100% for several seconds or minutes.
Most searched CNC alarms, as the maker defines them (read 26 Oct 2026)
AlarmControlMaker’s messageWhat it meansSource
SV0401FANUC 0i-D/0i-F, 30i-BIMPROPER V_READY OFFPosition control ready (PRDY) was on but the amplifier’s velocity-ready signal (VRDY) was off; check diagnosis No. 358 for the causeB-64305EN/03 App. A and 10.14
SV0410FANUC 0i-D/0i-F, 30i-BEXCESS ERROR (STOP)Position deviation while stopped exceeded parameter No. 1829B-64305EN/03 App. A
SV0411FANUC 0i-D/0i-F, 30i-BEXCESS ERROR (MOVING)Position deviation while moving exceeded parameter No. 1828B-64305EN/03 App. A
DS0300FANUC 0i-D/0i-F, 30i-BAPC ALARM: NEED REF RETURNAbsolute position detector needs its zero position set; perform reference return; handle other alarms firstB-64305EN/03 App. A
DS0306FANUC 0i-D/0i-F, 30i-BAPC ALARM: BATTERY VOLTAGE 0Encoder battery voltage too low to hold data, or the Pulsecoder was powered for the first timeB-64305EN/03 App. A
PS0090FANUC 0i-D/0i-F, 30i-BREFERENCE RETURN INCOMPLETEReference return start point too close or speed too slow, or zero point could not be set for the absolute detectorB-64305EN/03 App. A
OT0500FANUC 0i-D/0i-F, 30i-B+ OVERTRAVEL (SOFT 1)Axis exceeded the positive stored stroke check 1 (OT0501 is the negative side)B-64305EN/03 App. A
SP9001FANUC 0i-D/0i-F, 30i-BSSPA:01 MOTOR OVERHEATSpindle motor internal temperature over limit (amplifier display 01); check load, ambient temperature, cooling fanB-64305EN/03 App. A.3
Haas 102Haas NGCSERVOS TURNED OFFServo motors are off due to Emergency Stop, another alarm, or power-on; clear the cause and press RESETHaas alarm page
Haas 108Haas NGCAXIS SERVO OVERLOADMotor load over 100% for several seconds or minutes; reduce load, check for dull or broken toolsHaas alarm page
Haas 160Haas NGCLOW INCOMING AC LINE VOLTAGEIncoming voltage below 80% of expected; check supply voltage and transformer tapsHaas alarm page
SINUMERIK 25000Siemens 840D slAxis %1 hardware fault of active encoderSignals from the active position encoder missing, out of phase, or grounded/shorted; axes must be re-referencedDiagnostics Manual 10/2015
SINUMERIK 25040Siemens 840D slAxis %1 standstill monitoringAxis left the standstill tolerance (MD36030) after the delay time (MD36040), e.g. pushed by cutting force or jammedDiagnostics Manual 10/2015
SINUMERIK 25050Siemens 840D slAxis %1 contour monitoringActual position differs from the NC’s model by more than MD36400 CONTOUR_TOLDiagnostics Manual 10/2015
SINUMERIK 25080Siemens 840D slAxis %1 positioning monitoringAxis did not reach the exact-stop window within MD36020 POSITIONING_TIMEDiagnostics Manual 10/2015

FANUC 0i-F and 30i: what each alarm prefix covers

FANUC CNC alarm types (B-64305EN/03 and B-64485EN/01, Appendix A)
PrefixAlarm typeTypical example
PSAlarms on program and operationPS0090 REFERENCE RETURN INCOMPLETE
BGBackground edit alarms (same numbers as PS)BG0085
SRCommunication alarms (same numbers as PS)SR0001
SWParameter writing alarmSW0100 PARAMETER ENABLE SWITCH ON
SVServo alarmsSV0401, SV0410, SV0411
OTOvertravel alarmsOT0500 + OVERTRAVEL (SOFT 1)
IOMemory file alarmsIO1001 FILE ACCESS ERROR
PWAlarms requiring power to be turned offPW0000 POWER MUST BE OFF
SPSpindle alarmsSP9001 SSPA:01 MOTOR OVERHEAT
OHOverheat alarmsOH0700 LOCKER OVERHEAT (cabinet)
DSOther alarms, including absolute position detector (APC)DS0300, DS0306
IEMalfunction prevention function alarmsSee manual

The same manuals also list MC, EX, SN and PC as alarm types in the alarm-trigger settings, and FANUC’s alarm history example shows macro alarm messages recorded as MC numbers. Macro and external alarm texts are written by the machine builder, so look them up in the builder’s manual, not FANUC’s. TH is not a prefix: TH ERROR is the message of PS0001, a TH error detected while reading from an input device. PMC alarms and serial spindle alarms have their own lists in Appendix A.

We did not have a FANUC-issued copy of the 0i-MODEL F maintenance manual to confirm its document number, so the meanings here come from the 0i-D manual B-64305EN/03 and the 30i-B manual B-64485EN/01, which use the same alarm types. Check any code against the manual for your control and software.

Older FANUC numeric alarms (0-C, 16/18 era)

Before the prefixed system, FANUC used plain numbers. FANUC’s α series amplifier maintenance manual B-65165E/01 shows how one number covered several faults on the Series 16/18/20: alarm 414 grouped amplifier conditions such as DC link overvoltage, abnormal current, IPM alarm, overload, control power undervoltage and DC link undervoltage, read from diagnosis No. 200–204; 416 was feedback disconnected; 417 invalid servo parameter setting; and 400 fan stopped or overheat. On the Series 0-C the same 414, 416 and 417 groups appear, with diagnosis No. 720–723.

On 0i-D and 30i-B controls those conditions have their own SV numbers, for example SV0430 SV MOTOR OVERHEAT, SV0433 CNV. LOW VOLT DC LINK, SV0438 INV. ABNORMAL CURRENT, SV0445 SOFT DISCONNECT ALARM and SV0417 ILL DGTL SERVO PARAMETER. FANUC does not publish a one-to-one cross-reference that we found, so for an old 401, 410 or 411 use the maintenance manual for that control rather than assuming it matches SV0401, SV0410 or SV0411.

Haas and Siemens numbering

Haas publishes each alarm on its website with a description and first action. On the Next Generation Control, axis alarms share one group number and the axis is the number before the period: 1 = X, 2 = Y, 3 = Z, 5 = A, 6 = B, 7 = C, 11 = tool changer arm. Haas states that classic-control alarms 109, 110, 111, 188, 271 and 674 do not appear on NGC; they are all alarm 108 with an axis prefix. On the control, press ALARMS to see Active Alarm, Alarm History and Alarm Viewer tabs, and press SHIFT then F3 with the alarm active to save an error report.

Siemens assigns ranges: 000000–009999 general NC alarms, 010000–019999 channel alarms, 020000–029999 axis/spindle alarms (027000–027999 Safety Integrated), 060000–064999 Siemens cycle alarms, 100000–169999 HMI alarms, 201000–265535 SINAMICS drive faults and alarms, 300000–399999 drive and I/O alarms, and 400000–899999 PLC alarms. The machine builder configures and describes PLC alarms 500000–899999, so those texts are in the builder’s documentation.

Mazak and Okuma do not publish public alarm lists we could verify, so they are not covered here. Use the alarm documentation supplied with the machine.

First checks for any servo or axis alarm

Lock out and tag out before opening the cabinet. FANUC warns that amplifiers can hold dangerous voltage after power-off: wait at least 20 minutes and check the DC link charge LED is off. Support vertical and gravity axes mechanically before working on motors, brakes or couplings. Megger a motor and its cable only with them disconnected from the amplifier. Never bypass E-stop, door interlocks or limit switches, and do not switch off axis monitoring to clear an alarm.
  1. Write down every active alarm and the alarm history in order. The first alarm is usually the cause; Haas 102 SERVOS TURNED OFF, for example, normally follows another alarm.
  2. Note when it happened. At power-up or reset with no motion (SV0401, Haas 102): look at the power and ready chain: E-stop released, contactor (MCC) on, breakers, amplifier control power, and any power supply or spindle amplifier alarm. On FANUC, diagnosis No. 358 narrows SV0401 down.
  3. At standstill (SV0410, SINUMERIK 25040): the axis drifted while holding. Look for cutting or clamping force pushing it, a gravity axis and its brake, and position gains.
  4. During a move or acceleration (SV0411, SINUMERIK 25050, Haas 108 after a sustained load): look for binding, lubrication, a crash, dull or broken tools, feeds and speeds, then motor and cable faults and tuning.
  5. After power-off, a battery change or encoder work (DS0300, DS0306, PS0090, SINUMERIK 25000): check the encoder battery and cable, then set the reference position by the machine’s procedure.
  6. Swap or replace parts only after the checks above, and record parameters and settings before any amplifier, board or encoder change.

Frequently asked questions

What does FANUC alarm SV0401 mean?

SV0401 IMPROPER V_READY OFF means the CNC’s position control was ready (PRDY on) but the servo amplifier’s velocity-ready signal (VRDY) was off. FANUC’s checks: control power to the power supply, E-stop released, MCC contactor on and powered, breaker on, and no power supply or spindle amplifier alarm. Diagnosis No. 358 shows where the ready chain broke.

What is the difference between FANUC SV0410 and SV0411?

Both are excess position error alarms. SV0410 EXCESS ERROR (STOP) is triggered while the axis is stopped and is compared with parameter No. 1829; SV0411 EXCESS ERROR (MOVING) is triggered during travel and is compared with parameter No. 1828. Standstill points to drift or brake problems, moving to binding, load or the drive.

What does Haas alarm 108 mean?

Haas alarm 108 is AXIS SERVO OVERLOAD: the motor load stayed above 100% for several seconds or even minutes. Haas says to reduce the load with feeds and speeds and check for dull or broken tools. On NGC the axis is shown in front of the period, for example 3.108 for Z.

What is FANUC alarm OT0500?

OT0500 + OVERTRAVEL (SOFT 1) means an axis exceeded the positive stored stroke check 1, a software travel limit. OT0501 is the same on the negative side. Check the program and work offsets that commanded the move before jogging the axis back inside its range.

Why does my FANUC lose its reference position after power-off?

The absolute position detector lost its data. DS0306 APC ALARM: BATTERY VOLTAGE 0 means the encoder battery voltage dropped too low (or the Pulsecoder was powered for the first time), and DS0300 APC ALARM: NEED REF RETURN asks for the zero position to be set again. If DS0306 returns after a power cycle, FANUC says the battery or cable may be defective.

How do I replace the FANUC encoder battery without losing position?

FANUC’s maintenance manual says to replace the absolute encoder battery with the machine turned on, so the position data is held during the change. Keep the machine in E-stop, follow the machine builder’s procedure, and use the battery type the builder specifies.

What does FANUC SP9001 mean?

SP9001 SSPA:01 MOTOR OVERHEAT means the spindle motor’s internal temperature exceeded its limit, shown as 01 on the spindle amplifier. FANUC’s remedies are to check ambient temperature and load and to replace the motor cooling fan if it has stopped.

What is the difference between SINUMERIK 25040 and 25050?

25040 standstill monitoring trips when a stopped axis leaves its position tolerance (MD36030) after the delay time (MD36040), for example when cutting force pushes it. 25050 contour monitoring trips during motion when the actual position differs from the NC’s model by more than MD36400. Machine data changes belong to the builder or Siemens service.

Related