Siemens G110 G111 G112 Polar Coordinate Programming Guide
Master Siemens G110, G111, and G112 polar programming. Learn to configure poles, program AP and RP parameters, and resolve alarm 14210 and 12140 errors.
Introduction
An incorrectly active machining plane during pole definition can drive a spindle tool directly into workholding fixtures at full rapid speed. If the programming plane G17, G18, or G19 is incorrectly selected before defining the pole, the polar angle (AP) references the wrong axis, causing the tool to approach from an unintended angle. This mistake triggers severe physical collisions with a clamp, vise jaw, or the chuck, destroying the workpiece and causing costly damage to the spindle head.
To eliminate these risks, Siemens controls employ a dedicated polar programming method using the G110, G111, and G112 commands. These codes allow operators to command coordinates using polar angles and radiuses, referencing a precise local or global origin point. By establishing a clear pole reference, programmers can command radial paths and bolt hole circles without manual Cartesian calculations.
Technical Summary
| Field | Value |
|---|---|
| Command Code | G110, G111, G112 |
| Modal Group | G Group 3 (Programmable frame, working area limitation, and pole programming) |
| Supported Brand | Siemens |
| Critical Parameters | AP (Polar angle, range -360.000 to +360.000 degrees) and RP (Polar radius, absolute positive value) |
| Main Constraint | The pole definition command (G110, G111, or G112) must be written in a completely separate, dedicated NC block. |
Quick Read
- Select Plane First: Always verify that G17, G18, or G19 is active before defining the pole.
- Block Isolation: Always write the pole definition command (G110, G111, or G112) in its own separate NC block.
- Positive Radius Only: Ensure the polar radius (RP) is programmed as an absolute positive value to avoid alarm 14210.
- Understand Pole Shifting: Use G111 for absolute part coordinates, G110 for relative to the last tool position, and G112 for relative to the previous pole.
- Ignore G90 and G91: Remember that absolute and incremental modifiers (G90/G91) do not affect pole coordinates.
- Clear Workpiece Envelope: Verify the tool has cleared the physical workpiece envelope before switching kinematic states on multi-axis hardware.
Basic Concepts
The practical programming effect of Siemens' polar coordinate system is that operators can effortlessly dimension circular hole patterns or radial contours directly from a drawing without manually calculating Cartesian X/Y coordinates for every point. Programmers use G111 to set the pole relative to the workpiece coordinate system's zero point, G110 to set it relative to the last reached position, and G112 to place it relative to the last active pole.
Programmers and operators must watch carefully to ensure that the correct machining plane (G17, G18, or G19) is active before defining the pole, as the polar angle (AP) always mathematically references the horizontal axis of the currently active plane. If the plane is incorrectly set or the pole is misplaced, the tool will approach from an unintended angle. This drastically increases the risk of a hard collision with workholding components like a clamp, vise jaw, or the chuck, inevitably resulting in a scrap part and severe machine damage.
Command Structure
Siemens controls use three distinct commands within G Group 3 to define the polar coordinate origin or pole. The choice between G110, G111, and G112 establishes the mathematical baseline for all subsequent polar moves. To prevent mathematical overlapping and timing issues in the control's block preparation, the NC program must isolate G110, G111, or G112 in a dedicated block without any other motion or auxiliary commands.
The pole can be defined using either Cartesian values (specifying absolute axis coordinates) or polar values (specifying a radius and angle from an existing reference). Once the pole is set, the CNC path uses AP (polar angle) and RP (polar radius) to interpolate to the target end point. Standard G-codes such as G1 or G0 then execute the motion using the polar inputs.
; Cartesian Pole Definition G110 X... Y... Z... G111 X... Y... Z... G112 X... Y... Z...
; Polar Pole Definition G110 AP=... RP=... G111 AP=... RP=... G112 AP=... RP=...
| Parameter | Description | Permissible Range / Values |
|---|---|---|
| AP | Polar angle. Defines the angle from the horizontal axis of the active working plane. Positive rotation is counter-clockwise. | -360.000 to +360.000 degrees (0.001 degree resolution) |
| RP | Polar radius. Specifies the absolute distance from the active pole to the target point. | Must be an absolute positive value (REAL) in mm or inches |
| X, Y, Z | Cartesian coordinates used to define the pole position directly. | Coordinate system coordinates matching the active unit mode |
Brand Applications
Siemens
The Siemens Sinumerik control family provides a dedicated set of polar coordinate programming tools. Operators configure the active pole by writing G110, G111, or G112 in a separate block. The control mathematically isolates this reference setup block from the axis motion. Standard absolute and incremental commands (G90 and G91) do not affect how the pole is shifted, as the origin of the pole is determined solely by the chosen G-code.
For complex machines, including multi-axis lathes with double turrets and milling centers using a compensating chuck (such as under G63 tapping), the Siemens control enforces polar radius checks. The polar coordinates must be fully resolved, and the tool must be driven clear of the workpiece envelope before any kinematic transitions occur.
Brand Comparison
| Feature / Parameter | Siemens Software Version 4 and earlier | Siemens Software Version 5 and later |
|---|---|---|
| Reset Behavior Machine Data Parameter | Controlled by machine data MD20110 $MC_RESET_MODE_MASK | Controlled by machine data MD20152 $MC_GCODE_RESET_MODE |
| G-Code Reset Configuration Scope | Governed by a reset mode mask defining initial G-codes upon startup, reset, or program end. | Governed by a specific G-code reset mode setting for channel-specific initial G-codes. |
| Channel-Specific Modification Context | Initial state configuration requires mask evaluation at the end of the part program. | Initial state configuration utilizes direct G-code resetting at the end of the part program. |
Technical Analysis
Siemens polar coordinate programming is mathematically isolated from normal path interpolation through several distinct control behaviors. First, the control separates the pole's reference origin by using three dedicated G-codes. This allows the programmer to shift the active pole using the workpiece coordinate system's zero point (G111), the last programmed axis position (G110), or the previous pole coordinate (G112). These explicit instructions provide clear reference control without the risk of accumulation errors from general incremental shifts.
Second, Siemens overrides standard Cartesian dimensioning controls like G90 and G91. Because the mathematical reference point is locked to the specific pole definition G-code, typing G90 or G91 inside the G110-G112 block will not shift or modify the pole coordinates. Third, the control strictly enforces block isolation. The pole definition must reside on its own line in the NC part program. This isolates the pole configuration from any physical axis interpolation and prevents simultaneous motion commands from executing before the mathematical coordinates are set.
Machine data resets handle the persistence of polar settings differently across system software versions. In systems running software version 4 and earlier, the channel-specific reset behavior is managed by the parameter MD20110 $MC_RESET_MODE_MASK. For software version 5 and later, this control configuration switches to the parameter MD20152 $MC_GCODE_RESET_MODE. This parameter controls whether the active pole and working plane selection are retained or reset when the NC program finishes or the machine undergoes a hard restart.
Program Examples
N10 G17
N20 G111 X17 Y36
N30 G1 AP=45 RP=50
N80 G112 X35.35 Y35.35
N90 G1 AP=12.5 RP=47.679
N100 G1 AP=26.3 RP=7.344 Z4
Dry Run Execution Walkthrough:
- Block N10: Configures G17, setting the XY plane as the active machining plane. The polar angle (AP) will mathematically reference the horizontal X-axis, rotating counter-clockwise.
- Block N20: Defines the absolute pole position at X=17 and Y=36 using G111. This block is dedicated solely to setting the coordinate origin and contains no motion commands.
- Block N30: Executes a linear feedrate motion (G1) to a target coordinate defined by polar radius RP=50 and polar angle AP=45 degrees. The tool path interpolates from the current position to this point.
- Block N80: Shifts the active pole relative to the previously defined pole using G112, offset by X=35.35 and Y=35.35. This establishes a new coordinate reference point.
- Block N90: Commands linear motion (G1) to a radius of RP=47.679 and an angle of AP=12.5 degrees relative to the new pole defined in block N80.
- Block N100: Drives the tool to a radius of RP=7.344 and an angle of AP=26.3 degrees, while simultaneously performing depth interpolation by driving the Z-axis to Z=4.
Error Analysis
| Brand | Alarm Code | Trigger Condition | Fix / Operator Action |
|---|---|---|---|
| Siemens | 14210 | A negative polar radius (RP) value is programmed. | Check the NC program and change the radius to an absolute positive value. Reorganize the correction block. |
| Siemens | 12140 | Polar coordinate interpolation options are not enabled on the CNC control system. | Verify option activation with the machine tool builder or rewrite the program to use Cartesian paths. |
| Siemens | Syntax Error | The pole definition (G110, G111, or G112) is programmed in the same NC block as other commands. | Isolate the G110, G111, or G112 command on its own separate line in the NC part program. |
Application Note
Entering a negative value for the polar radius (RP) immediately halts the Siemens control and outputs alarm code 14210. Because the radius strictly represents a geometric distance from the active pole, it must only be defined using absolute positive values. When this alarm occurs, the CNC stops execution and requires a complete program reset and correction block reorganization. For operators running complex multi-axis hardware, such as a lathe operating with a double turret (enabled via G68) or a spindle executing rigid tapping with a compensating chuck (G63), polar coordinates must be completely resolved and the tool must be driven clear of the workpiece envelope before changing kinematic states or switching axes.
Related Command Network
- G64 / G60 (Continuous Path Modes): These path control modes determine how the Siemens controller handles velocity transitions between successive polar interpolation blocks.
- CYCLE72 (Contour Milling): This canned cycle allows operators to mill custom contour paths that can be defined using absolute or relative polar coordinate blocks.
- CYCLE800 (Swivel Plane): This orientation command swivels the tool axis on multi-axis machines, establishing a new plane that must be set before defining the local pole.
Conclusion
Isolating the pole definition in a separate NC block and verifying the active working plane are essential habits for safe polar programming on Siemens controls. Pre-checking program blocks for negative polar radius values prevents sudden cycle interruptions and alarm stops during critical machining runs. Establishing these practices ensures predictable spindle paths, protects expensive workholding setups, and improves circular hole pattern efficiency.
Frequently Asked Questions
Why does the Siemens control trigger alarm 14210 during polar programming?
Alarm 14210 occurs because the polar radius (RP) must be programmed as an absolute positive number, as the control cannot process a negative distance from the pole. To resolve this, check the coordinate lines in your program, replace any negative RP inputs with absolute positive distances, and reset the control to reorganize the block buffer.
Can G90 or G91 be used to shift the origin of a polar coordinate pole?
No, standard absolute (G90) and incremental (G91) modifiers are overridden by the Siemens controller during pole definition. The pole reference behaves according to the specific G-code command selected: G111 references the work coordinate system zero, G110 references the current position, and G112 references the previous pole. Always select the appropriate G-code directly instead of relying on G90/G91 to shift the pole.
Why must G110, G111, and G112 commands be written in separate NC blocks?
Siemens controls mandate that pole definitions (G110, G111, or G112) reside in separate NC blocks to keep mathematical reference calculations isolated from physical axis travel. Writing the pole command on the same line as motion inputs will trigger a syntax parsing error and stop program execution. Always write pole coordinates on their own line immediately prior to the motion blocks.
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.