This is an educational explanation of a common Fanuc alarm, not operating instructions for your specific machine. Always follow your machine’s manual and your supervisor when clearing an alarm and re-running a program.
Fanuc alarm 010, shown as IMPROPER G-CODE, means the control read a G-code it cannot run. Fanuc states the cause plainly: an unusable G-code, or a G-code for a function the machine does not have, was commanded. The good news is the alarm tells you the block where it choked, so this is a findable problem.
What the alarm is really saying
Every control recognizes a specific set of G-codes. When the interpreter hits a code outside that set, it stops rather than guess. The valid set is documented per control, and a general reference like the LinuxCNC G-code list or the Wikipedia G-code overview shows how standard the core codes are and where machine-specific differences creep in. Alarm 010 is the control refusing to run something it does not understand.
The common causes
| Cause | Example | Fix |
|---|---|---|
| Typo / slipped digit | G011 instead of G01 | Correct the code |
| Code from another control | A Haas-only or Mazak-only code on Fanuc | Replace with the Fanuc equivalent |
| Missing software option | A canned cycle or macro the machine lacks | Enable the option or avoid the code |
| Wrong post-processor | CAM posted for the wrong machine | Re-post with the correct profile |
The Fanuc alarm-code references list 010 alongside its neighbors, and most real cases are the first two rows: a small typo or code that was written for a different machine.
How to find and fix it
The alarm names the offending block, so the search is short:
- Read the block number the alarm reports.
- Look at the G-code on that line and compare it to your machine’s manual.
- If it is a typo, correct it. If it belongs to another control, swap in the Fanuc equivalent. If it needs an option you do not have, remove the code or have the option enabled.
- Re-run from a safe starting point under supervision.
Reading the block correctly is the same skill as reading any CNC program, and knowing the valid set cold is just the common G-codes for CNC beginners.
Alarm 010 and its neighbors
Fanuc groups several program alarms close together, and they are easy to confuse (and not every halt is an alarm at all: a machine parked waiting for the spindle is enforcing a handshake, not raising an error):
| Alarm | Meaning |
|---|---|
| 007 | Illegal use of decimal point |
| 010 | Improper G-code |
| 011 | No feedrate commanded |
The decimal-point one is common enough to deserve its own walkthrough in Fanuc illegal use of decimal point alarm. Recognizing which alarm is which, and why, is exactly what a practice routine on the G-code practice hub reinforces.
When it is the option, not a typo
If the G-code on the offending block is spelled correctly and you know it is a real Fanuc code, the cause is usually a missing software option. Higher canned cycles, custom macro (the G65/G66 family), and some probing or coordinate-rotation codes are paid options, so a control without them throws alarm 010 even though the program is valid. The tell is simple: a typo is fixed in the editor, but an option-related 010 keeps alarming on a correctly written line. In that case you either remove the feature, rewrite it with codes the machine has, or have the option enabled. Confirm which option a code needs in the machine’s parameter and option list before assuming the program is broken.
Bottom line
Fanuc alarm 010 means an improper G-code: a code the control cannot run because it does not exist, is mistyped, or needs an option the machine lacks. Go to the block the alarm names, compare the code to the manual, fix the typo or wrong code, and re-run from a safe point.
Sources
- HelmanCNC: Fanuc alarm codes for CNC machines
- LinuxCNC G-code reference (valid G-codes)
- Wikipedia: G-code
Frequently asked questions
What is Fanuc alarm 010?
It is a program alarm meaning IMPROPER G-CODE: the control was commanded a G-code it cannot run, usually one that does not exist on the control, a typo, or a code needing an option the machine does not have. The alarm names the block where it happened.
What causes an improper G-code alarm?
A mistyped code, a code copied from a program posted for a different control, or a code that requires a software option such as certain canned cycles or macros that the machine does not have enabled.
How do you fix Fanuc alarm 010?
Go to the block the alarm names, compare its G-code to your machine’s manual, then correct the typo, replace the wrong code, or enable the missing option, and re-run from a safe point.
What is the best way to learn G-codes to avoid alarms?
Drill them with active recall so valid codes are second nature. A free app like G-Code Sprint quizzes the everyday G-codes as quick timed questions and repeats whichever ones you miss.
G-Code Sprint is a study and practice tool only. Always follow your instructor, employer, machine manual, and shop safety procedures.