G74 and G75 Lathe Cycles: Complete Drilling and Grooving Guide
Learn how to program G74 and G75 lathe drilling and grooving cycles on Fanuc, Siemens, and Mitsubishi CNC controls. Prevent tool breakage and master parameters.
Introduction: The Risk of Long Chips in Lathe Grooving
A major hazard in high-speed CNC turning occurs when a long, razor-sharp stringy steel chip nests and winds around a rotating lathe chuck during deep-face grooving. This bird's nest chip rapidly wraps around the turret toolholder, increasing friction and load until it triggers an overload torque detection alarm, breaking the grooving tool, and scrapping the workpiece. To avoid these catastrophic tool failures and prevent high-speed collisions between the turret and the chuck jaws, programmers must rely on compound canned cycles that automate peck drilling and chip breaking. By executing automated incremental feeds followed by rapid safe retracts, the G74 and G75 canned cycles efficiently break metal chips into small manageable sections, maintaining absolute machine safety and clean workspaces.
Technical Summary of G74 and G75 Cycles
| Field | Description / Value |
|---|---|
| Command Code | G74 (End Face Peck Drilling / Face Grooving) and G75 (OD/ID Radial Grooving) |
| Modal Group | Multiple repetitive canned cycles (Group 00 / Non-modal cycles) |
| Supported Brands | Fanuc, Siemens, Mitsubishi |
| Critical Parameters | Fanuc Parameter 0722/5139 (Retract), Siemens _ZSFI[9] (Retract), Mitsubishi #8056 (Retract) |
| Main Constraint | Spindle rotation must be active; cancel tool nose radius compensation (G40) before calling cycles |
Quick Read: Core Constraints and Actions
- Cancel tool nose radius compensation using G40 before calling G74 or G75 to prevent profile computation and bottleneck detection failures.
- Establish chuck and tailstock barriers in parameters to block the tool turret from a hard collision during rapid return phases.
- Check the active G-code system (A, B, or C) as G74/G75 functions remap to G76/G77 in G-code System C.
- Verify that depth of cut values (P and Q) are programmed as positive incremental values to avoid controller alarm PS0320.
- Use the MITSUBISHI CNC Special Format to condense cycle blocks into a single block with I, K, and D addresses, toggled by parameter #1265.
- Explicitly program G291 in Siemens controllers to enable the ISO translator, ensuring the machine does not interpret G74/G75 as native coordinate moves.
Basic Concepts of Longitudinal and Radial Grooving
The primary physical objective of G74 and G75 compound canned cycles is to automate deep hole peck drilling and multi-pass grooving. In traditional manual programming, creating peck toolpaths for deep slots requires writing hundreds of lines of code, increasing the risk of human error. G74 and G75 eliminate this burden by encapsulating these complex, repetitive motions into a maximum of two blocks. When executing these cycles, the tool advances incrementally into the material, dwells, or retracts slightly to break the chip, and then plunges again until the final depth is reached.
Proper chip management is essential for operator safety and surface finish quality. When grooving tough materials like steel or stainless steel, the cut generates highly ductile, continuous chips. Without a peck cycle, these continuous chips form long stringy bands that nest around the turret, chuck, or workpiece. The resulting bird's nests can score the workpiece surface, damage the tool holder, or physically injure the operator during chip removal. By using automated incremental feeds followed by rapid safe retracts, these cycles shear the metal into short, manageable chips that are easily flushed out by the high-pressure coolant.
Beyond deep grooving, these canned cycles are ideal for deep center-line peck drilling on lathes. The longitudinal peck drilling cycle (G74) feeds along the Z-axis, backing off at set intervals to break the chip and allow coolant to reach the drill tip. This cooling action prevents thermal build-up and chip packing, which are the main causes of drill breakage in deep holes. Similarly, the radial grooving cycle (G75) operates along the X-axis, allowing safe, multi-pass slotting with consistent chip evacuation.
Command Structure and Programming Syntax
The command structure of G74 and G75 cycles is built around a two-block format on standard ISO controls, designed to separate modal parameters from coordinate definitions. The first block declares the safe return or clearance distance, which remains modal until changed. The second block defines the target end-point coordinates, peck depth increments, and tool escape amounts. By splitting these definitions, the control can execute complex multi-pass cutting paths while maintaining a highly structured program.
To program these cycles successfully, operators must understand the coordinate mapping of the lathe. G74 defines motions in the longitudinal axis (Z) for face operations, while G75 defines motions in the transverse axis (X) for outer or inner diameter grooving. The coordinate arguments in the second block dictate the final boundaries of the machined pocket, and the incremental steps ensure the load on the tool remains uniform throughout the cycle.
Fanuc and Siemens ISO Dialect Syntax
G74 R_; G74 X(U)_ Z(W)_ P_ Q_ R_ F_;
G75 R_; G75 X(U)_ Z(W)_ P_ Q_ R_ F_;
Mitsubishi Conventional and Special Syntax
Conventional format:
G74 Re;
G74 X/(U)x Z/(W)z Pi Qk Rd Ff;
Mitsubishi Special Format (Single Block):
G74 X/(U)x Z/(W)z Ii Kk Dd Ff;
| Address Parameter | Description and Usage |
|---|---|
| X (or U) | Absolute coordinate (X) or incremental distance (U) representing the final diameter or groove width boundary in the X-axis. |
| Z (or W) | Absolute coordinate (Z) or incremental distance (W) representing the final depth or pocket limit in the Z-axis. |
| P (or I) | Incremental peck depth or tool shift distance in the X-axis direction (specified as a positive unsigned radius value). |
| Q (or K) | Incremental peck depth or tool shift distance in the Z-axis direction (specified as a positive unsigned value). |
| R (Block 1) (or e) | Safe retraction/return amount for chip breaking, defined as a positive value. |
| R (Block 2) (or d / D) | Tool relief/escape amount and direction at the bottom of the groove to prevent dragging during withdrawal. |
| F | The cutting feedrate specified in millimeters per revolution (mm/rev) or inches per revolution (in/rev). |
Brand Applications: Fanuc, Siemens, and Mitsubishi
Fanuc
The Fanuc system executes these cycles using parameter 0722 or 5139 to globally define return amounts, ensuring consistent tool relief even if the first block's R address is omitted. Proper function depends on parameter 5124#4 (FIP) which defines if the addresses P and Q are locked to the IS-B increment system.
G-code commands like G74 and G75 automate peck drilling and grooving, but they will dynamically remap to G76 and G77 if the controller is configured for G-code System C under parameter 3401.
- Relevant Parameters: Parameter 0722 / 5139 sets retract amount; Parameter 5124#4 toggles increment system; Parameter 0012#4 controls automatic spindle behavior.
- System Alarms: Alarm 062 (PS0062) for illegal command arguments; Alarm 0320 (PS0320) for negative cut depth; Alarm 4536 (PS4536) for missing W or Q in multi-piece mode.
- Version Differences: Series 16 format uses P and Q for cutting depths, whereas legacy Series 15 format (FCV parameter 0001#1) uses D for escape amounts.
Warning: Improperly setting Parameter 5124#4 (FIP) can cause the control to misinterpret the scale of depth commands P and Q, resulting in excessive tool engagement, high-pressure overload torque, and tool breakage.
Siemens
Siemens handles these cycles through a backend shell cycle architecture that captures the ISO dialect G74/G75 arguments and maps them into system variables. The cycle uses variable _ZSFI[9] to govern default retract amounts if not specified in the program.
The G74 and G75 cycles require explicit translation activation using G291, as they represent entirely different motion commands under native Siemens G290 mode.
- Relevant Parameters: Variable _ZSFI[9] sets default retract distance; G291 / G290 toggles translator modes.
- System Alarms: Alarm 17630 / 17640 for axis coordinate transformation conflicts; Alarm 14011 for cycle execution in MDA mode; Alarm 10752 for tool nose radius compensation failure.
- Version Differences: Siemens supports ISO G-code Systems A, B, and C, remapping G74/G75 to stock removal and contour repetition in System C, and reassigning grooving to G76/G77.
Warning: Running an ISO-formatted program containing G74 or G75 while the controller is defaulted to Siemens mode (G290) will trigger machine zero rapid-traverse moves, risking severe collision.
Mitsubishi
Mitsubishi controllers feature a unique single-block "MITSUBISHI CNC Special Format" that replaces standard P, Q, and R addresses with I, K, and D addresses. The active format is governed by format selection parameter #1265.
The G74 and G75 cycles are face and longitudinal cut-off cycles on lathes, but they execute tapping and circular cutting on mills.
- Relevant Parameters: Parameter #8056 G74 RETRACT sets default retract amount; Parameter #1265 ext01/bit0 toggles block format; Parameter #1241 set13/bit4 controls turning plane axis checks.
- System Alarms: Alarm P32 / P33 for format mismatches and missing arguments; Alarm P114 for commanded axis plane mismatch.
- Version Differences: Lathe (L system) series utilizes G74/G75 for grooving, while Machining Center (M system) utilizes G74 for Reverse Tapping. Software Version B is limited to 99.999 mm retract, whereas Version C expands to 999.999 mm.
Warning: If the escape parameter (R or D) is commanded with a negative sign under Mitsubishi controls, it alters the tool retraction logic to suppress escape on the first pass, which must be carefully verified to prevent dragging.
Brand Comparison: Cycle Formats and Architectures
| Feature / Topic | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Cycle Syntax Format | Standard two-block format (G74 R_ / G74 X_ Z_ P_ Q_ R_ F_) | Standard two-block format inside G291 ISO mode (G74 R_ / G74 X_ Z_ P_ Q_ R_ F_) | Supports both Conventional two-block format and a unique single-block "MITSUBISHI CNC Special Format" (G74 X_ Z_ I_ K_ D_ F_) toggled by parameter #1265/bit0. |
| Backend Execution | Native hardcoded compound repetitive canned cycle logic. | "Shell cycle" mapping system (translates programmed ISO addresses into dedicated variables like $C_A...$C_Z and triggers native Siemens cycles like CYCLE86/CYCLE861). | Hardcoded canned cycles with parameter defaults for retracts and special escape signs (unsigned vs signed). |
| Active Language / Dual Modes | Pure ISO G-code control (with standard FCV legacy compatibility option). | Dual logic: ISO dialect (G291) vs. Native Siemens mode (G290). Commanding G74/G75 in native mode executes a Reference Point Approach and Fixed Point Approach respectively. | Supports L-system (Lathe) cycles. Remaps G74 to Reverse Tapping and G75 to Circular Cutting in M-system (Machining Center) controls. |
| Retract / Clearance Parameter | Modal R address in block 1, globally configurable via parameter 0722/5139. | Modal R address in block 1, or system variable _ZSFI[9]. | Modal Re address in block 1, globally configurable via parameter #8056. |
Technical Analysis: Dynamic Multi-Brand Behavior
An analysis of Fanuc, Siemens, and Mitsubishi controllers reveals how their underlying hardware and software architectures dictate physical cycle execution. Fanuc relies on pure, hardcoded compound repetitive cycle logic embedded directly in the executive firmware. This approach delivers instantaneous response and absolute syntax consistency across generations. However, it sacrifices flexibility, requiring hardware-level toggles like the FCV parameter to handle backward compatibility or system variable maps to manage G-code System remappings. Fanuc's design shifts the burden of configuration onto machine parameters (such as 0722 and 5139), forcing operators to verify the control state before running standard files.
Siemens Sinumerik, by contrast, rejects hardcoded logic in favor of an elegant, software-driven "shell cycle" architecture. When the translator reads G74 or G75 in G291 ISO dialect mode, it does not execute a rigid routine. Instead, it extracts the coordinates and feedrates, storing them in internal variables from $C_A to $C_Z, and invokes a native Siemens cycle (like CYCLE86 or CYCLE861). This virtualized execution layer provides unmatched versatility, allowing the controller to support dual languages and seamlessly swap between ISO dialect and native Sinumerik logic using G290 and G291 commands. Yet, this abstraction introduces operational risks; if a programmer fails to verify that the controller is in G291 mode, the system will execute a native G74 Reference Point Approach, causing a rapid axis traverse toward machine zero instead of slotting a groove.
Mitsubishi stands apart by prioritizing programming density and axis customization. The MITSUBISHI CNC Special Format allows programmers to collapse the standard two-block ISO code into a single, clean block (using I, K, and D addresses), significantly reducing program overhead. Mitsubishi also integrates advanced hardware logic into the escape movement itself: applying a negative sign to the escape address (R or D) changes the path logic to suppress escape on the first cut and only execute relief on subsequent passes. This mechanical refinement protects the slot's back wall from tool drag, a feature not natively supported by Fanuc's default cycle logic. Mitsubishi separates its lathe and mill cycles cleanly, though programmers must remain vigilant about plane checks (parameter #1241) to avoid axis-plane mismatches during C-axis live-tool transitions.
Program Examples and Dry Run Walkthroughs
Fanuc Program Example
G00 X50.0 Z5.0 M03 S1200;
T0101;
G74 R1.5;
G74 X40.0 Z-25.0 P2000 Q3000 F0.2;
Dry Run Walkthrough (Fanuc)
During the dry run, the operator cancels cutter compensation using G40 and moves the tool turret to the start position (X50.0, Z5.0) with the spindle rotating at 1200 RPM. When the control executes the G74 block, the tool advances parallel to the Z-axis in Z-axis peck increments of 3.0 mm (Q3000). At the end of each peck, the tool retracts by 1.5 mm (R1.5) to shear the chip. This pecking continues until the Z-axis depth of -25.0 mm is reached. Then, the tool performs a lateral shift of 2.0 mm (P2000) in the X-axis, retracts back to the Z5.0 start level, and executes the next pecking pass. The cycle repeats until the final pocket boundary at X40.0 is cleared, and the tool returns to the safe start coordinate.
Siemens Program Example
G291;
T1 D1;
G00 X40.0 Z5.0 M03 S1500;
G75 R0.5;
G75 X20.0 Z-10.0 P1500 Q2500 F0.15;
Dry Run Walkthrough (Siemens)
The operator first programs G291 to activate the ISO dialect translator. The tool rapid-traverses to the safe start position of X40.0, Z5.0 with tool offset D1 active. When G75 is called, the tool executes radial pecking along the X-axis in increments of 1.5 mm (P1500). After each plunge, the control retracts the axis by 0.5 mm (R0.5) to break the chips. Once the final groove diameter of X20.0 is reached, the tool shifts laterally along the Z-axis by 2.5 mm (Q2500) and retracts back to X40.0. The tool then plunges at the new Z position until Z-10.0 is completed. G40 is applied afterwards to maintain tool nose compensation safety.
Mitsubishi Program Example
G00 X45.0 Z2.0 M03 S1000;
T0202;
G75 U-10.0 W-20.0 I2000 K1500 D-1.0 F0.15;
Dry Run Walkthrough (Mitsubishi)
The tool rapid-traverses to X45.0, Z2.0. By using the single-block MITSUBISHI CNC Special Format (enabled by parameter #1265), the operator commands incremental shifts. The tool moves transversely in X-axis steps of 2.0 mm (I2000) and shifts in the Z-axis by 1.5 mm (K1500). Because address D is commanded with a negative sign (D-1.0), the controller suppresses the relief escape on the first peck pass to preserve the groove profile, only executing the 1.0 mm tool escape from the second pass onward. The tool returns safely to its initial position once the incremental boundaries of U-10.0 and W-20.0 are fully machined.
Error Analysis and Troubleshooting Canned Cycles
| Brand | Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|---|
| Fanuc | Alarm 062 (PS0062) | Negative depth or travel value specified when relief shift is zero, or non-zero value to U/W when relief shift is zero. | Spindle halts, cycle execution stops instantly, and the control panel screen flashes a red PS0062 alarm. | Incorrect cycle parameters programmed. Ensure that relief shifts are non-zero, and relief direction parameters are positive numbers. |
| Fanuc | Alarm 0320 (PS0320) | Negative value specified for the travel distance or depth of cut in the cycle blocks. | Spindle stops, feedrate drops to zero, and the display indicates PS0320 ILLEGAL MOVEMENT AMOUNT. | Addresses P and Q must be programmed as positive, unsigned integers in the cycle block (e.g. use P2000 instead of P-2000). |
| Fanuc | Alarm 4536 (PS4536) | Omission of address W or Q in a multi-piece canned cycle G73 or G74. | Cycle refuses to start when program execution reaches the G74 block, displaying PS4536 NO W, Q COMMAND. | Ensure both W and Q addresses are explicitly specified for multi-piece or repetitive canned cycle operations. |
| Siemens | Alarm 17630 | Native G74 Reference point approach cycle called while axis is involved in an active coordinate transformation. | Axis movement stops immediately with a red 17630 coordinate transformation fault on the HMI. | A coordinate transformation (such as TRANSMIT or TRACYL) is active. Cancel the transformation using the TRAFOOF command prior to G74. |
| Siemens | Alarm 17640 | Native G75 Fixed point approach cycle called while axis is involved in an active coordinate transformation. | Axis motion halts, spindle is stopped, and 17640 Fixed point approach not possible is displayed. | Active axis transformation conflict. Remove the G75 native call or deselect coordinate transformations with TRAFOOF. |
| Siemens | Alarm 10752 | Danger of collision due to tool radius compensation (bottleneck detection failed). | Cycle execution is interrupted, feedrate drops to zero, and a collision alarm is triggered. | Tool radius compensation (G41/G42) remains active. Explicitly program G40 to cancel compensation before executing the cycle. |
| Mitsubishi | Alarm P32 | Commanded standard addresses P, Q, or R in G74/G75 while the MITSUBISHI CNC special format is active. | Controller rejects the program block and halts the cycle, displaying a yellow P32 Program Error status. | Parameter #1265 is set to 1 (Special Format). Replace standard addresses P, Q, and R with special addresses I, K, and D. |
| Mitsubishi | Alarm P33 | Special format is selected but normal format elements are commanded, or required values are omitted. | Machine stops at the cycle block, and P33 Program Error is flagged on the control screen. | Check parameter #1265 format configuration. Use correct special format structure and verify no required variables are omitted. |
| Mitsubishi | Alarm P114 | Commanded axis differs from selected plane during cycle execution. | Axis motion is locked, and the controller displays P114 Plane Mismatch. | Active coordinate plane (G17/G18/G19) does not match the cycle's programmed axis. Toggle parameter #1241 to disable check, or set correct plane. |
Application Note: Real-world Synthesis and Setup
An unconfigured or improperly set Parameter 5124#4 (FIP) on Fanuc controllers can lead to a catastrophic tool crash, where the controller forces the P and Q address commands into an IS-B increment system, interpreting an intended 3.0 mm peck (programmed as P3000) as a minute 0.003 mm move, or a decimal value as an excessive depth, resulting in a sudden, aggressive physical overload that breaks the tool nose and destroys the chuck jaws. To mitigate this risk, operators must verify that the Chuck and Tail Stock Barrier parameters are fully configured to define a physical turret exclusion zone, actively preventing hardware collisions during the automated return phases of G74 and G75. The machine setup must require C-axis spindle clamp M-codes—specified in parameter 5110—to be fully completed before high-pressure peck drilling begins, ensuring the workpiece remains perfectly rigid under extreme cutting forces.
Related Command Network
- G70: Finishing cycle that removes final remaining stock left by G71/G72 cycles.
- G71: Longitudinal rough turning canned cycle that automates stock removal in turning prior to grooving.
- G72: Transverse rough facing canned cycle that removes face stock to create a clean surface for G74 face grooving.
- G73: Pattern repeating canned cycle that automates multiple roughing passes for pre-formed workpieces.
- G68: Coordinate rotation command that rotates the active machining plane, which must be fully deactivated before executing lathe fixed cycles.
Conclusion
Maximizing tool life and achieving precise groove dimensions requires a deep understanding of controller parameters and cycle formats. By configuring retract values globally through parameters like Fanuc 0722, Siemens _ZSFI[9], and Mitsubishi #8056, machine shops can establish an operational safety baseline that persists even when program-level clearance values are omitted. Always verify the active language translator mode and de-activate cutter compensation before cycle entry to ensure stable, collision-free CNC turning operations.
Frequently Asked Questions
Why does G74 or G75 trigger a PS0320 alarm on Fanuc controls?
A PS0320 alarm is triggered when a negative value is specified for the peck depth or cut amount addresses (P or Q) in the cycle block. To resolve this error, edit the part program to ensure that all increment and depth values are specified as positive, unsigned numbers, allowing the controller to calculate the retract direction internally.
What happens if G291 is omitted on a Siemens controller during grooving?
Omitting G291 prevents the Siemens controller from translating the ISO-dialect G74 or G75 cycle, causing it to execute a native Siemens Reference Point or Fixed Point Approach. The turret will rapid-traverse toward machine zero, risking a hard crash. To prevent this, always insert G291 before calling ISO canned cycles and return to native mode using G290 afterwards.
How does the Mitsubishi negative sign on address D or R protect the workpiece?
Specifying a negative sign on the Mitsubishi tool escape address (D or R) commands the controller to suppress the tool escape movement on the first plunge pass. This prevents the tool from dragging against the raw stock wall and only applies clearance on subsequent passes, which preserves the groove surface finish. To apply this, write the escape address as a negative value (e.g., D-1.0) in the single-block format.
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.