Home/Articles/G73 Pattern Repeating Cycle Guide for CNC Lathe Turning
G73 · TURNING

G73 Pattern Repeating Cycle Guide for CNC Lathe Turning

ProgrammingFanucSiemensMitsubishi·Updated Jul 22, 2026·16 min read
Quick answer

How does the G73 pattern repeating cycle work on Fanuc and Siemens CNC controls The G73 cycle roughs pre-formed castings by offsetting the contour parallel to itself. Fanuc uses parameters like Parameter 5135 to define default escapes and requires a two-block format. Siemens requires G291 mode to compile G73. If misprogrammed, systems can trigger alarms like Alarm PS0065.

Introduction

Incorrect calibration of workpiece zero offsets or tool nose radius compensation registers on a turning center causes the tool post turret to index along a dangerously shifted trajectory. Under these uncompensated conditions, the tool nose will bypass soft safety limits and drive the cutting tool on the indexing turret directly into the rotating jaws of a spindle chuck or a machine vise jaw. This sudden axis deviation results in a catastrophic hard collision that shatters the cutting tool, damages the spindle assembly, halts the slide with a severe axis-overload alarm like PS0065 or PS0325, and converts an expensive casting or forging into a completely ruined scrap part.

To mitigate these risks and optimize manufacturing efficiency, programmers utilize the G73 pattern repeating cycle. Unlike standard paraxial roughing passes that generate extensive non-cutting time, this cycle shifts the target contour parallel to itself. This ensures that tool paths conform to the pre-formed shape of raw castings or forgings, removing material in uniform divisions and preserving tool geometry throughout the machining process.

Technical Summary

Metric Details
Command Code G73 (Pattern Repeating Cycle / Closed Loop Cutting Cycle)
Modal Group Group 00 (Non-modal / Unmodal)
Supported Brands Fanuc, Siemens (ISO Dialect Mode), Mitsubishi
Critical Parameters Fanuc: No. 5135 (X-axis escape), No. 5136 (Z-axis escape); Mitsubishi: #8053 (X relief), #8054 (Z relief); Siemens: MD 18800 ($MN_MM_EXTERN_LANGUAGE)
Main Constraint Finishing contour profile must change monotonically in both coordinate directions.

Quick Read

  • Pre-formed castings or forgings require G73 to minimize non-cutting air time by roughing stock parallel to the finished contour.
  • Programmed feedrates, spindle speeds, or tool offsets inside the contour blocks (between sequence numbers P and Q) are ignored by the control during roughing.
  • Modern Fanuc and Siemens controls require a two-block format, whereas Mitsubishi can combine escape allowances and roughing passes into a single block using parameter #1265.
  • Executing G73 turning cycles on Siemens Sinumerik controls requires G291 to enable the ISO Dialect compiler first.
  • Modern Fanuc controls limit contour address caching to three roughing cycles; a fourth cycle clears the stack and causes lookup delays.
  • Programmers must place tool radius compensation commands (G41/G42) outside the contour block range to prevent alarm PS0325 or Siemens alarm 61815.

Basic Concepts

The G73 pattern repeating roughing cycle provides programmers with an exceptionally efficient tool for roughing castings, forgings, or pre-formed materials where a uniform layer of stock must be peeled away parallel to the finished shape. By offsetting the target contour parallel to itself by specified relief distances across a designated number of divisions, G73 minimizes the non-cutting air time that would otherwise occur with standard longitudinal or transverse roughing passes. During roughing, the control ignores any feedrates, spindle speeds, or tool offsets programmed within the shape program blocks, applying the G73 cycle’s override values instead. Once completed, the tool automatically returns in rapid traverse to the starting position, leaving the specified finishing allowances on X and Z for subsequent finishing cycles.

Understanding coordinate movement is critical when configuring the pattern repeating path. The controller calculates intermediate offsets based on the target geometry and the specified number of roughing divisions. The tool approaches the part, executes a parallel pass, and then performs a rapid relief motion away from the material before positioning for the next division. This cycle repeats until the final roughing boundary is achieved, ensuring optimal chip load and minimizing tool pressure during heavy cuts.

Command Structure

The G73 command structure is split into two formats depending on the control version and configuration. On modern CNC systems, it utilizes a two-block command sequence. The first block declares the relief/escape distances in the radial (X-axis) and axial (Z-axis) directions along with the total division count, which governs the number of roughing passes. The second block defines the start and end block sequence numbers, finishing allowances, and overrides for feedrate and spindle speed.

Older series and legacy controllers support a single-block syntax that condenses all cycle parameters into one command line. In this layout, the X and Z relief allowances are mapped to specific addresses while finishing allowances and the division count are declared alongside the sequence limits. Programmers must ensure the cycle parameters are formatted exactly to match the active series or G-code system of the NC unit.

; Modern Two-Block Format (Fanuc, Siemens ISO Dialect, Mitsubishi)
G73 U(Δi) W(Δk) R(d) ;
G73 P(ns) Q(nf) U(Δu) W(Δw) F(f) S(s) T(t) ;

; Legacy Single-Block Format (Fanuc 3T/6T/10T/11T/15T, Mitsubishi Special Format)
G73 P(ns) Q(nf) U(Δu) W(Δw) I(Δi) K(Δk) D(d) F(f) S(s) T(t) ;
Parameter / Address Function Specification Detail
U (first block) / Δi X-axis relief/escape distance Programmed on the radius/side. Shows the offset displacement distance and direction along the radial axis.
W (first block) / Δk Z-axis relief/escape distance Shows the offset displacement distance and direction along the axial axis.
R / d Number of divisions The number of rough cutting passes. If a decimal value is entered, the control rounds to the nearest integer.
P / ns Starting sequence block number The sequence number (N-code) defining the start of the finished contour shape profile.
Q / nf Ending sequence block number The sequence number (N-code) defining the end of the finished contour shape profile.
U (second block) / Δu X finishing allowance The thickness of raw material left on the X-axis for the finishing cut (programmed as a diameter value).
W (second block) / Δw Z finishing allowance The thickness of raw material left on the Z-axis for the finishing cut.
I / Δi (single block format) X-axis relief allowance Replaces U (first block) in legacy single-block formatting (radial value).
K / Δk (single block format) Z-axis relief allowance Replaces W (first block) in legacy single-block formatting.
D / d (single block format) Number of divisions Replaces R in legacy single-block formatting.
F, S, T Process overrides Specifies roughing feedrate, spindle speed, and tool offset overrides. Programmed parameters override internal values.

Brand Applications

Fanuc

On Fanuc turning systems, G73 is executed within G-code Group 00. The default radial escape distance is controlled by Parameter 5135, and the axial escape distance is defined by Parameter 5136.

The standard roughing sequence utilizes two G73 blocks to command escape paths, divisions, and shape sequences. For legacy Series 15 programs, the cycle can also be formatted as G73.7.

Category Identifier / System Description
Parameters Parameter No. 5102 (Bit 2 - QSR) Sequence verification parameter. Preprocessor checks if sequence block Q exists before starting.
Parameters Parameter No. 5125 (Bit 2 - PRS) Controls single-block execution stop behavior (0 = stops at each motion, 1 = stops at cycle pass end).
Alarms Alarm PS0322 Finished shape exceeds start point boundary. Requires adjusting coordinates or starting position.
Alarms Alarm PS0065 First shape contour block does not contain G00 or G01.
Alarms Alarm PS0067 Cycle not in active memory (e.g. attempted execution via M198).
Alarms Alarm PS0325 Cutter compensation G41/G42 or cancel G40 specified inside shape contour blocks.
Versions System A & B vs C Systems A and B map to G73. System C (parameter GFG = 1) maps G73 to G75.

Executing G73 programs from an external card via M198 is prohibited on Fanuc controllers and will trigger Alarm PS0067. Programmers must copy the subroutines into active memory before cycling.

Siemens

Siemens Sinumerik controls utilize a bimodal compiler environment to parse ISO G-code programs. Enabling dialect compilation requires configuring MD 18800 to enable the external ISO compiler.

The cycle G73 is executed in ISO Dialect mode after calling G291. In native Siemens mode (G290), G73 represents a pocket milling command, while stock removal is handled by CYCLE95.

Category Identifier / System Description
Parameters MD 18800 ($MN_MM_EXTERN_LANGUAGE) Channel-specific machine data to activate external ISO dialect compiler (set to 1 to enable G291).
Parameters $C_U, $C_W, $C_L System variables mapping programmed ISO addresses into native Siemens cycles.
Alarms Alarm 61800 External compiler missing. Occurs when G291 is commanded but MD 18800 is set to 0.
Alarms Alarm 61815 Tool radius compensation G41/G42 not deselected via G40 before G73.
Alarms Alarm 14011 ISO cycles G70-G73 executed in MDA mode. Only memory execution (Auto) is allowed.
Alarms Alarm 14800 Feedrate is set to zero or omitted with no active modal feedrate.
Versions 840D sl vs 802D sl 840D sl supports multi-edge turning G51.2/G50.2, which is omitted on the 802D sl.

Siemens controls block G73 turning cycles in manual data input (MDA) mode, triggering Alarm 14011. Programmers must ensure the cycle is called from within a stored program in automatic mode.

Mitsubishi

Mitsubishi CNC systems feature dedicated parameter registers to control G73 behavior. Default X-axis relief is stored in parameter #8053 and default Z-axis relief is stored in parameter #8054.

The cycle supports standard two-block code formatting. Additionally, toggling parameter #1265 allows condensing the parameters into a single-block command.

Category Identifier / System Description
Parameters Parameter #1265 (ext01/bit0) Special one-block format toggle. Set to 1 to compile G73 as a single block.
Parameters Parameter #1270 (ext06/bit2) Program search method selection. Look-ahead search (1) matches sequence numbers from previous passes.
Alarms Program Error P951 G73 cycle commanded while simple inclined surface control G176 is active.
Alarms Program Error P942 G73 cycle commanded while simple tool center point control G174 is active.
Alarms Program Error P32 G-code List 3 (Standard format): R or A commanded when parameter #1222 aux06/bit5 is 0.
Alarms Program Error P191 Contour geometry constraint error or shape compensation mismatch.
Versions Series 15 Program Format Supports G73.7 syntax for pattern repeating, matching Series 15 turning cycle structures.

Activating the G73 cycle while simple tool center point control G174 is active causes program termination with Program Error P942. Operators must cancel G174 prior to executing roughing passes.

Brand Comparison

Feature / Topic Fanuc Siemens Mitsubishi
Compilation Environment Native in standard G-code systems. Requires switching to ISO Dialect Mode via G291. Native turning configurations (Systems A, B, and C).
Command Format Two-block standard on modern series. Single-block supported on legacy series. Two-block format compiled via ISO Dialect Mode. Native mode uses CYCLE95/CYCLE950. Two-block standard. Parameter #1265 toggles a special single-block format.
Memory Stack & Look-Ahead Stack limit of 3 roughing cycles. 4th cycle causes search delays for subsequent G70 scan. Decoupled subroutine/string compiler. No lookup search time degradation. Custom sequence search register (#1270 = 1) uses look-ahead to instantly resolve sequence search.
Bimodal Format / Plane Switch No integrated dynamic bimodal cycle switch G-codes. Native G73 is compiled as pocket milling with islands; turning cycle compiled under G291 mode. Dynamic program format switch (G188/G189) reallocates G73 from turning to milling stepping cycle.
MDA/MDI Mode Execution Allowed. Not blocked natively. Strictly prohibited (triggers Alarm 14011). Allowed. Not blocked natively.

Technical Analysis

The primary technical differences between Fanuc, Siemens, and Mitsubishi controls in executing pattern repeating cycles lie in compiler architecture, memory stack management, and dynamic code mapping. Fanuc utilizes a hardware-level memory address stack that limits standard contour caching to three roughing cycles. While Fanuc allows up to three roughing cycles (G71, G72, or G73) to be executed sequentially with immediate lookup for a subsequent G70 cycle, calling a fourth roughing cycle clears the stack. Consequently, the controller must search the entire part program memory from the beginning to locate the target sequence blocks, which increases execution lookup times. Siemens and Mitsubishi bypass this hardware limitation entirely through compiler-based jump processing and sequence look-ahead registers.

In contrast to Fanuc's sequence-bound structure, Siemens completely decouples profile definitions from G-code cycle blocks. When running in native mode (G290), Siemens ignores G-code roughing syntax and uses technology cycles such as CYCLE95 or CYCLE950, where contours are stored as independent subprogram files. When compiled under ISO Dialect Mode via G291, Siemens parses the G73 command by passing block addresses into system variables ($C_U, $C_W, and $C_L) on-the-fly. This bimodal shell translation executes an underlying background macro (CYCLE300 variants) to run the toolpath, allowing deep software-level modification of cycle behavior. Siemens also enforces a safety lockout that strictly prohibits G70–G73 execution in Manual Data Input (MDA) mode, triggering Alarm 14011.

Mitsubishi controls combine the inline programming style of Fanuc with parameters that permit single-block formatting and look-ahead sequence lookups. Toggling parameter #1265 (ext01/bit0) enables Mitsubishi controls to parse X-axis and Z-axis relief allowances directly from addresses I and K in a single G73 block. Furthermore, Mitsubishi turning systems utilize a dedicated parameter-controlled sequence search register (#1270 ext06/bit2). When set to 1, this register matches starting sequence numbers with stored look-ahead memory from previous passes, preventing the search delays experienced on subsequent Fanuc cycles. Mitsubishi also features an integrated format switch command (G188/G189) that dynamically reallocates G73 from a turning pattern repeating cycle to a milling stepping cycle.

Program Examples

Fanuc G-Code Example

; Fanuc: G73 Two-Block Roughing Example
G73 U14.0 W14.0 R3 ;
G73 P14 Q19 U4.0 W2.0 F0.3 S180 ;
N14 G00 X40.0 Z2.0 ;
G01 X50.0 Z-10.0 F0.15
X60.0 Z-30.0
X80.0 Z-40.0
N19 G01 X100.0 Z-55.0 ;

Dry Run (Fanuc): During the dry run, the operator executes the cycle block-by-block with the feedrate override selector set to a safe value. The controller reads the G73 command, ignores the inline feedrate and spindle speed inside N14–N19, and calculates the toolpath offsets. The tool indexes and performs three parallel roughing passes, shifting outward by 14.0mm along X and Z. After completing the final pass, the tool returns in rapid traverse to the cycle start point, leaving 4.0mm of diameter stock on X and 2.0mm on Z, ready for a subsequent G70 finishing cycle.

Siemens G-Code Example

; Siemens: ISO Dialect Mode Roughing Example
G291 ;
G73 U14.0 W14.0 R3 ;
G73 P14 Q20 U4.0 W2.0 F0.3 S180 ;
N14 G00 X40.0 Z2.0 ;
G01 X50.0 Z-10.0
X60.0 Z-30.0
X80.0 Z-40.0
N20 G01 X100.0 Z-55.0 ;
G290 ;

Dry Run (Siemens): The compiler switches to ISO Dialect Mode upon parsing G291. When G73 is executed, the interpreter maps the programmed allowances to system variables $C_U and $C_W. The system executes the background macro CYCLE300 to generate three offset passes. The operator verifies the spindle speed and axis displacement on the digital coordinate display, checking that the tool nose maintains a safe clearance relative to the jaws of the spindle chuck. After the final pass, the tool retracts and returns in rapid traverse to the starting point. The programmer can configure a G61 exact stop mode command to ensure sharp corners on the contour transition points.

Mitsubishi G-Code Example

; Mitsubishi: Single-Block Special Format Example
G73 P14 Q19 U4000 W2000 I14000 K14000 D3 F0.3 S180 ;
N14 G00 X40000 Z2000 ;
G01 X50000 Z-10000
X60000 Z-30000
X80000 Z-40000
N19 G01 X100000 Z-55000 ;

Dry Run (Mitsubishi): With parameter #1265 set to 1, the controller parses the single-block G73 command directly. During the dry run, the operator executes the cycle in single-block mode. The controller reads the sequence numbers N14 to N19, ignoring internal overrides, and applies a feedrate of 0.3 mm/rev. The tool post turret executes three sequential roughing passes. The operator monitors the chuck barrier limits on the display screen to ensure the indexing tool turret remains within safe boundaries before retracting to the start position. To optimize axis transition speeds, the controller can use G64 cutting continuous path mode during intermediate movements.

Error Analysis

Brand Alarm Code Trigger Condition Operator Symptom Root Cause / Fix
Fanuc Alarm PS0065 First shape contour block does not contain G00 or G01. The machine halts immediately at the start of the G73 cycle, and an error message is displayed on the screen. Insert a G00 or G01 command in sequence block N(ns) to declare the initial movement mode.
Fanuc Alarm PS0325 Cutter compensation G41/G42 or cancel G40 specified inside shape contour blocks. Cycle execution stops abruptly, and the tool turret freezes mid-program. Remove G40, G41, or G42 commands from within the shape profile blocks and place them before or after the cycle.
Siemens Alarm 14011 G70-G73 cycles executed in Manual Data Input (MDA) mode. Program execution fails immediately, and an error dialog blocks further operations. Execute the G73 cycle only from within an active part program loaded in Automatic (Auto) mode.
Siemens Alarm 61800 G291 commanded with MD 18800 disabled. The controller fails to recognize the G291 command and generates an external compiler missing alarm. Set machine data parameter MD 18800 to 1 to enable the ISO compiler.
Mitsubishi Program Error P942 G73 commanded while simple tool center point control G174 is active. The cycle fails to start, displaying a program error on the HMI. Cancel G174 simple tool center point control prior to executing the G73 roughing cycle.
Mitsubishi Program Error P191 Contour geometry does not satisfy coordinate constraints or shape compensation. The program terminates, and the tool fails to move along the profile. Ensure the contour coordinates change monotonically and verify that tool shape compensation values do not violate contour boundaries.

Application Note

A catastrophic hard collision that shatters the cutting tool, damages the axis ball screws, and destroys the workpiece chuck jaws occurs when G73 cycle coordinates are shifted by incorrect workpiece coordinate offsets or misconfigured tool nose radius compensation values. Setup operators must verify coordinate zero offsets, configure chuck and tailstock barriers on the HMI safety screens, and dry-run G73 programs in single-block mode before allowing the tool turret to feed into pre-formed castings. Running a dry run with single-block execution allows the machine to safely halt at the end of each motion, enabling the operator to verify tool clearances prior to physical contact.

  • G70: Contour finishing cycle, called after G73 to execute the final finishing pass.
  • G71: Stock removal in turning, which performs paraxial roughing along the longitudinal axis.
  • G72: Stock removal in facing, which executes end-face roughing passes.
  • G291 (Siemens): Switches the bimodal compiler from native Siemens mode to external ISO Dialect mode.
  • G188 (Mitsubishi): Program format switch that reallocates G73 from a turning pattern repeating cycle to a milling stepping cycle.

Conclusion

Successful implementation of G73 pattern repeating roughing requires aligning the command block format with the control's compiler architecture, setting default escape parameters, and validating profile coordinates for monotony. Setup operators must verify workholding alignment and safety envelope boundaries through single-block dry runs to prevent tool crashes and protect spindle integrity.

FAQ

Why does the G73 cycle cause a search delay on subsequent G70 finishing passes on Fanuc controls?

Fanuc controls utilize a hardware-level memory address stack that is limited to caching up to three roughing cycles. When a fourth roughing cycle is executed sequentially, the cache stack is cleared, forcing the G70 cycle to search the entire part program memory from the beginning to locate the target blocks. To avoid this search delay, programmers should call the G70 finishing cycle immediately after each roughing cycle or clear unnecessary cycles from memory prior to execution.

How do you resolve Siemens Alarm 14011 when executing a G73 cycle?

Siemens Alarm 14011 is triggered when G-code stock removal cycles (G70–G73) are executed in Manual Data Input (MDA) mode. Siemens controls restrict these cycles to automatic memory execution to prevent accidents. Operators must save the block sequence to active program memory and run the job from Auto mode rather than commanding it directly on the MDA screen.

What causes Mitsubishi Program Error P942 during a G73 cycle?

Mitsubishi Program Error P942 occurs when the G73 cycle is commanded while simple tool center point control (G174) is active in the controller registers. This conflict is due to overlapping tool path correction routines. Programmers must program a G174 cancel command prior to calling the G73 pattern repeating roughing cycle.

HG

Hakan Gündoğdu

CNC CARE CO-FOUNDER

CNC uzmanı, 25+ yıl saha tecrübesi, Mitsubishi Electric Türkiye geçmişi.