CNC Deep Hole Drilling Cycles by Control System
Each major CNC control system implements deep hole drilling cycles differently. While the underlying principle — peck drilling for chip evacuation — is the same, the syntax, parameter names, and capabilities vary significantly between controls.
This guide provides a cross-reference for deep hole drilling cycles on the most common CNC control systems.
Cycle Comparison Overview
| Control | Deep Hole Cycle | Chip Break Cycle | Custom Cycle Support |
|---|---|---|---|
| Fanuc | G83 | G73 | Custom Macro B (user-defined G-codes) |
| Siemens Sinumerik | CYCLE83 | CYCLE83 (variant) | High-level language (SCL) |
| Haas | G83 | G73 | Simple macro variables |
| Heidenhain | CYCL DEF 200 (DRIL) | — | Q-parameter macros |
| Mazak | G83 (Mazatrol: DRILLING/PECK) | G73 | Mazatrol conversational |
Fanuc
G83 — Deep Hole Peck Drilling (Fanuc)
G83 X_ Y_ Z_ R_ Q_ P_ F_ K_
| Parameter | Fanuc | Description |
|---|---|---|
| X, Y | Same | Hole position |
| Z | Same | Final depth (from R-plane) |
| R | Same | R-plane position |
| Q | Same | Depth per peck (incremental) |
| P | Same | Dwell at hole bottom (milliseconds) |
| F | Same | Feed rate |
| K | Repeat count | Number of repeats (optional) |
G73 — High-Speed Peck (Fanuc)
G73 X_ Y_ Z_ R_ Q_ F_
Retract distance (d): Fanuc parameter 5114 controls the small retract distance in G73. Typical value: 0.254 mm (0.01").
Custom Macro B (Fanuc)
Fanuc supports user-defined G-codes via custom macros:
| Variable | Purpose |
|---|---|
| #6050 | Maps macro O9011 to user-defined G-code number (e.g., set to 123 for G123) |
| #500–#599 | Common variables that persist across programs |
| #1–#33 | Local variables for macro parameters |
Example: A custom deep hole macro could automatically reduce peck depth at increasing depth ratios, control coolant-on before spindle-start sequencing, and provide variable feed rates for entry vs. production drilling.
Fanuc Example Program
O1000 (DEEP HOLE DRILLING - FANUC)
T1 M06
G90 G54 G00 X0 Y0
S2000 M03
G43 H01 Z50.0
M08
; Deep hole cycle: 40 mm deep, 4 mm peck
G99 G83 X25.0 Y0 Z-40.0 R2.0 Q4.0 P200 F150
X50.0 (Second hole at X50)
X75.0 (Third hole at X75)
G80
G00 Z50.0
M09
M30
Siemens Sinumerik
CYCLE83 — Deep Hole Drilling (Siemens)
Siemens CYCLE83 is more flexible than Fanuc G83, with named parameters for greater control.
CYCLE83(RTP, RFP, SDIS, DP, DPR, DEPTH, VRTB, ANG, VRTB, MID, VRTB, DT)
| Parameter | Meaning | Example |
|---|---|---|
| RTP | Retraction plane (absolute) | RTP=2.0 |
| RFP | Reference plane (absolute) | RFP=0.0 |
| SDIS | Safety clearance | SDIS=1.0 |
| DP | Final depth (absolute) | DP=-40.0 |
| DPR | Final depth (relative to RFP) | DPR=40.0 |
| DEPTH | First peck depth | DEPTH=6.0 |
| DTB | Dwell time for chip breaking | DTB=0.5 |
| VRTB | Reduction amount for decreasing peck | VRTB=1.0 |
| MID | Minimum peck depth | MID=2.0 |
CYCLE83 Example
N10 G90 G17 G54
N20 T1 M06
N30 G00 X25.0 Y0
N40 Z50.0 S2000 M03
N50 M08
; Deep hole: start 6mm peck, decrease by 1mm each peck, min 2mm
N60 CYCLE83(2.0, 0.0, 1.0, -40.0, , 6.0, 0.5, , 1.0, , 2.0)
N70 G00 Z50.0
N80 M09
N90 M30
Key advantage: Siemens CYCLE83 supports decreasing peck depth natively (DEPTH parameter with VRTB reduction and MID minimum), which is excellent for deep holes where chip evacuation becomes more difficult at depth.
Modal Cycle Calling
MCALL CYCLE83(2.0, 0.0, 1.0, -40.0, , 6.0, 0.5, , 1.0, , 2.0)
X25.0 Y0
X50.0 Y0
X75.0 Y0
MCALL ; Cancel modal cycle
Haas
G83 (Haas)
Haas G83 is similar to Fanuc but uses different parameter settings.
G83 X_ Y_ Z_ R_ Q_ F_
Haas-specific features:
- Setting 73: Controls G73 retract distance (default 0.01" / 0.254 mm)
- Setting 83: Controls G83 peck retract distance (default 0.01" / 0.254 mm above bottom)
Haas Example
O01000 (HAAS DEEP HOLE)
T1 M06
G90 G54 G00 X0 Y0
S2000 M03
G43 H01 Z50.0 M08
G99 G83 X25.0 Y0 Z-40.0 R2.0 Q4.0 F150
X50.0
X75.0
G80
G00 Z50.0 M09
M30
Heidenhain
CYCL DEF 200 — DRILLING (Heidenhain)
Heidenhain uses a different cycle programming paradigm with Q-parameters.
CYCL DEF 200 DRILLING
Q200=2.0 ; SET-UP CLEARANCE
Q201=-40.0 ; DEPTH
Q206=150 ; FEED RATE FOR PLUNGING
Q202=4.0 ; PLUNGING DEPTH
Q210=0.5 ; DWELL TIME AT TOP
Q203=+0 ; SURFACE COORDINATE
Q204=50.0 ; 2ND SET-UP CLEARANCE
Q211=0.5 ; DWELL TIME AT DEPTH
Heidenhain Example
BEGIN PGM DEEPHOLE MM
BLK FORM 0.1 Z X-10 Y-10 Z-50
BLK FORM 0.2 X+100 Y+100 Z+0
TOOL CALL 1 Z S2000
L Z+100 R0 FMAX
M08
CYCL DEF 200 DRILLING
Q200=2.0 ; SET-UP CLEARANCE
Q201=-40.0 ; DEPTH
Q206=200 ; FEED RATE FOR PLUNGING
Q202=4.0 ; PLUNGING DEPTH
Q210=0 ; DWELL TIME AT TOP
Q203=+0 ; SURFACE COORDINATE
Q204=10.0 ; 2ND SET-UP CLEARANCE
Q211=0.5 ; DWELL TIME AT DEPTH
L X+25 Y+0 FMAX M13
L X+50 Y+0
L X+75 Y+0
L Z+100 R0 FMAX M09
M30
END PGM DEEPHOLE MM
Mazak
G83 / Mazatrol Conversational
Mazak supports both G-code (G83) and Mazatrol conversational programming.
Mazatrol DRILLING process:
- Specify hole depth, peck depth, and retract amount
- Unit automatically calculates the number of pecks
- Chip break cycle available with short retract
Cycle Cross-Reference Table
| Feature | Fanuc | Siemens | Haas | Heidenhain |
|---|---|---|---|---|
| Deep hole peck | G83 | CYCLE83 | G83 | CYCL DEF 200 |
| Chip break peck | G73 | CYCLE83 (var) | G73 | CYCL DEF 201 |
| Dwell at bottom | P | DTB | P | Q211 |
| Peck depth | Q | DEPTH | Q | Q202 |
| Decreasing peck | Macro required | Native (VRTB) | Macro required | Macro required |
| First peck larger | Macro required | — | — | Q203 with offset |
| R-plane | R | RTP/SDIS | R | Q200/Q204 |
| Absolute/relative | R = inc | RTP/RFP = abs | R = inc | Q203 = abs |
Programming Best Practices by Control
| Control | Do | Don’t |
|---|---|---|
| Fanuc | Use G83 for deep holes; use Q values 50–75% of drill diameter | Use G73 for stainless or deep holes |
| Siemens | Use CYCLE83 with decreasing peck (VRTB parameter) | Forget MCALL with modal cycles |
| Haas | Check Setting 73/83 for retract distance | Omit the G80 cancel |
| Heidenhain | Use Q-parameters for reusable cycle definitions | Forget Q203 (surface coordinate) |
Summary
Each CNC control system implements deep hole drilling cycles differently. Fanuc G83 is the most universal standard but lacks advanced features like decreasing peck depth. Siemens CYCLE83 is the most flexible with built-in variable peck support. Haas is similar to Fanuc with machine-setting adjustments. Heidenhain uses Q-parameter cycles for flexibility. When programming across multiple controls, understanding these differences is essential for portable, effective deep hole drilling programs.
For G83/G73 fundamentals, see CNC deep hole drilling G-code guide. For custom macro programming, see CNC macro programming guide. For a complete overview, visit the CNC deep hole drilling guide.