Configuring SINUMERIK 840D for 5-Axis CNC Kinematics
SINUMERIK 840D and SINUMERIK 840D sl control platforms support a wide range of machine configurations: from three-axis vertical machining centers, to horizontal boring and milling machines, to turn-mill lathes, to full five-axis simultaneous machining centers. The same NCK (Numerical Control Kernel) firmware and the same HMI shell drive all of these variants; what differentiates them is the machine data configuration of channels, axes, and kinematic transformations. This reference walks through the engineering decisions and NCK machine data that must be made to commission a 5-axis-capable 840D system, with emphasis on the kinematic topologies encountered on real production machines such as DMG MORI DMU monoBLOCK, duoBLOCK, and NLX series machines.
1. SINUMERIK 840D / 840D sl Platform Overview
The SINUMERIK 840D line is Siemens' top-end CNC platform for high-end machine tools. The original 840D uses the MC500 / MC600 MCU modules with an integrated NCU. The successor SINUMERIK 840D sl (solution line) uses the NCU 710/720/730 modules and supports modern HMI software (Operate) along with the same NCK programming model. Programming is described in the official SINUMERIK 840D sl Programming Manual (PG) 08.05, while the SINUMERIK 840D/840Di/810D/FM-NC Cycles Programming Guide (PGZ) 04.00 documents the standard cycle set used for multi-axis drilling, milling, and turning operations.
The 840D architecture is decomposed as follows:
| Layer | Component | Role |
|---|---|---|
| NCK | NCU 710 / 720 / 730 | Interprets part programs, runs interpolators and transformations |
| Drive | SIMODRIVE 611 / SINAMICS S120 | Closed-loop speed and position control of feed and spindle axes |
| HMI | PCU 50 / TCU / Operator Panel | Operator interface, program management, diagnostics |
| PLC | S7-300 inside NCU (840D sl) | Machine logic, safety integration, I/O handling |
| Bus | PROFINET / PROFIBUS | NCK ↔ drive ↔ I/O communication |
For five-axis machines, the relevant layers are the NCK (which must include a license for the required transformation) and the drive layer (which must provide sufficient SINAMICS modules for the additional rotary axes, typically a double-axis module for two rotary axes).
2. Machine Configuration Taxonomy
Before configuring NCK machine data, the engineer must classify the machine into a recognised kinematic category. The Siemens documentation and machine tool builders use the following classification scheme:
| Class | Typical Machine | Linear Axes | Rotary Axes | Simultaneous 5-Axis? |
|---|---|---|---|---|
| 3-axis VMC | Entry-level machining center | X, Y, Z | — | No |
| 3+2 VMC | Trunnion + head table-tilt | X, Y, Z | 2 (indexing) | No (only 3+2 positional) |
| 5-axis head-table | DMU 50 / 65 monoBLOCK, DMF 360 | X, Y, Z | 1 head + 1 table (or 2 table) | Yes |
| 5-axis table-table | DMU 125 FD duoBLOCK, large horizontal | X, Y, Z | 2 table | Yes |
| 5-axis head-head | Gantry / bridge-type, e.g. for large aerospace parts | X, Y, Z | 2 head | Yes |
| Mill-turn (M-T) | NLX 2500, NTX 1000, CTX gamma | X, Y, Z (and B) | 1 main spindle + 1 subspindle + 1 milling spindle + 1 C-axis + optionally B | Yes (B + C simultaneous) |
$MC_TRAFO_TYPE_n, the assignment of geometry axes in $MC_TRAFO_GEOAX_ASSIGN_TAB_n, and the physical offsets loaded into the five-axis transformation ($MC_TRAFO5_*) all depend on which kinematic class the machine belongs to. Misclassification produces either alarm 14400 (channel-specific transformation error) or, worse, silent incorrect tool tip trajectories with no alarm at all.3. 5-Axis Kinematic Topologies
Siemens supports the three principal five-axis topologies through the generic 5-axis transformation. Each has distinct mechanical behaviour and distinct NCK machine data values.
3.1 Head-Table (Spindle on Swivel Head, Rotary Table)
This is the most common 5-axis topology on mid-size machining centers. A typical machine is the DMG MORI DMU 50 monoBLOCK: the spindle is mounted on a swiveling B-axis head (typically -15° to +110°), and the part sits on a trunnion-mounted rotary table (C-axis, ±360°). The two rotary axes are mechanically orthogonal, intersecting at the part/workpiece pivot point.
NCK configuration pattern:
-
$MC_TRAFO_TYPE_1 = 24— generic 5-axis transformation -
$MC_TRAFO_AXES_IN_1[0] = 3— number of linear geometry axes -
$MC_TRAFO_AXES_IN_1[1] = ...— channel axis index of the linear axis mapped to X -
$MC_TRAFO_AXES_IN_1[2] = ...— channel axis index mapped to Y -
$MC_TRAFO_AXES_IN_1[3] = ...— channel axis index mapped to Z -
$MC_TRAFO_AXES_IN_1[4] = ...— channel axis index of the first rotary axis (B) -
$MC_TRAFO_AXES_IN_1[5] = ...— channel axis index of the second rotary axis (C) -
$MC_TRAFO5_AXIS_QTY_1 = 3— three axis groups (3 linear + 2 rotary = 5 axes in transformation, modulo 3)
3.2 Table-Table (Two Rotary Axes on the Table Stack)
Used on large horizontal machining centers such as the DMU 125 FD duoBLOCK. The spindle remains fixed in Z (with optional Z-stroke), and the part is mounted on a stack of two rotary axes: typically a large A-axis (tilt, ±100°) and a C-axis (rotation, ±360°). The mechanical offset vectors are larger and the part offset compensation ($MC_TRAFO5_PART_OFFSET_1) is non-trivial.
For a table-table configuration, the rotary axis that defines the polar angle (A in this case) is registered as the first rotary axis in the transformation input list. The transformation type stays 24; only the assignment of channel axes and the $MC_TRAFO5_ROT_AX_OFFSET_1 vector values change.
3.3 Head-Head (Two Rotary Axes on the Spindle Head)
Used on large bridge-type and gantry machines for aerospace structural parts. Both rotary axes are mounted on the spindle head; the workpiece sits on a fixed or rotating table that is not part of the tool orientation chain. The first rotary axis is typically C (rotates around the spindle axis), and the second is B (swivels the C head). Because the rotary axes are above the spindle, $MC_TRAFO5_PART_OFFSET_1 must be set to the full vector from the machine origin to the pivot point of the first rotary axis.
3.4 Nutating-Axis Configurations
A nutating axis is a rotary axis whose centerline does not intersect the centerline of the second rotary axis at a fixed point. Examples include bevel-head tool spindles used for printing and packaging machinery. On standard machine tools this is rare, but the SINUMERIK supports it via:
-
$MC_TRAFO5_NUTATING_AXIS_1 = <axis number>— identifies the nutating axis in the kinematic chain - Adjustment of
$MC_TRAFO5_BASE_TOOL_1and$MC_TRAFO5_JOINT_OFFSET_1to account for the non-intersecting geometry
If your mechanical layout has intersecting rotary axes (the usual case for trunnion tables and swiveling heads), leave $MC_TRAFO5_NUTATING_AXIS_1 = 0 and the transformation assumes intersecting kinematics.
4. NCK Machine Data for 5-Axis Setup
The 5-axis transformation uses a substantial block of channel-specific machine data. The following table lists the parameters that must be set, with typical values for a head-table DMU 50-class machine.
| Machine Data | Description | Typical Value (DMU 50-class) |
|---|---|---|
$MC_TRAFO_TYPE_1 |
Transformation type | 24 (5-axis generic) |
$MC_TRAFO_AXES_IN_1[0] |
Linear axes count | 3 |
$MC_TRAFO_AXES_IN_1[1..3] |
Channel axes mapped to X, Y, Z | 1, 2, 3 (or as assigned) |
$MC_TRAFO_AXES_IN_1[4..5] |
Channel axes mapped to first, second rotary | 4, 5 (B, C) |
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0..2] |
Geometry axis to channel axis assignment | 1, 2, 3 |
$MC_TRAFO5_AXIS_QTY_1 |
Axis groups in transformation | 3 (= 5 axes modulo 3) |
$MC_TRAFO5_PART_OFFSET_1[0..2] |
Part frame offset to pivot point (mm) | 0.0, 0.0, machine-pivot-Z |
$MC_TRAFO5_ROT_AX_OFFSET_1[0..2] |
Rotary axis mechanical offset (mm) | 0.0, 0.0, 0.0 (intersecting) |
$MC_TRAFO5_BASE_TOOL_1[0..2] |
Base tool vector from pivot to TCP (mm) | 0.0, 0.0, -Z-spindle (negative because tool points -Z) |
$MC_TRAFO5_JOINT_OFFSET_1[0..7] |
Joint offset vector | 0.0 for intersecting trunnion |
$MC_TRAFO5_NUTATING_AXIS_1 |
Nutating axis identifier | 0 (no nutation) |
$MC_TRAFO5_POLE_LIMIT_1 |
Limit angle for pole handling (deg) | 2.0 |
$MC_TRAFO5_POLE_TOL_1 |
Pole tolerance (deg) | 0.5 |
For head-table machines where the rotary axes intersect at the center of the trunnion table, the part offset values are typically all zero if the machine zero (M0) is set at that intersection. For table-table machines, $MC_TRAFO5_PART_OFFSET_1[2] is set to the Z distance from M0 to the A-axis pivot; $MC_TRAFO5_ROT_AX_OFFSET_1[0..2] contains the XYZ vector from the A-axis pivot to the C-axis pivot (in machine coordinates).
4.1 Tool Carrier Frames (TCARR)
For tool-length compensation on 5-axis machines where the tool is mounted in a multi-axis holder (e.g., an angle head or a U-drilling head), SINUMERIK uses TCARR = n to select a tool carrier frame. The frames are defined in $TC_CARR1 through $TC_CARR65:
-
$TC_CARR1[n,0..3]— X, Y, Z, W component of first offset -
$TC_CARR2[n,0..3]— X, Y, Z, W component of second offset -
$TC_CARR3[n,0..2]— X, Y, Z component of third offset -
$TC_CARR4[n,0..2]— X, Y, Z component of fourth offset -
$TC_CARR5[n,0..2]— X, Y, Z component of fifth offset -
$TC_CARR6[n,0..2]— X, Y, Z component of sixth offset -
$TC_CARR7[n]— Type of tool carrier (0=orientable, 1=fixed, etc.) -
$TC_CARR8[n]— Number of rotary axes of the carrier (typically 0 or 1) -
$TC_CARR9[n]— Reference axis for orientation -
$TC_CARR10[n]— Orientation sequence indicator
When TCARR = n is active, the part program can specify tool length compensation relative to a non-standard mount, and the NCK pre-computes the correct TCP displacement in 3D space before the 5-axis transformation is applied.
5. Channel and Axis Configuration
The NCK is fundamentally a multi-channel controller: one NCU can run multiple independent machining processes simultaneously (for example, two spindles on a turn-mill lathe). Each channel has its own set of geometry axes and machine axes. Five-axis commissioning always starts with confirming the channel structure.
| Machine Data | Description | Typical Value |
|---|---|---|
$MN_NUM_CHANNELS |
Total number of channels | 1, 2 (turn-mill), or up to 12 (NCU 730) |
$MN_NUM_AXES_PER_CHANNEL |
Max axes per channel | 6 (for 5-axis) or 8 (turn-mill with sub-spindle + counterspindle) |
$MN_AXCONF_GEOAX_NAME_TAB |
Geometry axis identifiers | "X", "Y", "Z" |
$MN_AXCONF_MACHAX_NAME_TAB |
Machine axis names | "X1", "Y1", "Z1", "SP1", "B1", "C1" |
$MA_AXIS_DRV_SIGN[ax] |
Drive direction sign per axis | 1 or -1, must match encoder direction |
$MA_MODULO_RANGE[ax] |
Modulo range (deg) for rotary | 360.0 for spindles, 99999.999 for trunnion with Hirth |
$MA_MODULO_RANGE = 360.0, allowing unlimited rotation. A Hirth-coupled trunnion axis with discrete indexing positions uses a much larger modulo or no modulo at all, with end-of-travel limits set in $MA_SW_LIMIT_PLUS / _MINUS.5.1 Assigning Geometry Axes to Channel Axes
The mapping is done in $MC_GEOAX_ASSIGN_TAB (or, for the transformed case, $MC_TRAFO_GEOAX_ASSIGN_TAB_n). For a 5-axis machine the canonical layout is X → machine axis 1, Y → machine axis 2, Z → machine axis 3. The rotary axes are not geometry axes; they are channel axes that participate in the transformation but are not directly addressable as X/Y/Z.
6. Tool Orientation Programming
Once the transformation is loaded, part programs use the geometry axes (X, Y, Z) for tool tip position and either a separate orientation input for tool direction. The standard SINUMERIK model uses ROT, AROT, AROTX/Y/Z, and the higher-level orientation commands.
6.1 Orientation Programming Commands
| Command | Function |
|---|---|
ROT / AROT
|
Programmable rotation of the coordinate system (modal) |
AROTX / AROTY / AROTZ |
Incremental rotation around X, Y, Z axis |
ORIRESET(...) |
Reset orientation to the default; syntax varies with the orientation interpolation mode |
ORICONCCW / ORICW
|
Orientation with negative (non-CW) or positive (CW) leading angle |
ORICURVE |
Orientation along a curve in space (multi-axis simultaneous) |
ORIPATH |
Orientation interpolation along path (tangential swarf cutting) |
ORIPLANE |
Orientation interpolation in a plane (2-D orientation change) |
ORIVECT |
Orientation as end vector + leading angle |
ORIROTC |
Orientation rotation around the tool axis |
The mode is set by the default G-code (SD 42950 $SC_ORI_DEFAULT_Z) or by the manufacturer cycle. For 3+2 face milling, the typical pattern is:
; Approach
G0 X100 Y200 Z300
; Engage tool orientation
AROT Z45 ; rotate coordinate system 45° around Z
AROT X-15 ; tilt 15° around X
; Now program in the rotated frame; all X/Y/Z moves
; resolve to actual linear + rotary axis movements
G1 X0 Y0 Z-50 F500
; Disengage
AROT
ROT
For true simultaneous 5-axis contouring, the orientation is interpolated through the path. The interpolator coordinates the two rotary axes (B and C, for example) such that the tool tip follows the programmed X/Y/Z path while the tool orientation follows the programmed vector.
6.2 Setting the Pole Behaviour
When the tool approaches the singularity where the two rotary axes line up, the kinematic solution becomes ambiguous. Siemens handles this with $MC_TRAFO5_POLE_LIMIT_1 and $MC_TRAFO5_POLE_TOL_1. Below the tolerance, the transformation locks one rotary axis to a fixed angle; above the limit, alarm 14408 (or similar) is raised. Typical commissioning values: POLE_LIMIT = 2.0°, POLE_TOL = 0.5°.
7. Cycles for Multi-Axis Machining
The SINUMERIK 840D/840Di/810D/FM-NC Cycles Programming Guide (PGZ) 04.00 documents the standard cycle set. For 5-axis work the relevant cycles include:
-
CYCLE800 — Swivel plane / swivel tool. The workhorse cycle for 3+2 positioning on trunnion tables. The cycle is invoked with
CYCLE800(rot, mode, x, y, z, dir, ...)and computes the required rotary axis positions for a given target tool orientation. - CYCLE832 — High Speed Settings (HSC) for 5-axis simultaneous machining, including G642 look-ahead configuration.
- CYCLE996 — Workpiece and tool measuring on 5-axis machines (kinematic measurement probe cycle).
- MEACYC — Generic 3-D probing cycle for measuring rotary axis pivot points (used to commission the 5-axis transformation).
The CYCLE800 input parameters are particularly important for production. The mode parameter selects how the swivel is executed:
| Mode | Behavior | Typical Use |
|---|---|---|
| 0 | Position by shortest path (use modulo) | Continuous rotary axes |
| 1 | Approach the rotation point, then rotate | Default for safety |
| 2 | Approach pivot in two steps | Long tool, collision risk |
| 3 | Approach pivot along the tool vector | Used for head-table swivels |
| 4 | No retraction, only rotate | Tool already in clearance |
CYCLE800 uses a swivel data block ($TC_TP_EEC[n] plus the swivel kinematics defined in the machine configuration) and applies either the tool-direction vector or the active plane rotation to drive the rotary axes to their target positions.
8. Commissioning Procedure
The following is the canonical commissioning sequence for a SINUMERIK 840D sl machine that arrives from the OEM with the 5-axis transformation loaded but not calibrated. Each step is to be confirmed before proceeding to the next.
-
Verify NCK and HMI versions. Read the version of the NCK software via
CF CARDdirectoryNCK/NCKDIR. Confirm that the option bit for the 5-axis transformation is set in the option fileOPTION.NSK. Without this option, the transformation is rejected at NCK startup with a missing-option alarm. -
Confirm drive assignment. The drive topology is loaded from the SIMODRIVE/SINAMICS commissioning data. Check that the two rotary axes have drive modules assigned and that the encoder directions in
$MA_ENC_REFP_STATEmatch the mechanical travel direction. A sign reversal is corrected with$MA_AXIS_DRV_SIGN= -1 on the affected axis. -
Load machine data. Apply the machine builder's startup archive (TEA file) and reload defaults with NCK reset. The archive contains the 5-axis machine data block described in Section 4. Verify that no machine data was lost in the archive transfer: cross-check
$MC_TRAFO_TYPE_1,$MC_TRAFO5_PART_OFFSET_1, and$MC_TRAFO5_ROT_AX_OFFSET_1against the builder's documentation. - Reference all axes. Run the standard reference-point approach for X, Y, Z first, then for each rotary axis. Rotary axes on a Hirth coupling stop on discrete teeth; on a continuous axis (e.g., C with encoder) the reference procedure finds the index pulse.
-
Measure kinematic pivot points with CYCLE996. The 5-axis transformation loads the mechanical offset vectors at startup, but thermal expansion, foundation settling, and assembly tolerance shift these vectors in service. The 996 cycle measures the actual position of the rotary axis pivot using a calibrated probe in the spindle. The result updates
$MC_TRAFO5_PART_OFFSET_1and$MC_TRAFO5_BASE_TOOL_1. -
Set 3+2 zero offsets. Use the result of the 996 measurement to set
$P_TRAFRAMEor the equivalent zero-point shift for 3+2 work. This is what production operators will use as a reference when running CYCLE800 swivels. - Run a test part. Use a test part with a rectangular block and verify the tool path with a test cut. A common acceptance test is a 3+2 ramp on each of the four quadrants of the work envelope, plus a simultaneous 5-axis contour at moderate feedrate.
9. Verification and Acceptance Tests
After commissioning, run the following verification matrix. Each row is a test that should be performed and documented before the machine is released to production.
| Test ID | Description | Acceptance Criterion | Method |
|---|---|---|---|
| V-01 | Linear axis accuracy at the part zero | Position deviation < 0.01 mm | Laser interferometer, X / Y / Z at three positions |
| V-02 | Rotary axis index accuracy | Position deviation < 5 arcsec | Electronic level on trunnion, index pulse check |
| V-03 | Pivot point repeatability | TCP displacement < 0.02 mm over 5 cycles | 3D probe in spindle, measure trunnion center over full B/C range |
| V-04 | 3+2 face-mill flatness | Flatness < 0.02 mm over 200 mm square | Surface plate / dial gauge after test cut |
| V-05 | 5-axis contour roundness | Roundness < 0.03 mm at 50 mm diameter | Conical test cut, roundness gauge |
| V-06 | Pole behaviour | No alarm; smooth transition through pole | Slow trajectory crossing the B=C=0° condition |
| V-07 | CYCLE800 shortest-path mode | C-axis turns by shortest path; no over-travel | Manual execution with direction parameter change |
10. Troubleshooting Matrix
Field-failures on SINUMERIK 840D 5-axis systems cluster around the following symptom families. The matrix lists the most common alarms, their root cause, and the corrective action.
| Alarm / Symptom | Probable Root Cause | Corrective Action |
|---|---|---|
| 14400 — channel transformation error at start of part program |
$MC_TRAFO_TYPE_1 not set, or option bit missing |
Verify option file. Set the 5-axis option bit. Reload machine data. |
| 14408 — transformation pole reached | Programmed tool direction passes too close to the singularity | Increase $MC_TRAFO5_POLE_LIMIT_1 from 2.0° to 5.0°, or reroute the path to avoid the pole |
| 14710 — transformation error, axis not in transformation | One of the axes in $MC_TRAFO_AXES_IN_1 is not assigned to a real machine axis |
Check $MC_AXCONF_MACHAX_USED for each index, ensure it points to a configured machine axis |
| 14770 — 5-axis transformation configuration error | Mechanical offsets inconsistent with actual hardware | Re-measure the pivot points with CYCLE996 and reload $MC_TRAFO5_PART_OFFSET_1
|
| No alarm, but tool tip is offset from the part surface | Wrong TCARR frame, or wrong base tool length | Verify $TC_CARR* data block; verify tool length is set in the active tool table |
| Spindle drops toward gravity when B is moved at high speed | Axis-side balance compensation disabled | Set $MA_CSS_SETTINGS or, for hydraulic counterbalance, verify the pressure interlock in the PLC |
| CYCLE800 rotates the wrong way | Modulo direction set incorrectly on the C-axis | Check $MA_MODULO_RANGE_START and $MA_MODULO_RANGE; adjust mode parameter of CYCLE800 |
| Hirth coupling refuses to engage | Rotary axis still has residual position error | Drive the axis to within the in-position window ($MA_INPOS_FINE) before re-indexing |
| Tool length compensation produces wrong Z height after AROT | Tool length was applied in machine frame, not part frame | Set G-code for tool length activation frame correctly: $MN_TLC_TABLE_NAME and the active G-group for tool compensation |
| 5-axis smoothing produces visible facets on a free-form surface | Look-ahead too short; tolerance too tight | Increase the G642 tolerance via $MA_LOOKAH_FREQUENCY or relax the COMCAD tolerance |
11. Cross-Platform Notes
While the focus here is the 840D / 840D sl, engineers maintaining mixed fleets should note the following:
- SINUMERIK ONE — successor to the 840D sl with the same NCK machine data and programming model. The 5-axis transformation machine data are unchanged; only the underlying NCK build numbers differ. The PGZ cycles manual applies.
-
SINUMERIK 828D — lower-end controller; supports 5-axis via a single transformation block. The 828D has only one channel and a smaller part-program memory. Machine data identifiers use the same convention (e.g.,
$MC_TRAFO_TYPE_1) but with a smaller allowable range in some parameters. - SINUMERIK 810D — predecessor of the 828D; uses an older NCK. The 5-axis transformation is functionally the same as the 840D's, but the option license is keyed differently.
- 840Di — PC-based variant of the 840D. Same NCK, same machine data, but the HMI is the operator panel software (HMI-CE) running on an external PC.
For commissioning on these other platforms, consult the platform-specific List Manual (S7 part, NCK part) and the cross-platform tool SinuTrain, which is a Siemens-licensed offline simulation environment for 840D and 828D that supports the same 5-axis machine data layout.
12. Field-Engineering Quick Reference
The following compact checklist condenses the previous sections for the engineer who is standing in front of a malfunctioning 5-axis 840D machine and needs to triage the issue in 10 minutes.
- Confirm the 5-axis option bit is set in the option file (mandatory on 828D and 810D; default-on on 840D sl).
- Check that the active transformation block is correct:
$MC_TRAFO_TYPE_1= 24,$MC_TRAFO_AXES_IN_1[0]= 3. - Confirm the geometry axis assignment matches the actual channel axes:
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0..2]. - Verify the rotary axis mechanical offsets:
$MC_TRAFO5_PART_OFFSET_1and$MC_TRAFO5_BASE_TOOL_1. - Look at the running alarm history:
Alarmstab in HMI Operate, filtered to channel 1, axis 1..6. - If the problem is a tool-length discrepancy after AROT, check the active TCARR frame:
$TC_CARR*and theTCARRsetting in the program header. - If the problem is motion at the pole, raise
$MC_TRAFO5_POLE_LIMIT_1from 2° to 5° and observe. - If the problem is wrong C-axis direction, swap the mode parameter of CYCLE800 from 0 to 1 or vice versa.
FAQ
What NCK option is required for 5-axis transformations on a SINUMERIK 840D sl?
The 5-axis transformation option must be enabled in the option file (typically OPTION.NSK on the CF card). On NCU 710.3 / 720.3 / 730.3 this is the "5-axis transformation" license (option number 6FC5800-0AN10-0YB0, depending on the build). Without it, the NCK rejects $MC_TRAFO_TYPE_1 = 24 with a missing-option alarm at startup.
How do I choose between head-table, table-table, and head-head kinematic types?
The choice is purely mechanical and follows the machine builder's hardware layout. Head-table is most common on mid-size VMCs and trunnion machines. Table-table is used on large horizontal machining centers where the head stays fixed. Head-head is used on gantry and bridge-type machines for large structural parts. The NCK transformation type stays 24 in all three cases; only the channel axis assignment and the offset vectors in $MC_TRAFO5_* differ.
What is the correct value of $MC_TRAFO5_POLE_LIMIT_1?
Start with 2.0° and increase to 5.0° if the pole alarm is nuisance-triggered. Higher values smooth through the singularity but reduce tool-direction accuracy near the pole. The default is suitable for most production environments; only adjust it after confirming the part program path can or cannot be rerouted around the pole.
Why does my tool length change after AROT on a 5-axis machine?
Tool length is applied in the active frame. If the program activates a TCARR frame that includes the angle-head or multi-axis holder, the length is applied to the mounted geometry. If no TCARR is active, the tool length is applied in machine frame. Always select a TCARR (TCARR = n) for non-standard tool mounts and verify the $TC_CARR* data block matches the mechanical layout.
How do I measure the 5-axis pivot points in the field?
Use the CYCLE996 (kinematic measurement) cycle with a calibrated probe in the spindle. The cycle moves each rotary axis through a range of positions, records the spindle-tip position via the probe touching a reference ball or fixed point, and computes the pivot offset. The result updates $MC_TRAFO5_PART_OFFSET_1 and $MC_TRAFO5_BASE_TOOL_1 automatically. The cycle is documented in the Cycles Programming Guide (PGZ) 04.00.
What is the difference between CYCLE800 mode 0 and mode 1?
Mode 0 approaches the target orientation by the shortest path, exploiting the modulo range of continuous rotary axes (e.g., C-axis with $MA_MODULO_RANGE = 360.0). Mode 1 retracts to a clearance point first, then rotates the rotary axes. Use mode 0 for high-repetition production where collision risk is bounded; use mode 1 when the part has tall features or fixtures that would clip during rotation.