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.
Introduction
Attempting to execute heavy toolpath cycles like Siemens CYCLE72 contour milling before the machine is fully clamped and referenced can trigger systemic PLC faults, such as alarm code 700017 indicating the chuck operation is blocked, or alarm code 700022 warning of a turret motor overload. In complex mill-turn setups, failing to ensure proper axis referencing can result in a physical collision with a vise jaw, chuck, clamp, or turret, destroying tooling and scrapping the workpiece. Because graphical pre-verification (simulation) is restricted for this specific cycle and frequently halts execution with Alarm 61123, programmers must understand the parameter structures and hardware safety protocols necessary to safely machine along a user-defined contour.
Technical Summary
| Parameter/Attribute | Details |
|---|---|
| Command Code | CYCLE72 |
| Modal Group | Non-modal path milling cycle |
| Supported Brands | Siemens (Sinumerik) |
| Critical Parameters | _KNAME (Contour name/labels), _VARI (Machining type) |
| Main Constraint | Requires at least 2 contour blocks; simulation is restricted and triggers Alarm 61123. |
Quick Read
- Reference the contour by text labels (e.g.,
"PIECE245: PIECE245E") rather than block numbers to avoid references breaking during program renumbering. - Avoid graphical verification simulation on controls since it will halt the interpreter with Alarm 61123.
- Verify physical tool clearance manually to prevent collisions with unmodeled fixtures, chucks, or vise jaws.
- Verify that the chuck is fully clamped and referenced to prevent PLC-level Alarm 700017 or motor overload Alarm 700022 during heavy operations.
- Recompile code only in the forward direction, as older system software versions are not guaranteed to successfully compile newer CYCLE72 cycles.
- Ensure the contour is programmed in the exact direction of milling and contains at least two distinct points.
Basic Concepts
The Siemens CYCLE72 path milling cycle is a highly flexible tool that allows programmers to mill along any user-defined contour, operating with or without active cutter radius compensation. A major practical programming effect of this cycle is its open-ended contour requirement; the contour does not need to be closed, and internal or external machining is determined entirely by whether the cutter radius compensation is programmed centrally, to the left, or to the right of the contour. One of the most distinguishing behaviors of this brand is how it manages its contour definitions directly inside the cycle call. By passing a string like "PIECE245: PIECE245E" into the _KNAME parameter, the controller dynamically jumps to the contour blocks bounded by those specific labels within the main program. Programmers must watch vigilantly when editing these files; if block numbers are used instead of text labels to bound the contour, any automated line renumbering by the editor will silently break the cycle's reference to the contour, causing a critical failure.
Command Structure
Parameterizing CYCLE72 requires specifying both the geometric contour name and the mechanical parameters for feedrate, depths, and approach methods. The controller parses these arguments in sequence, using them to calculate the toolpath offsets and material removal passes. By adjusting these values, operators determine the depth of cut per pass, finishing allowances, and how the tool retracts between cuts.
Particular attention must be paid to the retraction parameters and approach types. The control uses specific numeric codes to dictate whether the tool retracts tangentially, along a quadrant, or in a semicircle. Incorrectly defining these parameters or passing invalid values will immediately abort execution or lead to unexpected movement in the machining plane.
CYCLE72(_KNAME, _RTP, _RFP, _SDIS, _DP, _MID, _FAL, _FALD, _FFP1, _FFD, _VARI, _RL, _AS1, _LP1, _FF3, _AS2, _LP2, _UMODE, _FS, _ZFS, _GMODE, _DMODE, _AMODE)
| Parameter | Type | Description |
|---|---|---|
_KNAME | STRING | The name of the contour subroutine or the block number range containing the contour (e.g., "PIECE245: PIECE245E"). |
_VARI | INT | Defines the machining type (e.g., 1, 11, 111). |
_AS2 | INT | Specifies the return direction and retraction path. Units digit: 1 = straight tangential, 2 = quadrant, 3 = semicircle. Tens digit: 0 = return in plane, 1 = 3D path. |
_LP2 | REAL | Defines the length of the retraction travel (for straight lines) or the radius of the retraction arc (for circles), entered without a sign. |
Brand Applications
Siemens
Siemens controls execute CYCLE72 to mill contours defined locally or globally in subroutines. Key parameters like _KNAME control the target subroutine name, while _VARI dictates the roughing or finishing machining type.
G-code example:
N40 CYCLE72("PIECE245: PIECE245E", 250, 200, 3, 175, 10, 1, 1.5, 800, 400, 11, 41, 2, 20, 1000, 2, 20)
| Parameter/Alarm/Version | Detail |
|---|---|
_KNAME parameter | Accepts a string like "PIECE245: PIECE245E" to bound the contour within the program. |
_VARI parameter | Controls the milling operations, accepting values such as 1, 11, or 111. |
| Alarm 61123 | "CYCLE72 cannot be simulated" - blocks graphical verification and stops interpreter. |
| Alarm 61002 | "Machining type defined incorrectly" - triggered by invalid _VARI values. |
| Version Compatibility | Forward-compatible (older calls run on newer software); downward compatibility not guaranteed. |
Attempting to simulate this cycle triggers Alarm 61123, which restricts pre-verification. Programmers must ensure the programmed toolpath does not collide with vise jaws, chucks, or turrets, and that the chuck is fully clamped to prevent Alarm 700017 and Alarm 700022.
Brand Comparison
| Software Version / Series Group | Upward Recompilation | Downward Recompilation | Simulation Constraints |
|---|---|---|---|
| Newer Software Versions | Supported; older CYCLE72 calls can be recompiled, edited, and run. | Not guaranteed to compile when sent to older versions. | Restricted graphical verification; triggers Alarm 61123. |
| Older Software Versions | Supported; older calls can be transferred to newer systems. | Not guaranteed; newer features may fail interpreter compilation. | Restricted graphical verification; triggers Alarm 61123. |
| Legacy Software Versions | Supported; basic cycle structure can be recompiled upward. | Compilation fails; newer cycle parameters are unrecognized. | Simulation unavailable or triggers Alarm 61123. |
Technical Analysis
The compatibility architecture of Siemens Sinumerik controls emphasizes upward compatibility. NC programs containing CYCLE72 calls written for older system software versions can be recompiled and run on newer Siemens systems. However, downward compatibility is not guaranteed. Transferring code with newer parameters to older controller versions will fail to compile. Additionally, graphical simulation across all Siemens systems is restricted, forcing an interpreter stop and Alarm 61123 when pre-verification is attempted without proper configuration.
Program Examples
N40 CYCLE72("PIECE245: PIECE245E", 250, 200, 3, 175, 10, 1, 1.5, 800, 400, 11, 41, 2, 20, 1000, 2, 20)
Dry Run: In dry run mode, the operator executes the cycle with the spindle stopped or at a safe height above the workpiece to verify the toolpath movement. During the dry run of this block, the control reads the _KNAME parameter "PIECE245: PIECE245E", searches the program for these text labels, and moves the axes along the defined path at the programmed feedrates of 800 mm/min for machining and 400 mm/min for plunging, retracting by 20 units as specified by _LP2.
Error Analysis
| Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|
| Alarm 61123 | Control attempts to simulate the cycle. | Interpreter stops, NC Start disabled, alarm displayed. | Restricted simulation of CYCLE72. Clear with RESET, perform dry run. |
| Alarm 61002 | Invalid value in _VARI parameter. | Cycle is aborted, axis movement stops. | Machining type defined incorrectly. Check and adjust the _VARI parameter. |
| Alarm 700017 | Heavy toolpath executed before machine is fully clamped and referenced. | PLC user alarm, chuck operation blocked. | Ensure chuck is fully clamped and referenced before running cycle. |
| Alarm 700022 | Heavy operations overload physical state of hardware. | PLC user alarm, turret motor overload warning. | Check turret status and motor load, reduce feedrate or cut depth. |
Application Note
Executing a program renumbering operation on a Siemens controller when _KNAME is defined using block numbers will silently break the cycle's contour reference, resulting in a critical toolpath failure or workpiece damage. To prevent this, programmers must always use text labels such as "PIECE245: PIECE245E" instead of raw block numbers to bound the contour in _KNAME. Additionally, attempting to run CYCLE72 through standard simulation will trigger Alarm 61123, immediately halting the interpreter. Because graphical pre-verification is restricted, operators must manually verify that the programmed path does not collide with any vise jaws, chucks, clamps, or turrets. Heavy machining cycles should never be started before the machine is fully clamped and referenced, otherwise PLC-level fault Alarm 700017 or turret motor overload Alarm 700022 will trigger and stop production.
Related Command Network
CYCLE62: Used to define and call contours prior to contour milling or turning operations like CYCLE72.POCKET3: Mills rectangular pockets. For details on pocket cycles, see the guide on pocket3-pocket4-pocket-milling.SLOT1: Standardized slot milling cycle. For details on slot milling, see the guide on slot1-slot2-slot-milling-cycles.CYCLE952: Contour turning cycle. For details on turning contours, see the guide on cycle952-contour-turning.
Conclusion
Successful contour machining using Siemens CYCLE72 depends on strict syntax validation, text-based contour labeling, and manual path verification. By avoiding block-number references and confirming physical clamps and references before execution, operators prevent interpreter halts, PLC alarm codes, and physical machine collisions.
FAQ
Why does Siemens CYCLE72 trigger Alarm 61123 during simulation?
Siemens controls restrict graphical pre-verification for CYCLE72, causing an interpreter stop and disabling NC Start. To work around this constraint, perform a careful dry run with the spindle stopped and the tool positioned at a safe height above the workpiece to verify the toolpath visually.
How can I prevent a program renumbering operation from breaking CYCLE72?
When the editor renumbers block numbers, any cycle references using block numbers inside the _KNAME parameter are not automatically updated, which leads to a critical failure. Always define the contour using unique text labels like "PIECE245: PIECE245E" so the control can resolve the contour range dynamically regardless of block numbers.
What should I do if Alarm 700017 or Alarm 700022 triggers during machining?
These PLC alarms indicate that the chuck operation is blocked or the turret motor is overloaded during heavy milling. Before restarting execution, ensure the chuck is fully clamped, verify all axis referencing, check tool offsets, and adjust the cutting parameters to reduce load.
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 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.
Sinumerik POCKET3 and POCKET4 Milling Cycles: Siemens Guide
Master Siemens POCKET3 and POCKET4 pocket milling cycles. Learn parameters, avoid Alarm 61000 & Alarm 61105, and optimize toolpath insertion strategies.