Skip to main content
CNC.wiki

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.

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

CNC CARE Co-founder

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

FieldValue
Command CodeG110, G111, G112
Modal GroupG Group 3 (Programmable frame, working area limitation, and pole programming)
Supported BrandSiemens
Critical ParametersAP (Polar angle, range -360.000 to +360.000 degrees) and RP (Polar radius, absolute positive value)
Main ConstraintThe 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=...

ParameterDescriptionPermissible Range / Values
APPolar 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)
RPPolar 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, ZCartesian 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 / ParameterSiemens Software Version 4 and earlierSiemens Software Version 5 and later
Reset Behavior Machine Data ParameterControlled by machine data MD20110 $MC_RESET_MODE_MASKControlled by machine data MD20152 $MC_GCODE_RESET_MODE
G-Code Reset Configuration ScopeGoverned 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 ContextInitial 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

BrandAlarm CodeTrigger ConditionFix / Operator Action
Siemens14210A negative polar radius (RP) value is programmed.Check the NC program and change the radius to an absolute positive value. Reorganize the correction block.
Siemens12140Polar 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.
SiemensSyntax ErrorThe 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.

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