Resolving SINUMERIK 802D "Wait for Spindle" Alarm During G01

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

Resolving the SINUMERIK 802D "Wait for Spindle" Alarm During G01 Feed Moves

Field symptom: The NC channel displays the message Wait for spindle (sometimes rendered as Spindel fehlt or logged as alarm 16750/16751 family) as soon as a linear feedrate block such as G01 X200 F100 is decoded. G0 X200 rapid traverse executes normally. No secondary alarm is raised. The block remains active in the interpolator; the axis holds position. This is one of the most frequently misdiagnosed conditions on the SINUMERIK 802D, 802D sl, and the related 810D/840D controllers that share the same spindle-plug place.

1. Problem Definition

The Wait for spindle message is not a free-standing alarm but an interpolator hold condition. The control has decoded a block that requests an axis movement combined with a feedrate, and it is waiting for the spindle to reach the configured "spindle-on-speed" window before releasing the IPO (interpolator). Because rapid traverse (G0) does not require spindle synchronization, it executes normally even when the spindle has not yet reported in setpoint range.

Two distinct behaviors are seen in the field:

  • Block holds indefinitely: The channel stays in the same block; the override is 100%, and the START LED on the MCP remains green. This is the classic encoder-feedback problem.
  • Block releases after a fixed delay: The axis traverses after a few hundred ms even though the spindle is clearly not at the programmed RPM. This indicates that the relevant machine data is mis-configured rather than the hardware being broken.

2. Affected Controllers and Firmware

Controller Minimum SW Version Notes
SINUMERIK 802D SW 1.x through SW 3.x Original 802D without solution line; subject of the original report.
SINUMERIK 802D sl SW 1.0 and later Solution-line version; same MD numbers (35150/35500) apply.
SINUMERIK 810D SW 2.x and later Same spindle IPO-interlock concept; MD 35500 also present.
SINUMERIK 840D / 840D sl All NCU versions Identical MD semantics; useful when migrating legacy programs.

The MD numbers (35150, 35500) are stable across the entire SINUMERIK family and are documented identically in the SINUMERIK 802D Parameter Manual (Programming and Operating Manual, 06.2006 Edition).

3. Root Cause Analysis

The Wait for spindle interlock is governed by the bit-coded machine data MD 35500 $MA_SPIND_ON_SPEED_AT_IPO_START. The position-control sampling of the spindle actual speed is compared against the setpoint window defined by MD 35150 $MA_SPIND_DES_VELO_TOL. The IPO will not release the next block if:

  1. The spindle is in the setpoint range monitor and has not yet reported the n_act = n_set bit, AND
  2. The MD 35500 value requires this confirmation before any feed move or before any movement at all.

The two most common underlying causes on the 802D are listed in the order of field frequency:

  1. Missing or invalid spindle encoder feedback. The drive returns the torque or the speed estimator value but the position-actual-value generator in the 611U/DriveCliQ path is not updating. The control never sees the spindle reach the configured window.
  2. Wrong PPR (pulses per revolution) configuration. The encoder is wired and the drive detects the signals, but the line count is set incorrectly (e.g. 1024 vs 2048 vs 2500) so the calculated speed is off by 2×, 2.5×, etc. The measured speed oscillates around the window boundary and never settles.
  3. Loose coupling between spindle and encoder. A worn or slipping pin in the encoder coupling produces a noisy speed signal with frequent n_act = 0 interrupts.
  4. MD 35500 set to 1 or 2 while no encoder is fitted (open-loop V/f spindle). The drive can never report the spindle-on-speed bit because no closed-loop speed loop exists.
  5. MD 35150 set too tight. The window is narrower than the speed ripple of the drive.

4. Key Machine Data Reference

MD Number Identifier Default Range Description
MD 35150 $MA_SPIND_DES_VELO_TOL Spindle setpoint speed tolerance 0.1 (10 %) 0.0 – 1.0 (fractional) Defines the symmetrical window around the programmed speed S that must be reached before spindle-on-speed is reported. 0.1 means ±10 %. A value of 0 disables the check (recommended only for commissioning).
MD 35500 $MA_SPIND_ON_SPEED_AT_IPO_START Spindle on speed at IPO start 2 0, 1, 2 0 = no interlock; 1 = block change to feed block only after spindle is on speed; 2 = no axis motion of any kind until spindle is on speed. (G0 is also blocked in mode 2 on the 802D.)
MD 35400 $MA_SPIND_ON_SPEED_THRESHOLD Threshold for the spindle-on-speed signal (HUGO MD) 1.0 0.0 – 1.0 Alternative threshold; used in newer firmware builds together with MD 35150.
MD 36200 $MA_AX_VELO_LIMIT (per axis) Axis velocity limit Machine-specific mm/min or rev/min Must be greater than the actual rapid traverse value; if the IPO cannot physically release a block within the watchdog time, alarms 16750/16751 may appear.

For the SINUMERIK 802D specifically, the spindle-related machine data is grouped under axis-specific MD and lives in the spindle's logical axis slot (typically AX3 or AX4). The 802D Parameter Manual lists 1,000+ MDs; the spindle-on-speed check is the same regardless of the physical slot.

5. Encoder Feedback Path on the 802D

The 802D uses a Siemens SIMODRIVE 611U converter with an integrated spindle module, or the SINAMICS S120 Combi on the 802D sl. In both cases the encoder signals travel on a 15-pin Sub-D connector to the closed-loop control module, and the zero-mark reference and incremental track must be live. The control's status page in Diagnosis > Spindle shows four key values that should be recorded before any MD change:

Display Healthy Reading Failed Reading
n_act (actual speed) Tracks setpoint within tolerance window Jumps erratically, shows 0, or shows negative when positive programmed
Position actual (degrees) Increments smoothly with rotation Stuck on 0.0°, jumps in 360° steps, or shows constant drift
Encoder line count (PPR) Matches the data sheet of the encoder (1024 / 2048 / 2500 / 5000) Defaulted to 2048 by commissioning while encoder is 1024
Zero-mark events One per spindle revolution Zero, multiple per rev, or noisy from coupling play

Refer to the SINUMERIK 802D sl Function Manual Spindles for the exact screenshots and field values.

6. Cable, Connector, and Coupling Checks

More than half of the field incidents reported under the banner "wait for spindle" resolve to one of the three physical items below. Run them before re-loading default machine data.

  1. X411 / X412 cable integrity. Pull the 15-pin Sub-D on the 611U/Combi side and the spindle encoder side. Check pins 1 (A+), 2 (A-), 3 (B+), 4 (B-), 5 (R+), 6 (R-) and 15 (encoder 0V). Shield must be bonded on one side only. A continuity test should show < 1 Ω between A+ and A- terminated at the drive end with 110 Ω (the differential termination of the RS-422 receiver).
  2. Coupling play. Grip the encoder housing by hand and rotate the spindle slowly by the draw bar (motor de-coupled). A measurable > 0.2 mm of slack, or any audible click, indicates the encoder coupling is worn. The n_act trace will show step changes; the spindle-on-speed bit will flicker.
  3. Shielding and grounding. The encoder cable must not share a trough with VFD output wiring. Spurious pulses from PWM common-mode voltages will corrupt the line count and pull the speed signal to noise.
A documented alternative when no encoder is available is to switch MD 35500 to 0 and rely on the PLC's spindle ready flag. This is acceptable for drilling spindles in light-duty applications, but it bypasses a safety feature and should be signed off by the machine builder.

7. Software Configuration Procedure

Once the encoder path is verified, configure the MDs with the control in Commissioning > Machine Data > Axis-Specific. On the 802D, you must enter the Siemens access password (default 1111 on early firmware, custom on later builds) before the file is write-enabled.

  1. Set MD 35150 = 0.1 for ±10 % tolerance. Tighten to 0.05 for fine-finish turning where the cut depth is small and the chip load varies.
  2. Set MD 35500 = 1 for milling/turning where the spindle must be at speed only when a feed block starts. Set MD 35500 = 2 for tapping or thread-cutting where even G0 would be catastrophic. Set MD 35500 = 0 only on a non-driven rotary axis (e.g. a 4th axis indexer).
  3. Save with NCK Reset to activate.
  4. Run S1000 M3 and verify that spindle on speed lights in the spindle status page before issuing G01.

8. Step-by-Step Diagnostic Procedure

The following order preserves evidence and avoids masking of the root cause. Run all steps in sequence and stop at the first reproducible result.

  1. Capture the alarm environment. From the operator panel, navigate to Diagnosis > Alarm Log and save the last 32 events. Note the active MD file and the channel number.
  2. Verify encoder signal at the control. Manually rotate the spindle by hand (motor de-energized). On the Spindle Service screen, confirm that the position-actual value advances. If it does not, the problem is the cable/encoder hardware.
  3. Check PPR. Read the drive parameter p0408 on a SINAMICS S120 system or the MD 30300 on the 802D for the encoder line count. Compare with the encoder nameplate. A 1024 PPR encoder configured as 2048 PPR will report 50 % speed at the actual 100 % mechanical rotation.
  4. Check MD 35500. Read the current value. If 1 or 2 and the spindle is a V/f open-loop drive (no encoder), the condition is permanent and expected. Set to 0 or fit an encoder.
  5. Check MD 35150. A value of 0 disables the window entirely. A value above 0.5 is unusually wide and may mask speed-sensing problems; a value below 0.02 may be tighter than the speed ripple of the drive.
  6. Replace the encoder coupling if there is measurable mechanical play.
  7. Replace the encoder cable if any pin shows > 5 Ω or the shield is not continuous.
  8. Re-run the failing program and capture the alarm log again. The fix is confirmed if the Wait for spindle condition clears within one spindle revolution of the programmed speed being reached.

9. Verification and Acceptance Test

After repair, run the following acceptance test in MDI mode to prove the spindle-on-speed logic and the feed interlock are working in both directions:

  1. S200 M3 — observe the spindle reach 200 RPM, the spindle on speed indicator turns green, and the channel is in the running state.
  2. G01 X100 F500 — axis must traverse. If it holds, the encoder is still misbehaving or MD 35500 is set to 2 with a slow spindle ramp.
  3. S2500 M3 (the spindle's top speed) — the window must be reached within 2 seconds; if the window is never reached, MD 35150 is too tight for the drive's actual speed overshoot.
  4. S0 M5 — spindle stops. The next G01 must re-trigger the wait for spindle interlock because the spindle is not at speed.
  5. Power cycle, then re-run the original NC program. Log the alarm history and confirm no 16750/16751 events have been written.

10. Workaround: Force G94 Feed Mode

If a machine must continue production for a short window while the encoder or MD is being corrected, the operator can issue G94 (feed per minute) in the program header. G94 by itself does not bypass the spindle interlock, but on some 802D firmware builds the interlock is relaxed when the feedrate is treated as a pure time-based value rather than a per-revolution feed. This is a stop-gap, not a fix, and must be removed before returning the machine to validated production.

Do not use G95 (feed per revolution) as a workaround. G95 ties the programmed feedrate to the actual spindle speed and will amplify any speed-sensing problem, causing the feed rate to oscillate and triggering the alarm 16830 "Programmed feed too high".

11. Related Alarms on the 802D

Alarm Meaning Relation to "Wait for spindle"
16750 Channel %1 spindle %2 no actual speed value available Often co-occurs when encoder feedback is lost; the IPO cannot decide that the spindle is on speed.
16751 Spindle %1 not in setpoint range Direct precursor; produced when MD 35150 window is not satisfied within the IPO watchdog time.
16760 Spindle %1 encoder zero-mark missing Encoder hardware is present but no zero-mark pulses; the position-actual value is not referenced.
16830 Programmed feed too high for axis/spindle Caused by G95 on a misbehaving spindle; do not use as a workaround.
22069 Channel %1 block %2 spindle not at setpoint Mirror of the wait-for-spindle condition; usually logged when the program is aborted while waiting.

See the SINUMERIK 802D Diagnostics Manual for the full alarm list and recovery actions.

12. Preventive Maintenance Schedule

  • Monthly: Read MD 35500 and MD 35150 from a saved file; compare with the commissioning baseline to detect any unauthorized edits.
  • Quarterly: Measure the encoder coupling backlash with a dial indicator; replace if > 0.2 mm.
  • Semi-annually: Megger-test the encoder cable shield continuity from the connector shell to the cabinet ground bar; resistance should be < 1 Ω.
  • Annually: Disconnect the encoder, clean the connector with isopropyl alcohol, re-mate, and verify the position-actual value increment test described in Step 8.2.
  • After any spindle bearing change: Re-verify the zero-mark and reset the encoder reference using SET_ACT_POS or the equivalent axis machine data MD 34100 $MA_REFP_SET_POS.

13. Quick Reference Card

Symptom First Check Second Check Resolution
Wait for spindle on G01 only MD 35500 = 1 or 2 Encoder position-actual value Fix encoder or set MD 35500 to 0
Wait for spindle on G0 and G01 MD 35500 = 2 MD 35150 tolerance Loosen MD 35150 or set MD 35500 = 1
Wait for spindle only on G95 Speed ripple / PPR mismatch Drive parameter p0408 / MD 30300 Correct PPR; widen MD 35150
Wait for spindle, encoder mounted recently PPR (p0408) Coupling play Re-enter PPR; replace coupling
Wait for spindle, no encoder (open-loop V/f) MD 35500 Drive topology Set MD 35500 = 0 or fit encoder

14. Closing Notes

The Wait for spindle message on the SINUMERIK 802D is the controller's way of enforcing a safety relationship between the cutting tool and the workpiece. The condition is intentionally designed to be conservative: if the control cannot prove the spindle is on speed, it refuses to cut. The fix is therefore always one of three things — make the encoder prove the speed, widen the window the control accepts, or remove the safety interlock (and document the risk). The encoder-feedback path is the single most common root cause, and inspecting the cable, coupling, and PPR resolves the majority of field cases within a 30-minute service window.

FAQ

What does "Wait for spindle" mean on a SINUMERIK 802D?

It is the interpolator's hold condition: the control is waiting for the spindle-on-speed bit to be set before releasing a feed (G01) or any (G00+G01) block, depending on MD 35500. The bit is set only when the actual speed stays inside the ±MD 35150 window around the programmed S value.

Which machine data controls the wait-for-spindle interlock?

MD 35500 $MA_SPIND_ON_SPEED_AT_IPO_START (0 = none, 1 = feed blocks only, 2 = all movement) and MD 35150 $MA_SPIND_DES_VELO_TOL (the ± tolerance window, default 0.1 = ±10 %). Both are axis-specific and live in the spindle's logical axis slot.

Why does G0 work but G01 shows "wait for spindle"?

G0 rapid traverse does not require the spindle-on-speed bit, so it executes regardless. G01 is a feed block and is subject to the MD 35500 interlock. If the encoder is not returning a valid speed, the bit is never set and G01 holds.

What is the most common field cause on a 802D?

Spindle encoder feedback failure: wrong PPR (p0408 / MD 30300), loose coupling, broken or shielded cable. Replacing the cable, the coupling, or correcting the line count resolves the majority of field cases within 30 minutes.

Can I disable the wait-for-spindle interlock?

Yes — set MD 35500 to 0. This removes the safety check and is acceptable only on machines with a V/f open-loop spindle, or for short-term commissioning. For production, fit a working encoder and keep MD 35500 = 1 or 2.

What tolerance should I set in MD 35150?

Keep the default 0.1 (±10 %) for general use. Tighten to 0.05 for fine-finish turning where the cut depth is small. Avoid values below 0.02 unless the drive has been measured to ripple less than 2 % of setpoint speed.

Will G94 fix the problem?

No. G94 selects feed-per-minute mode and does not bypass the spindle-on-speed check. On some 802D firmware builds the IPO relaxes the interlock under G94, but this is firmware-dependent and must not be used as a long-term workaround.

Back to blog