Siemens Metric/Inch System Switching: G70, G71, G700, G710 G-Codes
Learn how to switch metric/inch systems on Siemens Sinumerik using G70, G71, G700, and G710 G-codes, and scale machine data parameters like MD10240.
Introduction to Metric and Inch System Switching
Loading external part programs or data archives into a SINUMERIK control without verifying the active system of units, or executing a mid-program unit switchover while physical tool offsets are still active, invites severe physical destruction on the shop floor. When a 10-millimeter target coordinate is processed by the interpreter while the system is locked in an inch dimensioning state, the control interprets the command as 10 inches (254 mm). This massive, unexpected over-travel deprives the machine of its spatial parameters, causing an axis to overshoot its path. The spindle can plunge directly into a workholding vise jaw, collide with a rigid compensating chuck, strike a heavy fixture clamp, or crash into the opposing mechanics of a double turret during multi-channel machining. This catastrophic loss of dimensioning results in a severe hard collision, a destroyed scrap part, and halts the machine with alarm codes like 15100 or 61303.
Technical Summary
| Command Codes | G70, G71, G700, G710 |
| Modal Group | G group 13 / Modal |
| Supported Brand | Siemens |
| Critical Parameters | MD10240 $MN_SCALING_SYSTEM_IS_METRIC, MD10260 $MN_CONVERT_SCALING_SYSTEM |
| Main Constraint | G700 and G710 require Software Version SW5 or higher and MD10260 CONVERT_SCALING_SYSTEM set to 1 (TRUE). Synchronized actions require explicit unit definition to ensure reproducible background evaluation behavior. |
Quick Read
- Configure the fundamental scaling system using parameter MD10240 to set the base units (metric or inch) for the controller's physical variables.
- Execute a hardware Power-On sequence whenever MD10240 or MD10260 is manually altered to correctly scale internal memory and prevent Alarm 4070.
- Use G70 or G71 to read and write geometric coordinate data while feedrates and tool offsets remain in the parameterized basic system.
- Apply G700 or G710 to switch and scale both geometric coordinates and technological length-dependent data like tool wear and feedrates.
- Disable active tool radius compensations (G41/G42/G49) and trace workpiece coordinates back to the basic coordinate system before executing a unit change mid-program.
- Define explicit unit systems within synchronized actions to isolate high-speed background kinematics from the active part program's unit state.
Basic Concepts of Unit Switching
The practical programming effect of Siemens' metric/inch system switching gives operators the flexibility to machine inch-based drawings on a machine configured with a metric basic system, eliminating the need to recalculate coordinates manually. By invoking the commands of G group 13, programmers dynamically change the interpreter's unit logic on the fly. Operators must distinguish between legacy and extended unit commands to prevent spatial errors. This core unit configuration resides within the general machine data structure.
Programming G70 or G71 restricts the unit switch to geometric path data like X and Z coordinates, leaving technological values like feedrates (F) and tool offsets tied to the basic machine data parameter MD10240. Transitioning the entire machine state requires G700 or G710, which forces the control to calculate both geometry and technological offsets in the programmed unit. Changing MD10240 or MD10260 manually demands a full hardware Power-On sequence to scale the internal memory. These fundamental unit configurations are distinct from variables in the setting data structure, which govern software cam position tables.
Command Structure and Syntax
Unit switching in Siemens is organized under G group 13. When executing a part program, the NC interpreter reads G70, G71, G700, or G710 to establish the measuring system. The default channel-specific initial reset state of this G group is determined by the machine data MD20150 ($MC_GCODE_RESET_VALUES[6]). This reset state ensures the controller starts in a predictable unit system after boot or reset.
To make pure positioning axes independent of G70/G71, an axis-specific conversion factor can be set in the machine data. Meanwhile, the software cams position tables have their own independent unit selection, which is defined by MD10270 ($MN_POS_TAB_SCALING_SYSTEM). These settings isolate background CAM coordinates from active channel coordinate modifications. Using these parameters helps avoid complex macro or R-parameter programming conversions when dealing with differing print dimensions.
Format of Address Syntax
G70 ; Activating the inch system of units (geometric data only)
G71 ; Activating the metric system of units (geometric data only)
G700 ; Activating the inch system of units (geometric and technological data)
G710 ; Activating the metric system of units (geometric and technological data)
Key Unit Parameters
| Parameter | Name | Description / Value Range |
|---|---|---|
| MD10240 | $MN_SCALING_SYSTEM_IS_METRIC | Sets the fundamental scaling system for length-dependent physical variables during data I/O. 1 (TRUE) for Metric, 0 (FALSE) for Inch. |
| MD10260 | $MN_CONVERT_SCALING_SYSTEM | Activates extended unit system functionality (SW5 and higher). 1 (TRUE) enables G700/G710 and conversions, 0 (FALSE) limits to legacy behavior. |
| MD20150 | $MC_GCODE_RESET_VALUES[6] | Defines the channel-specific initial reset state of G group 13. Sets which G-code is default. |
| MD10270 | $MN_POS_TAB_SCALING_SYSTEM | Sets the measuring system specifically for position data of software cams. 0 for Metric, 1 for Inch. |
Brand Applications
Siemens
Siemens controls configure the basic measuring system using MD10240 and enable online conversions via MD10260. Programmers can switch units using G70, G71, G700, and G710 codes. Siemens handles system unit scaling using a dual approach: basic legacy mode (similar to SW1-SW4) and extended mode (SW5 and higher). The choice is governed by machine data MD10260. When extended mode is active, the control automatically handles complex conversions for tool offsets, work offsets, and axis compensation data (like EEC and QEC) during runtime unit switches. In addition, SINUMERIK controls embed unit identifiers directly into data backup archives. This ensures that the control rejects mismatched data files, such as loading metric tool wear offsets into a machine running on an inch basic system. Warning: Changing machine data parameters without performing a hardware Power-On sequence will lead to severe scaling calculation errors and mechanical crashes.
| Category | Identifier / Value | Details |
|---|---|---|
| Parameters | MD10240, MD10260, MD20150[6] | Defines the fundamental scaling system, conversion settings, and initial reset codes for G group 13. |
| Alarms | Alarm 4070, Alarm 15100, Alarm 61529 | Handles warnings for altered scaling parameters, conflicting measurement blocks, and invalid G-code selections. |
| Versions | SW1-SW4, SW5+ | SW5 introduces G700/G710 and background tool offset, compensation, and work offset conversions. |
Siemens Model and Version Comparison
| Control Model / Version | Basic Unit Scaling Support | Extended System (G700/G710) | Background Conversions & Backups |
|---|---|---|---|
| Sinumerik 840D (SW1-SW4) | Yes (MD10240 basic configuration) | No (Restricted to legacy G70/G71) | No automatic work/tool offset conversion; manual recalculations required. |
| Sinumerik 840D sl / 828D (SW5+) | Yes (MD10240 basic configuration) | Yes (Supported via MD10260 = 1) | Automatic background conversions for work offsets, compensation data (EEC/QEC), and tool offsets; secure unit identifiers in backups. |
| Sinumerik 808D | Yes (Basic metric/inch selection) | Limited (Typically legacy G70/G71 behavior) | Supports basic geometric conversion; lacks advanced asynchronous unit scaling in synchronized actions. |
Technical Analysis of Metric/Inch Scaling
The technological differences between legacy software versions (SW1-SW4) and extended versions (SW5 and higher) represent a significant evolution in unit scaling. Under legacy systems, executing G70 or G71 only changed the coordinate logic of active toolpaths, necessitating manual calculations from the operator to adjust tool wear, work offsets, and pitch error compensation values. In SW5+ systems, when MD10260 is set to 1, the controller handles these scaling conversions automatically in the background. The active INCH/METRIC identifier embedded in modern data backups protects the machine by checking the target machine's system before loading data. In advanced multi-channel environments like the 840D sl, developers can program asynchronous unit scaling within synchronized actions. This isolates the high-speed background kinematics from the active part program's unit state, allowing the condition part to evaluate in millimeters while the action part outputs in inches.
Programming Examples for Siemens Sinumerik
; Siemens Sinumerik G-code Example
; Scenario: Machining an inch-based profile on a metric basic machine (MD10240 = 1)
; Program starts in default Metric (G710)
G710 G90 G94 G54 ; Set metric units for geometry and technology (mm, mm/min), absolute programming
T1 D1 M6 ; Load Tool 1 (offset values automatically scaled if MD10260=1)
G0 X100 Y100 Z50 S1200 M3 ; Rapid to metric start position (coordinates in mm), spindle on
G700 ; Switch to INCH system (both geometry and technology scale to inches)
G0 X3.937 Y3.937 Z1.968 ; Position in inches (coordinates correspond to 100mm)
G1 Z-0.5 F10.0 ; Feed tool to Z-0.5 inches at 10.0 inches/minute (F10)
G1 X5.0 Y3.937 F20.0 ; Linear cut to X5.0 inches
G0 Z2.0 ; Rapid retract to Z2.0 inches
G710 ; Switch back to METRIC system
G0 X0 Y0 Z100 M5 ; Rapid return to metric zero (mm), spindle off
M30 ; End of program
Dry Run Analysis:
- Block G710 G90 G94 G54: The control initializes in metric units. The axes position to X100mm, Y100mm, Z50mm at rapid traverse. The spindle starts at 1200 RPM.
- Block G700: The interpreter switches to the inch system for both geometry and technological values. The active tool wear/length offsets and feedrate scale accordingly.
- Block G0 X3.937 Y3.937 Z1.968: The axes remain stationary because 3.937 inches equals 100mm (the current coordinates).
- Block G1 Z-0.5 F10.0: The spindle feeds down along the Z-axis to -0.5 inches (-12.7 mm) at an active feedrate of 10.0 inches per minute (254 mm/min).
- Block G1 X5.0 Y3.937 F20.0: The X-axis cuts linearly to 5.0 inches (127 mm) at 20.0 inches per minute (508 mm/min).
- Block G0 Z2.0: The Z-axis retracts to 2.0 inches (50.8 mm) at rapid.
- Block G710: Units switch back to metric. Coordinates, tool parameters, and feedrates return to millimeter logic.
- Block G0 X0 Y0 Z100 M5: The machine rapids to X0mm, Y0mm, Z100mm, and the spindle stops.
Error Analysis and Troubleshooting
| Alarm Code | Trigger Condition | Operator Symptom | Root Cause / Corrective Action |
|---|---|---|---|
| Siemens Alarm 4070 | Modifying scaling machine data MD10240 or conversion parameter MD10260. | Warning message displayed; active unit system is not yet scaled in memory. | Perform a complete system Power-On restart to initialize the new unit scaling. |
| Siemens Alarm 15100 | External data block containing INCH or METRIC commands does not match the active system in the control. | Interpreter stop occurs; NC execution halts immediately. | Ensure the units in the external block match the active measurement settings of the control. |
| Siemens Alarm 61529 | The basic system set in MD10240 does not mathematically correspond to the programmed G command. | Interpreter stop and NC Start disable in the channel. | Press the RESET key to clear the alarm, adjust the program commands, and restart. |
Application Note
Plunging a spindle directly into a workholding vise jaw, colliding with a rigid compensating chuck, striking a heavy fixture clamp, or crashing into the opposing mechanics of a double turret are the direct consequences of mismatching units during coordinate processing. For instance, when a 10-millimeter target coordinate is processed while the interpreter is locked in an inch state, the system executes a 10-inch (254 mm) movement. This sudden 244 mm over-travel results in a severe mechanical collision, a scrap workpiece, and triggers alarms like 15100 or 61303. To prevent this, program verification should validate the active G group 13 unit state before executing movements, especially after loading external archives.
Related Command Network
- G70 / G71: Activates the inch or metric system of units for geometric path data only.
- G700 / G710: Activates the inch or metric system of units for both geometric and technological length-dependent data.
- MD10270 $MN_POS_TAB_SCALING_SYSTEM: Defines the dimension system (0 = metric, 1 = inch) specifically for position data from setting data related to software cams.
Conclusion
Maintaining consistency between the machine's basic scaling parameter and the programmed measurement code is a prerequisite for safe CNC operation. Standardizing on G700 and G710 for all unit switchovers ensures tool offsets and feedrates scale automatically, preventing catastrophic over-travel collisions on the shop floor.
Frequently Asked Questions (FAQ)
How does Siemens handle tool offset scaling when switching from metric to inch?
When G700 or G710 is executed, the control scales both geometric coordinates and tool wear/length offsets in the background, provided MD10260 is enabled. Check that tool offsets are active when switching systems to verify they scale properly.
What is the risk of changing MD10240 without restarting the control?
Altering this parameter without a reboot causes scaling errors because active memory units do not update. Initiate a hardware Power-On sequence immediately after modifying any unit configuration data.
Can a synchronized action run on a different unit system than the main G-code program?
Siemens allows asynchronous unit scaling within synchronized action blocks. Explicitly program the desired G700 or G710 unit code in both the condition and action parts of the synchronized action to ensure reproducible evaluation.
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
G27 Reference Position Return Check: CNC Guide for Multi-Brand Systems
Master the CNC G27 reference position return check on Fanuc, Siemens, and Mitsubishi controls. Learn parameters like MD 34100 and fix Alarm 61816.
Siemens SINUMERIK G26 Upper Working Area & Spindle Speed Limit
Master the Siemens SINUMERIK G26 command for upper working area and spindle speed limits. Learn syntax, parameters like SD 43420, and alarms to avoid crashes.
G26 Spindle Speed Fluctuation Detection ON: CNC Programming Guide
Learn how to configure G26 on Fanuc, Siemens, and Mitsubishi CNC controls to prevent spindle speed fluctuations, set travel limits, and avoid tool crashes.
G25 Lower Working Area and Spindle Speed Limit: Siemens CNC
Master G25 lower working area and spindle speed limits on Siemens SINUMERIK controls. Avoid chuck collisions and configure safety parameter SD 43430.