Skip to main content
CNC.wiki

G11 Programmable Data Input Cancel: CNC Parameter Modification Guide

Master the G11 G-code command to safely cancel programmable data input on Fanuc, Siemens, and Mitsubishi controls. Prevent collisions and parameter corruption.

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

CNC CARE Co-founder

Introduction

Modifying system parameters while tool offsets or coordinate systems are actively applied can corrupt subsequent calculations. A coordinate shift error causes the tool turret to plunge directly into a rotating workpiece chuck, a pneumatic fixture clamp, or a table-mounted vise jaw. This catastrophic hard collision shatters the tool spindle, damages the turret gearing, and produces a ruined scrap part. To prevent such spatial offset discrepancies, CNC program-based parameter inputs must be cleanly opened with a G10 command and closed with a G11 Programmable Data Input Cancel instruction, which must be programmed alone in an independent block to prevent immediate program execution halts.

Technical Summary

SpecificationDetails
Command CodeG11 (Fanuc, Siemens G291 Dialect, Mitsubishi) / G11.1 (Mitsubishi Machining Center)
Modal GroupGroup 00 (Fanuc, Siemens, Mitsubishi) — Non-modal (One-shot)
Supported BrandsFanuc, Siemens (ISO Dialect Mode), Mitsubishi
Critical ParametersFanuc: No. 3402, No. 5040; Siemens: MD18800, MD20734; Mitsubishi: #1037, #1210
Main ConstraintMust be written alone in an independent block. Active tool nose/cutter radius compensation must be canceled first.

Quick Read

  • Write G11 Alone: Program G11 strictly in an independent block to avoid Program Error P421 (Mitsubishi) or compiler syntax halts.
  • Cancel Offsets First: Deactivate all tool length and nose radius compensations (G40/G49) before executing G10/G11 parameter changes.
  • Toggle Dialect Mode: Use G291 to enable the ISO Dialect compiler in Siemens SINUMERIK controls before calling G11.
  • Use G11.1 on Machining Centers: Switch from G11 to G11.1 on Mitsubishi Machining Center M2/M0 formats to cancel data input.
  • Isolate Sub Part Systems: Run parameter modifications strictly within the parent system to prevent Mitsubishi Program Error P653.
  • Avoid Sequence Numbers: Remove sequence numbers (N-address) between G10 and G11 blocks on Mitsubishi to prevent Program Error P33.

Basic Concepts

Programmable data input allows programmers to dynamically write and overwrite CNC parameters, system variables, tool coordinates, and wear offsets from within the active program. This eliminated manual operator keypad entry at the control panel, which reduces setup times and minimizes human typing errors. By using the G10 command, the control opens its configuration registers for modification, changing system settings modally.

To ensure the system returns to normal machining mode, the programmer must command a G11. This cancels the parameter input register writing mode and resets the preprocessor to process standard motion paths. If G11 is omitted, the controller treats subsequent blocks as parameter settings, causing the compiler to halt or misinterpret axis motion blocks as data inputs.

Command Structure

The G11 command is a one-shot, Group 00 preparatory code that deactivates the modal parameter input mode opened by G10. When the preprocessor encounters a G10 L50 (or L70) block, it redirects standard program execution into the configuration registers. Subsequent blocks containing parameters are written directly to system registers instead of moving the machine axes.

To terminate this input redirection, G11 must be commanded on its own line. Writing G11 alone in an independent block signals the compiler to close the system files and resume standard motion path parsing. Any coordinates, feedrates, or auxiliary codes written in the G11 block will fail to execute or trigger system formatting alarms.

Syntax:

  • Fanuc: G11 ;
  • Siemens (ISO Dialect G291): G11 ;
  • Mitsubishi: G11 ; or G11.1 ;

Parameters:

BrandParameterDescriptionValue Range
FanucParameter No. 3401 Bits 7 (GSC) and 6 (GSB)Selects G-code System A, B, or C to determine group and modal assignment.Binary (0 or 1)
FanucParameter No. 3402 Bit 6 (CLR)Controls the default clear state of modal G-codes at power-up or reset.Binary (0 or 1)
FanucParameter No. 5040 Bit 3 (TCT)Controls the active tool length compensation shift type.Binary (0 or 1)
SiemensMD18800 ($MN_MM_EXTERN_LANGUAGE) / Option Bit 19800Machine data that must be active to enable G10/G11 external language execution.1 (Active) or 0 (Inactive)
SiemensMD20734 ($MC_EXTERN_FUNCTION_MASK) Bit 3Controls scanner handling. If set to 1, ISO scanner errors are bypassed and forwarded to native Siemens.Binary (0 or 1)
SiemensMD20734 ($MC_EXTERN_FUNCTION_MASK) Bit 1Determines the boundary for G10 tool geometry and wear settings.0 (P < 100 geometry) or 1 (P < 10000 geometry)
SiemensMD20150 ($MC_GCODE_RESET_VALUES)Establishes default G-group values upon system reset or power-on.Parameter-specific G-codes
MitsubishiParameter #1041 I_inchSets initial system dimension unit (metric or imperial).Parameter-specific
MitsubishiParameter #1037 cmdtypSelects G-code system. 2 selects System 1 (M-system), 3 selects System 2 (L-system).2 or 3
MitsubishiParameter #1003 iunitEstablishes the least command input increment unit.Parameter-specific
MitsubishiParameter #1210 RstGmdModal G-code reset setting defining G-group initialization.Parameter-specific
MitsubishiParameter #1148 I_G611High-accuracy modal state parameter upon power-up.Parameter-specific

Brand Applications

Fanuc

On Fanuc controls, the G10/G11 command pair is used to modally open and cancel system parameter modification via the NC program. This is typically used to adjust Parameter No. 3402 (default clear states) or Parameter No. 5040 (tool length compensation shift type).

The standard G11 block layout is: G11 ;

  • Parameters: Parameter No. 3401, Parameter No. 3402, Parameter No. 5040 Bit 3.
  • Alarms: Alarm PS1144 (G10 format error when tool select code is programmed), Alarm PS0010 (improper G-code or disabled option), Alarm PS0368 (modifying Parameter No. 5040 while offsets are active).
  • Versions: Fanuc Series OT, 16T, 18T, 20T, and 21T require a two-block format for G76 thread-cutting, whereas legacy Series 3T, 6T, 10T, 11T, and 15T use a single-block format. Modern Fanuc controls differ mathematically from legacy Series 16i/18i/21i in tool nose radius compensation paths.

Warning: Attempting to modify offset configurations while cutter radius compensation (G41/G42) is active will corrupt the compensation buffer and lead to coordinate shift collisions.

Siemens

Siemens SINUMERIK does not support G11 natively in its native G290 mode, where parameter adjustments are written directly to system variables like $TC_DP1. However, when switched to ISO Dialect mode via G291, G11 cancels the G10 parameter writing state.

The standard G11 block layout is: G11 ;

  • Parameters: MD18800 (external language compiler enable), MD20734 Bit 3 (scanner error bypass), MD20734 Bit 1 (P-limit definition), MD20150 (G-group reset values).
  • Alarms: Alarm 61800 (External CNC system missing when MD18800 is disabled), Alarm 12080 (syntax error when parsing invalid code or calling G11 in native G290 mode), Alarm 61815 (G40 not active during a G10/G11 cycle block).
  • Versions: Standard Siemens controls allow dynamic write access to working area limitation MD10604 and block skip MD10706, whereas the SINUMERIK 802D sl locks these parameters as read-only. Premium widescreen operator interfaces are exclusive to SINUMERIK 840D sl.

Warning: Calling G11 or G10 without disabling cutter radius compensation (G40 active) triggers Alarm 61815, interrupting active machining.

Mitsubishi

Mitsubishi controls use G11 to cancel data inputs and parameter-writing states. In standard Lathe systems, G11 acts as the modal cancel command, whereas Machining Center M2/M0 formats use G11.1 and repurpose G11 for variable compensation inputs.

The standard G11 block layout is: G11 ; or G11.1 ;

  • Parameters: Parameter #1041 I_inch (dimension units), Parameter #1037 cmdtyp (G-code system type), Parameter #1003 iunit (least command increment), Parameter #1210 RstGmd (reset settings), Parameter #1148 I_G611 (high-accuracy control).
  • Alarms: Program Error P421 (G10/G11 not written alone in independent block), Program Error P422 (material shape input error), Program Error P423 (R-Navi setup format error), Program Error P33 (axis naming mismatch or sequence numbers between G10/G11), Program Error P177 (tool life data active), Program Error P653 (G10/G11 inside sub part system).
  • Versions: Lathe G-code system cancels data with G11. Machining Center M2/M0 uses G11.1 to cancel, and G11 writes offsets to variables. Sequence number N supports up to 8 digits on the M8 Series but is limited to 6 digits on the C80 Series. Workpiece shape data modifications differ between M80 and M800 Series. Legacy parameter input G10 L50 is blocked on modern M8 Series, forcing the G10 L70 structure.

Warning: Modifying coordinate offsets while tool radius compensation is active causes incorrect path vector calculation, risking physical collisions with tailstock assemblies or chucks.

Brand Comparison

TopicFanucSiemensMitsubishi
Parameter Cancellation CommandStandard G11 modal cancellation across all systems.Switch compiler to G291 (ISO Dialect Mode) to support G11. G11 does not exist in native Siemens mode (G290).Standard Lathe uses G11. Machining Center M2/M0 format uses G11.1, and G11 is repurposed as "Compensation data input to variable".
Dwell / Dwell scalingDwell is static in seconds/milliseconds.Evaluated in spindle revolutions if feed-per-revolution (G95) is active and MD20734 Bit 2 is 1.Dwell is static in seconds/milliseconds.
Sub Part System IsolationParallel updates allowed in multiple channels.Parallel updates allowed.Prohibits G10/G11 execution inside active sub part systems (under G122/G144), triggering Program Error P653.
Legacy Method RestrictionStandard backward compatibility for G10 L50 parameter blocks maintained across modern systems.— (no source)G10 L50 parameter input method is completely blocked on modern M8 Series controls.

Technical Analysis

Analyzing G11 implementation highlights how Fanuc, Siemens, and Mitsubishi partition configuration updates. Fanuc relies on a rigid modal framework requiring G10 L50 and G11 pairs to adjust parameters. Siemens bypasses G11 in native G290 mode by letting programmers write directly to system variables like $TC_DP1 or $P_UIFR inside the standard NC program. To support legacy programs containing G10 and G11, Siemens implements a bilingual compiler. Running G291 switches the Sinumerik processor to ISO Dialect mode, where G11 is parsed as a data input cancel block. To avoid scanner errors, Siemens provides an option in machine data MD20734 Bit 3 to forward unrecognized blocks directly to the native Siemens translator.

Mitsubishi manages programmable parameter inputs by combining G-code list formats and safety barriers. Unlike Fanuc and Siemens, Mitsubishi's G11 command behavior changes dynamically depending on the active program format defined by parameter #1037 cmdtyp. For Machining Center M2/M0 formats, the data input cancellation command is mapped to G11.1, while G11 is repurposed to write offset values directly into custom macro variables on-the-fly. To prevent collision risks during parameter shifts, Mitsubishi implements Sub Part System Isolation (G122/G144), which prohibits executing G10/G11 inside any active sub part system, aborting execution with Program Error P653. This acts as a coordinate barrier, preventing background tasks from altering foreground motion offsets.

When programming coordinate systems and offsets, it is crucial to coordinate motion paths. In contrast to look-ahead systems like G08 Look-Ahead Control or exact stop commands like G09 Exact Stop Non-Modal which handle immediate trajectory profiles, the G10/G11 sequence focuses on updating system variables. For example, when wrapping coordinates via G07.1 Cylindrical Interpolation, a programmer might adjust offsets using G10/G11 before starting interpolation to ensure the rotational axis zero point aligns with the part slot.

Program Examples

Fanuc Example

G10 L50 ;
N3216 R5 ;
G11 ;

Dry Run Explanation:

  1. The block G10 L50 opens the programmable parameter entry mode, suspending standard axis path parsing.
  2. The block N3216 R5 updates Parameter No. 3216 to a value of 5, which determines system settings in the memory registers.
  3. The block G11 cancels the parameter input mode, closing the writing register and returning the Fanuc preprocessor to standard motion mode.

Siemens Example

G291 ;
G10 L50 ;
N3216 R5 ;
G11 ;
G290 ;

Dry Run Explanation:

  1. The block G291 switches the Siemens SINUMERIK compiler into ISO Dialect mode to parse legacy G-codes.
  2. The block G10 L50 opens the parameter modification mode, redirecting incoming block data to the system variables.
  3. The block N3216 R5 modifies Parameter No. 3216 to 5.
  4. The block G11 cancels the parameter modification mode, ending the writing register session.
  5. The block G290 switches the compiler back to native Siemens mode.

Mitsubishi Example

G10 L70 ;
P8204 S1 A2 D1.234 ;
G11 ;

Dry Run Explanation:

  1. The block G10 L70 initiates the programmable parameter writing sequence under the L70 format.
  2. The block P8204 S1 A2 D1.234 modifies Parameter #8204 for part system 1 (S1), axis 2 (A2) to the decimal value 1.234.
  3. The block G11 is commanded alone in an independent block to cancel parameter entry and resume normal path pre-reading.

Error Analysis

BrandAlarm CodeTrigger ConditionOperator SymptomRoot Cause / Fix
FanucAlarm PS1144Tool selection T code programmed inside a G10 parameter block.The CNC system displays PS1144 G10 FORMAT ERROR and halts automatic execution.Remove T codes from the parameter blocks; execute tool changes only outside the G10/G11 sequence.
FanucAlarm PS0368Attempting to modify Parameter No. 5040 Bit 3 (TCT) while coordinate or tool offsets are active.The system displays PS0368 and aborts execution immediately.Cancel all active coordinates and tool length offsets before modifying tool offset shift parameters.
SiemensAlarm 61800Executing G11/G10 blocks while external language compiler (MD18800) is disabled.The controller halts and displays Alarm 61800 External CNC system missing.Set machine data MD18800 / Option Bit 19800 to 1 to enable dialect compiling.
SiemensAlarm 61815Calling G10/G11 cycle blocks while tool radius compensation (G41 or G42) is active.The machine stops moving and shows Alarm 61815 G40 not active.Program G40 to deactivate tool radius compensation before starting the G10/G11 sequence.
MitsubishiProgram Error P421G11 or G10 is not written completely alone in its own program block.The control stops and displays Program Error P421, leaving tool marks on the workpiece contour.Modify the program to write G11 (or G11.1) in its own independent block.
MitsubishiProgram Error P33Sequence numbers (N-address) written between G10 and G11 blocks, or axis name mismatch.The control displays Program Error P33 and interrupts execution.Remove sequence numbers from blocks between G10 and G11; use physical axis numbers instead of name-extended axes.

Application Note

Retaining incorrect modal feedrates occurs when an E-command (specifying the feed speed for chamfering and corner rounding) is inserted between G10 and G11 blocks. The controller fails to update the modal feed speed, forcing the axes to move at the pre-existing feedrate. This mismatch leads to out-of-tolerance surface finishes and results in a scrapped workpiece. Operators must avoid adding E-commands or sequence numbers between parameter writes. In addition, when upgrading to modern Mitsubishi M8 Series controls, programmers must migrate legacy G10 L50 structures to the newer G10 L70 formats. Since G10 L50 is blocked on M8 systems, attempting to run legacy blocks will halt the compiler and stop production. During first-article setup, operators should verify parameter writes by running the program "in the air" with a dry run toggle and checking register values at the HMI screen before machining raw stock.

Related Command Network

  • G09 Exact Stop Non-Modal: One-shot exact stop command that halts axis motion to verify position coordinates, which must not be programmed inside active parameter blocks.
  • G08 Look-Ahead Control: Modal look-ahead mode that calculates path vectors and must be deactivated before modifying offsets.
  • G07.1 Cylindrical Interpolation: Cylindrical interpolation mode that wraps coordinates, requiring clean offset settings via G10/G11 before activation.
  • G10 (Programmable Data Input): Preparatory command that opens parameter entry mode, which G11 is required to cancel.
  • G290 / G291 (Siemens Dialect Toggle): Compiler toggle codes that enable (G291) or disable (G290) the ISO dialect interpreter required to parse G11.

Conclusion

Safe parameter management relies on strict block structure and compensation deactivation. Always verify that tool radius compensation is cancelled via G40 before calling G10 L50. Ensure G11 is written completely alone in a block to prevent preprocessor errors, and check series compatibility before running legacy programs.

FAQ

Why does G11 trigger a syntax error on Siemens controls?

Siemens SINUMERIK does not support G11 in its native G290 programming mode because variables are written directly. To resolve this syntax error, toggle the compiler to G291 ISO Dialect mode before running G10/G11, or enable the scanner bypass via machine data MD20734 Bit 3 to prevent compile halts.

Can G11 be combined with coordinate moves in the same block?

No, combining G11 with motion or axis codes violates the independent block rule, causing Program Error P421 on Mitsubishi controls or compiler halts. Always program G11 on its own line in an independent block to cleanly cancel the parameter entry mode.

How does G11.1 differ from G11 on Mitsubishi machines?

On standard Mitsubishi Lathes, G11 cancels data inputs. On Machining Centers using the M2/M0 format, G11.1 cancels the input mode, while G11 is repurposed to write offset compensation data directly into variables. Update your G-code formatting to match the cmdtyp parameter (#1037) configuration.

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