1. Problem Overview
A SINAMICS S110 drive system in combination with a 1FT7084 synchronous motor exhibits a steady-state speed deviation of 1–2 % between the speed setpoint and the filtered actual speed value (r0061 / r0063) on a rotary table application. Operating speed ranges from 20 to 300 rpm, currently no-load, and the drive is configured with:
- Control Unit: CU310-2 DP (6SL3040-1LA00-0AA0 family)
- Power Module: PM340 (blocksize)
- Sensor Module: SMC20 (6SL3055-0AA00-5CA1)
- Motor: 1FT7084 synchronous servo, 2000 rpm rated, with Sin/Cos 1Vpp encoder (A/B, C/D, R tracks)
- Current control mode: claimed "vector with encoder" (incorrect for S110)
The end-user specification states that 0.01 % speed accuracy must be achievable. After running the automatic controller tuning and performing manual adjustment of the speed controller proportional gain (p1460) and integral time (p1462), no measurable improvement is observed. The reported symptom is therefore almost never a closed-loop tuning issue — it is a combination of wrong control structure, mechanical ripple, and encoder commutation.
2. System Architecture Review
The SINAMICS S110 is fundamentally a servo drive, not a general-purpose vector drive. It does not implement a "vector control with encoder" mode the way a SINAMICS G120 or S120 does in its "Vector" structure. The available control structures on the S110 (per firmware V4.x / V5.x, see the SINAMICS S110 List Manual) are:
| Control structure (p1300) | Available on S110? | Notes |
|---|---|---|
| 0 = V/f open loop (textile) | No | S110 firmware does not enable textile V/f |
| 1 = V/f with linear characteristic | No | Blocked in S110 |
| 20 = Sensorless vector control | No | Requires G120 / S120 firmware |
| 21 = Vector control with encoder | No | Not selectable on S110 |
| 11 = Servo control with encoder | Yes | Default and only correct structure for 1FT7 + SMC20 |
Always verify p1300 first. If it returns a value other than 11, the drive is running in a fallback or a sub-mode, and the speed controller behaves like a torque/current controller in a much wider band. The 1FT7084 is a permanently excited synchronous machine and requires the servo structure to maintain commutation angle, current pre-control, and the speed controller bandwidth that the catalog accuracy specification assumes.
3. Root Cause Analysis
3.1 Control structure mismatch
Selecting "vector with encoder" on a firmware that does not support it typically forces the drive into one of these states:
- Settles on encoderless fallback with severe bandwidth limitation (p1470, p1472 fixed to small values)
- Reports F07990 (Drive: encoder identification/alignment failed) or A07965 (Save required)
- Slips into a default servo structure but with conservative gains (e.g., p1460 ≈ 0.3 Nm·s/rad, p1462 ≈ 20 ms) regardless of the actual load inertia
These limitations explain why manual tuning had no effect — the parameter write was accepted, but the firmware overrode it during ramp-up because the underlying structure was wrong.
3.2 Speed accuracy vs. speed ripple
The 0.01 % value quoted in the SIMOTION / SINAMICS PM21 catalog is the closed-loop static accuracy of an ideal, unloaded, perfectly balanced servo axis under nominal conditions (see S-1FT7 Synchronous Motors Configuration Manual, section "Speed accuracy and speed ripple"). It is not a worst-case spec and explicitly excludes:
- Cogging torque harmonics of the synchronous motor
- Encoder quantisation and interpolation noise
- Resolver or sin/cos interpolation error
- Mechanical resonance of the load (gearbox, table bearings)
- Temperature drift of the encoder signals
What an oscilloscope or STARTER trace shows on the actual speed r0061 is mostly the speed ripple caused by the motor's cogging torque (cogging moment, M_cog). For a 1FT7084 (8-pole design, 6 cogging periods per mechanical revolution), the dominant ripple is the 6th mechanical harmonic of the rotational frequency. At 50 rpm (0.833 Hz) the cogging appears at 5 Hz, well inside the speed-controller bandwidth — and therefore not rejected by the controller.
3.3 Mechanical and encoder factors at low speed
For rotary tables, three additional mechanisms superimpose disturbances on the actual speed:
- Gear mesh stiffness — a cycloidal pin or planetary gear produces a torque impact at the meshing frequency (z × f_mech).
- Table bearing play — even sub-arc-minute backlash shows up as periodic speed jumps when a tooth mesh enters/leaves the load contact.
- Encoder quantisation — at 2048 sin/cos periods with ×4096 interpolation (SMC20 default), the smallest measurable angle is 2π / (2048 × 4096) ≈ 7.5 × 10⁻⁷ rad. At 50 rpm the resulting velocity quantisation step is ≈ 6.0 × 10⁻⁴ rpm, far below the observed 0.5–1.0 rpm deviation — so the encoder is not the limit, but the noise floor is reached.
4. Required Configuration: Servo Control on S110
Switch the drive to the correct structure and verify each step before tuning.
4.1 Parameter sequence to enter servo control
- p930 / p931 (topology) — verify SMC20 is detected on DRIVE-CLiQ port X520 of the CU310-2.
- p1300 = 11 — Servo control with encoder.
- p100 = SERVO — Drive object type (do not change after first commissioning; reset to factory defaults with p0970 = 1 if p100 was previously set to VECTOR and the DO refuses to switch).
- p0300 = 2 — Synchronous motor.
-
p0301 — Motor code, taken from the 1FT7084 nameplate (e.g.
1FT7084-1AF71-1AG1). Always enter the full MLFB; partial codes prevent correct temperature and torque constant lookup. - p0400 = 2020 (Encoder type, sin/cos 1Vpp with reference mark) — chosen automatically by STARTER once the motor code is loaded.
4.2 Encoder commissioning
With the SMC20 driving a 1FT7 sin/cos 1Vpp encoder, the relevant parameters must be checked against the S110 List Manual:
| Parameter | Description | Typical value 1FT7084 + SMC20 |
|---|---|---|
| p0400 | Encoder type | 2020 (incremental sin/cos 1Vpp) |
| p0404.0 | Linear/rotary | 1 (rotary) |
| p0408 | Number of encoder pulses | 2048 |
| p0418 | Fine resolution Gx_XIST1 | 11 bits (2048) |
| p0419 | Fine resolution Gx_XIST2 | 9 bits (512) |
| p0423 | Absolute value of rotary encoder | 0 (no absolute value, since C/D is commutation, R is reference) |
| p0431 | Commissioning interface | 0 (no comm. interface — pure 1Vpp) |
...AG1 / ...AH1), the SMC20 must be replaced by an SMC40 or the encoder must be wired via DRIVE-CLiQ. SMC20 cannot evaluate EnDat. Verify by reading p0400 — it should report 2021 or 2051 for EnDat, not 2020.5. Speed Controller Tuning (p1460, p1462)
Once p1300 = 11 is active, the speed controller is unlocked for high-bandwidth tuning. The recommended sequence follows the SINAMICS S110 Commissioning Manual and the standard Siemens rule of thumb for p1460/p1462.
5.1 Analytical starting point
For a rigidly coupled load (rotary table with direct gear), the optimum speed controller bandwidth is governed by the current controller loop time. On an S110 with 32 kHz / 8 kHz current controller clock (p0115[0] = 1 / p0115[1] = 3), the open-loop current loop settles in ~3 current cycles. The rule of thumb is:
Pn_opt ≈ (1 / 3) · (J_total / J_motor) · (1 / T_curr)
where Pn_opt is the optimum proportional gain (in (rad/s) per (rad/s), or 1/s) and T_curr is the current controller cycle time. For a rotary table with J_load ≈ 5·J_motor and T_curr = 250 µs (8 kHz):
Pn_opt ≈ (1/3) · 5 · 4000 ≈ 6667 1/s
This is the value STARTER's "Auto-tune speed controller" (p1960 = 1) should converge to after a step response. Manual fine-tuning should then aim within ±20 % of this value.
5.2 Reference formula for p1462 (integral time)
The optimum integral time follows from the symmetric optimum:
Tn_opt ≈ 2 · T_curr · (J_motor / J_total)
Using the same example, Tn_opt ≈ 200 µs. In practice, never go below 1 ms on the S110 — the firmware's I-part is not designed for sub-millisecond action, and the result is integrator wind-up. Keep p1462 in the 1–4 ms band for direct-drive tables; extend to 5–10 ms only if audible cogging ripple must be attenuated.
5.3 Manual tuning procedure
- Set p1462 = 2 ms, p1460 = 0.05 (conservative servo start).
- Command a small step in speed setpoint (e.g. 0 → 10 rpm step at ramp p1120 = 50 ms).
- Record r0061 with the STARTER trace at 1 ms / 250 µs sampling.
- Increase p1460 in steps of 10 % until the step response shows ~5 % overshoot — that is the closed-loop optimum for minimum settling time without instability.
- If a 1 Hz cogging ripple is visible on r0061, slightly extend p1462 to 4–6 ms. The P-action cannot remove it; only lowering the I-action and accepting a larger mean error will reduce the ripple amplitude.
- Save with
p0971 = 1andcopy RAM to ROM(STARTER: drive → online → save in device).
6. Diagnostic Parameters and Scope Traces
Before changing parameters further, capture the following with the STARTER / Startdrive trace at 4 kHz bandwidth:
| Signal | Parameter | Unit | Diagnostic use |
|---|---|---|---|
| Speed setpoint (after ramp) | r0060 | rpm | Reference for closed-loop error |
| Speed actual filtered (1 ms) | r0061 | rpm | What the user sees in BOP-20 |
| Speed actual (raw, no filter) | r0063 | rpm | Real ripple, no observer damping |
| Speed setpoint (smoothed) | r0062 | rpm | Setpoint before filter |
| Torque setpoint | r0079 | Nm | Torque ripple correlates with cogging |
| Flux setpoint | r0083 | % | Should remain constant at constant speed |
| Current Iq (torque-forming) | r0078 | A | Look for 6·f_mech harmonic |
| Current Id (field-forming) | r0076 | A | Drift indicates commutation angle error |
| Encoder diagnostic word | r0480 | – | Bit 14 = amplitude error; bit 13 = TTL/HTL conflict |
Run an FFT in STARTER on r0063 and r0078 at constant setpoint. The 6·f_mech and z·f_mech (z = number of gear teeth) lines should be identified. A peak at 6·f_mech in r0078 is a motor issue; a peak at z·f_mech is a gear/table issue.
7. Mechanical Mitigation (When the Drive Cannot Help)
When the trace confirms that the dominant ripple is mechanical and the customer still demands the 0.01 % value as an instantaneous deviation, the only options are mechanical:
- Increase the load inertia seen by the motor. The speed ripple amplitude is inversely proportional to the total inertia. A 4× mass moment increase halves the ripple. Adding a flywheel or a precision coupling with damping is standard practice for high-end rotary tables.
- Use the second speed setpoint filter (p1656) to notch the ripple frequency. On S110 firmware ≥ 4.6 you can configure two band-stop filters in the current setpoint path that are designed to suppress 5–10 Hz mechanical resonances; however, they cannot remove a fundamental cogging tone without sacrificing closed-loop bandwidth.
- Switch to a higher-resolution encoder (EnDat 2.2, 25-bit). This reduces the quantisation noise but does not reduce the mechanical torque ripple driving the deviation.
8. Commissioning Procedure (Field-Proven)
- Connect STARTER (≥ V5.4) or Startdrive (≥ V15.1) to the CU310-2 via PROFIBUS or Ethernet (X127 service interface).
- Online → Drive unit → Commissioning → Wizard: accept the topology, accept the motor code from 1FT7084 nameplate.
- Identify the encoder (p0400 = 2020 for 1Vpp sin/cos with C/D). Run p1990 = 1 to perform encoder adjustment; observe the commutation angle offset written to p0431.
- Check that p1992 reports "Adjustment OK" and that r0083 stays within ±2 % during a 0–200 rpm ramp.
- Set p1300 = 11 (Servo control with encoder). Acknowledge any F01910 / F08501 with "Acknowledge all faults" (p3981 = 1) and re-energise.
- Run p1960 = 1 (automatic speed controller optimisation). Allow the drive to execute its 1–2 second step profile.
- Read back the resulting p1460 and p1462, then perform the manual step-response check described in §5.3.
- Configure the trace in §6 and capture r0060, r0061, r0078, r0079 simultaneously for 10 s at the worst-case operating point (20 rpm and 300 rpm, no-load and full-load).
- If the residual ripple exceeds the customer requirement, apply the mechanical mitigation in §7 or define the residual as expected performance in the test report.
- Save with
copy RAM to ROMand back up the project.
9. Verification and Acceptance
Define two acceptance tests, not one:
9.1 Static speed accuracy test (catalog 0.01 %)
Command a constant setpoint of 50.00 rpm, hold 30 s, sample r0061 at 100 Hz, average the samples:
accuracy = | mean(r0061) − n_set | / n_set
Pass criterion: ≤ 0.01 % of the setpoint. With the speed controller in servo mode and p1460 set per §5.3, this is achievable on the drive side.
9.2 Speed ripple test (the deviation the customer actually sees)
With the same constant setpoint, compute the standard deviation of r0063 (un-filtered) over the 30 s window:
ripple_rms = stddev(r0063) / n_set
Typical achieved values on a 1FT7084-driven rotary table with rigid coupling, no gear, 50 rpm no-load: 0.5–2.0 %. With cycloidal gear: 2–5 %. Communicate this to the customer before commissioning; do not let the catalog accuracy create a false expectation.
| Test | Measurement window | Typical result 1FT7084 + SMC20 | Pass |
|---|---|---|---|
| Static accuracy (mean) | 30 s @ 50 rpm | ≤ 0.01 % | Yes |
| Speed ripple (rms, no gear) | 30 s @ 50 rpm | 0.5–1.0 % | Customer to accept |
| Speed ripple (rms, cycloidal gear) | 30 s @ 50 rpm | 2–5 % | Not negotiable without flywheel |
| Step response overshoot | 0 → 10 rpm step | 5 % | Yes if Pn from §5.3 |
10. Common Pitfalls and Field Notes
- StarSTARTER will not show "vector with encoder" as an invalid selection on an S110 — it allows the parameter write, but the firmware simply ignores it and runs servo. The user therefore believes they are running vector. Always read r0108 (Drive object function module) to confirm r0108.0 = 1 (servo) and r0108.1 = 0 (no vector).
- Re-tuning p1460 with the wrong control structure leaves the drive under-compensated no matter how high the gain is set. The p1460 value is clamped in encoderless fallback modes; manual editing shows the desired value but r0063 still shows a sluggish response.
- Temperature changes shift the encoder commutation angle. The 1FT7084 sin/cos encoder has a specified offset drift of typically ±0.5 arcmin over 10 K. For a 6-pole pair machine, this is ≈ 1.5 electrical degrees and a direct contributor to the speed ripple at low speed. Verify p1992 result in cold and warm states.
- The C and D tracks of the 1FT7 incremental encoder are commutation signals, not absolute position. They supply the rotor position at standstill for the servo structure. If C/D are missing or swapped, the drive runs only above ~10 rpm with severe torque ripple and reports F31110 / F31112.
- The 0.01 % value is at rated speed in the catalog; at 50 rpm the absolute speed error scales with the speed, so the relative error stays 0.01 %. The ripple, however, does not scale down with speed — it stays at the same absolute amplitude, so the relative ripple at 50 rpm is much higher than at rated speed.
11. Quick Diagnostic Matrix
| Observed symptom | Likely cause | First action |
|---|---|---|
| 1–2 % deviation, ripple frequency = 6 × mechanical frequency | Cogging of 1FT7084 | Accept or add flywheel |
| Deviation is constant offset, not periodic | Encoder adjustment not run or drifted | p1990 = 1, re-identify |
| Deviation doubles when speed doubles | Slip of friction/load torque | Enable speed controller pre-control (p1496) |
| Deviation doubles when load doubles | Insufficient proportional gain | Increase p1460 per §5.3 |
| Drive unstable / oscillates at 100–300 Hz after p1460 change | Mechanical resonance (gear, table) | Enable current setpoint filter p1656 |
| F31110/F31112 at standstill | C/D signal missing or reversed | Check SMC20 wiring, X521 pinout |
Why does the S110 not offer "vector control with encoder" like the S120 or G120?
The S110 is a single-axis servo drive; it implements only the servo control structure (p1300 = 11). Writing p1300 = 21 is silently ignored, and the drive continues to run in servo with conservative default gains. This is the single most common reason manual tuning of p1460/p1462 has no effect on a 1FT7084 axis. Confirm with r0108.0 = 1.
Is the 0.01 % speed accuracy from the catalog achievable at 20–50 rpm?
Yes, as a mean static accuracy on a rigid, direct-coupled load with the servo control loop properly tuned. The value is defined under nominal conditions and excludes ripple. At 50 rpm, 0.01 % of the setpoint is 0.005 rpm — well above the encoder quantisation floor and achievable by the closed loop.
What is the realistic instantaneous speed deviation (ripple) at 50 rpm on a rotary table?
Expect 0.5–2.0 % RMS on a direct-driven table and 2–5 % RMS with a cycloidal or planetary gear, measured on r0063 (unfiltered). The ripple is dominated by the motor's 6th mechanical harmonic and the gear meshing frequency; it is not a closed-loop tuning problem.
Do I need an SMC40 instead of SMC20 for the 1FT7084?
Only if the motor is the absolute-value (EnDat) variant, MLFB suffix ...-1AG1 or ...-1AH1. The standard 1FT7084-1AF71 is incremental sin/cos 1Vpp with C/D commutation and an R reference mark — this is what the SMC20 is designed for. Verify by reading the encoder type p0400: 2020 = 1Vpp sin/cos (SMC20), 2021/2051 = EnDat (SMC40 required).
Why does increasing p1460 not improve the deviation?
If p1460 is at a sensible value (≥ 0.1 Nm·s/rad) and the deviation is unchanged, the drive is either running in the wrong control structure (p1300 ≠ 11), the load inertia is much higher than the motor inertia (real Pn_opt is at the very high end and the firmware clamps it), or the deviation you see is mechanical ripple, not closed-loop error. Check r0108, run p1960 = 1, and FFT r0063 before raising p1460 further.
Can p1460 be raised above the auto-tune value to "squeeze out" more accuracy?
No. Beyond the symmetric-optimum value, the closed loop becomes over-tuned, the torque setpoint oscillates at the mechanical resonance, and the encoder error amplifier saturates. The observed speed deviation then worsens and fault F07995 or F31117 may be triggered. Treat the auto-tune result as a ceiling, not a floor.
How do I distinguish motor cogging from gear mesh ripple in the trace?
Capture r0078 (Iq) and r0079 (torque setpoint) at constant speed, run an FFT. Motor cogging appears as a sharp line at 6·f_mech (6-pole pair 1FT7). Gear mesh appears at z·f_mech, where z is the number of teeth. Doubling the setpoint and observing the spectrum line doubling confirms it is a mechanical source, not an encoder noise source.
What p1462 value is correct for a direct-driven rotary table with 1FT7084?
Start at 2 ms after p1960 = 1 auto-tune. For a stiff direct coupling, allow 1–3 ms; extend to 5–10 ms only if the trace shows audible cogging ripple in the 5–10 Hz band that the I-action is amplifying. Never go below 1 ms on S110 — the I-path runs at the speed controller cycle (p0115[1]) and sub-millisecond I-action integrates noise, not speed error.