This guide is built for real shop-floor troubleshooting: what to check first, what to stop doing immediately, and how to recover safely without turning a small issue into a crash. “Alarm codes” and alarm numbering vary by control model, option package, and machine builder, so this page focuses on the most common alarm TYPES and the exact failure patterns you will see in production, plus proven, low-risk recovery steps. Use it as a checklist and a training reference for operators, programmers, and setup technicians.
1) First 60 Seconds: Safety + Triage (Do This Before Anything Else)
If the machine alarms during motion, treat it as a potential crash condition. Stop cutting power to motion in a controlled way (feed hold or cycle stop per your shop rules), confirm the tool is not still engaged in the part, and keep hands out of the work envelope until motion is stable. Then answer three questions: (1) Did the alarm happen during rapid (G00) or cutting feed (G01/G02/G03)? (2) Did it happen right after a tool change or right after a modal change (G90/G91, G17/G18/G19, G54–G59, G43/G49, G41/G42, G68/G69, G93/G94/G95)? (3) Did it happen at the same line every time (repeatable) or randomly (intermittent)? Repeatable usually means programming/offsets; intermittent often means mechanical/sensor/servo/load.
2) “Top Alarm Families” You’ll See on Fanuc, Haas, Siemens (Real-World)
Below are the alarm families that cause the highest downtime and the most expensive mistakes.
A) Overtravel / Soft Limit / Stroke Limit
Typical message patterns: “Overtravel”, “Soft Limit”, “Stroke Limit”, “OT Alarm”, “Travel Exceeded”.
Most common causes: wrong work offset (G54…), wrong sign on Z, wrong tool length offset (H), forgetting you’re in incremental (G91), active coordinate transform not canceled (G68/G69), or a rotary/fixture geometry mismatch.
Fast checks: verify current coordinate system (G54–G59), confirm G90 vs G91, confirm Z tool length offset is correct for the active tool, confirm transforms are canceled, confirm machine home/reference was completed.
Safe recovery: retract in the safest axis first (usually Z+ away from the part), then clear X/Y. If your control supports it, use a controlled “overtravel release” procedure only after you understand why it happened.
B) Servo Following Error / Position Error Too Large
Typical message patterns: “Servo Error”, “Following Error”, “Excess Error”, “Contour Error”, “Position Error”.
Most common causes: aggressive acceleration at corners, too-high feed for tiny CAM segments, heavy tool load (dull tool, wrong chipload), mechanical binding, loose coupling, ballscrew issues, or axis scale/encoder fault.
Fast checks: does it happen only on one axis? only in one direction? only at high feed? Try a reduced feed override on a repeatable move (with the tool safely above the part) to see if it disappears.
Safe recovery: do not keep rerunning at full feed. If it’s cutting-load related, reduce feed/speed, check tool condition, verify coolant, check workholding rigidity. If it’s intermittent at idle or during rapids, suspect mechanical/servo issues.
C) Spindle Alarms (Speed, Orientation, Load, Drive)
Typical message patterns: “Spindle Overload”, “Spindle Drive Fault”, “Spindle Orientation”, “Speed Not Reached”.
Most common causes: too heavy chip load, wrong tool, wrong S-command, belt/drive issues, orientation sensor problems (especially during tool change), or thermal protection.
Fast checks: confirm commanded S and actual spindle speed match, check tool engagement, check coolant, listen for abnormal spindle sound, verify orientation completes reliably during tool change.
Safe recovery: reduce load, inspect tool and part, and avoid repeated orientation attempts if the drive faults persist.
D) Program / Format / Modal State Alarms
Typical message patterns: “Illegal G code”, “Format Error”, “Address Error”, “No G code”, “Improper G-code Group”.
Most common causes: missing decimals where required, wrong axis words for the active plane (G17/G18/G19), unsupported modal combination, bad macro syntax, missing parameters in cycles.
Fast checks: identify the exact line number; check active plane and unit mode (G20/G21), check whether the code assumes arcs in XY but plane is not G17, and verify canned cycles are properly canceled (G80).
Safe recovery: fix the program, don’t “edit around” the symptom—remove the cause (modal mismatch).
E) Tool Offset / Compensation Alarms
Typical message patterns: “Comp Interference”, “Cannot Apply Cutter Comp”, “H/D Offset Missing”, “Tool Length Offset Error”.
Most common causes: entering G41/G42 without a proper lead-in move, D offset = 0 or wrong tool number, canceling comp without lead-out, wrong H offset for the tool, using G43 where TCP/5-axis compensation is required, or forgetting to cancel comp between operations.
Fast checks: confirm correct D value (radius) and H value (length) match the tool in spindle, confirm lead-in length is at least the tool radius, confirm the path direction matches G41/G42 choice.
Safe recovery: cancel compensation safely (G40/G49), reposition, and re-enter with a valid lead-in.
F) Probe Alarms / Skip Signal Issues
Typical message patterns: “Skip Signal Not Found”, “Probe Triggered”, “Probe Not Armed”, “Unexpected Trigger”.
Most common causes: probe stylus loose, probing feed too fast, wrong approach direction, probe not calibrated, chips on the surface, electrical noise, wrong macro parameters.
Fast checks: clean stylus and part surface, verify probe is armed, slow down probing feed, verify calibration routine was completed, verify approach direction and clearance.
Safe recovery: stop automated offset writes, rerun probing in a safe test position, and validate results before machining.
3) The 10 Most Viral (Because Everyone Makes Them) G-Code Mistakes — With Real Fixes
These are the mistakes that produce crashes, scrap, and “mystery alarms” even in experienced shops.
Mistake #1: Confusing G90 vs G91 (Absolute vs Incremental)
Symptom: tool moves “the wrong way” by a huge amount or drills in the wrong location.
Fix: enforce a Safe Start that explicitly sets G90 and never assume state.
Example fix line: G90
Mistake #2: Rapid Into the Part With “G00 Z-…”
Symptom: instant crash or near-miss, especially after tool change or offset edit.
Why it happens: negative Z in work coordinates often means “into the part,” and G00 ignores cutting load reality.
Best practice: use safe retract first, then approach in feed.
Good pattern: G00 Z100. (clearance), then G01 Z… F…
If you must approach close: do it in controlled feed with a conservative F.
Mistake #3: Not Canceling Canned Cycles (Forgetting G80)
Symptom: unexpected drilling motion at the next XY position.
Fix: always cancel cycles before leaving a drilling section.
Fix line: G80
Mistake #4: Wrong Plane for Arcs (G17/G18/G19)
Symptom: arc alarms, crazy arc motion, or “radius too small” errors.
Fix: if your CAM outputs XY arcs, force G17 before arcs.
Fix line: G17
Mistake #5: Units Mismatch (G20 vs G21)
Symptom: moves are 25.4× too large or too small.
Fix: set unit mode in Safe Start and never assume.
Fix line: G21 (metric) or G20 (inch)
Mistake #6: Cutter Comp Entry Without Lead-In (G41/G42)
Symptom: “cannot apply comp” or sudden offset jump.
Fix: include a lead-in move longer than tool radius, then enable comp on a linear move.
Correct approach: lead-in line first, then G41/G42 with a move.
Mistake #7: Tool Length Offset Applied Wrong (Wrong H)
Symptom: Z depth wrong by tens of mm, sometimes immediate crash.
Fix: enforce “H equals tool number” discipline or a verified tool table procedure, and never reuse H incorrectly.
Mistake #8: Leaving Coordinate Rotation Active (G68 Not Canceled With G69)
Symptom: next operations are “mysteriously rotated,” holes shift, fixtures get hit.
Fix: always cancel transforms at the end of the section.
Fix line: G69
Mistake #9: Feed Mode Mismatch (G93/G94/G95)
Symptom: machine crawls or accelerates dangerously; 5-axis finish looks wrong; turning feeds inconsistent.
Fix: explicitly set feed mode where required and reset back to standard afterward.
Common safe reset: G94
Mistake #10: Missing a Real Safe Start Block
Symptom: random behavior depending on what program ran last.
Fix: always start with an explicit Safe Start block.
4) Copy-Paste Safe Start and Safe End Blocks (Control-Agnostic)
These are conservative templates you can adapt.
Safe Start (Milling Template)
- Cancel comp and cycles: G40 G49 G80
- Set plane and units: G17 G21 (or G20)
- Set absolute mode: G90
- Set feed mode: G94
- Select work offset: G54 (or desired)
- Tool change and compensation: T.. M06, then apply correct length comp (G43 H.. on controls that use it)
Safe End (Milling Template)
- Cancel cutter comp and length comp: G40 G49
- Cancel cycles: G80
- Cancel transforms: G69 (if used)
- Retract to safe Z, then home/park per your shop standard
5) “G00 Z100” vs “G00 Z-100” — The Real Meaning and the Real Risk
G00 is rapid positioning. The control will move as fast as the axis limits allow, with no regard for cutting forces. In most milling setups, positive Z is away from the part and negative Z goes into the part, but your actual direction depends on your work offset and how the part is set. “G00 Z100” is typically a safe clearance move if Z+ is away from the part, but it can still crash if your machine is near a Z+ soft limit or if your coordinate transform is active. “G00 Z-100” is often catastrophic because it commands a fast move into the work zone; if the tool length or Z offset is wrong by even a small amount, the machine will hit the part at full rapid. The professional rule is simple: use rapid only to move in known clear space; use feed to enter uncertain or near-part zones; and verify offsets before any downward Z move.
6) Fast “Root Cause Map” (Symptom → Likely Cause → What to Check)
If the tool is deeper than expected: wrong H offset, wrong tool called, wrong work Z, active G91, active transform.
If holes are shifted: wrong work offset, G68 left active, wrong plane, wrong fixture origin.
If arcs alarm: wrong plane (not G17), I/J/K incorrect format, radius too small, incremental arc confusion.
If chatter + servo errors: feed too high for segment density, dull tool, insufficient rigidity, wrong smoothing mode settings.
If probing writes bad offsets: probe not calibrated, chips on part, wrong approach direction, wrong macro parameters.
7) Practical “Stop Doing This” List (These Create Viral Fails)
Never run a new or edited program at 100% rapid with the tool near the part. Never assume the last program left the machine in a safe modal state. Never enter G41/G42 on a short move. Never leave transforms active into a tool change. Never tap (G84) with the wrong pitch in F. Never run deep drilling (G83) with huge pecks in stainless/titanium. Never ignore intermittent servo alarms—they usually get worse, not better.
8) What to Document for Faster Fixes (Makes You Look Like a Pro)
When an alarm happens, record: the exact alarm text, the program line number, the active tool number, the active work offset, G90/G91 state, active plane (G17/18/19), and whether a transform (G68) or compensation (G41/G42, tool length comp) was active. This single habit can cut troubleshooting time by 70% because it stops guesswork.
9) Final Checklist Before You Hit Cycle Start Again
Offsets verified, tool number matches H/D, safe retract confirmed, modal states set in Safe Start, transforms canceled unless intentionally used, canned cycles canceled unless intentionally active, and the first approach into material is done in controlled feed—not rapid. If you adopt only one rule from this page: “Rapid only in known-clear space.”
If you want, I can continue this series with a dedicated “Alarm-to-Fix” page per control (Fanuc-only, Haas-only, Siemens-only) using the same structure: top messages, what they mean, the fastest safe checks, and recovery sequences that prevent repeat alarms.
Leave a comment