The FANUC self-diagnosis screen (DIAGNOSIS, short for DGN) is the “first scene of evidence” for field troubleshooting. Unlike an alarm number that pops up by itself, it keeps showing the system’s internal status, servo feedback, spindle operation, and PMC signals as live numbers all the time. For many “no alarm but still something is wrong” faults, the answer is hidden inside the diagnosis numbers.
This table groups the 100+ most-used diagnosis numbers by function, with an alarm-number cross-reference, so you can apply it directly on the floor. Pair it with FANUC No-Alarm Fault Diagnosis (which explains how to use DGN000 / 003 / 005), and for PMC signals see FANUC PMC Ladder Diagram Beginner Tutorial.
Important note (read first): The exact subdivision and layout of diagnosis numbers differ between FANUC series (0i / 16i·18i·21i / 30i, etc.). The grouping below follows the most common 0i and 16i/18i series. The specific bit definitions and numbering must follow your own machine’s diagnosis screen and the corresponding series service manual. Segments marked “series-dependent” must not be applied blindly.
1. How the Diagnosis Numbers Are Partitioned
FANUC partitions the diagnosis numbers by the logic “system → servo → spindle → machine side.” Once you remember the partition you can quickly judge “roughly what is this number monitoring”:
- 000–039 — execution and status: is the program stuck at some step, why won’t the axis move.
- 100–199 — mostly alarm numbers (P/S alarms), with a few diagnostic bits.
- 200–299 — servo and feedback detailed bits.
- 300–399 — position error and encoder.
- 400–499 — spindle.
- 500–605 — overtravel alarms and PMC alarms (not regular diagnostic segments).
2. Execution and Status Class 000–039
This class reflects “which step is the program stuck at, why won’t the axis move” — the first entry for hidden no-alarm faults.
| Diagnosis No. | =1 / Display meaning | Common symptom / action |
|---|---|---|
| 000 | Waiting for FIN (M/S/T/B not finished) | Program stops at M block → check G4.3 (FIN) and the action-complete X |
| 001 | NC software version (some series) | Normal |
| 002 | DWELL (G04) in execution | Normal pause, not a fault |
| 003 | In-position check | Stuck =1 for long → check DGN300 and parameter 1826 (in-position width) |
| 004 | Feed override 0% | Program won’t run → check override knob / parameter |
| 005 | Interlock / start lock | Check G8.0 / G130~G134 (all-axis / per-axis / directional interlock) |
| 006 | Spindle speed-reached check | Spindle not yet at rated speed |
| 010 | Total power-on time (hours) | Cumulative, reference |
| 011 | Total cutting time (hours) | Reference |
| 012 | Waiting for (un)clamp | Rotary table / indexer not clamped |
| 013 | Handwheel override 0% | Handwheel not moving → check handwheel override |
| 014 | Waiting for reset / emergency stop / RRW release | Check e-stop chain, external reset |
| 020–025 | Reset / e-stop / stop status bits | Check reset / e-stop chain |
| 035 | PMC current cycle time (seconds) | Reference, judge if PMC scan is abnormal |
3. System / Alarm Status Class 100–199 (Note: mostly alarm numbers in this segment)
This segment is easily mistaken for “diagnostic bits.” In reality 091–199 mostly appear as P/S alarm numbers (program, parameter, macro related). The real DGN diagnostic bits on 0i are mainly 100 = shows the current alarm number when an alarm occurs, and 101 = alarm status. The common alarm meanings are listed below for reference:
| Number segment | Common meaning | Action point |
|---|---|---|
| 100 | PWE=1 prompt (parameters writable) | After changing parameters set PWE to 0 and press RESET |
| 101 | Power loss during program write | Recovery may clear memory, be careful |
| 110 / 111 | Data overflow / calculation overflow | Fix program value or expression |
| 112 | Divide by zero (incl. TAN 90°) | Fix expression |
| 113 / 114 | Macro unavailable / macro format error | Fix macro program |
| 128 | Sequence number out of range or not found | Fix jump target |
| 131 | PMC alarm messages over 5 | Check PMC alarm |
| 142 / 143 | Scaling coefficient out of range | Check scaling parameter |
| 145 / 146 | Polar coordinate interpolation start/stop error | Check G code and parameters 213–215 |
| 150–155 | Tool group / tool number related | Check T code and tool offset |
| 176 | G code issued during circular interpolation | Fix program |
| 180 | High-speed remote buffer block alarm | Check DNC / buffer |
| 190 | Constant surface speed axis definition error | Fix program |
| 199 | Macro cannot execute | Check macro variable / condition |
When truly used as a DGN bit: DGN100 = shows the current alarm number when an alarm occurs; DGN101 = alarm status bit. The exact 100–199 bit definitions for a specific series must follow your own machine’s screen.
4. Servo and Feedback Class 200–299
When a servo alarm (4xx series) pops up, don’t rush to reset — watch the 200–207 group of “detailed bits,” which tells you whether it is overload, undervoltage, overcurrent, or encoder disconnection. For full servo-gain background see FANUC Servo Gain 2021 / 1825 Adjustment.
| Diagnosis No. | Meaning | Explanation |
|---|---|---|
| 200 | Servo alarm detailed bits (bit0–7) | OFA overflow / FBA disconnection / DCA discharge / HVA overvoltage / HCA overcurrent / OVC overcurrent / LV undervoltage / OVL overload |
| 201 | ALD / EXP extended bits | Overload split: motor overheating vs amplifier overheating; disconnection split: built-in vs separated encoder |
| 202 | Serial pulse encoder detail | SPH soft phase / CKA encoder hardware / BZA battery 0 / RCA count error / PHA phase / BLA battery low / CSA hardware anomaly |
| 203 | Serial encoder communication | DTE no response / CRC check / STB stop bit |
| 204 | Serial encoder detail (amplifier side) | OFS current conversion anomaly / MCC contactor weld / LDA LED anomaly / PMS feedback error |
| 205 | Separated encoder detail | OHA overheat / LDA LED / BLA battery low / PHA phase / CMA count / BZA battery 0 / PMA pulse / SPH soft phase |
| 206 | Separated encoder communication | DTE / CRC / STB |
| 210 | Absolute encoder position (multi-turn) | Reference |
| 220 | Servo axis number | Current axis assignment |
| 280 | Servo alarm number | Most recent servo alarm number, pairs with 4xx alarm to locate |
| 288 | Series-dependent | Follow your own machine’s screen |
5. Position and Error Class 300–399
This group is the core for no-alarm stalling and inaccurate positioning. When DGN003 (in-position check) =1, the truth is in 300–308.
| Diagnosis No. | Meaning | Explanation |
|---|---|---|
| 300–308 | Real-time position deviation (following error) of each axis (axes 1–8) | Check here when DGN003 is stuck; deviation = feed ÷ (60 × actual 1825 gain) |
| 301 | Machine position (distance from reference point) | Some series show machine coordinates outside the deviation |
| 308 | Servo motor temperature (°C) | Sanity check before / after overtemperature |
| 310–318 | Position / temperature detail on some series | Series-dependent |
| 350 | Serial encoder internal control anomaly | Check 202 / 204 |
| 351 | Serial encoder communication anomaly | Check 203 |
| 385 / 390 | Series-dependent | Follow your own machine’s screen |
6. Spindle Class 400–499
The spindle is not a “black box” — its speed command, actual speed, load, and synchronization error can all be seen in the diagnosis numbers. Organized below for 16i/18i series spindle diagnosis:
| Diagnosis No. | Meaning | Explanation |
|---|---|---|
| 400 | Spindle speed command (S code) | Commanded value |
| 401 | Spindle actual speed (rpm) | Compare with 400 to see if command is reached |
| 403 | Spindle 1 load meter (%) | Overload / abnormal load judgment |
| 409 | Serial spindle error bits (SPE/S1E/S2E/SHE) | Pairs with 409 alarm (spindle amplifier has alarm) to locate |
| 410 | Spindle 1 alarm code | Spindle-side alarm |
| 411 | Spindle 1 speed meter | Monitor |
| 412 | Spindle 2 load meter (%) | Dual-spindle machines |
| 413 | Spindle 2 speed meter | Dual-spindle machines |
| 414 | Spindle 1 sync control position error | Rigid tapping / sync |
| 415 | Spindle 2 sync position error | Rigid tapping / sync |
| 416 | Spindle 1/2 sync error absolute value | Sync control |
| 417 | Spindle 1 position encoder feedback | Orienting / rigid tapping |
| 418 | Spindle 1 position-loop position error | Position-loop mode |
| 419 | Spindle 2 position encoder feedback | — |
| 420 | Spindle 2 position encoder feedback | — |
| 421 | Spindle 3 position encoder feedback | Multi-spindle machines |
| 422 | Spindle 3 position-loop position error | Multi-spindle machines |
| 423 | Spindle 4 position encoder feedback | Multi-spindle machines |
Note: 408 / 409 also appear as alarm numbers for “spindle amplifier not started / has alarm” (409 means the spindle drive itself alarms; you must read the drive LED / 7-segment code). The bit definitions of diagnosis 409 are used to further split the 409 alarm.
7. Overtravel and PMC Class 500–605 (with alarm numbers)
This segment needs clarification: 500–549 are overtravel (OT) alarm numbers, not a regular diagnostic segment; 600–605 are PMC alarm numbers. The real PMC input/output diagnosis (X/Y/R etc.) is mostly viewed through PMC → I/O screen, or falls in the 800 segment (some series), and differs greatly by model — do not memorize them as fixed numbers. The most-used alarm numbers for field reference:
| Alarm No. | Meaning | Action |
|---|---|---|
| 510 / 511 | X-axis +/− overtravel | JOG / handwheel move back inside limit in reverse, press RESET |
| 520 / 521 | Y-axis +/− overtravel | Same as above |
| 530 / 531 | Z-axis +/− overtravel | Same as above |
| 540 / 541 | 4th-axis +/− overtravel | Same as above |
| 600 | PMC illegal instruction interrupt | Check PMC program |
| 601 | PMC RAM parity error | Check PMC memory |
| 602 | PMC serial transmission error | Check PMC communication |
| 603 | PMC watchdog error | Check PMC scan / program |
| 604 | PMC ROM parity error | Check PMC ROM |
| 605 | PMC ladder content overflow | Check ladder capacity |
8. Common Diagnosis Numbers One-Line Quick Reference (Top 20)
When you can’t remember the whole table, memorize these 20 most frequently opened:
- 000 — waits for M/S/T/B finish signal FIN (G4.3); when program is stuck at an M block, look here
- 003 — in-position check; if =1 for long, check DGN300 and 1826
- 005 — interlock active; check G8.0 / G130~G134
- 200 — servo alarm detailed bits (overload / undervoltage / overcurrent / overvoltage …)
- 201 — overload / disconnection detail (motor side vs amplifier side)
- 202 — serial encoder detail (battery / count / phase)
- 203 — serial encoder communication error
- 204 — serial encoder amplifier-side detail
- 280 — most recent servo alarm number
- 300 — axis 1 real-time position deviation (following error)
- 301 — machine position (distance from reference point)
- 308 — servo motor temperature
- 350 — serial encoder internal control anomaly
- 351 — serial encoder communication anomaly
- 400 — spindle speed command (S)
- 401 — spindle actual speed
- 403 — spindle load (%)
- 409 — serial spindle error bits / spindle drive has alarm
- 410 — spindle 1 alarm code
- 411 — spindle 1 speed meter
More alarm meanings can be cross-checked in the FANUC Alarm Code List; for troubleshooting ideas see FANUC Fault Troubleshooting 5 Cases.
9. How to View / Export the Diagnosis Screen on Your Own Machine
The key paths differ slightly between series; the general approach:
- Press the SYSTEM key → find DIAGN / DIAGNOSIS via the right-side extended soft keys;
- Enter the diagnosis number (e.g. 300) → press number search / screen switch to see the live value;
- For full screen / multi-axis: use soft keys to page on the diagnosis page (e.g. [OPRT] → [PAGD]), or go directly to SYSTEM → parameter / diagnosis full page;
- To export to the manufacturer: the most practical is to take photos — capture the alarm screen, diagnosis numbers 000/003/005/200–204/300–308 current values together; some series support diagnosis data PUNCH output (via RS-232 or memory card). Before exporting, first record the alarm history (MESSAGE key → alarm history).
10. Citation and Update Time
- This table is compiled from FANUC series service / maintenance manuals (0i, 16i/18i/21i, etc.) and common field terminology, re-grouped by function for quick lookup.
- The specific bit definitions and numbering of diagnosis numbers vary by system series and software version; on site you must follow your own machine’s diagnosis screen and the corresponding manual; segments marked “series-dependent” must not be applied blindly.
- This page is open for citation; when reposting please keep the “Source: CNCShare (cncshare.com)” note so readers can trace the version and supplements.
- Update time: 2026-10-19.
Frequently Asked Questions (FAQ)
1. Where do I find the FANUC diagnosis numbers? How do I see them full screen?
Press the SYSTEM key → find “DIAGN (DIAGNOSIS)” via the right-side extended soft keys → enter the diagnosis number and press enter to see the live value. For full screen / multi-axis you can page on the diagnosis page, or go to SYSTEM → parameter/diagnosis full page; the soft-key names differ slightly between series.
2. What data does diagnosis number 300 display?
DGN300–308 are the real-time position deviation (following error) of each axis (axes 1–8), in the same unit as the system detection unit. It reflects “command position − actual position.” When DGN003 (in-position check) =1 this is the main place to look; a persistently large deviation is usually a mechanical / transmission or servo-gain (1825) problem.
3. What do diagnosis numbers 200 and 204 each show?
DGN200 is the 8 detailed bits of the servo alarm (overload OVL / undervoltage LV / overcurrent OVC / overcurrent HCA / overvoltage HVA / discharge DCA / disconnection FBA / overflow OFA), used to judge the broad class of the servo alarm; DGN204 is the amplifier-side detail bits of the serial encoder (current conversion anomaly OFS / contactor weld MCC / LED anomaly LDA / feedback error PMS), used to further locate an encoder or amplifier-side fault.
4. Can I print the diagnosis numbers and give them to the manufacturer?
Yes, and it is very useful. The most recommended approach is to photograph: record the alarm screen, the current values of diagnosis numbers 000/003/005, 200–204, 300–308, together with the alarm history (MESSAGE → alarm history), and send them to the manufacturer or maintenance personnel — this greatly reduces back-and-forth confirmation time. Some series support diagnosis data PUNCH output.
























暂无评论内容