Fixing SINUMERIK 840D Spindle Alarm 700114 After Gearbox Change

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

Fixing SINUMERIK 840D Spindle Alarm 700114 After a Single-Speed Gearbox Conversion

Alarm 700114 "Spindle - Motor/Spindle is different" on a SINUMERIK 840D / 840D sl control almost always points at a mismatch between the two speed/position channels available on a spindle with a motor encoder (encoder 0) and a spindle-mounted encoder (encoder 1). After a mechanical conversion — for example, swapping a two-stage gearbox for a single-stage unit — the alarm frequently appears within the first second of any M3/M4 command. This article walks through the root cause, the exact machine data (MD) blocks that must be re-parameterised, and a commissioning procedure that restores stable spindle operation without losing the position-monitoring safety net.

Reference document: The behaviour described here is consistent with the OEM documentation SINUMERIK 840D sl / 828D Basic Functions (ID 74613000). Always cross-check parameter semantics against the machine-specific commissioning manual before writing to the NCK.

1. Problem Summary

A spindle originally equipped with a two-step gearbox (load ratios 14.901 and 3.031) is mechanically converted to a single-step gearbox with a load ratio of 7.79. Both encoders remain fitted:

  • Encoder 0 (motor encoder) on the motor shaft
  • Encoder 1 (direct measuring system) on the spindle side of the gearbox

The operator updates the load-gear ratio machine data and disables the gearbox-change logic so the spindle always operates in gear stage 1. Positioning moves (SPOS) appear healthy: both encoders count up consistently and the spindle reaches the commanded angular position. The fault appears the instant an open-loop speed command (M3 / M4) is issued:

  • Spindle accelerates normally
  • After ~1 second, user alarm 700114 Spindle - Motor/Spindle is different is raised
  • The alarm clears only with reset/clear-channel
  • Subsequent analysis shows the alarm correlates 1:1 with a following error > 1 degree between the motor encoder and the spindle encoder

The PLC program that generates alarm 700114 is locked (know-how-protected), so the engineer cannot read the comparison logic directly. This is a typical situation on machine tools sold with protected PLC logic.

2. Alarm 700114 — Definition and Trigger Conditions

The 700000 alarm range is reserved for user / OEM-defined alarms programmed in the PLC. Alarm number 700114 is not a Siemens default alarm; it is generated by a user FB/FC that compares the motor-encoder position (encoder 0) with the spindle-encoder position (encoder 1) and raises the alarm when the deviation exceeds a threshold. From the field evidence:

  • The threshold in the protected PLC is 1 degree of mechanical spindle angle.
  • The check is active only in spindle (speed) mode, not in SPOS positioning mode.
  • The check becomes active roughly 1 s after M3/M4 — the same delay used by the OEM to mask the ramp-up phase.

This means the alarm is the visible symptom; the real fault is whatever produces a sustained >1° difference between the two encoders when the spindle is rotating.

3. Spindle Encoder Architecture in 840D

A spindle on the 840D with two encoders always uses:

  • Encoder 0 (motor measuring system) — typically a high-resolution sin/cos or EnDat encoder on the motor, used for current/speed/position control inside the drive.
  • Encoder 1 (direct measuring system) — typically a coarser encoder mounted on the spindle proper, used for thread cutting, SPOS positioning, and feed-per-revolution synchronization.

Both encoders are scaled into the same load-side coordinate system by a pair of machine data. When the physical gearbox changes, those scaling factors must be re-entered — otherwise the NCK will interpret one of the encoders as if the mechanical ratio were unchanged and the position cross-check inside the OEM PLC will diverge.

4. Spindle Gear Stage Machine Data

For a multi-stage gearbox the relevant blocks are:

Machine Data Symbolic name Meaning Effect of gearbox swap
MD35090 $MA_NUM_GEAR_STEPS Number of configured gear stages Change 2 → 1; verify MD35092 is consistent
MD35092 $MA_NUM_GEAR_STEPS2 Second parameter set for stage count (driven tools, etc.) Match MD35090 if not used for a second spindle
MD35110[0..n] $MA_GEAR_STEP_MAX_VELO Upper switching speed per stage Only one stage required; set to max spindle RPM
MD35120[0..n] $MA_GEAR_STEP_MIN_VELO Lower switching speed per stage Single stage: 0 → max
MD35200[0..n] $MA_GEAR_STEP_SPEEDCTRL_ACCEL Acceleration in speed mode per stage Tune for the new inertia ratio
MD35210[0..n] $MA_GEAR_STEP_POSCTRL_ACCEL Acceleration in position mode per stage Tune for SPOS / axis-mode entry

The gearbox-change enable itself is switched off by setting:

  • MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 0 — disables automatic stage change

With MD35010 = 0, the spindle stays permanently in the gear stage defined by the active stage bit (gear stage 1 by default), which matches the new mechanical reality.

5. Load Gear Ratio — MD31050 / MD31060

The two machine data that physically scale the encoder counts into spindle revolutions are:

MD Function Original (2-stage) New (1-stage)
MD31050 Numerator of the load-gear ratio (motor side / encoder-0 side) 1000 100
MD31060 Denominator of the load-gear ratio (spindle side / encoder-1 side) 14901 (stage 1) / 30310 (stage 2) 779

The resulting mechanical ratio is:

  • Stage 1 (original): 14901 / 1000 = 14.901 ✓
  • Stage 2 (original): 30310 / 1000 = 30.31 (verify against nameplate — possible second-stage ratio of 3.031 if the OEM used a different scaling convention)
  • New single stage: 779 / 100 = 7.79 ✓
Direction of ratio: Confirm the convention on your control version. Some SW releases use 31050 as the spindle-revolution count and 31060 as the motor-revolution count; the resulting physical ratio (7.79) is identical but the numerator/denominator assignment differs. The new value must produce the same mechanical ratio that the new gearbox nameplate specifies — never copy the old value across.

6. Root Cause of Alarm 700114

After the gearbox swap and the ratio change, three independent mismatches are possible:

  1. Encoder-0 / encoder-1 ratio incorrect — if 31050 / 31060 is left at the old 2-stage values, the NCK continues to expect 14.901 (or 3.031) but the mechanics deliver 7.79. The two position channels will diverge steadily and the OEM monitor fires 700114.
  2. Gear-stage switching still active — the OEM FB may re-evaluate the gear stage on every M3/M4. If 35010 is still 1 and the stage bits are wrong, the controller expects a ratio from stage 2 even though the gearbox only has one stage. The protected PLC re-checks the encoder deviation immediately and the alarm fires.
  3. Spindle encoder direction inverted — physically mounting the new gearbox can invert encoder 1's count direction. The discrepancy is symmetrical around the commanded velocity and the monitor reacts to the steady-state following error.

Updating 31050 and 31060 alone is not sufficient; the engineer must also confirm that:

  • The gearbox change has been disabled (MD35010 = 0) or stage bit is forced to stage 1
  • Encoder 1's direction bit (MD32110 $MA_ENC_FEEDBACK_POL = 1 if needed) is correct
  • Both encoders reference the same machine zero with MD34090 $MA_REFP_MOVE_DIST_CORR or equivalent

7. Standstill Velocity Tolerance — MD36060

Once the ratio and stage logic are corrected, a second issue commonly surfaces:

The spindle actual value does not start to count before the speed exceeds the value in MD36060 STANDSTILL_VELO_TOL (default 10). The program halts even though the operator can still raise the speed above 10 RPM and the actual value begins to track.

MD36060 is the threshold below which the NCK treats the spindle as mechanically stopped. Below this velocity:

  • Position monitoring is suppressed
  • Encoder 0 and encoder 1 are not actively compared for "running" deviation
  • Many OEM PLCs gate the actual-value update on a spindle_running flag derived from MD36060

After the gearbox change, the higher inertia or the lower minimum speed of the new gearing can keep the spindle hovering below 10 RPM during the programmed ramp. The OEM PLC therefore never sees a "running" spindle, the actual-value cross-check never starts, and the part program halts.

8. Tuning the Standstill Window

Two coordinated changes are typically required:

  1. Reduce MD36060 to a value just above the lowest controllable spindle speed (for example 1.0 to 2.0 RPM for a modern 12 000 RPM spindle).
  2. Reduce MD36030 $MA_STANDSTILL_POS_TOL in proportion so that the standstill check still rejects an actual drift above the angular noise floor.

Aggressive lowering of MD36060 below ~0.5 RPM is not recommended on drives with measurable torque ripple — the controller will flag false-positive "spindle running" events during a real stop.

9. The OEM User-Data Flag — MD14510 $MN_USER_DATA_INT[20]

The user in the field case found that the protected OEM PLC exposes a single enable bit in machine data:

MD14510 $MN_USER_DATA_INT[20] = 0 — disables the encoder-deviation monitor (alarm 700114)

This is a known OEM pattern: a private integer in the global user-data array is used as a feature-disable flag so that the alarm logic can be switched off without touching the protected FB. Setting $MN_USER_DATA_INT[20] = 1 re-enables the comparison.

Risk: Disabling the encoder-deviation monitor removes a safety cross-check between the two spindle encoders. Use it only as a temporary diagnostic tool to confirm the alarm source, then either re-enable it after fixing the underlying ratio / standstill issue, or replace the disable flag with a properly tuned threshold inside the protected PLC.

10. Step-by-Step Resolution Procedure

  1. Back up the current NCK: HMI → Start-up → Archive → NCK / Drive / PLC. Store the archive offline.
  2. Confirm the new mechanical ratio from the gearbox nameplate. For a 7.79 ratio, use 31050 = 100 / 31060 = 779 (or the inverted convention on your SW release).
  3. Write the new load-gear ratio in Start-up → Machine Data. Do not use the dialog's "calculate from ratio" wizard if the OEM has customised the field — enter the integer numerator and denominator directly.
  4. Disable gear-stage switching by setting MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 0, or by forcing the stage bits to stage 1 if the application uses an external stage selector.
  5. Verify encoder direction. With the spindle in axis mode, jog a small angle in JOG+ and confirm both encoder 0 (display in MD31070 $MA_DRIVE_AX_RATIO_DENOMINA / SERVO trace) and encoder 1 (display in MD31110 $MA_ENC_2_SCALE) count the same sign.
  6. Reduce MD36060 STANDSTILL_VELO_TOL to ~1.0 RPM and MD36030 STANDSTILL_POS_TOL to ~0.5° for the commissioning pass.
  7. NCK reset and re-reference all axes including the spindle.
  8. Test open-loop speed with M3 S100, M3 S500, M3 S1500, M3 S3000. Watch SERVO trace actSpeed1 and actSpeed2; the deviation must stay below 0.5° equivalent at constant speed.
  9. Test SPOS positioning with SPOS=0, SPOS=90, SPOS=180, SPOS=270 to confirm the angular cross-check holds in positioning mode.
  10. Re-enable the OEM monitor: set MD14510 $MN_USER_DATA_INT[20] = 1 and re-run the same M3 profile. If 700114 still fires, repeat the ratio / direction check. If it is clean, archive and close out.

11. Verification Checklist

Check Method Pass criteria
Mechanical ratio in NCK SERVO trace nactd vs actSpeed2 at constant S-value Identical RPM within 0.5 %
Direction match SPOS 0° → 90° with motor uncoupled Both encoders advance 90°
Standstill window M3 S5 (below 10 RPM threshold) then M3 S500 Actual value updates as soon as S > MD36060
Following error in speed mode SERVO trace followErr in axis mode and actSpeed2 - setSpeed in spindle mode < 1° equivalent at all programmed RPM
OEM monitor re-enabled MD14510[20] = 1, full M3/M4/M5 cycle No 700114 alarm
Thread / G95 sanity G33 with feed/rev at S100 No 700114, no 31100/31101 axis alarms

12. Related Machine Data to Audit After Any Gearbox Conversion

MD Symbolic name Why it matters after the swap
MD31044 $MA_ENC_2_IS_DIRECT Confirms encoder 1 is the load-side (spindle) encoder
MD31064 $MA_DRIVE_2_AX_RATIO_NUMERA Numerator of the second encoder's load ratio (some SW versions)
MD31066 $MA_DRIVE_2_AX_RATIO_DENOMINA Denominator of the second encoder's load ratio
MD31070 $MA_DRIVE_ENC_RATIO_NUMERA / DENOMINA Encoder-to-motor coupling ratio (typically 1:1 but verify after motor swap)
MD32110 $MA_ENC_FEEDBACK_POL Direction inversion for encoder 0
MD32120 $MA_ENC_2_FEEDBACK_POL Direction inversion for encoder 1
MD32200 $MA_POSCTRL_GAIN (Kv) Position-loop gain must be retuned for the new inertia
MD36000 $MA_STOP_LIMIT_COARSE Standstill coarse threshold (analog to 36030 but coarser)
MD36010 $MA_STOP_LIMIT_FINE Standstill fine threshold
MD36012 $MA_STOP_LIMIT_DELAY Standstill dwell time
MD36020 $MA_POSITIONING_TIME Time window for SPOS detection
MD36030 $MA_STANDSTILL_POS_TOL Standstill position tolerance
MD36040 $MA_STANDSTILL_DELAY_TIME Standstill monitor delay
MD36050 $MA_STOP_ON_PATH_DWELL Dwell time for path-stop check
MD36060 $MA_STANDSTILL_VELO_TOL Spindle-speed threshold above which "running" is signalled
MD36400 $MA_CONTOUR_TOL Contour monitoring tolerance — adjust for the new Kv

13. Diagnostic Trace Setup

To make the 1-degree threshold visible, configure a SERVO trace on the spindle drive:

Trace channel set 1 (8 kHz, 4 s):

  • nactd — actual speed from encoder 0 (motor)
  • actSpeed2 — actual speed from encoder 1 (spindle)
  • setSpeed — speed setpoint
  • followErr — position following error in spindle degrees

Trigger on followErr > 0.5°. A healthy system shows the following error saturating below 0.3° within the first 200 ms; if it climbs past 0.8° and is clipped by the OEM monitor at 1.0°, the ratio or direction in MD31050 / MD31060 (or MD32110 / MD32120) is wrong.

14. Common Pitfalls After a Gearbox Swap

  • Leaving MD35010 = 1: the OEM stage-change logic still tries to switch and the alarm fires on the first M3.
  • Forgetting the second encoder: only updating 31050 / 31060 leaves encoder 1 unscaled. Always confirm MD31064 / MD31066 if your SW release uses them.
  • Inverting the ratio: 7.79 entered as 100/779 instead of 779/100 produces a position command of 7.79× the actual rotation. The cross-check trips immediately.
  • Over-tight standstill window: MD36060 = 0.1 RPM on a real drive produces continuous false "running" events and noisy behaviour.
  • Permanently disabling the OEM monitor: setting MD14510[20] = 0 makes the symptom disappear but removes a real safety cross-check. The right fix is to tune the ratio and the standstill window, not the alarm.

15. Why Position Mode Worked but Speed Mode Failed

This is a useful diagnostic signature. In SPOS / axis mode:

  • The position controller drives the spindle to a target angle
  • The closed loop nulls out any constant position error
  • Encoder 0 and encoder 1 agree at the end-position by construction

In M3 / M4 speed mode:

  • No angular target exists
  • Encoder 0 and encoder 1 are compared during rotation
  • Any steady-state scale error (e.g. 7.79 reported as 14.901) shows up as a continuous 0.5–1° drift per revolution
  • The OEM monitor sees the drift accumulate and fires 700114

This pattern — "SPOS works, M3/M4 alarms" — is therefore a near-certain indicator of a load-gear ratio or encoder-direction error rather than a drive or motor fault.

16. Long-Term Recommendation

Once the alarm is eliminated, perform a documented MD review:

  1. Print or export all spindle machine data (35000…35230, 31040…31080, 36000…36060).
  2. Stamp the printout with the gearbox part number and the date of the conversion.
  3. Add a comment line in the archive comment field (MD11220 $MN_MD_FILE_MEM[0]) describing the conversion.
  4. Schedule a 6-month SERVO-trace review to confirm the following error remains inside the tuned envelope as the gearbox wears.

The combination of correctly scaled load-gear machine data, a properly disabled or re-enabled gear-stage switch, and a standstill window tuned to the new mechanics turns alarm 700114 from a recurring nuisance into a one-time commissioning event.

What does SINUMERIK alarm 700114 "Spindle - Motor/Spindle is different" mean?

700114 is an OEM/user alarm, not a Siemens default. The machine builder's protected PLC compares the motor encoder (encoder 0) with the spindle-mounted encoder (encoder 1) and raises 700114 when their deviation exceeds a threshold — typically 1° on legacy machine tools.

Which machine data define the load-gear ratio on a 840D spindle?

The load-gear ratio is set in MD31050 (numerator) and MD31060 (denominator). For a 7.79 mechanical ratio, set 31050 = 100 and 31060 = 779, or the inverse convention on your SW release, so that 31060 / 31050 = 7.79.

Why does positioning work but M3/M4 raises 700114?

SPOS drives the spindle to a target angle and nulls the cross-check by construction. M3/M4 runs an open-loop speed with no angular target, so a steady-state scale or direction error between the two encoders produces a continuous drift that the OEM monitor detects and flags.

How do I silence alarm 700114 without modifying the protected PLC?

Set MD14510 $MN_USER_DATA_INT[20] = 0 to disable the OEM comparison. Treat this as a temporary diagnostic step only — it removes a real safety cross-check and should be re-enabled (MD14510 $MN_USER_DATA_INT[20] = 1) once the underlying ratio and standstill tuning is correct.

What value of MD36060 STANDSTILL_VELO_TOL should I use after the gearbox swap?

Lower it to 1.0–2.0 RPM for a typical 12 000 RPM spindle and re-tune MD36030 STANDSTILL_POS_TOL in proportion. Avoid going below ~0.5 RPM, otherwise drive torque ripple triggers false "spindle running" events during a real mechanical stop.

Back to blog