FANUC CNC Alarm Codes (0001–0200)
FANUC CNC alarm codes from 0001 to 0200 are some of the most frequently searched and most commonly encountered alarms in daily CNC programming, editing, and machine operation.
This page covers alarm numbers that may appear as:
- PS alarms – Program-related alarms
- BG alarms – Background editing alarms
- SR alarms – Communication alarms
These alarm references apply to:
- FANUC Series 0i-Model D
- FANUC Series 0i Mate-Model D
This reference page is designed for:
- CNC machine operators
- Maintenance engineers
- FANUC service technicians
- CNC programmers
- Spare parts buyers and repair customers
If you are looking for a specific FANUC alarm meaning, cause, or troubleshooting description, use the table below.
FANUC CNC Alarm Codes Table (0001–0200)
| Alarm No. | Message | Description |
|---|---|---|
| 0001 | TH Error | A TH error was detected during reading from the input device. The exact position of the code that caused the TH error can be checked on the diagnostic screen. |
| 0002 | TV Check Error | An error was detected during TV check in a single program block. TV check can be disabled by setting parameter TVC (No.0000#0) to 0. |
| 0003 | Too Many Digits | A value with more digits than allowed for the NC instruction was specified. The allowable number of digits varies depending on the function and address. |
| 0004 | Address Not Found | The NC statement address + value does not match word format. This alarm may also occur when reserved words are missing in a user macro program or when the syntax is invalid. |
| 0005 | No Data After Address | The address is not followed by valid numeric data in the NC statement word format. This alarm may also occur when reserved words are missing in a user macro program or when the syntax is invalid. |
| 0006 | Illegal Use of Minus Sign | A minus sign was specified in an NC instruction word or system variable where it is not allowed. |
| 0007 | Illegal Use of Decimal Point | A decimal point was specified for an address where decimal input is not allowed, or two or more decimal points were specified. |
| 0009 | Illegal NC Address | An address that cannot be specified in the NC statement was used, or the required parameter (No.1020) has not been set. |
| 0010 | Illegal G Code | A G code that cannot be used was specified. |
| 0011 | Feedrate = 0 (Not Commanded) | The feedrate F for cutting feed was set to 0. During rigid tapping, if the F command is extremely small relative to the S command, this alarm is issued because cutting cannot be performed under the programmed conditions. |
| 0015 | Too Many Controlled Axes | A move command was issued for more axes than can be controlled simultaneously. Split the movement into two program blocks. |
| 0020 | Radius Value Error | An arc was specified where the difference between the radius at the start point and end point is larger than the setting of parameter No.3410. Check the arc center commands I, J, and K. If parameter No.3410 is increased, the resulting path becomes helical. |
| 0021 | Illegal Plane Selection | Plane selection G17–G19 is incorrect. Recheck the program and confirm that parallel axes of the three basic axes are not specified at the same time. In arc interpolation, this alarm is issued if an axis outside the selected plane is commanded. For [T] 0i-TD, an option for helical interpolation is required to command more than 3 axes in a G02/G03 block. |
| 0022 | R or I, J, K Not Found | In arc interpolation, neither R (radius) nor I, J, K (distance from start point to arc center) was specified. |
| 0025 | Arc Cutting in Rapid Traverse Mode | [M] In arc interpolation mode (G02 / G03), F0 was commanded, meaning rapid traverse by feed or reverse rapid feed. |
| 0027 | No Axis Command in G43/G44 | [M] In a G43 / G44 block, no axis was specified for C-type tool length compensation. Offset cancellation was not performed, but another axis attempted C-type tool length compensation. This alarm also occurs if multiple axis commands are specified for C-type tool length compensation in the same block. |
| 0028 | Illegal Plane Selection | Plane selection G17–G19 is incorrect. Recheck the program and confirm that parallel axes of the three basic axes are not specified at the same time. In arc interpolation, this alarm is issued if an axis outside the selected plane is commanded. For [T] 0i-TD, an option for helical interpolation is required to command more than 3 axes in a G02/G03 block. |
| 0029 | Illegal Offset Value | The offset number is incorrect. |
| 0030 | Illegal Offset Number | An offset number that cannot be commanded was specified. |
| 0031 | Illegal P Command in G10 | The data input related to the L number in G10, or the corresponding function, is not in a valid state. Required addresses such as P or R were not specified. Addresses unrelated to data setting were specified. Depending on the L number, the valid addresses differ. The sign, decimal point, or range of the address values may also be incorrect. |
| 0032 | Illegal Offset Value in G10 | In offset value input by program (G10), or when writing an offset value with a system variable, the specified offset value is too large. |
| 0033 | No Intersection in G41/G42 | The system cannot calculate an intersection for cutter radius compensation or tool nose radius compensation. Revise the program. |
| 0034 | Arc Not Allowed in Lead-In / Lead-Out Block | In cutter radius compensation or tool nose radius compensation, a lead-in or cancel command was attempted in a mode other than G00 or G01. Revise the program. |
| 0035 | G31 Cannot Be Commanded | 1) The machine is in a state where G31 cannot be commanded. This alarm is issued when a group 07 G code, such as cutter radius compensation or tool nose radius compensation, cannot be canceled. 2) In torque limit skip command G31P98/P99, torque limit has not yet been specified. Specify it in the PMC window. |
| 0037 | Plane Cannot Be Changed in G41/G42 | In cutter radius compensation or tool nose radius compensation, the compensation plane was changed to G17 / G18 / G19. Revise the program. |
| 0038 | Interference in Arc Block | Because the arc start point and end point coincide with the arc center, overcut may occur under cutter radius compensation or tool nose radius compensation. Revise the program. |
| 0039 | Chamfer / Corner Rounding Not Allowed in G41/G42 | [T] While G41/G42 (tool nose radius compensation) is being started, canceled, or switched, a chamfer or corner rounding command was also specified. Overcut may also occur during chamfering or corner rounding. Revise the program. |
| 0041 | Interference in G41/G42 | Overcut occurs during cutter radius compensation or tool nose radius compensation. Revise the program. |
| 0042 | G45/G48 Not Allowed in CRC | [M] Tool position compensation (G45–G48) was specified during cutter radius compensation mode. Revise the program. |
| 0044 | G27–G30 Not Allowed in Fixed Cycle | G27–G30 were specified during fixed cycle mode. G29 is only allowed for M series. Revise the program. |
| 0045 | Address Q Not Found in G73/G83 | In high-speed peck drilling cycle or deep-hole drilling cycle, no Q address was specified for the depth of each cut, or Q0 was specified. Revise the program. |
| 0046 | Illegal 2nd / 3rd / 4th Reference Return Command | The command for return to the 2nd, 3rd, or 4th reference point is illegal. Address P is incorrect. |
| 0047 | Illegal Axis Selection | At the start of 3D coordinate conversion, two or more axes in the same direction were specified as reference axis and parallel axis. |
| 0048 | Basic 3 Axes Not Found | At the start of 3D coordinate conversion, the three basic axes used when Xp, Yp, and Zp are omitted must be set by parameter No.1022. |
| 0049 | Illegal Command (G68 / G69) | When specifying 3D coordinate conversion (G68, G69), tool length compensation has not been canceled. This alarm also occurs when 3D coordinate conversion and tool length compensation (G43, G44, G49) are not properly nested, or when tool length compensation is specified again during active 3D coordinate conversion. |
| 0050 | Chamfer / Corner Rounding Not Allowed in 3rd Block | In a threading program block, arbitrary-angle chamfering or corner rounding was commanded. Revise the program. |
| 0051 | No Move Command After Chamfer / Corner Rounding | In the block following arbitrary-angle chamfering or corner rounding, the move or move amount is incorrect. Recheck the program command. |
| 0052 | Block After Chamfer / Corner Rounding Is Not G01 | [T] The block immediately after chamfering or corner rounding is not G01, or not a perpendicular straight line. Revise the program. |
| 0053 | Too Many Address Commands | [T] In a chamfering or corner rounding command, two or more I, J, K, or R addresses were specified. |
| 0054 | Taper Cutting Not Allowed After Chamfer / Corner Rounding | [T] A taper command was included in a block where chamfering or corner rounding was commanded. Revise the program. |
| 0055 | No Move Value After Chamfer / Corner Rounding | In the block where arbitrary-angle chamfering or corner rounding was commanded, the move amount is smaller than the chamfering / corner rounding amount. Revise the program. |
| 0056 | No End Point or Angle Value in Chamfer / Corner Rounding | [T] In direct drawing dimension input, the block following a block where only angle (Aa) was specified has neither end point position command nor angle command. Revise the program. |
| 0057 | Cannot Calculate Block End Point | [T] In direct drawing dimension input, the program cannot correctly calculate the end point of the block. Revise the program. |
| 0058 | End Point Not Found | [T] In direct drawing dimension input, the end point of the block could not be found. Revise the program. |
| 0060 | Sequence Number Not Found | In external data input/output, the specified number cannot be found in program number or sequence number search. It may also occur when tool data offset input/output is requested before any tool number has been input after power-on, or when no tool data corresponds to the input tool number. In external workpiece number search, no program corresponds to the specified workpiece number. In program restart, the specified sequence number cannot be found. |
| 0061 | P or Q Not Commanded in Repetitive Cycle | [T] In compound fixed cycle commands G70, G71, G72, or G73, address P or Q was not specified. |
| 0062 | Invalid Cutting Amount in Roughing Cycle | [T] In the roughing cycle of compound fixed cycles G71 / G72, the cutting amount is 0 or negative. |
| 0063 | Block of Specified Sequence Number Not Found | [T] In P or Q of compound fixed cycles G70, G71, G72, G73, the specified sequence block cannot be found. |
| 0064 | Finish Shape Is Not Monotonic | [T] In the shape program of roughing cycle G71 / G72, the command of the first axis in the plane is not monotonically increasing or decreasing. |
| 0065 | First Shape Block Is Not G00/G01 | [T] In the first block of the shape program specified by P in G70, G71, G72, or G73, neither G00 nor G01 is specified. |
| 0066 | Illegal Command in Repetitive Cycle | [T] A command that cannot be used was specified in the block of compound fixed cycles G70, G71, G72, or G73. |
| 0067 | Repetitive Cycle Command Not in Program Memory | [T] The command of compound fixed cycles G70, G71, G72, or G73 has not been stored in the part program memory. |
| 0069 | Last Shape Program Block Is Invalid | [T] The last block of the shape program in compound fixed cycles G70, G71, G72, or G73 is still in the middle of a chamfer / corner rounding command. |
| 0070 | No Program Memory Space | Program memory space is insufficient. Delete unnecessary programs and register the program again. |
| 0071 | Data Not Found | 1) The address data being searched for cannot be found. 2) In external program number search, the specified program number cannot be found. 3) In program restart block number specification, the specified block number cannot be found. Recheck the search data. |
| 0072 | Too Many Programs | The number of registered programs exceeds 400 for a 1-path system or 800 for a T-series 2-path system. Delete unnecessary programs and register again. |
| 0073 | Program Number Already Used | An attempt was made to register a program number already in use. Change the program number or delete unnecessary programs and register again. |
| 0074 | Illegal Program Number | The program number is outside the range 1 to 9999. Correct the program number. |
| 0075 | Protected | An attempt was made to register a program using a protected number. During program verification, the password of the encrypted program does not match. This alarm also occurs when trying to select a background-edited program as the main program or call it through a subprogram. |
| 0076 | Program Not Found | The program specified in a subprogram call or macro call cannot be found. This applies not only to M98, M198, G65, G66, and interrupt user macro P calls, but also to calls made by M/G/T code or specific address. |
| 0077 | Too Many Nested Subprogram / Macro Calls | The maximum nesting depth for subprogram calls or user macro calls has been exceeded. A subprogram call was also specified within an external memory or subprogram call. |
| 0078 | Sequence Number Not Found | The specified sequence number cannot be found in sequence search. The destination sequence number specified by GOTO or M99P also cannot be found. |
| 0079 | Program in Memory Card and Memory Do Not Match | The program being read cannot be verified against the program in CNC memory. When parameter NPE (No.3201#6) is set to 1, continuous verification of multiple programs is not allowed. Set NPE to 0 before verification. |
| 0080 | G37 Measurement Position Arrival Signal Error | [M] In automatic tool length measurement (G37), the measurement arrival signal becomes “1” before entering the epsilon area set by parameter No.6254, or never becomes “1” at all. [T] In automatic tool compensation (G36 / G37), the measurement arrival signals XAE1 / XAE2 do not become “1” within the epsilon area set by parameters No.6254 / 6255. |
| 0081 | H Code Not Specified in G37 | [M] In automatic tool length measurement, G37 was specified without an H code. [T] In automatic tool compensation, G36 / G37 was specified without a T code. Revise the program. |
| 0082 | G37 and H Code in Same Block | [M] In automatic tool length measurement, H code and G37 were specified in the same block. [T] In automatic tool compensation, T code and G36 / G37 were specified in the same block. Revise the program. |
| 0083 | Incorrect Axis Command in G37 | [M] In G37, the axis command is incorrect, or the move command is incremental. [T] In G36 / G37, the axis command is incorrect, or the move command is incremental. Revise the program. |
| 0085 | Communication Error | Before a received character from the input/output device connected to reader / punch interface 1 was read, the next character arrived. Overflow, parity error, or framing error occurred during reading. The input bit count, baud rate setting, or I/O device specification number may be incorrect. |
| 0086 | DR Signal Off | During input/output through reader / punch interface 1, the ready signal (DR) from the I/O device was cut off. Possible causes include I/O device power off, disconnected cable, or faulty printed circuit board. |
| 0087 | Buffer Overflow | During input from reader / punch interface 1 to memory, even though read stop was set, input did not stop after 10 characters had been read. The I/O device or printed circuit board may be faulty. |
| 0090 | Reference Return Not Completed | 1) Reference return cannot be performed correctly, usually because the start point is too close to the reference point or the speed is too low. Move the axis farther from the reference point and use sufficient speed. 2) The absolute position detector origin was attempted to be set before the origin state was established. Manually rotate the motor more than one turn, temporarily turn off CNC and servo amplifier power, and then set the absolute position detector origin again. |
| 0091 | Manual Reference Return Not Allowed During Feed Hold | Manual reference return cannot be performed while automatic operation is paused. Perform it in automatic stop state or reset state. |
| 0092 | G27 Reference Return Check Error | The axis specified in G27 has not returned to the reference point. Recheck the program used for reference return. |
| 0094 | P Type Not Allowed (COORD CHG) | During program restart, P type cannot be set when coordinate system setting was performed after automatic operation interruption. Follow the correct operation described in the manual. |
| 0095 | P Type Not Allowed (EXT OFS CHG) | During program restart, P type cannot be set when external work offset values were changed after interruption. Follow the correct operation described in the manual. |
| 0096 | P Type Not Allowed (WRK OFS CHG) | During program restart, P type cannot be set when workpiece origin offset values were changed after interruption. Follow the correct operation described in the manual. |
| 0097 | P Type Not Allowed (AUTO EXEC) | During program restart, P type cannot be set because no automatic run has been executed after power-on or after alarms 094–097 were reset. Execute automatic operation once. |
| 0099 | MDI Execution Not Allowed After Search | During program restart processing, a movement command was issued through MDI after search completion. |
| 0109 | G08 Format Error | [T] The P value after G08 is not 0 or 1, or no P value was specified. |
| 0110 | Overflow: Integer | During calculation, an integer value exceeded the allowable range. |
| 0111 | Overflow: Floating Point | During calculation, a floating-point value exceeded the allowable range. |
| 0112 | Divide by Zero | In a user macro statement, the divisor in a division operation became zero. |
| 0113 | Illegal Command | A function that cannot be used in a user macro program was specified. Revise the program. |
| 0114 | Illegal Macro Expression Format | The expression in the user macro statement is incorrect. The parameter program format may also be incorrect. |
| 0115 | Variable Number Out of Range | A variable number not allowed for local variables, common variables, or system variables in user macro was specified. |
| 0116 | Variable Write Protected | A variable that can only be used on the right side of a user macro expression was used on the left side. |
| 0118 | Too Many Nested Brackets | The nesting level of brackets [ ] in a user macro statement exceeds the allowable limit. The maximum nesting level including function brackets is 5. |
| 0119 | Variable Value Out of Range | The argument value of a user macro function exceeds the allowable range. |
| 0122 | Too Many Nested Macro Calls | The nesting level of user macro calls exceeds the allowable limit. |
| 0123 | Illegal Use of GOTO / WHILE / DO | In DNC mode, the main program contains a GOTO statement or a WHILE-DO statement. |
| 0124 | No END Statement | No END statement corresponding to a DO statement in the user macro program could be found. |
| 0125 | Macro Statement Format Error | The user macro statement format is incorrect. |
| 0126 | Illegal DO Loop Number | The numbers of DO and END statements in the user macro are incorrect or outside the allowable range of 1 to 3. |
| 0127 | NC and MACRO Statement Duplicated | An NC statement and a macro statement were specified in the same program block. |
| 0128 | Illegal Macro Sequence Number | In sequence number search, the specified sequence number was not found. The destination sequence number specified by GOTO or M99P also cannot be found. |
| 0129 | Using “G” as Variable | G was used as an argument variable in a user macro call. G cannot be used as an argument variable. |
| 0130 | NC and PMC Axis Command Conflict | NC command and PMC axis control command conflict with each other. Revise the program or ladder program. |
| 0136 | Spindle Positioning Axis Commanded with Other Axes | [T] An M code for spindle positioning and an axis address other than the spindle positioning axis were commanded at the same time. This alarm also occurs when the spindle positioning axis and another axis are commanded together in spindle positioning mode. |
| 0137 | M Code and Motion Command in Same Block | [T] An M code for spindle positioning and the spindle positioning axis address were commanded in the same block. |
| 0139 | PMC Controlled Axis Cannot Be Changed | An axis under PMC axis control was selected as another PMC axis. |
| 0140 | Program Number Already Used | In background editing, an attempt was made to select or delete a program currently selected in the foreground. Perform background editing correctly. |
| 0142 | Illegal Scaling Ratio | [M] The scaling ratio is 0 times or 10000 times or greater. Correct the scaling setting value in G51P…, G51I_J_K…, or parameters No.5411 / 5421. |
| 0143 | Command Data Overflow | CNC internal data storage length overflow occurred. This may happen with scaling (M series), coordinate rotation (M series), cylindrical interpolation, and similar internal calculations. It may also occur during manual intervention amount input. |
| 0144 | Illegal Plane Selection | [M] The coordinate rotation plane must be the same as the arc interpolation plane or cutter compensation plane. Revise the program. |
| 0145 | Illegal Use of G12.1/G13.1 | [T] The axis numbers set in polar coordinate interpolation plane selection parameters No.5460 (linear axis) and No.5461 (rotary axis) are outside the controlled axis range. |
| 0146 | Illegal G Code Usage | [T] When entering or canceling polar coordinate interpolation mode, G40 must be modal. If already in polar coordinate interpolation mode, an unusable G code was specified. Only the listed G codes are allowed in this mode. |
| 0148 | Incorrect Setting Data | [M] The automatic corner deceleration speed or judgment angle exceeds the allowable setting range. Correct parameters No.1710–1714. |
| 0149 | G10 L3 Format Error | In tool life management data registration with G10 L3–G11, an address other than Q1, Q2, P1, or P2 was specified, or an invalid address was used. |
| 0150 | Illegal Tool Life Group Number | The tool group number exceeds the maximum allowed value. This applies to the P after G10 L3 or the tool-life-management T code in the machining program. |
| 0151 | Tool Life Data for Group Not Found | The tool group specified in the machining program has not been set in tool life management data. |
| 0152 | Maximum Number of Tools Exceeded | The number of registered tools in one group exceeds the maximum allowed. |
| 0153 | T Code Not Found | When registering tool life data, no T code was specified in the required program block. This alarm also occurs if M06 is specified alone under tool change mode D. Revise the program. |
| 0154 | Tool in Life Group Not Used | Although no tool belonging to the group has been used, H99, D99, or the H/D code set by parameters No.13265 / 13266 was specified. |
| 0155 | Illegal T Code in M06 | In the machining program, the T code specified in the same block as M06 does not correspond to the currently used group. Revise the program. |
| 0156 | P/L Command Not Found | At the start of the tool group setting program, P or L was not specified. Revise the program. |
| 0157 | Too Many Tool Groups | In tool life management data registration, the number of P (group number) and L (tool life) group-setting blocks exceeds the maximum number of groups. |
| 0158 | Illegal Tool Life Data | The tool life value being set is too large. Correct the setting value. |
| 0159 | Tool Life Data Error | Tool life management data is damaged for some reason. Re-register the tool group and tool data within the group by G10 L3 or MDI input. |
| 0160 | Waiting M Code Mismatch | Waiting M codes do not match. Different waiting M codes were specified on path 1 and path 2, or a waiting M code without P and a waiting M code with P were specified at the same time. |
| 0161 | Illegal P in Waiting M Code | The P in the waiting M code is invalid. This alarm occurs if a P other than P3 is specified, or an L other than L0 or L1 is specified. |
| 0163 | Illegal Command in G68/G69 | [T] In balance cutting, G68 / G69 was not specified independently. |
| 0169 | Illegal Tool Geometry Data | [T] The tool geometry data used in interference checking is incorrect. Set the correct data or select the correct tool shape. |
| 0175 | G07.1 Interpolation Axis Error | An axis that cannot be used for cylindrical interpolation was specified. In a G07.1 block, specify 2 or more axes. This alarm may also occur when canceling cylindrical interpolation with an invalid axis, or when rotary axis parameters for cylindrical interpolation arc commands are incorrect. |
| 0176 | G Code Usage Error (G07.1) | A G code that cannot be used in cylindrical interpolation mode was specified. If a group 01 G code is commanded as G00 mode or G00, this alarm is issued. Cancel cylindrical interpolation mode before commanding G00. |
| 0190 | Illegal Axis Selection (G96) | The P value in the G96 block or parameter No.3770 is incorrect. |
| 0194 | Other Spindle Command Specified in Spindle Synchronization Mode | [T] In spindle synchronization control mode, Cs contour control, spindle positioning, or rigid tapping was commanded. [M] In spindle synchronization control mode or simple spindle synchronization mode, Cs contour control or rigid tapping was commanded. |
| 0197 | C Axis Control Commanded in Spindle Speed Control Mode | When the Cs contour control switching signal is off, the program contains a move command along the Cs axis. |
| 0199 | Undefined Macro Command Word | An undefined macro statement was used. Revise the user macro program. |
| 0200 | Illegal S Code Command | In rigid tapping, the S value is out of range or not set. The maximum allowable S value is set by parameters No.5241–No.5243. Change the parameter setting or revise the program. |
Notes for this page
- This page covers alarm numbers 0001–0200 only.
- 0201 and above should go to your next page: FANUC CNC Alarm Codes 0201–0400.
Closing section for the page
If you need help identifying a FANUC CNC alarm or finding the right replacement part, REACO CNC supports customers worldwide with:
- FANUC CNC spare parts
- FANUC robot parts
- Mitsubishi CNC parts
- Repair service
- Worldwide shipping
For a faster quotation, you can send your alarm code, machine model, or part number.
Reference Source: Beijing FANUC. This article is based on technical documentation provided by Beijing FANUC.
For More Fanuc CNC repair Cases and technical articles, please back to Fanuc Technical Support Center.
Related Articles
Here are some related technical resources you may also find helpful:
- Common FANUC CNC Alarms Classification
- FANUC Common Over Travel Alarm List
- FANUC G/ M Code for a Machining Center
- FANUC G/ M Code for lathe
- How to backup SRAM file
- How to backup All data
- How to Solve FANUC alarm 5523/5524
Technical Categories
Browse our full set of technical resources:
- Common FANUC Alarms
- G & M Code Reference
- Technical Guides (Backup, Parameters, Settings)
- Repair Cases & Troubleshooting Examples
Back to Previous Page
Click here to return to the previous category page.
Back to Technical Support Home
Return to the Technical Support main page to explore all resources.