Siemens G60 Exact Stop: Modal Programming and Block Change Limits
Master the Siemens G60 modal exact stop command to control block change limits and prevent corner rounding on SINUMERIK 840D sl and 802D sl controls.
Introduction
Resuming automatic machining after an aborted cycle without resetting G60 exact stop checks or zero offsets will drive the cutting tool directly into workpiece fixtures, destroying the spindle head and ruining the workpiece. In high-speed milling and turning, a minor deviation in axis deceleration points can turn a routine contour cut into a catastrophic spindle impact. When axes are operated under standard continuous-path modes, they round sharp corners due to dynamic velocity lag. Forcing the machine tool to position accurately requires G60 exact stop, which halts the feedrate of subsequent cutting blocks to zero at block end points, safeguarding sharp corners and workpiece geometries at the expense of cycle time.
Technical Summary
| Parameter/Feature | Value / Description |
|---|---|
| Command Code | G60 |
| Modal Group | Group 10 (Exact stop - continuous-path mode), modal |
| Supported Brands | Siemens (SINUMERIK 840D sl, 828D, 802D sl) |
| Critical Parameters | MD 20150, MD 20734 (Bits 3 and 4), MD 18800 |
| Main Constraint | Positioning tolerance windows must be balanced to avoid cycle-time penalties and dwell marks on the workpiece. |
Quick Read
- Zero Deceleration Check:
G60forces subsequent blocks (G01,G02,G03) to decelerate feedrate to zero at block end points, ensuring sharp corners. - Granular Block Transitions: Utilize Group 12 codes (
G601for fine window,G602for coarse window, andG603for interpolation end) to define when the controller permits a block transition. - Avoid Dwell Marks: Do not configure exact stop window parameters tighter than necessary in the machine data to prevent excessive axis settling dwells and tool marks.
- Watch Preprocessor Stops: Continuous-path mode is implicitly interrupted by status variables (e.g.
$A...) or text outputs (MSG), reverting to exact stop behavior. - Verify ISO Interpreter Settings: If ISO Dialect mode (
G291) is used for directed positioning, verify that the optionMD 18800 $MN_MM_EXTERN_LANGUAGEis set to 1. - Prevent Hard Collisions: When resetting or aborting a program mid-cycle, verify axis coordinates, active frames, and turret limits (
WALIMON) before restarting.
Basic Concepts
Practical programming of the G60 exact stop command on Siemens controls provides precise, block-by-block positioning control during fine machining. By forcing the feedrate of subsequent cutting blocks to decelerate to zero at the block end points, the tool is prevented from cutting corners or rounding profiles. This is essential when machining sharp outside corners or finishing inside pocket geometries to exact dimensions.
However, exact stop window parameters (fine and coarse) are defined for each axis in machine data, and programmers must set these exact stop limits no tighter than required. If the limits are configured too tightly, the machine will dwell longer at each block transition to verify that the axis has settled within the tight positioning window, which significantly increases cycle times and can lead to tool dwell marks on the workpiece.
During drilling and tapping, the tool moves with rapid traverse to the safety clearance and then drills with G1 under active spindles, where a compensating chuck can be specified (such as in CYCLE840 or standard cycles). Operators must monitor the timing and spindle speed arrival. If a program is aborted mid-cycle or reset before exact stop checks or coordinate system shifts are cancelled, resuming automatic cycle execution with incorrect offsets can cause a hard collision, driving the tool directly into workpiece fixtures or spindle components. If the program is interrupted due to CYCLE STOP, RESET, or power-off, the controller saves the coordinates of the interruption point for subsequent block search and recovery. Additionally, if operators perform a geometry axis switchover or tool change on the tool holder/revolver (turret), they must verify whether working area limitations (WALIMON or WALIMOF) or active frames are maintained or deactivated.
Command Structure
In native Siemens SINUMERIK mode (G290), G60 acts as a modal command belonging to Group 10. When active, it requires supplementary codes from Group 12 (G601, G602, or G603) to define the criteria for block transitions. This combination allows programmers to select different levels of accuracy depending on whether the priority is speed or dimensional precision.
In contrast, when the control is configured for ISO Dialect mode (G291), G60 behaves as a non-modal or modal directed positioning command, which is typically used to approach coordinates from a single direction to eliminate mechanical backlash. Programmers must ensure they understand which interpreter mode is active before using the syntax.
G60 [G601 / G602 / G603] G01/G02/G03 X__ Y__ Z__ F__ ;
G60 X__ Y__ Z__ ;
| Command / Parameter | Function | Application Notes |
|---|---|---|
G60 | Modal exact stop command (Group 10) | Forces feedrate to decelerate to zero at the end of each block. |
G601 | Exact stop fine window (Group 12) | Block change occurs when axes settle within the "fine" positioning window. |
G602 | Exact stop coarse window (Group 12) | Block change occurs when axes settle within the "coarse" positioning window (faster transition). |
G603 | Setpoint zero / End of interpolation | Block change is initiated as soon as setpoint velocity reaches zero, before actual lag is eliminated. |
Brand Applications
Siemens
On Siemens SINUMERIK controls, the modal G60 exact stop command provides deep control over contour transitions through Group 12 G-codes (G601, G602, G603). Unlike simple parameter settings, programmers can dynamically swap the accuracy requirements in the G-code stream. Machine parameter MD 20150 configures whether G60 or G64 is active upon power-on or system reset. Additionally, rapid traverse (G00) behavior can be set using MD 20734 Bit 4: when set to 0, G00 blocks execute exact stop modal constraints, while setting it to 1 causes G00 to always run with the non-modal exact stop G09, avoiding unnecessary dwells during rapid positioning.
Brand Comparison
| Feature / Parameter | SINUMERIK 840D sl | SINUMERIK 802D sl / 808D |
|---|---|---|
| Machine Data Modification (e.g., SLASH_MASK) | Fully customizable in channel machine data. | Hard-locked; settings cannot be modified. |
| Multi-Edge Turning (G50.2 / G51.2) | Fully supported in Group 20. | Omitted entirely from the control system. |
| Collision Avoidance & Advanced Panels | Supported; widescreen multi-touch panels with side-screen windows. | Not supported; compact interface only. |
Technical Analysis
Architectural differences exist between the high-end SINUMERIK 840D sl and compact Siemens controls like the 802D sl. On the 802D sl, core machine data parameters such as SLASH_MASK, which configures block switchover phases, are locked to prevent operator modification. On the 840D sl, these configuration variables are fully accessible, allowing machine tool builders and advanced users to fine-tune exact stop behaviors and block change transition timings. Additionally, features like active "Collision avoidance" and multi-edge turning G-codes (specifically G51.2 for multi-edge turning ON and G50.2 for turning OFF) are exclusive to the 840D sl platform and are completely omitted on compact systems.
Additionally, the Siemens compiler handles the G60 exact stop command differently depending on interpreter modes. In native Siemens SINUMERIK mode (G290), G60 controls modal exact stop deceleration and coordinates with Group 12 commands (G601/G602/G603). However, when switched to ISO Dialect mode via G291, the control adopts Fanuc-style behavior, mapping G60 to directed positioning to eliminate mechanical backlash, similar to the command described in the G60 Single-Direction Positioning article.
Program Examples
; Siemens Native Mode Exact Stop Example
N5 G290 ; Ensure native Siemens SINUMERIK mode is active
N10 G602 ; Set block change criterion to exact stop coarse window
N15 G00 G60 Z100.0 ; Activate modal exact stop (Group 10) and rapid Z to 100.0
N20 G01 G601 X150.0 Y50.0 F1200 ; Swap block transition to exact stop fine window for linear cut
N25 G01 X200.0 ; Modal exact stop and G601 fine window remain active
N30 G64 Z10.0 ; Deactivate exact stop G60 and switch to continuous-path mode
N35 G01 X250.0 Y100.0 ; Machining proceeds with continuous-path corner rounding
Dry Run Analysis
During the execution of this program, the CNC controller processes the blocks as follows:
- Block N5: Toggles the interpreter to native Siemens mode (G290).
- Block N10: Defines G602 as the active criteria. This means any subsequent G60 block will change steps when the axes settle within the coarse exact stop window.
- Block N15: Activates modal exact stop (G60) and executes rapid traverse to Z100.0. The controller decelerates the Z-axis feedrate to zero at Z100.0 and verifies it has arrived within the coarse window before N20 begins.
- Block N20: Switches the block transition criteria to exact stop fine (G601) and performs linear interpolation to X150.0 Y50.0 at 1200 mm/min. The controller decelerates the axes to a complete stop and waits until they settle within the tight fine-tolerance window.
- Block N25: Executes linear interpolation to X200.0. Since G60 and G601 are modal, exact stop check with a fine window is performed at the end of this block.
- Block N30: Switches Group 10 to continuous-path mode (G64), deactivating G60 modal exact stop, and moves Z to 10.0 without deceleration pauses.
- Block N35: Machining continues to X250.0 Y100.0 using continuous-path velocity look-ahead without axis stoppage.
Error Analysis
| Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Fix |
|---|---|---|---|
| Alarm 61800 "External CNC system missing" | Execution of G291 mode switch. | Controller halts during compilation or run-time. | Option parameter MD 18800 $MN_MM_EXTERN_LANGUAGE is disabled. Set MD 18800 = 1. |
| Alarm 61815 "G40 not active" | Executing external language cycles. | Machining halts with error. | Tool radius compensation is active. Execute G40 prior to the cycle call. |
| Alarm 61003 "No feed programmed in the cycle" | Calling drilling cycles (e.g. CYCLE383T). | Cycle halts before axis movement. | No path feedrate (F) programmed. Declare an active F > 0 value. |
| Alarm 14011 "Program CYCLE3106 not available" | Commanding rapid retraction G10.6. | Emergency stop/retraction fails with alarm. | Retraction subroutine CYCLE3106.spf is missing from part program memory. Load the required SPF file. |
Application Note
Disabling safety boundaries with WALIMOF during rapid axis positioning can drive the tool revolver (turret) or spindle directly into the measuring station, causing a devastating hard collision. To protect lathe components, programmers must active working area limitations using WALIMON with G25/G26 boundaries. Spindle rotation speed must be clamped using maximum clamp speed settings to prevent dangerous spindle acceleration when approaching the workpiece zero point. Additionally, to avoid dwell marks and excessive cycle time overhead, exact stop window tolerances (fine and coarse) configured in machine data should be set no tighter than required.
Related Command Network
- G9: Non-modal exact stop that applies a deceleration check only to the specific block where it is declared.
- G64: Continuous-path mode command used to deactivate modal exact stop G60 and allow smooth corner transitions.
- G291: Toggles the controller to external ISO Dialect mode, where G60 functions as a backlash-eliminating single-direction positioning command, detailed in the G60 Single-Direction Positioning guide.
- G58: Axial programmable zero offset (absolute), used to shift coordinates between exact positioning moves, detailed in the G58 Programmable Zero Offset article.
- G59: Axial programmable zero offset (additive), used for fine coordinate adjustments during exact stop routines, as explained in the G59 Programmable Zero Offset Siemens guide.
Conclusion
Implementing G60 exact stop modal control on Siemens machines requires balancing dimensional precision against cycle time penalties. By selecting the correct block change criteria—such as G602 for roughing and G601 for critical dimensions—programmers can prevent corner-rounding errors while optimizing axis movement efficiency.
FAQ
How do you switch G60 from native Siemens exact stop to ISO single-direction positioning?
Execute G291 in the program to activate the ISO Dialect compiler, which maps G60 to directed positioning. Ensure that parameter MD 18800 is set to 1 beforehand to prevent Alarm 61800 compile-time errors.
Why does my CNC dwell too long at every corner when G60 is active?
The axis-specific exact stop windows (fine or coarse) configured in your machine data are set too tightly. Switch to G602 for a coarse window transition, or adjust the channel parameters to increase the tolerances if slight corner deviation is acceptable.
What causes Alarm 61003 "No feed programmed in the cycle" after calling G60?
This alarm triggers when a cycle (such as a drilling or groove cycle) is called without an active path feedrate (F) in the modal memory. Always program a feedrate greater than zero (e.g. F200) in the block preceding or during the cycle call.
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 - 2008)
- Ö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
G71 Metric Dimensioning Guide for Siemens SINUMERIK Controls
Learn how to program G71 and G710 metric dimensioning on Siemens SINUMERIK controls, including parameter MD 10240, alarm codes, and G-code syntax errors.
G69 Balance Cut Cancel: Coordinate Recovery & Crash Prevention
Learn how to program the G69 balance cut cancel command for Fanuc, Siemens, and Mitsubishi turning centers. Cancel dual slide synchronization and prevent crashes.
G70 CNC Finishing Cycle Guide for Fanuc, Siemens, and Mitsubishi
Learn the G70 finishing cycle for CNC turning. Master syntax, parameters, and alarm codes for Fanuc, Siemens CYCLE95, and Mitsubishi controls to avoid crashes.
G69 Coordinate System Rotation Cancel: Modals, Alarms, and Setup
Learn to cancel G68 facing turret mirrors and coordinate rotations using G69 on Fanuc, Siemens, and Mitsubishi CNCs to prevent turret crashes.