Skip to main content
CNC.wiki

G61 Exact Stop Mode G-Code Guide: Fanuc, Siemens, Mitsubishi

Learn how to program G61 Exact Stop Mode on Fanuc, Siemens, and Mitsubishi CNC controls to ensure high precision corner cutting and prevent servo coordinate lag.

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

CNC CARE Co-founder

Introduction

Under high-speed milling feeds, executing coordinate changes without deceleration check defaults can drive a spindle tool directly into a fixture vise jaw or table-mounted chuck, causing a hard collision that shatters the carbide cutter and scraps the raw stock. When axes transition between cutting commands like G01 and G02 without modal exact stops, servo lag causes the control system to overshoot coordinates, rounding critical profile corners and compromising surface quality. Activating G61 modal exact stop mode forces the CNC controller to decelerate all cutting feed rates to zero at every block seam, ensuring positioning accuracy is fully verified before subsequent movement starts.

Technical Summary

Command CodeModal GroupBrandsCritical ParametersMain Constraint
G61 (Fanuc, Mitsubishi, Siemens ISO Dialect) / G60 (Siemens Native)Group 15 (Fanuc) / Group 13 (Mitsubishi) / Group 10 (Siemens Native)Fanuc, Siemens, MitsubishiParameter No. 3402 Bit 6, MD 20150, Parameter #1148Decelerates feedrate to zero at every block transition, significantly increasing overall cycle times and potentially causing tool dwell marks on the part surface.

Quick Read

  • Decelerate feedrate to exactly zero at every block transition to eliminate rounded corner deviations caused by axis lag.
  • Switch to G64 cutting mode immediately after finishing precision corners to restore high-speed blending and prevent tool dwell marks.
  • Configure exact stop windows (fine or coarse) appropriately in system parameters to balance part tolerances and cycle time.
  • Cancel tool offsets before modifying Tool Change Type parameters to avoid triggering Alarm PS0368.
  • Verify working area limitations (G22/G23 or WALIMON) are active to protect surrounding lathe chucks, clamps, and fixtures from hard collisions.
  • Swapping interpreters via G291 is mandatory on Siemens systems to execute legacy G61 commands.

Basic Concepts

Modal exact stop check mode alters how a CNC interpolator handles block-to-block transitions during cutting feeds. When axes interpolate a profile under standard cutting modes, the control system pre-reads and blends transitions to maintain high feedrates, which naturally rounds outside corners due to physical motor inertia and servo lag. Implementing modal exact stops forces the control system to bring the velocity of all participating axes to a complete stop at every coordinate point, verifying that the actual mechanical position matches the programmed destination before the next block can execute.

This positioning verification is managed using positioning tolerances known as in-position width settings. These tolerances define the maximum allowable distance the physical axis may lag behind the command position before the block change occurs. While this modal check guarantees dimensional accuracy on sharp outside profiles and inside pockets, the continuous start-stop motion significantly increases machining cycle time and can cause cosmetic tool dwell marks on finished surfaces.

Command Structure

The modal exact stop command is programmed at the beginning of a tool path or directly before coordinate blocks requiring sharp corner transitions. Once executed, the command remains modal and affects all subsequent cutting commands, including linear and circular interpolations, until it is explicitly overridden by another modal cutting command.

Depending on the CNC controller manufacturer, the syntax can stand as an independent block or be combined with movement coordinates. Siemens native systems require additional sub-codes to define the specific in-position window criteria, whereas Fanuc and Mitsubishi systems rely on static parameters to govern axis settling criteria.

; Fanuc and Mitsubishi Syntax
G61 ;
G61 G01 X__ Y__ Z__ F__ ;

; Siemens Native Syntax G60 [G601/G602/G603] G01/G02/G03 X__ Y__ Z__ F__ ;

BrandParameterDescription
FanucParameter 3402 Bit 6 (CLR)Determines if resetting the system initializes Group 15 codes back to G64 (1: defaults to G64, 0: retains G61).
FanucParameter 3401 Bit 7 (GSC), Bit 6 (GSB)Configures active G-code System (A, B, or C) to switch modal tables.
SiemensMD 20150 $MC_GCODE_RESET_VALUES[n]Determines reset default G-code for Group 10 (G60 or G64).
SiemensMD 20734 $MC_EXTERN_FUNCTION_MASK Bit 4Enforces G00 rapid traverse exact stop behavior.
MitsubishiParameter #2224 sv024Sets the in-position width positioning tolerances for servo axes.
MitsubishiParameter #1148 I_G611Configures the initial modal state of Group 13 at power-on.

Brand Applications

Fanuc

On Fanuc controls, Group 15 modal exact stop check mode is managed via Parameter 3402 and Parameter 3401. These parameters determine G-code clear states and coordinate mapping settings.

The preparatory code G61 is written at the start of a toolpath to modally enforce deceleration check on cutting blocks like G01, G02, and G03.

TypeCode / ItemDescription / Condition
Parameter3402 Bit 6 (CLR)Clear state of modal G-codes at power-up or reset.
Parameter0001 Bit 1 (FCV)Toggles Series 15 program format rules.
AlarmAlarm PS0368Triggered by modifying TCT parameter on the fly while offsets are applied.
AlarmAlarm PS5257Triggered by programming compensation in MDI while MCR is active.
VersionSeries 15 FormatModifies canned cycle and tool nose radius compensation boundaries.

Warning: Modifying tool length compensation parameters on the fly without canceling offsets will immediately trigger alarm PS0368, halting the program.

Siemens

Siemens controls handle exact stop under Group 10 using MD 20150 and MD 20734 to configure reset behaviors and rapid traverse responses.

The native command G60 requires a step-enable criterion from Group 12, such as G601, G602, or G603, to verify positioning windows.

TypeCode / ItemDescription / Condition
ParameterMD 18800 $MN_MM_EXTERN_LANGUAGEActivates the external NC language interpreter required for ISO Dialect parser.
ParameterMD 20734 Bit 4Determines whether G00 is traversed with exact stop when G64 is active.
AlarmAlarm 61800Executing G291 or G61 when external interpreter MD 18800 is disabled.
AlarmAlarm 61003Executing G01 moves following G60 without declaring path feedrate F.
Version840D sl vs 802D slMachine data SLASH_MASK is editable on 840D sl but locked on 802D sl.

Warning: Executing cutting moves following G60 without a path feedrate word throws alarm 61003, interrupting machining.

Mitsubishi

Mitsubishi controls define the Group 13 modal exact stop check mode using servo parameter #2224 and reset parameter #1151.

Programming G61 activates the modal exact stop check for linear and circular interpolations, deceleration checks applying at all end points.

TypeCode / ItemDescription / Condition
Parameter#2224 sv024In-position width positioning tolerances representing remaining axis lag.
Parameter#1148 I_G611Determines if Group 13 defaults to cutting mode G64 or high-accuracy G61.1.
AlarmProgram Error (P129)Triggers when high-accuracy and high-speed modes are commanded simultaneously with parameter #8040 at 0.
AlarmMCP Alarm (Y51 0032)Triggers if three or more part systems attempt to run high-accuracy and high-speed modes concurrently.
VersionM80V Type B SeriesTriggers program error P39 when trying to execute high-accuracy commands G61.2 or G61.4.

Warning: Attempting to run high-accuracy and high-speed modes concurrently across three or more part systems will trigger MCP alarm Y51 0032.

Brand Comparison

TopicFanucSiemensMitsubishi
Native G-CodeG61G60G61
Modal GroupGroup 15Group 10Group 13
Modal exact stop window sub-codes— (no source)G601 (exact stop fine window)
G602 (exact stop coarse window)
G603 (interpolation end setpoint)
— (no source)
Bimodal compiler formats / Switchover G-codes— (no source)Requires toggling compiler interpreter via G291 (ISO Dialect Mode) to parse G61.Integrates format switches with bimodal formats G188 (machining center/M-system) and G189 (lathe/L-system).
Arbitrary manual reverse run tracking— (no source)Rollback deselects WCS modals.G127 manual arbitrary reverse run tracks active G61 offsets using modal information storage block.
Look-ahead stack preprocessor deceleration— (no source)status accesses ($A...) or message displays (MSG) trigger preprocessor stops, halting preceding blocks in G9 exact stop.Coexists with strict parameter check logic that halts with program errors (P128/P33) if active components overlap.

Technical Analysis

Analyzing these controllers reveals significant differences in their execution architectures. Fanuc relies on flat parameters (such as Parameter 3402 and Parameter 3401) to toggle modal G-code clear states and system mapping without complex interpreter layers. This allows rapid execution but lacks dynamic adjustment. In contrast, Siemens SINUMERIK controls implement a bilingual toggling model. Toggling between native mode (G290) and ISO Dialect mode (G291) is required to parse external G-codes like G61. Siemens also features distinct modal commands to define step-enable criteria (G601, G602, and G603), giving programmers detailed control over positioning windows.

Mitsubishi features high-accuracy modal tracking integrated with manual reverse runs (G127). During reverse handwheel execution, the motion kernel continues tracking offsets using a modal information storage block, preventing coordinate drift. This capability is not supported on Fanuc or Siemens systems. Additionally, Mitsubishi's compiler utilizes format switches (G188 for milling, G189 for turning) to re-map G-code groups dynamically, while Siemens relies on bilingual mode selection and Fanuc uses flat system parameters.

Program Examples

Fanuc Example

; Fanuc Exact Stop Check Mode
G61 ; Activate modal Exact Stop Mode (Group 15) to check in-position status
G01 X150.0 Y75.0 F200.0 ; Decelerate to zero velocity and verify coordinate arrival
G64 ; Cancel G61 mode and switch back to G64 Cutting Mode

Dry run: The control activates G61 mode. When G01 is executed, the axis feedrate decelerates to zero at the coordinate X150.0 Y75.0. The preprocessor halts and waits for the servo in-position check to complete before the next motion starts. Finally, the controller processes G64, reverting to normal cutting mode.

Siemens Example

; Siemens Exact Stop Configuration
N5 G602 ; Set the modal block change step-enable to the exact stop coarse window
N10 G00 G60 Z100.0 ; Activate modal exact stop and rapid traverse axis Z to absolute position
N50 G01 G601 X150.0 Y50.0 F1200 ; Re-configure step-enable to exact stop fine window for linear cutting
N80 G64 Z5.0 ; Switch over to continuous-path mode, deactivating G60

Dry run: The block change condition is set to coarse window by N5. Block N10 executes a rapid traverse exact stop on axis Z, pausing until the axis settles within the coarse parameter. Block N50 switches the positioning criteria to fine window for linear interpolation, forcing a complete stop at the corner. Normal continuous path machining resumes at block N80.

Mitsubishi Example

; Mitsubishi Exact Stop Check Mode
G61 ; Activates modal Exact Stop Check Mode (Group 13)
G01 X150.0 Y75.0 F300.0 ; Linear interpolation block decelerating to a setpoint velocity of zero
G64 ; Cancels G61 exact stop mode and returns to modal Cutting Mode

Dry run: The interpolator parses G61, shifting cutting mode to exact stop checks. During the G01 linear move, the feedrate decelerates to zero at X150.0 Y75.0, checking that the servo lag remains within parameter #2224. Upon parsing G64, exact stop checking is disabled, allowing continuous blending for subsequent moves.

Error Analysis

Alarm CodeTrigger ConditionOperator SymptomRoot Cause / Fix
Fanuc: Alarm PS0368Modifying the TCT tool change type parameter while offsets are activeCycle start is blocked, screen shows PS0368Program modification error; operator must cancel tool offsets before editing the parameter
Fanuc: Alarm PS5257Toggling G41 or G42 in MDI mode with parameter 5008 Bit 4 (MCR) activeControl blocks command, screen displays PS5257MCR parameter is enabled; turn off MCR (set to 0) or execute compensation in memory auto mode
Siemens: Alarm 61800Calling G291 switchover when MD 18800 interpreter is disabledNC system halts with code 61800Interpreter data mismatch; configure MD 18800 $MN_MM_EXTERN_LANGUAGE to 1 to enable parser
Siemens: Alarm 61003Running G01 coordinates after G60 without declaring path feedrateAxis motion halts, showing alarm 61003Path feedrate word is missing; declare F feedrate value in the program block
Mitsubishi: Program Error (P129)Simultaneous high-accuracy and high-speed execution when #8040 is 0Screen shows program error P129, stopping motionParameter configuration lockout; set parameter #8040 to 1 to allow co-execution
Mitsubishi: MCP Alarm (Y51 0032)Running high-accuracy and high-speed modes on more than two part systems simultaneouslyController halts all systems with MCP alarm Y51 0032Multi-system control limits exceeded; limit concurrent operations to a maximum of two systems

Application Note

A catastrophic hard collision, shattered carbide cutter, and ruined scrap part occur when coordinate calculation errors drive the indexing turret directly into workpiece clamps or rotating spindle chuck jaws during uncompensated G61 paths. Setup operators must locate raw stock within fixture vise jaws and calibrate tailstock barriers using G22 and G23. For C-axis synchronized drilling, clamping the axis before positioning is complete triggers system stalls. Because G61 decelerates all coordinate motions to zero to check in-position widths (such as parameter #2224 sv024), programmers must immediately program G64 once precision corners are finished to resume high-speed blending and prevent cosmetic dwell marks.

Related Command Network

  • G60 Single Direction Positioning: Enforces unidirectional axis approach to eliminate physical mechanical backlash, whereas G61 decelerates all axes to a complete stop to check final coordinate positioning tolerances.
  • G53 Machine Coordinate Selection: Temporarily suppresses work coordinate systems for a single block to reference machine zero, which is often used in conjunction with exact stop checks to ensure safe turret indexing clearance.
  • G52 Local Coordinate System: Defines a local coordinate offset relative to the active workpiece coordinate system, shifting subsequent G61 path coordinates without clearing the main coordinate frames.
  • G09 Exact Stop (Non-modal): Decelerates axes to a complete stop to verify positioning for a single block, whereas G61 remains active across all subsequent cutting blocks.
  • G64 Cutting Mode: Cancels G61 modal exact stops to allow normal, continuous feedrate blending across block boundaries.

Conclusion

Implementing G61 modal exact stops ensures absolute dimensional integrity at corner boundaries, but the resulting stop-start cycle time penalty requires selective application. Operators must verify in-position width parameters and chuck barrier settings before executing precision cycles to prevent tooling collisions.

FAQ

Why does G61 cause tool marks on finished part surfaces?

The dwell period where axes verify in-position width tolerances causes the cutter to remain in contact with raw stock at zero feedrate. Programmers must deactivate exact stop mode with G64 immediately after precision contours are complete to resume smooth continuous motion.

How do I resolve Alarm PS0368 on a Fanuc control?

This alarm triggers when modifying the tool change type parameter on the fly while tool offsets remain active. Operators must command an explicit tool offset cancel before modifying parameter 5040 Bit 3.

What is the difference between G61 and G09 exact stop commands?

G09 is a non-modal command that performs an exact stop deceleration check only for the block in which it is written. G61 is modal and continues enforcing deceleration checks on all subsequent cutting commands until cancelled by G64.

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 - 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