Resolving SINUMERIK C-Axis Positioning Errors After Drilling

David Krause10 min read
Motion ControlSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Resolving SINUMERIK C-Axis Positioning Errors After Drilling Cycles

Problem Overview

Operators running DMG MORI multi-axis turning-milling machines with Siemens SINUMERIK 840D sl controllers frequently encounter alarm conditions when attempting to position the C-axis immediately after a drilling cycle completes. The typical symptom is the NC refusing to index the spindle to a new angular position, returning an alarm that indicates no valid transformation or positioning block can be executed at this point in the program.

This is a documented behavior of the SINUMERIK kinematics model. Standard drilling cycles do not implicitly activate a frame or transformation, and they do not force a defined spindle position state at cycle exit. When the C-axis is commanded to rotate to a new angular coordinate while the controller still has a milling-mode transformation active (commonly TRANSMIT, TRACYL, or TRAORI), the NC raises an alarm because C-axis indexing requires a consistent kinematic state with the spindle in pure axis mode.

The standard drilling cycles are passive with respect to transformations. Any active transformation that existed before the cycle call remains active after the cycle returns.

Root Cause: Transformation State Conflict

The SINUMERIK distinguishes between three operating modes for the main spindle on a turning-milling machine:

  1. Spindle mode — rotational speed control, controlled through M3, M4, M5, and S.
  2. Axis mode — DC-coupled, position-controlled, addressed through the C-axis name or through SPOS / M70.
  3. Interpolated mode — combined with linear axes through an active transformation (TRANSMIT, TRACYL, TRAORI).

Standard drilling cycles (CYCLE81, CYCLE82, CYCLE83, CYCLE84, CYCLE85, CYCLE86, CYCLE87, CYCLE88, CYCLE89) operate inside the active coordinate system. If a TRANSMIT or TRAORI transformation is active at the time the cycle starts, the cycle executes inside that transformed space and the C-axis remains implicitly coupled. After the cycle ends the transformation is not automatically deactivated. A subsequent C-axis indexing command issued without first deactivating the transformation triggers alarm 14092 or 14093 depending on the installed firmware revision.

The header bar of the SINUMERIK HMI displays the currently active transformation, plane, and frames at all times. On DMG MORI machines running CELOS the same status information is available through the SINUMERIK diagnostics view inside the CELOS Documents pane. This is the first location to verify the kinematic state before issuing a positioning command.

Diagnostic Procedure

Follow this sequence to identify the active kinematic state before commissioning the C-axis move:

  1. Switch the controller to JOG mode.
  2. Press the HELP key on the HMI. The system lists every PDF manual installed on the controller.
  3. Navigate to the active G-code program. The header line above the program window shows the active transformations, frames, and plane selection.
  4. On DMG MORI machines with CELOS, open the Documents application. The Siemens programming and operating manuals for the installed SINUMERIK version are available there as PDFs.
  5. Confirm whether TRANSMIT, TRACYL, or TRAORI appears as active.
  6. If a transformation is active, note whether the current spindle position is being driven as a coupled C-axis or as a free spindle.

Solution: Deactivate the Transformation with TRAFOF

The standard remedy is to deactivate the active transformation explicitly using the TRAFOF command before issuing any C-axis positioning move that must take place in the machine coordinate system rather than the transformed system.

; --- Step 1: drilling cycle with active TRANSMIT ---
TRANSMIT
G0 X50 Z2
CYCLE83(50, 0, 2, -15, , 3, 0.5, 0, 0, 0, 90, 0)

; --- Step 2: explicitly deactivate the transformation ---
TRAFOF

; --- Step 3: index the C-axis in plain spindle mode ---
SPOS = 90

; --- Step 4: continue with subsequent operations ---
G0 X100

If the machining sequence contains a turning operation between the drilling cycle and the C-axis positioning move, the controller deactivates the milling-side transformation automatically because the active cutting mode switches from milling to turning. This is why an intermediate turning pass can serve as an implicit TRAFOF. The behaviour is real but fragile and depends on the cycle configuration. The explicit TRAFOF approach is preferred for production code.

C-Axis Operation Fundamentals

The C-axis on a turning-milling machine is implemented by closing the position loop on the spindle motor encoder. Two implementation variants exist, documented in the Siemens C-Axis Function Manual:

Variant Loop Location Command Interface
Integrated C-axis In the spindle drive (SINAMICS S120) SPOS, M70, C-axis name
NC-side C-axis In the NC SPOS, M70, C-axis name

In both cases the spindle transitions between speed control and position control through the M70 command or the equivalent SPOS command with a target position. The functional difference matters for the achievable dynamics and for the firmware-level commissioning parameters, not for the G-code interface.

When the C-axis is positioned through SPOS the spindle comes to rest at the commanded angle. SPOSA performs the same function but defers the position stop to the next NC block boundary, which is the mechanism used for drilling on-the-fly with coordinated axis motion.

; Position C-axis to 90 degrees with explicit block transition
SPOS = 90

; Position C-axis with deferred stop (drill while moving)
SPOSA = 180

Drilling Cycles and Transformation Interaction

The SINUMERIK ShopMill and ShopTurn cycle masks expose the C-axis through the "Positioning" input field. Internally the cycle generates an SPOS block when needed. The cycle does not generate a TRAFOF or TRAORI command. The transformation must already be in the correct state when the cycle is called.

Cycle Internal C-Axis Handling Required Pre-State
CYCLE81 (drilling, centring) None Any
CYCLE82 (drilling with dwell) None Any
CYCLE83 (deep hole drilling) None Any
CYCLE84 (tapping, rigid) SPOS for spindle stop Spindle in axis mode
CYCLE85 (boring) SPOS for retract Spindle in axis mode
CYCLE86 (boring with stop) SPOS for spindle stop Spindle in axis mode
CYCLE87 (boring with manual retract) None Any

For cycles that require spindle positioning (CYCLE84, CYCLE85, CYCLE86) the operator must confirm that the spindle is in axis mode (M70 issued, or SPOS programmed at least once) before the cycle starts. The cycle mask exposes this through the "Spindle stop" toggle in the parameter screen.

Verification

After inserting the TRAFOF command, verify the fix through the following checks:

  1. Run the modified program in Single Block (SBL) mode.
  2. Confirm the G-code listing header shows no active transformation after the TRAFOF block executes.
  3. The C-axis should move to the commanded angle without alarm and with the spindle in axis mode.
  4. Check the active kinematic state through the Axis diagnostics screen on the HMI. The spindle section should show Axis mode active.
  5. Run the program in AUTO mode with reduced rapid override (25%) before production release.

Accessing Siemens Documentation on the Machine

DMG MORI machines running SINUMERIK controllers provide the official Siemens documentation through two paths:

  • HELP key in JOG mode: Press the HELP key while the controller is in JOG mode. The system displays the manuals installed on the controller. Search for the cycle name (e.g. "CYCLE83") or the function keyword (e.g. "TRANSMIT") to access the relevant programming manual section.
  • CELOS Documents pane: On DMG MORI machines with the CELOS HMI, the Documents application contains the Siemens programming and operating manuals as PDFs, indexed by part number and software version.

External download is available from the Siemens Industry Online Support portal. Search for the controller part number (e.g. 6FC5370-AA00-0AA0 for SINUMERIK 840D sl) to locate the matching programming manual.

Common Pitfalls

  • Implicit transformation in cycle call: Some ShopMill and ShopTurn cycles wrap the user code in a TRANSMIT block. Inserting TRAFOF inside the cycle call has no effect because the wrapper re-activates the transformation on cycle exit.
  • Frame persistence: Active frames (ROT, AROT, TRANS, MIRROR, SCALE) survive TRAFOF. They must be cleared separately with ROT, AROT, or TRANS issued without parameters.
  • Plane change: G17 / G18 / G19 affects the drilling cycle plane interpretation. It does not affect C-axis positioning but can cause intermittent alarms if the plane is inconsistent with the active transformation.
  • Block search: Use SERUPRO mode for block search with transformation changes. A standard block search can leave the controller in an inconsistent kinematic state because the search skips over the TRAFOF block.
  • Modal C-axis switch: Issuing SETMS(n) to switch the master spindle does not deactivate the active transformation. Verify the state after any spindle swap.

Production-Ready Programming Template

; ============================================
; Multi-axis drill-and-index sequence
; Tested on DMG MORI CTX beta 1250
;   with SINUMERIK 840D sl SW 4.7 SP3
; ============================================

G18 G54              ; Select turning plane, set work offset
TRANS Z2.5           ; Shift zero by Z2.5 mm

; --- Drill first hole at C=0 ---
TRANSMIT
G0 X50 Z2
CYCLE81(10, 0, 2, -8)

; --- Index to next angle ---
TRAFOF               ; Deactivate transformation
SPOS = 60            ; Rotate C-axis to 60 degrees
M70                  ; Ensure axis mode (redundant with SPOS)
TRAFOF               ; Idempotent safety call

; --- Drill at C=60 ---
TRANSMIT
G0 X50 Z2
CYCLE81(10, 0, 2, -8)

; --- Repeat pattern as needed ---
TRAFOF
SPOS = 120
TRAFOF

TRANSMIT
G0 X50 Z2
CYCLE81(10, 0, 2, -8)

; --- Final cleanup: deactivate, return to spindle mode ---
TRAFOF
SETMS(1)
M30

The second TRAFOF call after each SPOS is intentional. TRAFOF is idempotent and protects against a transformation being reactivated by a cycle mask configuration the operator has forgotten.

Related Siemens Commands Reference

Command Purpose Typical Use
TRAFOF Deactivate all active transformations Before C-axis indexing
TRAORI(n) Activate n-axis orientation transformation 5-axis milling
TRANSMIT Activate polar (turning + milling) transformation C-axis milling on Y axis
TRACYL(d) Activate cylinder surface transformation Peripheral milling on rotary part
SPOS[axis]=a Position spindle/axis to angle a C-axis indexing
SPOSA[axis]=a Position with block-boundary stop Drill on the fly
M70 Force spindle to axis mode Legacy interface
ROT / AROT Frame rotation Optional, separate from TRAFOF
SETMS(n) Set master spindle Multi-spindle machines

Safety Notes

Always run modified programs first in Single Block with Dry Run enabled. C-axis indexing moves the rotating tooling and the workpiece; an incorrect transformation state can cause collisions with the chuck, tailstock, or tool turret. Verify clearance in JOG before each test run.

For drilling operations that combine C-axis rotation with linear interpolation (helical drilling, circle milling around a bore), keep the spindle in transformed mode and use SPOSA rather than SPOS to coordinate the position stop with the linear motion. Switching to plain spindle mode mid-helix will desynchronise the interpolator.

Troubleshooting Matrix

Alarm Likely Cause Remedy
14092 — channel %1 axis %2 incorrect transformation type Active transformation conflicts with SPOS command Insert TRAFOF before SPOS
14093 — channel %1 axis %2 transformation selection error Transformation changed mid-block Split transformation change and SPOS into separate NC blocks
16730 — channel %1 axis %2 transformation not active SPOS issued before any transformation set up, while CYCLE expected TRANSMIT Issue TRANSMIT before drilling cycle that needs polar mode
2130 — NC block missing TRAFOF Reference axis changed with transformation active Issue TRAFOF before reference axis change

How do I find the active transformation on a SINUMERIK controller?

Open the G-code program window. The header bar above the program block display shows the active transformation (TRANSMIT, TRACYL, TRAORI) and the active frames (TRANS, ROT, MIRROR). On DMG MORI machines with CELOS HMI the same information is available through the SINUMERIK axis diagnostics view under Menu > Diagnostics > Axis.

Why does inserting a turning operation between drilling and C-axis positioning resolve the alarm?

The controller switches the active kinematic chain when the cutting mode changes from milling to turning. The milling-side transformation (TRANSMIT or TRAORI) is deactivated implicitly by the turning operation, so the subsequent SPOS command sees a clean machine coordinate system. This is an implicit workaround; an explicit TRAFOF is the documented solution.

Does TRAFOF also clear frames like TRANS or ROT?

No. TRAFOF only deactivates kinematic transformations. Frames persist and must be cleared separately with ROT (or AROT) and TRANS issued without parameters, or with the corresponding reset commands documented in the SINUMERIK programming manual.

Which Siemens manual documents drilling cycle behaviour with transformations?

The SINUMERIK 840D sl Programming Manual (function-related, basics) section on standard cycles covers this interaction. The document is available on the controller through the HELP key in JOG mode and on the Siemens Industry Online Support portal under the controller part number.

Can I program SPOS without an active transformation?

Yes. SPOS positions the spindle in pure spindle mode without requiring any transformation. The transformation is only required when you need to interpolate the C-axis with linear axes for milling or helical motion. For indexed drilling at fixed C-angles, TRAFOF followed by SPOS is the correct sequence.

Back to blog