Skip to main content
CNC.wikiCNC.wiki

G73 Pattern Repeating Cycle: CNC Turning Programming Guide

Learn to program the G73 pattern repeating cycle on Fanuc, Siemens, and Mitsubishi CNC controls. Avoid collisions, set correct parameters, and optimize turning.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE Co-founder

Introduction

A tool rapid-traversing directly into a rotating chuck, a vise jaw, a clamp, or a CNC machine turret represents a devastating hard collision on the shop floor, typically yielding a completely ruined scrap workpiece and broken machine components. This specific manufacturing risk regularly occurs during pattern repeating cycle executions when programmers miscalculate the starting clearance coordinates or misconfigure the incremental escape distances. In formed material roughing operations on cast-iron or forged workpieces, precise coordination of clearance planes and toolpaths is mandatory to avoid catastrophic tool interference during rapid-traverse retract strokes.

Technical Summary

FieldValue
Command CodeG73
Modal GroupGroup 00 (Non-modal cycle) / Multiple Repetitive canned cycles
BrandsFanuc, Siemens, Mitsubishi
Critical ParametersParameter 5135/5136 (Fanuc X/Z escape), GUD7 _ZSFI[1] (Siemens X escape), #8053/#8054 (Mitsubishi X/Z allowance)
Main ConstraintPath must change monotonically in X and Z axes without pocket reversals or self-intersection.

Quick Read

  • Define cycle start outside the blank: Place the cycle start point safely outside the furthest dimensional limits of the rough workpiece to ensure the tool retracts to a clear zone without striking stock.
  • Verify G73 format selector bit: Check Mitsubishi parameter #1265 ext01/bit0 to determine whether the control expects the standard 2-block format or the proprietary 1-block syntax.
  • Ensure monotonous path profile: Program the profile between the sequence numbers with continuously increasing or decreasing coordinates in both axes; non-monotonous paths will cause contour path generation errors.
  • Keep first block linear: Ensure the first movement block within the shape program (the block containing sequence number P) is a G00 or G01 linear motion command, never G02 or G03.
  • Configure escape parameters correctly: Set Fanuc Parameter 5135 (X-axis) and Parameter 5136 (Z-axis) to control the precise relief/escape distances without manual calculation.
  • Never run in Siemens MDA mode: Program G73 cycles only in automatic execution mode; attempting to run the cycle in Manual Data Automatic (MDA) mode will trigger Alarm 14011.

Basic Concepts

The G73 pattern repeating cycle automates multi-pass contour roughing for workpieces that already resemble the final finished contour. Unlike standard stock removal cycles that perform linear passes and cut thin air above pre-machined profiles, G73 creates parallel offsets that step down into the material in a highly structured manner. This process is exceptionally effective for machining castings, forgings, or pre-formed blanks, significantly reducing programming time and cycle times by concentrating tool movements where raw material actually exists.

The cycle works by shifting the final programmed profile incrementally outward based on designated cutting allowances and relief offsets. Over a series of division passes, the controller automatically recalculates the toolpaths to step down evenly into the casting. Because the final pass is parallel to the finished part contour, it maintains a highly uniform stock allowance, resulting in consistent chip loads and predictable tool wear during subsequent finishing operations.

Command Structure

Executing G73 requires a clear division of syntax to define the cutting parameters in the first block and the target profile coordinates in the second block. The first block specifies the absolute or incremental escape distances and the division count, which tells the controller how many roughing layers to generate. This allows operators to easily adjust depths of cut from the command block or the control parameters.

The second block references the start and end sequence numbers of the contour shape program, along with the finishing allowances and the cutting feedrate. The CNC scans the blocks between these sequence numbers, calculates the geometry, and scales the parallel toolpaths. The shape program itself can be written in standard absolute or incremental coordinates, defining the finished dimensions of the workpiece.

; Fanuc and Siemens 2-Block Syntax:
G73 U(Δi) W(Δk) R(d) ;
G73 P(ns) Q(nf) U(Δu) W(Δw) F_ S_ T_ ;

; Mitsubishi 2-Block Syntax: G73 Ui Wk Rd ; G73 Aa Pp Qq Uu Ww Ff Ss Tt ;

; Mitsubishi CNC Special 1-Block Syntax: G73 P_ Q_ U_ W_ I_ K_ D_ F_ S_ T_ ;

Address / ParameterDescription
U (1st block) or ΔiEscape/relief distance in the X-axis (radius programming).
W (1st block) or ΔkEscape/relief distance in the Z-axis.
R (1st block) or dNumber of division roughing passes (repetitions).
P or nsStarting sequence number of the contour shape profile.
Q or nfEnding sequence number of the contour shape profile.
U (2nd block) or ΔuFinishing allowance in the X-axis (diameter programming).
W (2nd block) or ΔwFinishing allowance in the Z-axis.
IX-axis cutting allowance in Mitsubishi 1-block format.
KZ-axis cutting allowance in Mitsubishi 1-block format.
DNumber of divisions in Mitsubishi 1-block format.
AFinished shape program No. or alphanumeric File name in Mitsubishi.
F, S, TMachining feedrate, spindle speed, and tool selection.

Brand Applications

Fanuc

In Fanuc systems, G73 is a non-modal cycle that calculates multiple roughing passes parallel to the workpiece profile, saving hundreds of lines of code when turning castings or forgings. Clearance and escape values are defined by two key parameters: Parameter 5135 sets the X-axis escape distance, and Parameter 5136 sets the Z-axis escape distance.

The G-code is implemented as a two-block cycle, where the first block sets the offsets and division count, and the second block defines the profile boundary and finish allowances.

ParameterAlarmVersion Differences
  • Parameter 5135: Sets the escape/relief distance in the X-axis (-99999999 to 99999999 in 0.001 mm).
  • Parameter 5136: Sets the escape/relief distance in the Z-axis (-99999999 to 99999999 in 0.001 mm).
  • Parameter 5137: Sets the division count/repetitions (1 to 99999999).
  • Parameter 5102#2 (QSR): Sequence number pre-check enablement (0 or 1).
  • Parameter 5125#2 (PRS): Single block operation stop position selector (0 or 1).
  • Parameter 5123#1 (HMC): High-speed interblock movement speed-up (0 or 1).
  • Parameter 5106#2 (NT1): Nose radius compensation status (0 or 1).
  • Alarm PS0321: Division count specified as zero or negative. Fix: Correct R in first block.
  • Alarm 061: P or Q block boundaries not found in cycle call. Fix: Specify P/Q starting/ending sequences.
  • Alarm PS0325: Prohibited command inside shape program. Fix: Remove G41/G42 or invalid commands.
  • Alarm PS0063: Q sequence block not found when QSR=1. Fix: Add missing block.
  • T-series vs. M-series: T-series Lathes utilize G73 for pattern repeating, whereas M-series Mills utilize G73 for high-speed peck drilling (closed-loop repeating requires G73.7).
  • Legacy FS15-T: Tape format uses syntax G73 A_ B_ W_ U_ I_ K_ H_ and ignores Parameter 5137.

Warning: When high-speed interblock movement is enabled via parameter 5123#1 (HMC), operators must never perform a quick program restart mid-cycle. Bypassing the buffer triggers a 'DATA IS INCORRECT' warning, leading to unpredictable and dangerous tool movements.

Siemens

In Siemens systems, G73 efficiently removes material parallel to the final contour of pre-formed cast-iron or forged blanks. Advanced programmers can dynamically adjust the X-axis escape distance during execution via the GUD7 parameter ZSFI[1] in the Siemens controller memory.

The G-code follows standard ISO Dialect syntax, allowing seamless execution of legacy multi-block repetitive cycles on modern Siemens controls.

ParameterAlarmVersion Differences
  • ZSFI[1]: Global User Data variable for modal X-axis escape distance (channel-specific numeric value).
  • All other parameters are mapped automatically to background shell parameters ($C_xx).
  • Alarm 14011: Attempted G73 cycle execution in MDA mode. Fix: Run only in automatic mode.
  • Alarm 61801: Wrong G code selected or incorrect setting data. Fix: Verify G-code system and settings.
  • ISO Dialect Mode: In ISO Dialect Mode A/B, G73 is contour repetition. In ISO Dialect Mode C, G73 reassigns to standard stock removal (G71 function) and contour repetition shifts to G75.

Warning: Attempting to execute G73 within MDA mode will immediately paralyze the channel, outputting Alarm 14011 and forcing a full system reset.

Mitsubishi

In Mitsubishi Lathe (L) systems, the G73 formed material rough cutting cycle calculates toolpaths parallel to the profile, avoiding redundant linear cuts on uneven casting shapes. The cutting allowance and division values are tied to reversible parameters: parameter #8053 stores X-axis allowances, and parameter #8055 stores the divisions.

The G-code supports both conventional two-block syntax and a proprietary one-block 'MITSUBISHI CNC Special Format' to optimize legacy program structures.

ParameterAlarmVersion Differences
  • #8053 U / #8054 W: Reversible parameters storing X/Z cutting allowance (range ±199999.999 mm).
  • #8055 R: Reversible parameter storing division passes (0 to 99999).
  • #1265 ext01/bit0: Command format selector (0 for 2-block, 1 for 1-block).
  • #1273 ext09/bit2: Shift cutting direction (0 for finished shape, 1 for programmed sign).
  • #1271 ext07/bit6: Nose radius compensation status (0 or 1).
  • Alarm P32: Address R or A commanded in 1-block format. Fix: Omit standard addresses.
  • Alarm P33: First block of cycle omitted in 2-block format. Fix: Program both G73 blocks.
  • Alarm P191: Allowance and retract signs do not match profile. Fix: Realign geometry signs.
  • Alarm P202: Block over where shape program exceeds maximum limits. Fix: Simplify profile or use subprograms.
  • Lathe vs. Machining: Lathe (L) systems utilize G73 for formed material roughing (lists 2-7). Machining Center (M) systems interpret G73 as a high-speed peck drilling cycle (step cycle).
  • Special 1-Block: Proprietary format integrated to streamline legacy programs.

Warning: If the finished shape program exceeds the maximum block limit, the controller will immediately halt execution and trigger Alarm P202 (Block over), requiring profile simplification.

Brand Comparison

TopicFanucSiemensMitsubishi
Primary Syntax2-block structure with G73 U W R_ / G73 P_ Q_ U_ W_Same as Fanuc (under ISO Dialect A/B)Both 2-block standard and 1-block proprietary syntax
Parameter AdjustmentsStandard parameters (5135, 5136, 5137)Global User Data variables (e.g. _ZSFI[1])Reversible HMI-interactive parameters (#8053-#8055)
Sequence ChecksPre-scans sequence endpoints (QSR option)Background shell-mapping to native cycle formatsRigid block limits / alarms for circular profile entry
Dialect ShiftsKinematically split (G73 lathe vs G73.7 milling)Mode C completely shifts G73 function to G71Split L vs M functionality (peck drill vs. rough cycle)
File Shape CallingNumeric sequence ranges onlyClassic subprogram sequence numbersAlphanumeric filenames in angle brackets <NAME>

Technical Analysis

Analyzing the control architectures reveals that each brand handles pattern repeating calculations through fundamentally different execution engines. Fanuc relies heavily on hard-coded system parameters and strict block checking to maintain safety. By integrating features such as the Sequence Number Pre-check (parameter 5102#2 QSR), the Fanuc control scans the program to verify the existence of the ending sequence block before the machine axes even begin to move. This acts as a mathematical safeguard against running incomplete shape definitions.

Siemens, conversely, abstracts the ISO G73 command into an advanced 'shell cycle' architecture. When the control encounters G73, it does not execute a direct, low-level routine; instead, it parses the addresses, maps them to channel-specific Global User Data (GUDs), and executes the native Siemens standard cycles. This approach ensures that legacy ISO code benefits from modern, high-speed closed-loop algorithms. Additionally, Siemens' dynamic dialect shifting is so radical that switching to ISO Dialect Mode C completely reassigns G73 to a standard longitudinal stock removal cycle (G71 function), shifting pattern repeating to G75.

Mitsubishi takes a highly operator-centric approach by integrating reversible HMI-interactive parameters directly with G-code execution. The cutting allowances and division passes are linked to parameters #8053, #8054, and #8055. This unique architecture allows operators to make real-time machining adjustments on the shop HMI screen, which instantly updates the cycle parameters on the fly, or vice-versa. Additionally, Mitsubishi is the only control that supports both alphanumeric shape program file names in angle brackets (e.g., <FORGED_PROFILE>) and a condensed single-block format, which significantly reduces program size and streamlines file organization.

Program Examples

Fanuc Example

; Fanuc: G73 U5.0 W2.0 R4;
; Fanuc: G73 P100 Q200 U0.5 W0.1 F0.25;
; Fanuc: G70 P100 Q200;

dry run: The tool rapid-traverses to the cycle starting point outside the casting blank. The first G73 block reads X-axis relief of 5.0 mm (radius) and Z-axis relief of 2.0 mm, dividing the material into 4 roughing passes. The second G73 block calls sequence blocks N100 to N200, leaving a finishing allowance of 0.5 mm in X and 0.1 mm in Z, feeding at 0.25 mm/rev. The controller calculates 4 parallel passes, stepping closer to the contour with each pass. At the end of each pass, the tool retracts and returns to the start coordinate. G70 executes the final finish pass over the profile, clearing the remaining stock.

Siemens Example

; Siemens: G99 G00 X200 Z10 M3 S500
; Siemens: G73 U1.0 W1.0 R3
; Siemens: G73 P14 Q19 U0.5 W0.3 F0.3

dry run: G99 sets feed per revolution, rapid-traversing to X200 Z10 with the spindle rotating at 500 RPM. The first G73 block specifies an escape distance of 1.0 mm in both X and Z axes, with a division count of 3. The second G73 block executes the contour repetition from block N14 to N19, applying a 0.5 mm X-axis and 0.3 mm Z-axis finish allowance at a feedrate of 0.3 mm/rev. The control maps these values into Global User Data and runs the optimized shell cycle. The tool performs 3 parallel roughing cuts, stepping down parallel to the final shape profile. After the final roughing pass, the tool automatically rapid-traverses back to the starting point (X200 Z10).

Mitsubishi Example

; Mitsubishi: G73 P10 Q20 U0.5 W0.2 I5.0 K2.0 D3 F0.3 ;

dry run: The single-block G73 command is issued, calling the finished shape defined between sequence numbers N10 and N20. The controller reads the X-axis cutting allowance I5.0 (5.0 mm) and Z-axis cutting allowance K2.0 (2.0 mm) directly from the block. It divides the material removal into 3 passes (D3), leaving a finishing allowance of 0.5 mm in X (U0.5) and 0.2 mm in Z (W0.2) with a feedrate of 0.3 mm/rev. The control dynamically writes these values into parameters #8053 and #8055. The machine executes 3 parallel contour passes, retracting to the start position after each pass. The final roughing profile is established, leaving an even stock layer for the finishing cycle.

Error Analysis

Alarm CodeTriggerOperator SymptomRoot Cause / Fix
Fanuc PS0321Division count specified as zero or negative.Machine halts before cycle begins, showing the alarm on the HMI screen.R address in the first G73 block is set to 0, a negative number, or is missing. Fix: Correct the R address value to a positive integer (e.g., R4).
Fanuc 061P or Q block boundaries not found in G70-G73 call block.The control rejects the block and halts program execution immediately.Sequence numbers P or Q are omitted in the second G73 block. Fix: Program the correct starting (P) and ending (Q) sequence numbers.
Fanuc PS0325Prohibited command placed in the shape program.The machine halts mid-program or during cycle pre-scan, displaying the error.Unusable G-codes or M-codes inserted between P and Q sequence blocks. Fix: Remove the prohibited commands or set Parameter 5106#2 (NT1) to 1.
Siemens 14011Attempted G73 cycle execution in MDA mode.The channel is instantly paralyzed, and the system requires a full reset.Programming multiple repetitive cycles in MDA mode. Fix: Execute the program only within automatic mode.
Siemens 61801Wrong G code selected or incorrect setting data in the cycle call.Canned cycle fails to execute, and the screen displays the setting error.Incorrect active G-code system selected or invalid numerical variables programmed. Fix: Verify active dialect settings and cycle setting parameters.
Mitsubishi P32Address R or A is commanded when configured for 1-block format.The program errors out immediately upon reading the G73 block.Standard 2-block addresses (R/A) are commanded when parameter #1265 is set to 1. Fix: Omit these addresses or change parameter #1265 to 0.
Mitsubishi P33First block of fixed cycle omitted in conventional 2-block format.Machine stops at the fixed cycle block with a program error.Parameter #1265 is set to 0, but only the second G73 block is programmed. Fix: Program both G73 blocks in the correct order.
Mitsubishi P191Signs of designated cutting allowance and retract do not match profile.Toolpath calculation fails, and the program stops with an error.Incremental coordinate signs (+/-) for allowances (U, W, I, K) contradict the profile's movement direction. Fix: Realign geometry signs to match the cycle direction.
Mitsubishi P202Block over (MRC) where shape program exceeds maximum limits.Machine memory buffer overflows, causing immediate program halt.The profile program (between P and Q) contains more than 50 or 200 blocks. Fix: Simplify the profile geometry or call external files using the alphanumeric shape call.

Application Note

Plunging a cutting tool directly into a cast-iron casting because of a starting point miscalculation represents the ultimate breakdown of CNC process control, leading to shattered carbide inserts, a bent turret, and a severe scrap workpiece. To prevent this, the cycle command point must be placed safely outside the furthest dimensional boundaries of the rough forging. This spatial boundary serves as the absolute index and rapid retract clearance plane throughout the entire roughing cycle. If the operator sets the start point too close or inside an unmachined pocket, the tool will attempt to rapid-traverse back to a trapped coordinate at the end of a pass, resulting in a violent hard collision. To ensure safety, operators must program the start position with sufficient clearance, carefully monitor single block stops, and verify that all coordinate offset signs match the geometry direction.

Related Command Network

  • G70, G71, and G72 lathe roughing and finishing cycles: The G70 finishing cycle executes the final pass over the shape defined in the G73 blocks, while G71 and G72 provide stock removal for standard bar stock and facing operations.
  • G01/G02/G03 (Linear/Circular Interpolation): These basic interpolation commands are programmed within the finishing shape profile between the P and Q sequence numbers to build the part's final geometry.
  • G68 Coordinate Rotation: This command rotates the programmed coordinate system, allowing pattern repeating geometries to be machined at specific angles on multi-axis turning centers.
  • G68.2 Tilted Working Plane: This advanced command establishes a tilted plane for multi-axis machining, allowing standard canned cycles like G73 to execute on non-standard coordinate planes.
  • M98/M99 (Subprogram Call and Return): These commands call external subprograms, which are typically restricted or subject to strict format rules when placed within the P and Q profile definition range.

Conclusion

Optimizing formed material roughing operations requires a thorough understanding of the specific G73 cycle implementations across Fanuc, Siemens, and Mitsubishi controls. By matching the blank's pre-formed geometry with parallel offsets, manufacturers can eliminate redundant air-cutting passes, minimize cycle times, and extend tool life. The key to successful implementation lies in establishing conservative starting clearances, meticulously verifying G-code syntax format selections, and maintaining absolute consistency between cutting allowance signs and toolpath directions on the shop floor.

Frequently Asked Questions

Why does the tool plunge directly into the material during G73 retract?

This occurs because the cycle start point was programmed too close to the raw casting or inside an unmachined pocket. Since G73 retracts directly to this coordinate after every pass, any obstruction in its straight path results in a collision. Action: Always program your cycle start position at least 5 mm clear of the maximum raw material envelope in both axes.

How do I resolve a Siemens MDA mode block execution failure?

Siemens controls explicitly restrict G73 canned cycles from executing in Manual Data Automatic (MDA) mode, instantly paralyzing the channel and throwing Alarm 14011. Action: Transfer your fixed cycle block and shape program into a standard program file and execute it in Automatic mode instead.

What causes the Mitsubishi P191 program error in G73?

This alarm is triggered when the algebraic signs (+/-) of the X-axis (U or I) and Z-axis (W or K) cutting allowances do not correspond to the direction of the finished contour profile. Action: Check your tool path direction and ensure that the cutting allowance signs match the contour direction (e.g., use positive signs for external turning profiles starting from the face).

Still not resolved?

Ask our AI assistant about this topic in natural language. Grounded in verified sources, no hallucinations.

Ask AI Assistant
Hakan Gündoğdu
Hakan Gündoğdu
  • 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