Comprehensive G85, G86, and G89 Boring and Reaming CNC Cycles Guide
Master CNC G85, G86, and G89 boring and reaming cycles on Fanuc, Siemens, and Mitsubishi. Configure retraction overrides, fix Alarm 044, and prevent crashes.
Introduction
Score the precision bore walls of a high-value workpiece and turn it into immediate scrap by yanking a sensitive reaming tool out of a deep hole at rapid traverse. This expensive mistake represents the direct physical consequence of an improperly configured Fanuc parameter 5104#1 (BCR), which dictates whether a cycle retracts at programmed feedrate or maximum rapid traverse. Similarly, failing to terminate an active modal cycle with a G80 canned cycle cancellation command before commanding a rapid positioning clearance move can drive a multi-axis CNC turret directly into a heavy vise jaw or the steel chuck. The resulting hard collision shatters the boring bar, bends the axis ball screw, and knocks the spindle out of alignment, halting production for days. The G85, G86, and G89 canned boring and reaming cycles eliminate these manufacturing hazards by consolidating complex hole-finishing sequences—controlled plunging, dwelling, and retracting—into single modal instructions that guarantee consistent tool path execution and predictable spindle behavior.
Technical Summary
| Attribute | Specification |
|---|---|
| Command Codes | G85 (Boring/Reaming: feed plunge, feed retract), G86 (Boring: feed plunge, spindle stop, rapid retract), G89 (Boring/Reaming: feed plunge, dwell, feed retract) |
| Modal Group | Group 09 (Fanuc/Mitsubishi M-System, Siemens ISO Dialect), Group 10 (Fanuc T-System), Modal |
| Supported Control Brands | Fanuc, Siemens, Mitsubishi |
| Critical Parameters | Position coordinates (X, Y, C), Hole depth (Z), Reference clearance plane (R), Dwell time (P) |
| Primary Constraint | The active cycle must be explicitly cancelled with a G80 canned cycle cancellation command before executing reference position returns or plane coordinate swaps to prevent uncommanded axis moves. |
Quick Read
- Audit Retraction Modes: Check parameter 5104#1 (BCR) on Fanuc and deceleration parameter #1193 on Mitsubishi to ensure tools retract at cutting feedrate during reaming.
- Prevent Bore Wall Damage: Use G86 only when spindle orientation (POSS) and tool liftoff offsets (RPA, RPO) are configured to pull the insert away from the bore wall before rapid retraction.
- Deselect Mode Modals: Always program a G80 canned cycle cancellation block immediately after the final hole coordinate to purge modal registers and avoid crashing into chuck jaws or fixtures.
- Clamp Live Spindles: Secure workpieces using the C-axis clamp M-code inside lathe live-tooling cycle blocks to absorb plunging torque and prevent rotation.
- Optimize Cycle Times: Adjust retraction overrides via parameter 5149 on Fanuc to pull reamers out of finished holes up to 200% faster than the plunge rate.
- Deactivate Cutter Compensation: Program a G40 offset cancellation block before initiating G85, G86, or G89 cycles to avoid triggering interpreter alarms and cycle blocks lock.
Basic Concepts
The G85, G86, and G89 boring and reaming canned cycles automate the high-precision sizing and finishing of pre-drilled holes, eliminating the need for tedious manual multi-block programming. In precision manufacturing, achieving exact hole size, roundness, and surface finish requires specialized motion profiles that control tool deflection, surface drag, and chip clearing. While standard sequences like the G81 and G82 drilling cycles are designed for rapid material penetration, boring and reaming cycles focus on stabilizing the cutting tool as it leaves the hole.
Reaming operations demand uniform cutting pressure during both entry and exit. The G85 cycle provides this by plunging the tool to the final depth at a programmed feedrate, then immediately feeding back out of the hole at that same cutting rate, protecting the newly finished surface. The G89 cycle enhances this process by adding a programmable dwell time at the bottom of the hole. This brief pause allows the spindle torque to equalize and stabilizes tool deflection, ensuring a perfectly cylindrical hole without bottom taper.
Boring bars, however, require a different retraction strategy to prevent tool drag. The G86 cycle feeds single-point boring tools to the bottom, stops the spindle rotation completely, and retracts the stationary insert at rapid traverse. Because the tool is no longer spinning, this rapid exit prevents the insert from cutting a secondary helix on the bore wall. However, if the insert is not radially cleared from the surface, this rapid retraction can score a deep line down the bore. Safe execution requires combining G86 with tool relief parameters or transitioning to native cycles that shift the tool before withdrawal.
Command Structure
The command structure for G85, G86, and G89 canned cycles consolidates axis positioning, depth targets, reference planes, dwell times, and feedrates into a single line of G-code. Once a boring cycle is called, the CNC control enters a modal state where the plunging coordinate acts as the primary feed axis. This modal execution remains active across subsequent coordinate blocks, permitting operators to finish a grid of multiple holes by simply listing the X and Y coordinates of each subsequent hole.
Depending on the control architecture and active programming system (Milling M-system versus Turning L-system), specific address characters shift their functionality. For example, on milling machines, coordinates operate along the absolute Z-axis clearance level. On turning centers, the plunge axis dynamically remaps to the X or Z axis depending on whether a face boring or longitudinal boring cycle is called.
; Fanuc Milling Format
G85 X_ Y_ Z_ R_ F_ K_ ;
G86 X_ Y_ Z_ R_ F_ K_ ;
G89 X_ Y_ Z_ R_ P_ F_ K_ ;
; Siemens ISO Dialect Milling Format
G85 X_ Y_ Z_ R_ F_ K_ ;
G86 X_ Y_ Z_ R_ F_ K_ ;
G89 X_ Y_ Z_ R_ P_ F_ L_ ;
; Siemens Native Conversational Format
CYCLE85(RTP, RFP, SDIS, DP, DPR, DTB, FFR, RFF)
CYCLE86(RTP, RFP, SDIS, DP, DPR, DTB, SDIR, RPA, RPO, RPAP, POSS)
CYCLE89(RTP, RFP, SDIS, DP, DPR, DTB)
; Mitsubishi Machining Center (M-System) Format
G85 X_ Y_ Z_ R_ F_ P_ L_ ,I_ ,J_ ;
G86 X_ Y_ Z_ R_ F_ P_ L_ ,I_ ,J_ ;
G89 X_ Y_ Z_ R_ F_ P_ L_ ,I_ ,J_ ;
; Mitsubishi Lathe (L-System) Format
G85 X/U_ C/H_ Z/W_ R_ P_ F_ K_ M_ ;
G89 Z/W_ C/H_ X/U_ R_ P_ F_ K_ M_ ;
| Address / Parameter | Compatible Systems | Technical Description | Unit and Value Range |
|---|---|---|---|
X, Y, C | All Control Brands | Hole positioning coordinates in the active machining plane. | Millimeters or Degrees (Absolute / Incremental) |
Z | All Control Brands (ISO) | Final absolute coordinate of the hole bottom or depth distance. | Millimeters |
R | All Control Brands (ISO) | Reference clearance plane level where cutting feedrate initiates. | Millimeters (Absolute or Incremental) |
P | Fanuc, Mitsubishi, Siemens ISO | Dwell time specified at the final hole depth (crucial for G89). | Milliseconds (e.g., P1000 = 1 second) |
F | All Control Brands (ISO) | Linear feedrate programmed for the downward plunging motion. | Millimeters per Minute (mm/min) or Millimeters per Revolution (mm/rev) |
K / L | Fanuc, Siemens, Mitsubishi | Repetitions count for reproducing the cycle at identical locations. | Integer (0 to 9999) |
,I | Mitsubishi M-System | Programmable in-position width for the positioning plane axis. | Millimeters (0 to 99.999) |
,J | Mitsubishi M-System | Programmable in-position width for the vertical plunging axis. | Millimeters (0 to 99.999) |
M | Fanuc T-Series, Mitsubishi L-System | M-code commanding the physical clamping of the C-axis rotation. | Integer M-Code |
Brand Applications
Fanuc
Deploying boring and reaming cycles on Fanuc systems requires strict sequence adherence, especially when live-tooling lathe coordinates are involved. Safe use dictates that before plunging a tool on a turning center, parameter 5110 must be mapped to engage the C-axis clamp M-code, physically locking the workpiece spindle to prevent rotational slippage. A primary failure cause is commanding a reference position return block (G27, G28, G29, or G30) while the canned cycle is still active. The control registers this as an illegal command sequence, instantly halting movement and throwing alarm 044 (PS0044) to prevent structural damage. Similarly, if an operator attempts a lateral plane swap or tool change without purging the active registers via a G80 canned cycle cancellation command, the CNC will interpret the positioning move as a new hole location, rapidly plunging the turret and driving the tooling directly into a chuck jaw, vise clamp, or workpiece, leading to a catastrophic collision and immediate tool breakage.
Fanuc distinguishes its boring architecture from competitors through highly granular parameter overrides and profound legacy adaptability. First, parameter 5149 permits programmers to decouple the retraction feedrate from the programmed cutting feedrate during G85 and G89 cycles. The retract override percentage can be adjusted from 0% to 2000%; if set to 0, the machine defaults to retracting at twice the cutting feedrate, dramatically shortening cycle times. Second, parameter 5104#1 (BCR) controls the global retract behavior of all boring cycles; setting BCR to 1 forces the tool to withdraw at rapid traverse instead of cutting feedrate. Third, parameter 5101#0 (FXY) enables dynamic plunge axis assignment. When enabled, the CNC automatically maps the plunging motion to the axis perpendicular to the active G17, G18, or G19 plane, eliminating the need to write separate coordinate translation macros. Finally, toggling parameter 0001#1 (FCV) activates the legacy Series 15 tape format. This format shifts syntactical rules by mapping canned cycle repetitions to the L address and remapping shift vectors from modern Q addresses to legacy I, J, or K addresses, ensuring old part programs run safely on modern controls.
| Parameter / Alarm | Type | Technical Function | Value Range |
|---|---|---|---|
Parameter 5149 | System Word | Retraction feedrate override percentage for boring cycles G85 and G89. | 0 to 2000 (%) |
Parameter 5104#1 (BCR) | System Bit | Determines the global retraction traverse rate in boring cycles. 0: Cutting feedrate. 1: Rapid traverse rate. | 0 or 1 |
Parameter 5105#4 (KOD) | System Bit | Controls cycle execution when repetition count K0 is programmed. 0: Cycle skipped, position stored. 1: Forces one execution. | 0 or 1 |
Parameter 5103#0 (SIJ) | System Bit | Selects shift vector address mapping in FS15 legacy format. 0: Maps to Q. 1: Maps to I, J, or K. | 0 or 1 |
Parameter 0001#1 (FCV) | System Bit | Enables legacy Series 15 format, changing repetitions to L and shifts to I/J/K. | 0 or 1 |
Parameter 5101#0 (FXY) | System Bit | Assigns boring plunge axis perpendicular to the active G17/G18/G19 plane. | 0 or 1 |
Alarm 044 (PS0044) | Interpreter Alarm | Reference return commanded while canned cycle mode is active. | — (no source) |
Alarm PS5424 | Servo Alarm | Drilling cycle called under TCP or length compensation and rotation axis is not a multiple of 90 degrees. | — (no source) |
Alarm PS0566 | Program Alarm | Required plunging axis is completely omitted from the lathe cycle block when DNC parameter 5160#6 is active. | — (no source) |
Failing to cancel G85 or G89 before commanding a G28 reference position return violates Fanuc's basic modal logic. This structural conflict halts axis interpolation instantly, displaying alarm 044 to protect the spindle and turret from uncommanded rapid movements.
Siemens
Machining holes on Siemens controllers requires a thorough understanding of active programming languages and turret clearance zones. The G85 and G89 cycles are ideal for reaming, plunging and retracting at a controlled feedrate, while G86 stops the spindle and withdraws the boring bar at rapid traverse. To prevent the static insert from scratching the bore during rapid extraction, native CYCLE86 forces programmers to define an oriented spindle stop angle (POSS) and incremental axis lift-off paths (RPA, RPO). This shifts the cutting edge radially away from the workpiece surface before the Z-axis retracts. Operators must ensure that retraction planes (RTP) and safety clearances (SDIS) are configured high enough to clear chuck barriers and workholding clamps. If a tool change point is programmed too closely, indexing the turret will drive the tool tip into the retraction area, halting the machine with alarm 61243. Furthermore, cutter radius compensation (G41/G42) must be deactivated via G40 before invoking these cycles; failing to cancel compensation blocks cycle execution and triggers alarm 61815.
Siemens handles these cycles through a modular background shell architecture. Rather than executing hardcoded ISO macros, a Siemens controller utilizes a background translator. When an ISO-formatted G85 or G89 block is read, the interpreter passes the arguments to shell cycles like CYCLE381M or CYCLE385T, which map the variables into the advanced native cycles (CYCLE85, CYCLE86, CYCLE89) in real time. Siemens also incorporates implicit deselect logic. The active modal state of a boring cycle is instantly canceled the moment the control reads any Group 01 motion command (G00, G01, G02, G03) in a block, making manual G80 cancels recommended but technically optional. Lastly, Siemens guarantees absolute standardization. While turning and grooving cycles remap their G-code systems depending on lathe dialect settings, the G80-G89 boring group remains identical across System A, B, and C configurations, ensuring seamless program portability.
| Parameter / Alarm | Type | Technical Function | Value Range |
|---|---|---|---|
GUD_ZSFR[20] | System Real | Safety clearance distance from the reference plane. If clearance is in R-plane, enter 0. | Real Number |
POSS (CYCLE86) | Cycle Variable | Oriented spindle stop position angle in degrees. | 0 to 359.9 (°) |
RPA / RPO (CYCLE86) | Cycle Variable | Incremental retraction paths along the first and second axes of the plane. | Signed Real |
Alarm 61808 | Cycle Alarm | Final drilling depth Z or single drilling depth Q is omitted in the cycle block. | — (no source) |
Alarm 61009 | Interpreter Alarm | Active tool number is zero. No tool T has been selected prior to the cycle call. | — (no source) |
Alarm 61243 | Turret Alarm | Correct tool change point; tool tip protrudes into the turret retraction area during swiveling. | — (no source) |
Alarm 61815 | Compensation Alarm | Cutter radius compensation G41 or G42 is active when cycle is called. | — (no source) |
Executing G85 or G86 while cutter radius compensation G41/G42 remains active violates Siemens' cycle entry rules. This triggers alarm 61815, locking the axes and forcing an interpreter stop to prevent tool deflection errors.
Mitsubishi
Executing automated boring cycles on Mitsubishi systems provides high programming efficiency, but operators must maintain careful oversight of coordinate structures and tool compensation states. In machining centers, G85, G86, and G89 all operate along the Z-axis. However, on lathe systems, the axis targets shift significantly: G85 acts as a Face Boring cycle (Z-axis plunge) while G89 acts as a Longitudinal Boring cycle (X-axis plunge), and G86 is not standardly available. Operators must ensure that tool nose radius compensation is canceled using a G40 command before invoking a boring cycle; attempting to run G85, G86, or G89 while G41 or G42 is active will instantly trigger a P155 alarm and halt production. Additionally, operators must configure the return plane level carefully: if G99 (R-point return) is left active while the tool rapids over a chuck jaw barrier or workholding fixture, the tool will collide with the obstacle, resulting in severe tool breakage and a ruined workpiece.
Mitsubishi distinguishes itself through advanced servo-level precision controls and unique block-level cancellation behaviors. First, Mitsubishi incorporates programmable in-position width addresses (`,I` for positioning axis and `,J` for plunging axis) directly inside the fixed cycle block. This forces the control to verify that the physical axes have settled within exact tolerances before plunging or moving to the next hole, ensuring superior positioning precision without altering global parameters. Second, Mitsubishi features "Implicit Cancellation via Group 01". If a programmer issues a linear or circular interpolation command (such as G01) in the exact same block as a boring cycle, the controller ignores the boring parameters, executes the physical linear move, and silently purges the active cycle mode without requiring a G80 command. Lastly, turning centers leverage the "MITSUBISHI CNC Special Format" selected via parameter `#1265 ext01/bit0`, which condenses multi-block turning and drilling routines into simplified single-block commands to streamline programming.
| Parameter / Alarm | Type | Technical Function | Value Range |
|---|---|---|---|
Parameter #1265 ext01/bit0 | Setup Parameter | Determines the fixed cycle format for lathe systems. 0: Conventional format. 1: Special 1-block format. | 0 or 1 |
Parameter #1193 inpos | Setup Parameter | Selects the G00 deceleration check method. 0: Command deceleration check. 1: In-position check. 2: Smoothing check. | 0, 1, or 2 |
Alarm P155 | Program Alarm | Fixed cycle executed while tool radius compensation or tool nose compensation G41/G42 is active. | — (no source) |
Alarm P62 | Program Alarm | No feedrate command has been issued or the active F modal value is zero. | — (no source) |
Alarm M01 0008 | Stroke Alarm | Boring tool enters stroke end check area while chuck/tailstock barrier function is active. | — (no source) |
Attempting to call G85, G86, or G89 without canceling G41 or G42 cutter compensation violates Mitsubishi's safety logic. The interpreter blocks cycle entry and throws alarm P155, preventing tool collision and workpiece gouging.
Brand Comparison
| Comparison Topic | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Retraction Control / Feedrate | Globally configured via Parameter 5104#1 (BCR) and adjusted via override Parameter 5149 (0% to 2000% of feed). Default is twice cutting feed. | Managed via separate plunge (FFR) and retract (RFF) parameters in native CYCLE85. ISO utilizes shell cycle translation. | Set by global deceleration check #1193 inpos. Retraction behaves normally according to M or L system conventions. |
| Lathe Target Axis Behavior | Dual format (Group 10), supports C-axis coordinate index and clamp integration (PRM 5110). Plunges in Z. | Standardized fixed cycles (Group 01) across System A, B, C. Plunges in Z (face face) or X (side face). | Specialized axis mapping. G85 is Face Boring (Z-axis plunge); G89 is Longitudinal Boring (X-axis plunge). G86 is not standard in turning. |
| Precision / Position Verification | Standard servo feedback checks. | Native CYCLE86 incorporates oriented spindle stop (POSS) and radial lift-off paths (RPA, RPO). | Features programmable in-position width addresses ,I (positioning plane) and ,J (plunging axis) inside the block. |
| Implicit Cancellation | Standard modal cycle. Requires G80 or active group cancellation. | Auto-cancels whenever a Group 01 interpolation movement (G00, G01, G02, G03) is declared in a block. | Auto-cancels and executes linear motion if a Group 01 command is programmed in the same block. |
| Syntax Backwards Compatibility | Parameter FCV shifts mapping to legacy FS15 tape format (using L repetitions, I/J/K shifts). | Uses background "shell cycles" (e.g. CYCLE381M, CYCLE385T) to map ISO codes to advanced native cycles. | Parameter #1265 switches between conventional and specialized 1-block lathe formats. |
Technical Analysis
An analytical examination of control software architectures reveals fundamental differences in design philosophies between Fanuc, Siemens, and Mitsubishi. Fanuc's boring cycle synchronization relies on low-level PMC parameter bits and dedicated system words. The execution of retraction overrides is governed by parameter 5149, which allows the CNC to speed up retract movements up to 2000% of cutting feedrate. This bitwise architecture is extremely efficient and reliable but requires manual database configuration to adjust. Fanuc also prioritizes backward compatibility, utilizing parameter 0001#1 (FCV) to dynamically switch between modern layouts and legacy Series 15 tape formats. This allows old part programs to execute without syntax updates, protecting a manufacturer's historical code library.
Siemens Sinumerik controls approach cycle execution through a modular, high-level translation framework. When a Siemens control parses a G85, G86, or G89 block, it processes the instruction through background shell cycle scripts like CYCLE381M or CYCLE385T. These translators capture the ISO arguments and dynamically map them to advanced native cycles (CYCLE85, CYCLE86, or CYCLE89) in real time. This approach allows programmers to leverage high-level cycles like CYCLE86, which integrates oriented spindle stops (POSS) and incremental lift-off vectors (RPA, RPO) to physically move the insert away from the bore wall before retracting, preventing surface drag. The downside is that introducing a Group 01 command in the same block will cause implicit deselection, silently canceling the modal boring state.
Mitsubishi CNC controls balance low-level speed with advanced syntactic features. Unlike other controls that require global parameter changes to verify axis positioning, Mitsubishi permits programmers to embed local in-position widths (`,I` and `,J`) directly in the canned cycle block. These parameters force the machine's axis servos to verify that the cutting head has settled before commencing the plunge, ensuring exceptional accuracy on critical dimensions. Mitsubishi also features an active implicit cancel system: placing a G01 move in the same block as a canned cycle tells the control to ignore the boring macro, execute the physical move, and silently deselect the modal cycle, preventing the uncommanded plunges that cause tool crashes on other systems.
Program Examples
Fanuc Milling Example
This program positions a boring bar on a vertical machining center to perform standard boring in a steel plate workpiece.
O5001 ;
G90 G54 G00 X50.0 Y50.0 Z10.0 ;
M03 S1200 ;
G85 X50.0 Y50.0 Z-35.0 R3.0 F120 ;
X100.0 ;
G80 M05 ;
M30 ;
Dry Run Analysis — Fanuc
- Initial Setup: The machine reads absolute positioning and coordinates system parameters. The turret moves at rapid traverse to target X=50.0 mm and Y=50.0 mm while clearing the workpiece at Z=10.0 mm. The spindle starts clockwise at 1200 RPM.
- Cycle Plunge: The G85 block activates the boring cycle modal. The tool rapids down to reference plane clearance level R=3.0 mm. The Z-axis then plunges at cutting feedrate F=120 mm/min down to Z=-35.0 mm.
- Exit Feed: Upon reaching the bottom depth, the spindle continues rotating, and the Z-axis feeds back out of the hole at the programmed feedrate F=120 mm/min (or faster if retract override parameter 5149 is active) up to reference plane R=3.0 mm.
- Second Position: The control reads the absolute coordinate X=100.0 mm. Because the boring cycle is modal, the tool rapids to X=100.0 mm and immediately repeats the plunge and retract sequence.
- Purging Modal: The G80 canned cycle cancellation block cancels the canned cycle mode, and M05 stops the spindle before program termination.
Siemens Milling Example
This program executes a precision boring cycle with spindle stop and radial tool shift using native CYCLE86.
N10 G90 G54 G17 G00 X150.0 Y100.0 Z50.0 ;
N20 T04 D1 S1500 M03 ;
N30 CYCLE86(50.0, 0.0, 2.0, -40.0, 0.0, 1.0, 3, -0.5, -0.5, 0.0, 180.0) ;
N40 G80 M05 ;
N50 M30 ;
Dry Run Analysis — Siemens
- Block Initialization: N10 selects absolute coordinate positioning, coordinates plane active G17 (X-Y plane), and rapids the spindle head to X=150.0 mm, Y=100.0 mm, Z=50.0 mm. N20 selects tool T04, D1 offset, and starts the spindle clockwise at 1500 RPM.
- Plunging Phase: N30 invokes CYCLE86. The tool rapids to absolute reference plane RFP=0.0 mm with safety clearance SDIS=2.0 mm (Z=2.0 mm). The Z-axis then feeds down to absolute final depth DP=-40.0 mm with a 1.0-second dwell (DTB=1.0) at the bottom.
- Spindle Orient and Lift: The spindle executes an oriented spindle stop (POSS) at 180.0 degrees. The axes then perform an incremental radial lift-off path: shifting -0.5 mm in X (RPA) and -0.5 mm in Y (RPO) to clear the cutting insert from the hole wall.
- Rapid Retract: Once shifted, the Z-axis retracts at rapid traverse back to the absolute retraction plane RTP=50.0 mm. The axes then shift back to clear the tool offset.
- Cancel and End: N40 cancels the active canned cycle registers, and N50 halts execution.
Mitsubishi Lathe Example
This program executes a longitudinal boring cycle with spindle dwell on a turning center using live tooling.
N10 G90 G54 G00 Z25.0 C0.0 X80.0 ;
N20 M03 S1400 ;
N30 G89 Z-30.0 C0.0 X80.0 R-3.0 P1000 F150.0 K1 M11 ;
N40 G80 M05 ;
N50 M30 ;
Dry Run Analysis — Mitsubishi
- Approach Position: The live turret rapids to Z=25.0 mm clearance, index C-axis to 0.0 degrees, and aligns X-axis to 80.0 mm. The live spindle starts clockwise at 1400 RPM.
- Rigid Boring Plunge: N30 calls G89. The turret rapids to reference plane R=-3.0 mm. M11 commands the C-axis clamp to engage, rigidly locking workpiece rotation. The Z-axis then feeds at F=150.0 mm/min down to Z=-30.0 mm.
- Stabilizing Dwell: The tool dwells at the bottom of the bore for 1000 milliseconds (P1000) to clear the cutting root and allow the live spindle torque to stabilize.
- Exiting Feedrate: The tool feeds back out of the hole at cutting feedrate F=150.0 mm/min to the reference plane R=-3.0 mm, keeping the bore wall clean.
- Cancel and Shutdown: N40 deactivates the active canned cycle modal, and N50 shuts down live spindles and terminates the program.
Error Analysis
| Brand | Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Corrective Fix |
|---|---|---|---|---|
| Fanuc | Alarm 044 (PS0044) | A reference position return command (G27-G30) is specified while canned cycle mode is active. | Axis motion freezes instantly, the red alarm light illuminates, and "G27-G30 NOT ALLOWED IN FIXED" displays. | Program sequence error. An explicit G80 canned cycle cancellation cancel command must be programmed before calling zero returns. |
| Fanuc | Alarm PS5424 | Boring canned cycle is called during TCP or length compensation in the tool axis, and the rotation axis is not aligned. | Cycle block fails to initiate, tool plunge is blocked, and axis deviation alert displays. | Coordinate system mismatch. Verify rotation axis alignment or cancel tool axis compensation modes before cycle call. |
| Fanuc | Alarm PS0566 | Turning system has parameter 5160#6 DNC set to 1, and the cycle block completely omits the required drilling axis. | Turret fails to move, cycle execution is blocked, and "DRILLING AXIS IS NOT COMMANDED" alarms. | Incomplete program block. Ensure the correct target plunge axis (X or Z) is commanded in the cycle call block. |
| Siemens | Alarm 61808 | The final absolute depth Z (or DP/DPR) or single drilling depth is omitted from the cycle block. | The interpreter halts cycle execution, the program pauses, and "Final drilling depth missing" displays. | Incomplete parameter definition. Edit the cycle block to specify a valid depth argument. |
| Siemens | Alarm 61009 | Active tool number is zero. No tool T has been programmed or active offset selected. | Cycle call is ignored, program execution halts, and "Active tool number = 0" displays. | Tool selection missing. Program a valid tool T and D-offset block before invoking the cycle. |
| Siemens | Alarm 61243 | The tool change point is configured too closely, causing the tool tip to protrude into the turret retraction area during swiveling. | Turret swiveling is interlocked, motion stops, and "Correct tool change point, tool tip in retraction area" alarms. | Clearance zone violation. Relocate the tool change point further outside the safety envelope. |
| Mitsubishi | Alarm P155 | Boring cycle (G85, G86, or G89) is called while tool radius compensation G41 or G42 is active. | Cycle entry is blocked, axis positioning halts, and program error "Fixed cyc exec during compen" displays. | Compensation conflict. Program a G40 command to cancel active compensation before invoking the canned cycle. |
| Mitsubishi | Alarm P62 | No feedrate command is issued or the active F modal value is zero when the cycle is parsed. | Turret remains stationary, feedrate registers read zero, and program error "No F command" alarms. | Feedrate omitted. Program a non-zero F feedrate inside or prior to the canned cycle block. |
| Mitsubishi | Alarm M01 0008 | The chuck/tailstock barrier function is active, and the tool enters the protected zone during cycle execution. | Turret motion is locked, axis travel stops, and "Chuck/tailstock stroke end ax" alarms. | Stroke limit violation. Adjust the coordinate travel paths or reconfigure the barrier safety boundary. |
Application Note
Pressing the Emergency Stop button during the plunging phase of a canned boring cycle creates a major mechanical recovery hazard, as the boring bar and the workpiece become form-locked. Under standard recovery routines, if an operator attempts to force a system reset or jog the active axis manually, the wedged cutting insert will immediately snap, permanently ruining the high-value workpiece and potentially damaging the spindle bearings. To prevent this destruction, Mitsubishi controls retain electronic synchronization during active cycle suspensions. This allows operators to engage a dedicated Tap Retract PLC signal (YCD6) to safely extract the tool from the workpiece along the plunging axis without stripping the bore or breaking the insert. For live-tooling applications on turning centers, programmers must guarantee that C-axis clamping is engaged before G85 or G89 initiates. If a boring bar plunges into an unclamped, free-spinning workpiece, the cutting torque will force the part to rotate, resulting in severe tool breakage and an out-of-round hole profile.
Related Command Network
- G80 Canned Cycle Cancellation: Deactivates active canned boring and drilling cycles, purging the controller's Group 09 modal registers to prevent subsequent rapid positioning moves from executing uncommanded plunges.
- G81 G82 Standard Drilling Cycles: Performs basic, non-synchronous hole drilling and counterboring without spindle stop or retraction overrides, serving as the foundation of the hole-machining coordinate system.
- G83 Deep Hole Peck Drilling Cycle: Incorporates incremental pecking and tool extraction to clear swarf from deep bores, functioning as the tool-clearing sibling to standard boring cycles.
- G76 Fine Boring Cycle: Executes high-precision boring by plunging the tool, stopping the spindle, orienting the insert, shifting the axis to clear the tool tip, and retracting at rapid traverse to prevent bore wall scoring.
- G98 / G99 Cycle Return Levels: Dictates whether the tool retracts back to the initial clearance plane (G98) or the closer R-point plane (G99) when traversing between hole coordinate positions.
Conclusion
Achieving pristine surface finishes and zero-scrap parts during automated boring and reaming operations requires strict control over retraction behaviors, modal states, and clearance registers. Auditing retraction overrides via parameter 5149 on Fanuc, verifying turret change envelopes on Siemens, and canceling tool nose compensation before calling Mitsubishi fixed cycles are the ultimate safeguards against catastrophic spindle wreckage.
Frequently Asked Questions
How do I increase retraction speed during G85 or G89 boring cycles?
Standard canned cycles retract the tool at the same cutting feedrate used during the plunge, which increases overall cycle times. To safely optimize throughput without scoring the bore wall, operators can configure retraction overrides. On Fanuc controls, adjust parameter 5149 to set a retraction feedrate from 0% to 2000% of the cutting feed; setting this parameter to 0 defaults retraction to twice the cutting feedrate. On Siemens systems, the native CYCLE85 cycle incorporates a separate RFF (retraction feedrate) variable directly inside the block, allowing programmers to specify a faster exit velocity without altering global variables.
What is the difference between G85, G86, and G89 boring cycles?
While all three cycles are used for finishing pre-drilled holes, they differ fundamentally in their retraction behavior and spindle control. G85 is designed for reaming; it feeds the tool to the bottom and feeds back out at the same cutting rate. G89 is also used for reaming but adds a programmable dwell time (P) at the bottom to stabilize tool deflection before feeding out. G86 is engineered for single-point boring; it feeds to the bottom, stops the spindle completely, and retracts at rapid traverse. This rapid exit prevents the insert from cutting a secondary thread on the bore wall, though it requires precise spindle alignment to prevent scratching.
How does Mitsubishi's implicit cancellation feature prevent tool crashes?
On many CNC controls, if a programmer forgets to issue a G80 canned cycle cancel command and immediately programs a linear coordinate move (G01), the control will interpret the new coordinate as another hole location and plunge the tool. To prevent this hazard, Mitsubishi controllers incorporate "Implicit Cancellation via Group 01". If the control reads a linear or circular interpolation command (G01, G02, or G03) in the same block as a canned cycle, it ignores the boring instruction, executes the physical linear move, and silently cancels the active modal cycle, preventing uncommanded plunging crashes.
Still not resolved?
Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
With over 25 years of experience working in all areas of the CNC machine industry, I continue my activities as a co-founder of CNC CARE, where we offer brand-independent consulting, engineering, and original spare parts services.
Related Articles
Other articles on this topic
Siemens CYCLE800 G-Code: Swivel Planes & Tool Alignment
Master Siemens CYCLE800 for 3+2 axis machining. Learn plane swiveling, tool alignment, parameter setup, and how to troubleshoot Alarm 61190 and 61153.
Siemens CYCLE72 Contour Milling: Guide to Sinumerik Path Milling
Master Siemens CYCLE72 for contour milling on Sinumerik CNC controls. Learn parameter setup, avoid simulation alarm 61123, and prevent machine collisions.
Siemens CYCLE952 Contour Turning Cycle Programming Guide
Master Siemens CYCLE952 contour turning on Sinumerik CNC controls. Learn parameter lists, resolve Alarm 61051, and configure balance cutting.
Siemens SLOT1 and SLOT2 Slot Milling Cycles Programming Guide
Master slot milling on Siemens Sinumerik controls using SLOT1 and SLOT2 cycles. Learn parameter configurations, alarm 61000 prevention, and optimal tool paths.