FANUC CNC Alarm Codes List (0001–0200)

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:

Technical Categories

Browse our full set of technical resources: 

Back to Previous Page

Click here to return to the previous category page.

→ Back to Common alarm List

Back to Technical Support Home

Return to the Technical Support main page to explore all resources.

→ Technical Support Main Page

Get in touch with REACO CNC

Request Repair Consultation

Have a technical issue or need repair assistance?

Looking for a part quote?

Hours of Operation Mon - Fri: 8 AM to 8 PM(Beijing Time, UTC+8)

Email: sales@reacocnc.com

Hot Selling FANUC Parts

View all