Resolving 5-Axis Vibration on SINUMERIK 840D SL Controllers

David Krause14 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

Problem Overview

Field reports on Siemens SINUMERIK 840D sl 5-axis CNC platforms frequently describe a vibration symptom that is unique to multi-axis contouring: the controller executes a circular or point-to-point part program with no faults reported by contour monitoring or standstill monitoring, yet the slave axes physically oscillate while the programmed contour is in motion. When the same part program is replayed on a 4-axis SINUMERIK 810D controller with identical axis mechanics, the oscillation disappears and the path runs smoothly. The same 840D sl control responds correctly to single-block MDA inputs such as G2 I-70, which rules out drive, encoder, and mechanical failure as the root cause.

This pattern is the classical signature of an interpolator buffer underrun combined with unfavourable position-control to IPO-cycle ratio settings. The condition is invisible to the standard NCK alarms because monitoring is configured against velocity, following error, and position tolerance; it does not detect microscopic start-stop pulses on the participating drives when the interpolator stops producing blocks.

Symptom Matrix

Indicator Observed Value Healthy Value
NCK alarm 10850 (contour monitoring) Not triggered n/a
NCK alarm 25050 (standstill) Not triggered n/a
Following error Within MD 36400 / 32250 envelope n/a
Visible axis oscillation Present on 5-axis path None
Same NC code on 810D (4-axis) Smooth motion n/a
Same NC code in MDA single block (G2 I-70) Smooth motion n/a
NCU load (Service Display) Often > 80% during test < 80% recommended
Interpolator buffer filling level Falls below 95% during short blocks > 95% under heavy short-block programs

The combination of no monitoring alarm, good MDA behaviour, and poor buffer fill level during the loaded test program is diagnostic of an IPO throughput problem rather than a mechanical, drive, or NCK-configured axis problem.

Root Cause Analysis

Why 5-Axis Differs From 4-Axis

A 5-axis contour requires the interpolator to compute the tool-center-point (TCP) vector from two rotary axes and to redistribute the programmed feed into five coordinated axes per IPO cycle. Each block consumes more interpolator arithmetic than a 4-axis or 3-axis block of the same length. On short, point-to-point style blocks written by CAM software for tight tolerance surfaces, the per-block NC code is so small that hundreds of blocks are dispatched per second. The IPO must therefore produce five-axis blocks and TCP vector transformations faster than the position-control cycle can close the loop, otherwise the buffer drains.

Academic work on feedrate interpolation with axis jerk constraints confirms that 5-axis NURBS trajectories are especially sensitive to the kinematic limits of all participating axes; any deviation from a smooth pre-calculated velocity profile produces longitudinal and tangential vibrations that monitoring does not classify as faults (Sencer et al., feedrate interpolation paper, ScienceDirect). A complementary ASME study on five-axis trajectory generation emphasises that real-time synchronisation between linear and rotary axes is the dominant determinant of axis smoothness (ASME Journal of Manufacturing Science, 144(8)). Both findings translate to the same operational conclusion: when the SINUMERIK cannot keep all five paths in step, it produces micro-pauses that surface as vibration.

Position Control and IPO Cycle Relationship

The 840D sl derives its servo and interpolation timing from the system clock (SYSCLOCK) through two integer ratios:

  • MD 10050 $NC_SYSCLOCK_CYC_TIME – system clock base time, typically 0.004 s (250 µs) on a SINUMERIK NCU 720.x.
  • MD 10060 $NC_POSCTRL_CYC_TIME – integer multiple of SYSCLOCK; defines the position control cycle time.
  • MD 10070 $NC_IPO_SYSCLOCK_TIME_RATIO – integer multiple of SYSCLOCK; defines the IPO cycle time.

If the ratio combination produces a position-control cycle shorter than the IPO cycle, the drive receives fresh setpoints every servo cycle even when the IPO has not released a new block. As soon as the IPO empties, the drives are commanded to hold position, which produces the alternating micro-movement observed as vibration. Recommended Siemens service guidance: keep IPO_SYSCLOCK_TIME_RATIO × SYSCLOCK ≥ POSCTRL_SYSCLOCK_TIME_RATIO × SYSCLOCK with an integer factor of 2 or greater so the interpolator is never the limiting bottleneck.

Block Look-Ahead and Buffer Starvation

The interpolator buffer pre-decodes blocks to keep the axis command chain continuous. The relevant machine data are:

  • MD 29000 $MC_LOOKAH_NUM_POINTS – number of pre-decoded points (default 60; increase to 100–150 for short-block 5-axis programs).
  • MD 29010 $MC_LOOKAH_FFORM – feed-form look-ahead; allows the controller to anticipate velocity changes.
  • MD 29020 $MC_LOOKAH_FINHOLD_TOL / MD 29030 $MC_LOOKAH_VEL_TOL / MD 29040 $MC_LOOKAH_ACC_TOL – tolerance bands for smoothing within the look-ahead window.

When the part program is dense in short blocks and the buffer draining exceeds the IPO fill rate, the controller falls back to the last decoded block; the drives execute it, then wait, then execute the next block. The visible result is a low-amplitude oscillation at the natural frequency of the weakest axis.

Contour Mode Selection (G64 / G641 / G642 / G643)

The part-program pre-selection between G64 (continuous-path mode), G641 (soft contour with programmable tolerance), and G642 (rounded contour) has a measurable effect on 5-axis short-block programs:

G-Code Behaviour 5-Axis Recommendation
G64 Continuous path; no tolerance-based smoothing Aggressive; tends to underfill buffer
G641 ADIS=… Smooths with pre-defined tolerance Best general-purpose 5-axis choice
G642 Vector corner smoothing Use when tangentially chained tool paths
G643 Block-internal smoothing Use for short-block programs where block transition is the bottleneck

Programming G643 in conjunction with a COMPCAD (compressor with look-ahead) pre-processor is the highest-throughput combination available on 840D sl for short block 5-axis point-to-point output.

Diagnostic Procedure on the HMI

Step 1 – Reach the System Resources Service Display

  1. From any operating area, press the Menu Select key to reach the basic menu.
  2. Press the Diagnostics softkey.
  3. Press the Service Displays softkey.
  4. Press the System Resources softkey.

The NCU Load panel shows two key percentages:

  • Position control + interpolator load – Siemens service limit: ≤ 80%.
  • Interpolator buffer filling level – Siemens service limit when the part program contains many short blocks: ≥ 95%.

Step 2 – Run the Test Program and Capture Both Values

Start the loaded circular or short-block program and let it execute at production feedrate while reading both indicators for at least 30 seconds. Capture the lowest observed buffer filling level (the figure can dip during tight corners). If the value falls below 95% while NCU load rises above 80%, the bottleneck is interpolator throughput, not the drives or mechanics.

Step 3 – Cross-Check the Servo Bus Trace

While monitoring, additionally navigate to Diagnostics → Service Displays → Axis/Spindle and check each of the five participating axes for:

  • Following error at MD 32250 $MA_POSCTRL_GAIN (Kv) response – an oscillating following-error waveform of small magnitude confirms buffer underrun rather than drive gain mismatch.
  • Torque ripple below 2% nominal – rules out mechanical resonance.

Machine Data Adjustments

WARNING: All MD modifications must be authorised by the machine builder (OEM). Improper edits to $NC_… or $MN_… machine data can produce axis runaway. Always back up the original values with the commissioning archive before any change.
Machine Data Parameter Default Recommended for 5-Axis Short-Block Programs
MD 10050 $NC_SYSCLOCK_CYC_TIME 0.004 s OEM-defined; do not edit without OEM authorisation
MD 10060 $NC_POSCTRL_CYC_TIME_RATIO 1 1 (keep)
MD 10070 $NC_IPO_SYSCLOCK_TIME_RATIO 4 4 or higher; ensure IPO ≥ 2 × POSCTRL
MD 29000 $MC_LOOKAH_NUM_POINTS 60 100–150 (after OEM approval)
MD 29010 $MC_LOOKAH_FFORM 0 1
MD 29020 $MC_LOOKAH_FINHOLD_TOL 0.0 0.01 (mm)
MD 29030 $MC_LOOKAH_VEL_TOL 0.0 0.05 (relative)
MD 29040 $MC_LOOKAH_ACC_TOL 0.0 0.05 (relative)
MD 20480 $MC_SMOOTHING_FEED — Set to active FEED range; see note on G641/G642
MD 42300 $MC_MIN_CONTOUR_TIME — Verify not below axis granularity
MD 32400 $MA_AX_JERK_ENABLE 0 Enable jerk limitation on rotary axes
MD 32410 $MA_AX_JERK_TIME 0.01 s Tune to match mechanical response

Position-Control / IPO Ratio Rule of Thumb

Verify the integer chain on the live system:

  1. Open Diagnostics → Service Displays → System Resources.
  2. Note the position-control cycle time displayed (typically 1.0 ms on NCU 720 / 730).
  3. Compute the IPO cycle time as MD 10070 × MD 10050; require ≥ 2 × position-control cycle.

Example chain (NCU 720.2, default):

  • System clock: MD 10050 = 0.004 s = 4 ms (intentionally non-standard example for clarity).
  • Position control: MD 10060 = 1 × 4 ms = 4 ms.
  • IPO: MD 10070 = 4 × 4 ms = 16 ms.
  • Buffer margin: 16 / 4 = 4, which is acceptable; if the field service data shows MD 10070 = 2, the margin collapses and vibration is likely.

Step-by-Step Resolution

1. Confirm the Diagnosis

Before any parameter change, capture the two key indicators (NCU load ≤ 80% and IPO buffer filling level ≥ 95%) during the failing program. Document the values, the cycle, and the part program block count for comparison after each modification.

2. Increase the Look-Ahead Window

With the OEM in the loop, increase MD 29000 from the default value to 100 and re-run. If the buffer still falls below 95%, escalate to 150. Each step requires a controlled dry run with all five axes monitored for alarms and following-error deviation.

3. Activate Look-Ahead Smoothing Tolerances

Set MD 29010, 29020, 29030, and 29040 to the values shown in the table above. These four MDs together allow the controller to pre-smooth velocity transitions inside the look-ahead window, reducing micro-blocks dispatched per second to the drives.

4. Switch to G641 ADIS=0.05 in the Part Program

Replace G64 with G641 ADIS=0.05 (or whatever tolerance the part allows). ADIS is the smoothing distance in mm; the OEM can also default it via MD 20480 $MC_SMOOTHING_FEED. For programs where the contour requires tight tolerance, consider G642.

5. Verify the MD 10070 Ratio

Confirm that the IPO cycle remains a multiple of the position-control cycle equal to at least 2. If the field service data shows otherwise, escalate to the OEM for a firmware and configuration review, as the change usually cascades into drive, PROFIBUS/PROFINET, and safety-integrated settings.

6. Enable 5-Axis Specific Smoothing

For 5-axis kinematics, activate the ORISON or ORIVECT transformations with the smoothing path that suits the machine kinematics. These are part of the 5-axis option package on 840D sl (MLFB 6FC5800-0ASxx-xxx family) and can be commissioned through the controller's start-up menu.

7. Iterate the Verification Cycle

After each change, run the loaded test program, re-capture NCU Load and Interpolator Buffer Filling Level, and plot the lowest buffer level seen. Stop tuning when the lowest buffer value is consistently above 95% on the most demanding 5-axis path.

Verification

Quantitative Pass Criteria

  • NCU Load (pos. ctrl + IPO): ≤ 80% with adequate margin for production peaks (Siemens guideline).
  • IPO Buffer Filling Level: ≥ 95% during all test programs including the one that previously vibrated.
  • Following error on all five axes: ripple < 5% of MD 36400 / 32250 tolerance band, no oscillations aligned with block boundaries.
  • Contour monitoring and standstill monitoring: still no false-positive alarms.

Circularity Test

Execute a 50 mm radius circular test with the dial indicator perpendicular to the table centre on a calibrated test mandrel. Acceptable circularity for the SINUMERIK reference is typically 10 µm for 5-axis engraving-class machines and tighter for high-precision platforms. Compare the result against the 4-axis 810D baseline to confirm axis mechanics are healthy.

Long-Part Program Test

Run the originally failing part program with the same tool and feedrate. Observe whether:

  1. No audible vibration is present when the spindle is at the operating RPM.
  2. The servo-power percentage on each rotary axis remains smooth (no rapid ramp/collapse pattern).
  3. The volumetric accuracy (3-D ballbar) at the TCP is within the OEM's specification.

Why the Same Program Runs Smoothly on 810D

The 810D and 840D sl share the same NCK software family, but several architectural differences affect 5-axis performance:

Characteristic SINUMERIK 810D SINUMERIK 840D sl
NCU (Numeric Control Unit) Integrated CCU/NCU Separate NCU 710/720/730
Drive bus PROFIBUS DP PROFINET / PROFIBUS (depending on configuration)
5-axis option Optional Standard with most option packages
Position control cycle (typical) 2 ms 1 ms or faster
Look-ahead depth (default) 60 60 (identical)
Buffer underrun susceptibility on short blocks Lower (slower servo lets IPO catch up) Higher (faster servo outpaces IPO fill on the shortest cycles)

The 4-axis machine with 810D may simply have a longer position-control cycle that allows the IPO more headroom per cycle. The 840D sl on the 5-axis machine, with its faster servo loop, demands proportionally more from the interpolator and exposes any look-ahead deficit. This architectural fact does not mean the 840D sl is incorrectly configured; it means the 5-axis commissioning must treat the IPO buffer as a first-class tuning target.

Advanced Diagnostics

Trace Recording with Trace System (TG2)

The integrated trace system (menu Diagnostics → Trace → Curve Recorder on recent HMI versions) can record Position Command Value, Position Actual Value, Velocity Command, and Velocity Actual at the IPO clock rate. Filter the trace on the IP block ID and you can see whether the controller pauses between block deliveries.

Cross-Communication via PROFINET

On PROFINET-equipped 840D sl systems, the drive update time and the PROFINET IRT cycle must support the position-control frequency. Verify that the configured PN send clock is not greater than the position-control cycle time, otherwise the bus becomes the bottleneck. Siemens service guidance for 5-axis PROFINET IRT installations is to use ≤ 500 µs send clock with 4 × reduction for the position-control cycle.

Firmware and Option Bundle Check

Confirm with the OEM that:

  • NCU firmware matches a release where 5-axis short-block performance has been officially validated (verify against the OEM commissioning logbook).
  • The 5-axis transformation package, the Look-ahead, and the COMPCAD options are licensed and active on the CF card.
  • Drive firmware on all five axes is at the same level; mixed levels on a 5-axis machine can produce latency-mismatch oscillation.

Field-Proven Best Practices

  1. Treat the IPO buffer as a measurement, not a parameter. Always read it under the worst-case test program before claiming a 5-axis problem is solved.
  2. Use COMPCAD or COMPCURV at CAM post. These pre-processors convert short segments into higher-order blocks; once compiled into G-code, the part program off-loads work from the on-line interpolator.
  3. Keep rotary axes out of the active look-ahead tolerance band when they are static. If a rotary axis has no programmed motion in a region, lock the smoothing tolerance on it via the OEM's 5-axis configuration to keep its block density down.
  4. Default to G641 ADIS= for 5-axis CAM output. G64 plus thousands of short blocks is the recipe for buffer underrun on a 5-axis tool path.
  5. Document the NCU load profile per part program. It is far easier to justify an upgrade or a CAM post change with a captured trace than with anecdotal complaints.
  6. Coordinate with the OEM on every parameter that touches cycle times. Anything that modifies MD 10050, MD 10060, or MD 10070 cascades into safety-integrated and PROFIsafe timing budgets.

Safety and Compliance Notes

  • Always operate the machine in Dry Run mode for the first execution after any MD edit.
  • All SINUMERIK safety functions (Safety Integrated, SINUMERIK Safe Operations, F-PLC, PROFIsafe) have their own timing budgets. Do not increase IPO frequency without verifying safety functions remain within cycle.
  • Maintain a controlled archive of every MD file: *.ARC for NCK drive, *.ARC for HMI, and PLC backup. The Siemens Industry Online Support portal publishes the latest commissioning notes for SINUMERIK 840D sl option packages and should be consulted before any field change.

Frequently Asked Questions

Does the absence of a contour-monitoring alarm prove that the drives and mechanics are healthy?

No. Contour monitoring only flags when the actual position deviation exceeds the threshold set in MD 36400 or the velocity deviation exceeds MD 32250. A buffer underrun produces micro-movements that stay inside both bands. Always cross-check with the IPO buffer filling level before concluding that the mechanics are at fault.

What NCU load percentage is acceptable on a 5-axis 840D sl?

Siemens service guidance is to keep the position-control plus interpolator load below 80% during normal production runs. Above 80%, the controller can no longer guarantee worst-case block processing and is at risk of producing micro-pauses that look like vibration at the TCP.

Should I change MD 10050 (SYSCLOCK) or MD 10070 (IPO ratio) without the OEM?

No. Both machine data cascade into position control, drive bus timing, Safety Integrated, and PROFIsafe budgets. Any edit must be performed under OEM supervision and validated against the safety acceptance test plan. The right first step is to query the values currently loaded and ask the OEM whether they match the validated commissioning set.

Is COMPCAD available on the standard 810D, or only on 840D sl?

COMPCAD and the OPT_CAD look-ahead option are licensed options on both 810D and 840D sl. On a 5-axis machine they are effectively mandatory because they pre-process short blocks before they reach the interpolator. Activate the option in the configuration menu and verify the licenses by reading the option file /siemens/sinumerik/cardsetup/options.lst.

Why does the same G-code run smoothly in MDA single block but vibrate in AUTO mode?

MDA single blocks run a block, wait for operator confirmation, and then run the next. They never stress the interpolator buffer because the next block is delivered only after the operator's input. AUTO mode runs continuously; this exposes any deficiency in IPO throughput, look-ahead depth, or position-control timing. The MDA observation is therefore a strong indicator of an IPO bottleneck rather than an axis or mechanical problem.

Back to blog