1. Problem Summary
On a Siemens SINUMERIK 840D-controlled machine with a dual-spindle configuration (main spindle and table spindle), an attempt to record a position-control or speed-control trace on the table spindle aborts immediately after NC Start. The HMI displays:
measuring abort: speed setpoint = 0
The error appears in the Startup → Drive/Spindle → Measurement function. The trace is interrupted before any useful step response or frequency response curve is recorded. JOG and MDA motion on the same spindle work correctly, so the drive hardware, encoder feedback, and basic drive enable path are functional. The fault is in the measurement-channel configuration and the PLC interface state at the moment the measurement begins, not in the spindle power section.
This is one of the most common field commissioning errors on the 840D/840D sl family and almost always traces to a momentary loss of the position control enable across the NC reset that NC Start triggers. The fix is to latch the controller enable in the PLC so the drive stays in the correct mode through the measurement window.
2. Understanding the SINUMERIK 840D Measurement Function
The Startup area on the SINUMERIK 840D HMI provides two automatic measurement routines for commissioning the speed and position control loops of a drive:
- Step response measurement: a step change is injected into the setpoint, and the response of speed, current, and position are recorded. Used to validate P-gain, integral time, and acceleration pre-control.
- Frequency response measurement: a swept sinusoidal disturbance is injected at configurable bandwidth and amplitude; Bode plot data is generated for the closed-loop transfer function.
Both routines require four preconditions to be met simultaneously:
- The drive is in a controlled state with the correct mode selected (speed control path or position control path).
- Active drive test travel enable (without PLC) so the NC is permitted to issue setpoints without waiting for the standard PLC handshake.
- Travel range monitoring is either inactive, or the physical travel to be commanded is within the configured SW-limit envelope.
- The PLC is maintaining the control enable and pulse enable bits during the measurement window. A transient drop of any of these halts the setpoint stream.
If any of these is missing, the measurement aborts with one of several specific error strings. The "speed setpoint = 0" abort specifically indicates that the NC/PLC interface is not issuing a non-zero setpoint to the drive during the measurement ramp-up time, even though the drive is otherwise ready and enabled.
3. Root Cause Analysis
The "speed setpoint = 0" abort condition is triggered when the controller is unable to output a non-zero speed command to the drive during the configured ramp-up time. Common root causes, in order of likelihood:
a. Position control mode is dropping out on reset (most common field cause). When the user presses NC Start to begin the measurement, the control bit that requests position-controlled operation is briefly cleared by an NC reset or by a PLC OB1 cycle. The drive falls back to speed-controlled mode with no setpoint. The measurement block then aborts because the position-control-path test setpoint is not valid in speed control.
b. Feed override is at 0%. If the rapid traverse override or axis-specific feed override is set to zero by the PLC or by the operator panel, the NC will not generate a setpoint. Override is read in the IPO cycle and applied to the path setpoint before the measurement block.
c. Wrong measurement type selected for the active mode. Choosing "speed control path" measurement while the drive is in torque or current control produces a zero setpoint because the speed setpoint is not propagated through the chain. Conversely, choosing "position control path" while the drive is in pure speed control without the position controller active also yields zero.
d. Drive test travel enable is not active. If the PLC clears the "drive test travel enable" interface signal, the NC will not pass any setpoints during a test travel.
e. Axis-specific enable bits not set. Parameterized machine data for measurement travel is configured to require specific PLC interface bits, such as controller enable or pulse enable. A missing bit halts the setpoint stream at the source.
f. Travel range monitoring violation. If SW-limit monitoring is active and the position target would exceed the limit, the NC clamps the setpoint to zero.
g. Bandwidth too high for the selected drive. An overly aggressive bandwidth combined with a short ramp-up time can produce an internal saturation that the firmware interprets as a zero-effective setpoint, particularly on older SINAMICS S120 firmware where the measurement block saturates below the configured amplitude.
h. Encoder or measuring system mismatch. If the active measuring system in MD30200 NUM_ENCS does not match the configured position feedback path, the position controller can lose its reference and emit a zero setpoint.
4. Diagnostic Procedure
Follow this sequence on the 840D HMI and on the integrated S7 PLC of the NCU:
- Verify the spindle responds in JOG. From the operator panel, place the spindle in JOG and command a small speed setpoint (e.g., 100 rpm). Confirm the drive follows.
- Check feed override. On the operator panel, set the feed override to 100% (or the commissioning default) before starting the measurement.
- Select the correct mode. From the Startup menu, select the spindle, navigate to Drive/Spindle → Measurement → Step response. Confirm the measurement type matches the active control mode (typically "speed control path" or "position control path").
- Set measurement parameters to a known-good baseline (see Section 5).
- Activate Drive test travel enable (without PLC) on the measurement screen.
- Deactivate travel range monitoring for the first attempt.
- Press NC Start to begin the measurement. Observe the HMI for the error or for a successful trace.
- If the abort occurs, immediately check the PLC interface bits and the drive's active mode via Diagnostics → Axis diagnostics.
- Cross-check the SW-limit positions and the active machine data for measurement travel enable (MD10712 NC_USER_CODE_CONF and related NC commands).
- Re-attempt the measurement after each fix. Avoid changing multiple parameters simultaneously so the root cause can be isolated.
5. Measurement Parameters Reference
For SINUMERIK 840D speed-control step response measurement, the following baseline parameters have been verified to work in commissioning on SINAMICS S120 drives:
| Parameter | Field | Typical Value |
|---|---|---|
| Bandwidth | Frequency response only | 4000 Hz (max for SINAMICS S120) |
| Meas-periods | Number of measurement cycles | 20 |
| Meas-time | Total measurement window | 5111 ms |
| Setting periods | Settling cycles | 1 |
| Setting time | Settling time | 256 ms |
| Offset | DC bias for frequency response | 0.16687 % |
| Ramp up-time | Ramp-up duration | 500.000 ms |
| Step amplitude | Step response only | 50% of rated speed (sign correct) |
| Type of measurement | Control path | Speed control path |
| Drive test travel enable | PLC bypass for measurement | Active (without PLC) |
| Travel range monitoring | SW-limit supervision | Inactive during first test |
For step response measurement, the relevant fields are ramp up-time, meas-time, and step amplitude. Frequency-response-specific fields (bandwidth, setting periods, setting time, offset) are not used in step response. The step amplitude must be entered with the correct sign to command motion in the desired direction.
6. PLC Interface and Control Bits
The SINUMERIK 840D exchanges drive state with the PLC through the axis/spindle interface in the NCK-PLC data blocks. For an 840D sl with an NCU 7x0, the typical locations are:
| Bit | Name | Direction | Behavior |
|---|---|---|---|
| DB31..DBX1.5 | Position measuring system 1 active | NCK → PLC | Indicates active measuring system |
| DB31..DBX2.1 | Controller enable | PLC → NCK | Enables the position controller |
| DB31..DBX21.7 | Pulse enable | NCK → PLC | Drive pulses enabled |
| DB31..DBX61.6 | Drive test travel enable | PLC → NCK | Allows NC to issue setpoints without PLC handshake |
| DB31..DBX61.7 | Drive test travel request | NCK → PLC | NCK signals it is performing a test travel |
The address ranges DB31, DB32, … DB38 correspond to axes/spindles 1, 2, … 8 in the default configuration. For a configuration with a table spindle on axis 5 (DB35), check the bits on DB35. For a machine where the spindles are configured as the seventh and eighth axis, check DB37 and DB38.
For the "speed setpoint = 0" abort, verify the following in the PLC during the measurement window:
- DB35.DBX2.1 (controller enable) is set and remains set throughout the ramp-up time.
- DB35.DBX61.6 (drive test travel enable) is set.
- No edge-triggered reset on the controller enable when NC Start is pressed.
7. Step-by-Step Resolution
The most field-proven fix for "speed setpoint = 0" on a spindle that otherwise moves correctly in JOG/MDA is to maintain the position control enable bit in the PLC across the NC reset. The fix is implemented in the S7 PLC project that runs on the NCU.
- Open the STEP 7 project for the SINUMERIK 840D.
- Navigate to OB1 and locate the network that sets the controller enable for the affected spindle (e.g., axis 5, DB35.DBX2.1).
- Identify the condition that clears the controller enable. Typical offenders are reset flags, mode-change resets, or NCK-signaled "position control mode active" bits that toggle during the NC reset.
- Add a high marker (e.g., M0.1) to latch the controller enable. Example in STL:
A M0.1 S DB35.DBX2.1
- Or in ladder logic:
| M0.1 DB35.DBX2.1 | |----[/]------(S)----------|
- Confirm M0.1 is set during the measurement window. The marker can be latched permanently in OB100 (startup) if the position control is required for the entire commissioning session.
- Save and download the modified PLC program to the NCU.
- Re-run the measurement: Startup → Spindle → Measurement → Step response. Press NC Start. The trace should now record.
If the controller enable is not the issue, work through the diagnostic procedure in Section 4, eliminating the override, mode selection, and travel range options in order.
8. Position Control Dropout on Reset
A "position control mode dropping out on reset" is the most common field cause for the "speed setpoint = 0" abort. The mechanism is:
- The user is in the measurement screen. The drive is enabled, controller enable is high, drive test travel enable is high.
- The user presses NC Start. The NCK issues a reset to the IPO and the position controller.
- The PLC OB1 cycles. The "position control active" feedback from the NCK clears momentarily because the controller has not yet locked in the new mode.
- The PLC code, seeing that the bit has cleared, drops the controller enable output.
- The drive falls back to speed control with no setpoint, because the measurement block is generating a position-control-path test setpoint that is not valid in speed control.
- The measurement block detects zero effective setpoint and aborts with the "speed setpoint = 0" error.
Latching the controller enable with a high marker (M0.1) or with a startup-OB100 set prevents the bit from being cleared on a transient NC reset. The marker is held high continuously and is independent of the NCK position-control-active feedback, so the position controller stays armed through the entire measurement.
9. Verification
After applying the fix:
- Return to the Startup → Spindle → Measurement screen.
- Re-enter the baseline measurement parameters from Section 5.
- Confirm Drive test travel enable is active, travel range monitoring is inactive.
- Press NC Start. The trace should run to completion without the "speed setpoint = 0" abort.
- Open the trace results. Verify that the speed setpoint trace rises to the expected value (typically 50% of rated speed for step response).
- Examine the speed actual value and current actual value traces. They should show a clean step response with no discontinuities.
- For frequency response measurement, verify the Bode plot has continuous gain and phase data across the configured bandwidth.
- Save the trace and export for comparison against the expected closed-loop response.
- Repeat the trace two or three times to confirm reproducibility.
If the trace still aborts, re-check the active mode in the diagnostics screen. The mode should match the type of measurement (speed control path or position control path). Cross-check the drive-side commissioning state via the SINAMICS Starter or Startdrive tool to confirm the drive is in the correct operating mode.
10. Troubleshooting Matrix
| Symptom | Probable Cause | Fix |
|---|---|---|
| measuring abort: speed setpoint = 0 | Position control dropped on reset | Latch controller enable with M0.1 in OB1 or set in OB100 |
| measuring abort: speed setpoint = 0 | Feed override at 0% | Set override to 100% on HMI or override input |
| measuring abort: speed setpoint = 0 | Wrong mode for measurement type | Select matching control path (speed or position) |
| measuring abort: pulse enable missing | Drive pulse enable cleared | Check drive enable chain; pulse enable is a drive-side bit |
| measuring abort: control enable missing | Controller enable not set | Set DB3x.DBX2.1 in PLC |
| measuring abort: SW-limit reached | Travel range monitoring violation | Deactivate monitoring for first test; reposition spindle |
| Drive runs away during trace | Wrong direction or sign of step | Reverse sign of step amplitude in parameter screen |
| Trace shows noise only | Bandwidth too high for the drive | Reduce bandwidth to 1000 Hz; increase meas-time |
| Trace shows step but no return to setpoint | Position controller P-gain too low | Adjust MD32200 POSCTRL_GAIN and re-measure |
| Trace aborts immediately, no error message | Drive in commissioning state without license | Confirm drive CF card and license; check p4990 in SINAMICS |
11. Additional Checks for Dual-Spindle Machines
On a machine with two spindles (main and table), the table spindle typically shares encoder feedback with the main spindle during certain machining modes and is reconfigured for independent control in others. Verify:
- The correct logical axis number is selected in the measurement screen. Cross-check MD20070 AXCONF_MACHAX_NAME_TAB and the spindle-to-axis mapping.
- The spindle-specific machine data is correct for the table spindle: MD30300 IS_ROT_AX, MD35000 SPIND_ASSIGN_TO_MACHAX, MD35010 GEAR_STEP_CHANGE_ENABLE, and MD35040 SPIND_ACTIVE_AFTER_RESET.
- No shared setpoint generator is active between the two spindles during the measurement. On dual-spindle lathes, the spindles often share MD37250 SPIND_FUNC_RESET_MODE behavior, which can be reset to a state that drops the second spindle's controller enable.
- The PLC interface bits for the table spindle (DB36, DB37, or DB38 depending on the configuration) are routed to the correct spindle, not to the main spindle.
- Channel-specific reset behavior: the second spindle is in the same channel as the first, so a channel reset affects both. If the channel reset clears the controller enable for both, the PLC must re-arm it in the same OB1 cycle.
12. Cross-Platform Notes
The behavior described applies across the SINUMERIK 840D family. Specific notes:
- SINUMERIK 840D sl (NCU 710/720/730/740): The PLC interface bit locations (DB31..DB38.DBX2.1) are identical to the classic 840D. The measurement function is accessed identically from the Startup area.
- SINUMERIK ONE (NCU 1740/1750/1760): The PLC interface for drives is now in the SINAMICS Integrated / NX10/NX15 modules, accessed via different DBs. The principle is the same: the controller enable must be held high across the NC reset that the measurement triggers. Use the SINAMICS Startdrive tool to verify the active operating mode.
- SINUMERIK 828D (PU 4x0): The PLC interface is on the integrated PLC of the PPU. The same M0.1 latching technique applies. The DB layout is condensed (fewer axes per DB) but the controller enable bit is in the same relative position.
13. Safety and Commissioning Caveats
Always save a working parameter set before changing machine data. After completing the measurement, restore the original PLC logic if M0.1 was used as a permanent latch. Document any temporary PLC changes in the machine's commissioning log. The PLC change must be reversed before production handoff, because latching the controller enable with a high marker bypasses the normal mode-change safety interlock.
FAQ
What does "measuring abort: speed setpoint = 0" mean on a SINUMERIK 840D?
It means the measurement block is not receiving a non-zero speed setpoint from the NC during the measurement window, even though the drive is enabled. The trace aborts before recording any data, typically because the position control enable dropped across the NC reset or the feed override is at 0%.
Why does the error appear even though JOG and MDA work?
JOG and MDA use a different setpoint channel than the measurement block. The drive hardware, encoder, and basic drive enable path are functional, but the PLC interface is not maintaining the position control enable across the NC reset, or the feed override is at 0%, or the wrong control path is selected for the measurement type.
How do I keep position control mode active during a reset?
Latch the controller enable bit (DB3x.DBX2.1, where x is the axis DB number) with a high marker such as M0.1 in OB1, or set the marker in OB100 so it remains high through the entire commissioning session and is not affected by transient NC resets.
What is the difference between step response and frequency response measurement?
Step response applies a single setpoint step and records the time-domain response of speed, current, and position. Frequency response applies a swept sinusoidal disturbance and produces a Bode plot for closed-loop identification. Step response uses ramp up-time, meas-time, and step amplitude; frequency response uses bandwidth, meas-periods, setting time, setting periods, and offset.
What feed override should I set before running a spindle trace?
Set the feed override to 100% (or the commissioning default) on the HMI. At 0%, the NC will not generate a setpoint and the measurement will abort with the same "speed setpoint = 0" error, even if all PLC interface bits are correct.
Does this fix apply to SINUMERIK ONE and 828D?
Yes, the principle is the same. The controller enable must be held high across the NC reset that the measurement triggers. On the 828D the DB is condensed but the relative bit position is identical; on the SINUMERIK ONE the drive interface moves to the SINAMICS Integrated module but the same M0.1 latching technique applies.