SINAMICS S120 Speed Reference Scaling via Profibus: Field Guide

David Krause14 min read
SiemensTechnical ReferenceVFD / Drives
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

SINAMICS S120 Speed Reference Scaling via Profibus: Field Guide

Reducing the effective maximum speed of a SINAMICS S120 drive without disturbing the motor nameplate parameterization is one of the most common field-service requests on Profibus-commissioned machinery. The drive correctly accepts the change when the operator understands the difference between reference variables (p2000 family), limits (p1082, p1083, p1086), and nameplate data (p0300–p0349). This reference walks through the Profibus PZD setpoint path, the role of each parameter, and three safe methods to limit a motor to 1700 RPM when the motor is rated for 2000 RPM and commanded at 100% reference (16384) by a PLC.

Engineering rule: Never modify motor nameplate parameters (p0300 through p0349, plus motor-equivalent data on the S120) to alter operating speed. Doing so corrupts torque, power, slip, thermal model (I²t), and voltage-model calculations inside the SINAMICS. Limit operating speed through setpoint scaling, reference variables, or Drive Data Sets instead.

Problem Statement and Concrete Numbers

The drive in question has the following baseline:

Item Current value Source
Main setpoint source PLC over Profibus, PZD2 = NSOLL (speed setpoint) Topology
p2000 – Reference speed (rotating) 2000 RPM (16384 = 100%) Drive configuration
p1082 – Maximum speed 1980 RPM Drive configuration
p0311 – Motor rated speed (nameplate) 2000 RPM Motor nameplate – DO NOT MODIFY
p1120 – Ramp-up time (0 → p1082) 10.00 s Drive configuration
p1121 – Ramp-down time (p1082 → 0) 10.00 s Drive configuration

The required end state is:

  • Effective maximum speed = 1700 RPM (no more).
  • Ramp time from 0 to 100% setpoint = 10 s (a deliberate slowdown versus the original 200 RPM/s).
  • Motor nameplate data untouched.

SINAMICS S120 Profibus PZD Setpoint Architecture

When a SINAMICS S120 receives its speed setpoint over Profibus (PROFIdrive profile), the cyclic process data uses the standard PROFIdrive telegram (commonly Telegram 1, 2, 3, or 102/105 depending on control mode). The minimum layout is:

PZD word Abbreviation Meaning Normalization
PZD1 (output from PLC → drive) STW1 Control word 1 (bit-coded: ON/OFF1, OFF2, OFF3, enable, ramp enable, setpoint enable, fault acknowledge, …) Bit field
PZD2 (output from PLC → drive) NSOLL Speed setpoint (signed) 16384 = 100% of p2000
PZD1 (input from drive → PLC) ZSW1 Status word 1 Bit field
PZD2 (input from drive → PLC) NIST Actual speed smoothed 16384 = 100% of p2000

For a baseline 2000 RPM reference, the PLC sends NSOLL = 16384 (0x4000) for full speed and NSOLL = 0 for zero. Any signed 16-bit value is interpreted linearly between –32768 (–200% of p2000) and +32767 (+200% of p2000). The reference variable p2000 defines what 100% means in RPM.

This is the critical conceptual point: p2000 controls the meaning of the integer the PLC sends, not the motor capability. The motor's actual maximum is bounded by p1082 and the closed-loop torque/speed envelope.

Parameter Roles: Reference, Limit, Ramp

Parameter Function Should change? Side effect if changed
p0300 / p0301 / p0311 / p0314 / p0325/6/7 Motor nameplate (type, voltage, current, power, cos φ, rated speed) No Breaks torque, power, slip, I²t thermal, field-weakening, Vdc_min/max regulator calculations
p2000 Reference speed – what 100% on the bus means in RPM Yes (with care) Re-scales ALL bus setpoints and actual-value returns. HMI percentages, ramp-rate interpretation, scaling of analog outputs, and certain PROFIEnergy profiles all follow p2000.
p1082 Maximum speed – hard upper limit, used by ramp generator and overspeed protection Yes (carefully) Changes ramp ramp-up/down interpretation, overspeed threshold, and the speed ceiling for closed-loop control.
p1120 Ramp-up time from 0 to p1082 Yes Alters acceleration rate.
p1121 Ramp-down time from p1082 to 0 Yes Alters deceleration rate.
p1071 Scaling of the main setpoint connector input Yes (with care) Multiplies incoming setpoint by a percentage factor (default 100%). Can be written from PLC.
r0020 Speed setpoint smoothed, after ramp generator and limits (RPM) n/a – read-only diagnostic
r0021 Actual speed smoothed, encoder-feedback or model-based (RPM) n/a – read-only diagnostic
r0022 Actual speed unsmoothed (RPM) n/a – read-only diagnostic

Why Nameplate Parameters Must Not Be Modified

The SINAMICS S120 control model uses motor equivalent-circuit data to compute magnetic flux, slip frequency (in V/f and vector modes), torque-producing current (iq), flux-producing current (id), and the I²t thermal load. Changing p0311 (rated speed) to fake a lower motor rating forces every internal calculation that depends on slip (nsyn − nmech) to be wrong. The drive will:

  1. Under-flux or over-flux the motor at any given mechanical speed, raising or lowering torque capacity unexpectedly.
  2. Miscompute the field-weakening threshold and the pull-out slip limit, risking instability above base speed.
  3. Throw F07902 (motor model / parameter plausibility) on the next commissioning download with STARTER or Startdrive.
  4. Invalidate warranty and CE conformity for the motor/drive pair.

The same prohibition applies to p0300 (motor type), p0304/5 (rated voltage/current), p0307 (rated power), p0308 (cos φ), and p0325/6/7 (stator/rotor resistance). These are written once during initial commissioning and locked to the motor's UL/CE plate.

Method 1 – Scale the Setpoint in the PLC (Recommended)

Leave every drive parameter untouched. Change only the engineering units conversion in the PLC block that builds NSOLL. This is the cleanest, most reversible, and most auditable solution. It is the canonical answer to the original question.

Calculation for 1700 RPM in a baseline 2000 RPM reference system:

n_NSOLL = (RPM_target / 2000 RPM) × 16384
n_NSOLL = (1700 / 2000) × 16384 = 0.85 × 16384 = 13926.4 → 13926

PLC implementation in structured text (IEC 61131-3):

// Inputs
VAR_INPUT
    fSpeedRPM : REAL;   // requested speed in RPM, 0..2000
    bEnable   : BOOL;
END_VAR

// Outputs
VAR_OUTPUT
    nNSOLL    : INT;    // speed setpoint to PZD2 (signed, 16384 = 100%)
END_VAR // Constants VAR CONSTANT REF_RPM : REAL := 2000.0; // matches drive p2000 FULL_SCALE: REAL := 16384.0; END_VAR nNSOLL := REAL_TO_INT( (fSpeedRPM / REF_RPM) * FULL_SCALE ); IF bEnable = FALSE THEN nNSOLL := 0; END_IF;

Ramp behavior with Method 1:

  • PLC must command 13926 instead of 16384 at the new 100% point.
  • The drive's ramp generator still uses p1120 = 10 s to reach p1082 = 1980 RPM, i.e. a rate of 198 RPM/s.
  • Time from 0 to 1700 RPM (bus command = 13926) ≈ 1700 / 198 = 8.59 s.
  • If the operator wants exactly 10 s to reach 1700 RPM, they must either accept the slightly faster ramp of Method 1, or use Method 2 (recalculate p1120).

Method 2 – Recalculate Ramp Time After Changing p2000

Method 2 re-defines what "100%" means on the bus so the PLC code does not change. Operators who type "100%" on the HMI get 1700 RPM instead of 2000 RPM. Because p2000 is the master reference, it must be reconciled with p1082, p1120, and p1121.

Step-by-step:

  1. Set p2000 = 1700. This makes 16384 on the bus equal to 1700 RPM.
  2. Set p1082 = 1700. The drive's ceiling must match p2000 or the PLC will command values that the drive clamps.
  3. Recompute p1120 so that 0 → 100% still takes 10 s:
    new_p1120 = (old_p1082 / new_p2000) × old_p1120
    new_p1120 = (1980 / 1700) × 10.00 = 11.647 s
  4. Recompute p1121 analogously (11.647 s if the same ramp rate is desired).
  5. Save with copy RAM → ROM or p0977 = 1.

If the original p1082 was 2000 (i.e. identical to motor rated speed), the result is the 11.76 s value often quoted in the field. The formula generalizes to any pair of values:

p1120_new = (p1082_old / p2000_new) × p1120_old

Side effects of changing p2000:
  • All PROFIdrive normalized values (NSOLL, NIST, torque/power references if you also send them) re-scale together. HMI bar graphs wired to p2000 change meaning.
  • Analog outputs configured against reference variables (e.g. r0063 in % of p2000) re-scale. Recompute any custom scaling in the analog-output function block.
  • PROFIenergy shutdown / standard profiles that assume 100% = motor rated speed must be re-evaluated.
  • If Telegram 102/105 is used with torque limits in bus percent, torque references follow p2000 implicitly but torque in Nm follows p2000 in a way you should re-check on first commissioning.

Method 3 – Use Drive Data Sets (DDS) for Switching

When the application requires reversible switching between two speed regimes – e.g. "setup at 500 RPM" vs "production at 1700 RPM" vs "original 2000 RPM" – use Drive Data Sets. Each DDS has its own p1120, p1121, p1082, p2000, ramp smoothing, and so on. Switching DDS is done by writing to the DDS-select bits in the control word (STW1, bits 15–14 for DDS selection in the standard PROFIdrive profile) or via parameter p0820 (DDS selection, binary-coded).

Implementation sketch for this case:

  1. Save the current parameter set as DDS0 (default).
  2. Configure DDS1: p2000 = 1700, p1082 = 1700, p1120 = 11.647, p1121 = 11.647.
  3. In the PLC, activate DDS1 by setting the DDS-select bits in STW1 whenever production runs at the reduced ceiling.
  4. DDS0 retains the original 2000 RPM / 10 s ramp for commissioning and override scenarios.

DDS switching is bumpless when the drive is in standby (pulses inhibited). Switching on the fly during closed-loop operation will not damage the drive but may produce a small step if p1082 differs between data sets; the ramp generator smooths the transition.

Side Effects of Changing p2000 vs Changing p1082

What is changed? Affects bus scaling? Affects ramp interpretation? Affects overspeed threshold? Affects thermal model?
p2000 only Yes No (p1120 is still 0 → p1082) No No
p1082 only No Yes (p1120 is still expressed against the new p1082) Yes (closer to motor rated speed) No
p2000 and p1082 Yes Yes (must recompute p1120) Yes No
p0311 (motor rated speed) – NEVER Yes (in servo/vector) Yes Yes Yes – invalidates commissioning

The conservative approach is therefore: change only p2000 if the operator-facing percentage must be 100% = 1700 RPM, and re-tune the ramp generator; change only the PLC setpoint if p2000 must remain tied to motor rated speed. Change p1082 only when the application requires a hard ceiling lower than the bus reference ceiling.

Clamp Logic and Safety Limits

When the PLC sends a typed-in reference (e.g. from an HMI), it is good practice to clamp the value before it hits the Profibus output buffer. Two clamp points matter:

  1. Application clamp in the PLC: 0 ≤ fSpeedRPM ≤ 1700 (or 2000, whichever is the engineered maximum).
  2. Drive clamp: p1082 set to the engineered maximum (1700 in this case) and p1083 (speed-signal monitoring threshold for technology controller) reviewed.

The classic field failure is an operator typing 17000 (dropped decimal) where they meant 1700. With p2000 = 2000, 17000 RPM would saturate the bus at 32767 (≈ 200% of p2000) and demand the drive go to 4000 RPM with overspeed protection being the only safety net. Clamping in the PLC, in addition to p1082, gives defense-in-depth.

Defense in depth checklist:
  • PLC clamps raw input to the engineered ceiling.
  • PLC multiplies the engineering-units value by FULL_SCALE / REF_RPM with integer rounding that saturates rather than wraps (use LIMIT() in S7 or NORM_X in TIA Portal).
  • Drive has p1082 = engineered ceiling as the last-resort limit.
  • Drive has p1081 (maximum speed for CW rotation) and p1086 (maximum speed for CCW rotation) set if directional asymmetry exists.

Verification and Commissioning Steps

  1. Connect STARTER (≤ V5.x) or Startdrive (≥ V15 in TIA Portal) to the drive via PROFIBUS, PROFINET, or Ethernet service port. See the SINAMICS S120 high-performance drive system page for commissioning-software compatibility per firmware version.
  2. Open the parameter list and confirm p0300, p0301, p0310, p0311, p0325, p0326, p0327 are unchanged from the original commissioning record.
  3. Read back the new values: p2000 = 1700 (Method 2/3) and p1082 = 1700.
  4. Compute and verify p1120, p1121 against the formula above. For Method 2 with p1082_old = 1980, p2000_new = 1700, p1120_old = 10 s: p1120_new = 11.647 s.
  5. Trigger a commissioning test: command NSOLL = 16384 from the PLC (or STARTER control panel). Confirm on r0021 that the actual speed saturates at 1700 RPM and does not overshoot.
  6. Use the STARTER/Startdrive trace to capture r0020 (speed setpoint after ramp) and r0021 (actual speed) during a 0 → 100% step. Confirm ramp time from 0 to p1082 is the new p1120 value and there is no overshoot beyond the new ceiling.
  7. If DDS switching is used, repeat the trace for each DDS and confirm bumpless transfer.
  8. Run a fault-injection test: with the drive enabled, write a single-cycle NSOLL = 32767 from the PLC and confirm that p1082 clamps the speed to 1700 RPM, that F07901 (overspeed) does NOT trip if 1700 < p1082, and that the bus telegram remains healthy.
  9. Save to ROM with p0977 = 1 (or "Copy RAM to ROM" in the tool).

Troubleshooting Matrix

Symptom Likely cause Diagnosis Remedy
PLC sends 16384 but motor only reaches 1700 RPM after Method 2 p2000 = 1700 was set but PLC code was not updated and still treats 16384 as 100% of 2000 RPM Read r0020 and r0021 with the PLC in test mode Decide on a single source of truth: either PLC scales to 1700 (Method 1) OR drive scales via p2000 (Method 2). Do not mix.
Acceleration feels faster than 10 s after changing p2000 p1120 was left at 10 s against the OLD p1082, so the ramp rate is unchanged Check r0020 trace; divide p1082 by trace-measured 0→100% time Set p1120 = p1082 / (1700/10) = 11.647 s (or appropriate formula result).
F07901 overspeed during ramp-down p1082 lowered below current operating speed; ramp-down tries to pass p1082 transiently in field-weakening Inspect r0022 trace at fault Lower p1121 (extend deceleration) and verify mechanical brake is closing correctly.
F07902 motor data plausibility after commissioning download STARTER/Startdrive detected p0311 mismatch with motor type p0300 or with mechanical moment of inertia Read fault value; check p0300, p0301, p0310, p0311 Restore nameplate parameters from motor UL plate; do NOT change p0311 to fake a speed limit.
HMI bar graph reads 100% at less than rated speed HMI scaling references p2000; p2000 has been changed Inspect HMI tag scaling Update HMI tag scaling or restore p2000 to motor rated speed and scale in the PLC instead.
Torque limit in bus % does not match expected Nm Torque reference variable (e.g. p2003 family) also depends on the reference set used Read r0080 (actual torque) vs NSOLL-derived torque request Verify p2003 reference torque against motor nameplate torque; do not assume scaling has been preserved.
DDS switch causes a step in speed p1082 differs between DDS and drive is not in standby at switch Trace r0020 around the switch Switch DDS only when the drive is disabled (STW1.0 = 0) or use MELDW-based gating.

Field-Proven Practical Notes

  • If the PLC is a Siemens S7-300/S7-400 with classic STEP 7, the standard block FC/FB 15–22 for SIMOVERT/SINAMICS already takes the engineering RPM and outputs NSOLL. Set the block's reference RPM to 2000; scale your engineering range separately.
  • If the PLC is an S7-1200/S7-1500 in TIA Portal, use the SINAMICS library blocks (LAcycCom / LAcycSinamics) and set the ReferenceSpeed parameter to match p2000.
  • If the application changes frequently, parametrize p1071 as a writable percentage and command the scaling from the PLC (e.g. p1071 = 85.0% when 1700 RPM is the new maximum). This is reversible from the PLC without touching p2000 or p1082, but it changes only the main setpoint, not PROFIdrive status scaling.
  • Always check r0021 against r0020 after the change. A persistent large gap with no ramp active indicates the speed controller is saturated and you have likely changed a torque or current limit somewhere unintended.
  • Document the new p2000 and p1120 values in the drive's nameplate sticker or in the project drawing – the next service engineer will assume 16384 = motor rated speed.

What does p2000 actually do in a SINAMICS S120?

p2000 is the reference speed: it defines the mechanical RPM that corresponds to 100% (16384 / 0x4000) on the Profibus/Profinet normalized speed setpoint. Changing p2000 does not change motor capability – it only re-scales how the drive interprets the bus integer. See the official SINAMICS S120 product page for parameter-list firmware compatibility.

Can I simply lower p0311 (motor rated speed) to 1700 RPM and call it done?

No. p0311 is a nameplate parameter; modifying it corrupts slip calculation, torque limit, I²t thermal model, and field-weakening entry, and will trigger F07902 on the next commissioning download. Use p2000 / p1082 / p1120 / p1121 or PLC-side scaling instead.

My ramp feels the same after changing p2000. Why?

Because p1120 is defined as the time to ramp from 0 to p1082, not from 0 to the old motor rated speed. If you only changed p2000, the ramp rate in RPM/s is unchanged. Recompute p1120 = (p1082_old / p2000_new) × p1120_old; for the case of 1980 → 1700 RPM and 10 s original ramp, the new p1120 is 11.647 s.

Which is safer – PLC scaling or p2000 scaling?

PLC scaling (Method 1) is safer because the drive remains in its original commissioning state; every diagnostic, HMI bar, and PROFIenergy profile continues to interpret 100% as motor rated speed. p2000 scaling (Method 2) is convenient when the operator must type percentages and expect them to track the engineered ceiling, but it touches all percent-based displays and should be documented in the drawing set.

How do I clamp an HMI-typed speed so a dropped decimal cannot overspeed the motor?

Clamp the HMI tag in the PLC engineering code to the engineered maximum (e.g. 1700 RPM) with a saturation block (LIMIT in STEP 7 / TIA Portal). As a second line of defense, also set p1082 = 1700 RPM and consider p1081 / p1086 if direction matters. Drive-side overspeed protection (F07901) will only trip above p1082 and is not a substitute for input validation.

Back to blog