Calculating SINAMICS VFD Transfer Functions for S7-1200 Control

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

Overview

Siemens variable-frequency drive families — SINAMICS G/S/V, the legacy SIMOREG DC-MASTER (now SINAMICS DCM), and the MICROMASTER 4 line — expose a closed-loop controller that already implements the speed, current, and (where applicable) flux regulators internally. When an S7-1200 PLC issues a speed setpoint over PROFIBUS DP or PROFINET, the drive performs all of the inner-loop mathematics; the PLC does not need to re-implement the drive transfer function. This article documents the underlying mathematical models of these three drive families for engineers who must (a) size an outer supervisory loop on the PLC, (b) verify stability analytically before commissioning, or (c) simulate the mechatronic system in MATLAB/Simulink ahead of building hardware.

Why You Generally Do Not Program the Drive Transfer Function in the PLC

The PLC↔drive boundary is a standardized cyclic data channel. Once a telegram (Standard Telegram 1, 3, 5, 9 for SINAMICS; PPO types 1–5 for SIMOREG 6RA70; USS/DP for MICROMASTER) is configured, every control word, status word, setpoint, and actual value is mapped to fixed bits/words. The drive's internal PI controllers (current, speed, flux, EMF) close their loops in microseconds inside the Control Unit. The PLC closes only the outer supervisory loop — typically a process PID whose output is the speed setpoint NSOLL. Re-deriving the inner drive dynamics inside the PLC adds CPU load, introduces aliasing between the PLC cycle (1–10 ms) and the drive cycle (125 µs–1 ms), and provides no commissioning benefit because the drive's autotuning routine already identifies motor parameters.

Engineering rule: If the only loop you need is a process variable (pressure, flow, tension) → speed setpoint, leave the motor-control transfer functions in the drive and use the S7-1200 PID_Compact block only for the outer process loop. Compute Kp/Tn for the inner drive loops analytically only when simulating or sizing an upstream mechanical load.

Drive Control Architecture: From Setpoint to Motor Shaft

The classical cascaded structure used by every Siemens drive from the MICROMASTER 4 up to the SINAMICS S120 is:

  1. Speed controller — PI; bandwidth typically 30–100 Hz. Output = torque setpoint (M_SOLL).
  2. Current/torque controller — PI; bandwidth typically 500–2000 Hz. Output = voltage/flux setpoint.
  3. Modulator / firing unit — PWM (AC drives) or thyristor bridge (DC drives).
  4. Power stage + motor — integrator between voltage and speed, first-order lag between voltage and current.

Each loop is at least a decade faster than the loop it feeds, which is why engineers model the inner loops as a unity-gain block when sizing the outer (PLC-side) controller.

SINAMICS G120/S120 Speed Control Transfer Function

The SINAMICS speed controller with active moment of inertia compensation (p1496 / p1498) is documented in the SINAMICS S120/S150 List Manual. The small-signal block diagram from speed setpoint n* to actual speed n is:

Plant (motor + load):

G_motor(s) = 1 / (J·s + b)   [rad/s per Nm]

PI speed controller:

G_speed(s) = K_p · (1 + 1 / (T_n·s))

Default scaling on SINAMICS G120 (CU240E-2 / CU250S-2):

  • K_p (p1460) normalized to motor rated torque; default 0.3 Nm/(rad/s) for a 1LE1 induction motor of equivalent rating.
  • T_n (p1461) default = 400 ms.
  • Speed controller cycle (r2064) = p0115[1]; typically 1 ms for CU240E-2, 125 µs for CU320-2.
  • Current controller cycle 250 µs (CU240E-2) or 125 µs (CU320-2).

Closed-loop transfer function (linear approximation, no friction, no load disturbance):

T(s) = n(s)/n*(s) = K_p·(1 + T_n·s) / [J·T_n·s² + (b·T_n + K_p)·s]

For symmetric-optimum tuning, set:

K_p = J / (2 · T_n · K_current) ; T_n = a · T_Σ

where K_current ≈ M_max / I_max (drive-side current-loop gain), T_Σ is the sum of all small time constants in the inner loop (current sample + PWM + IGBT dead time ≈ 0.5–1 ms), and a = 2 (Krause classic) or 3 (broader stability margin). This yields a phase margin near 65° and a closed-loop bandwidth ≈ 1/(2·T_n).

SINAMICS DCM (DC Master / SIMOREG 6RA70) Transfer Function

Because the SINAMICS DCM controls the armature of a DC shunt or separately excited motor, the architecture is single-quadrant-friendly and the math reduces to two cascaded PI loops over a first-order plant. See the SINAMICS DCM product page for the catalog range (6RM80 chassis series, 6RM90 adaptive) and the SINAMICS DCM DC Converter manual for the parameter list.

Armature current loop

Plant: armature inductance L_a and resistance R_a form a first-order lag; back-EMF e = k·Φ·ω enters as a disturbance:

G_ia(s) = 1 / (L_a·s + R_a)   [A per V]

PI current controller (P155 = K_p,I; P156 = T_n,I):

G_ci(s) = K_p,I · (1 + 1 / (T_n,I·s))

For symmetric optimum: K_p,I = L_a / (2·T_Σ) and T_n,I = L_a / R_a, where T_Σ sums the thyristor firing delay (≈ 1.67 ms at 50 Hz, 6-pulse) and the current measurement filter (0.5–1 ms). Resulting closed-loop bandwidth ≈ 1/(2·T_Σ) ≈ 250 Hz.

Speed loop

Plant: J·s + b. Speed PI (P225 = K_p,n; P226 = T_n,n) closes over the already-tuned current loop:

T_n,closed(s) ≈ 1 / (2·T_n,n·s + 1)    for T_n,n ≫ T_Σ

Default SIMOREG 6RA70 / SINAMICS DCM parameters:

  • P155 (armature current Kp) ≈ 0.5–1.5 on a 6RA70 200 A unit; 1.0–3.0 on a 6RA70 600 A unit.
  • P225 (speed Kp) ≈ 3–10; normalized to rated speed / rated torque.
  • P226 (speed Tn) ≈ 50–200 ms.
Field-weakening region: above base speed the flux Φ falls as 1/ω. The torque-producing current loop therefore loses gain proportional to ω, and the speed controller Kp,n must be reduced or the loop will oscillate. SINAMICS DCM parameters r521/r522 in the firmware display the active flux and allow automatic gain scheduling via the free function blocks (FFB).

MICROMASTER 4 Transfer Function

MICROMASTER 4 (MM4 — 6SE6400-2 series; MM420, MM430, MM440) uses a fixed-structure V/f or sensorless vector (SLVC) controller on a C166-core Control Unit. The transfer function is intentionally simplified for fast commissioning without autotuning:

G_speed,MM4(s) ≈ K_p_MM4 · (1 + 1 / (T_n_MM4·s)) / (J·s + b)

  • K_p_MM4 mapped to P1460 (analogous to SINAMICS).
  • T_n_MM4 default ≈ 400 ms (P1461).
  • PWM carrier P1800 default 4 kHz (MM420/430) or 4–16 kHz (MM440).
  • Current controller cycle 1 ms; speed controller cycle 4 ms.
  • SLVC mode (P1300 = 1) requires a stable motor model with motor data identification (P1910).

The MM4 is intentionally slower than SINAMICS G120 (current loop ≈ 1 kHz vs. 2–4 kHz). When porting a model from MM4 to G120/S120, scale the inner-loop bandwidth by 2× and the speed-loop Kp accordingly.

PROFIBUS / PROFINET Telegram Mapping with S7-1200

Standard Telegram 1 (STW1/ZSW1 + NSOLL/NIST) is the typical choice for speed control on SINAMICS G120. S7-1200 supports SINAMICS drives via the SINA_SPEED block or via a generic PROFIdrive profile block library. Reference: SINAMICS G120 + S7-1200 Startdrive example.

Telegram PZD1 out PZD2 out PZD1 in PZD2 in Typical use
1 STW1 NSOLL ZSW1 NIST Speed mode, single encoder
2 STW1 NSOLL ZSW1 NIST + NIST_GL Speed with two encoders
3 STW1 + STW2 NSOLL ZSW1 + ZSW2 NIST Speed with extended control word
5 STW1 + STW2 NSOLL + torque limit ZSW1 + ZSW2 NIST + actual torque Speed + torque limiting
9 STW1 + STW2 + M_LIM NSOLL ZSW1 + ZSW2 NIST + M_IST + fault code Speed + torque with diagnostic word
SIMOREG PPO 5 CTW1 NSOLL STW1 NIST DC Master legacy PROFIBUS

Bit fields (Standard Telegram 1)

  • STW1.0 = ON/OFF1; STW1.1 = OFF2 (coast stop); STW1.2 = OFF3 (fast stop); STW1.3 = enable operation; STW1.4 = ramp-function generator enable; STW1.6 = setpoint enable; STW1.10 = control by PLC.
  • NSOLL = speed setpoint, normalized 0x4000 = rated speed (p2000).
  • ZSW1.2 = operation enabled; ZSW1.3 = fault present; ZSW1.7 = no OFF2 active; ZSW1.10 = control requested from PLC.

State diagram sequence (S7-1200 startup)

Per PROFIdrive, the drive must traverse S0 → S1 → S2 → S3 → S4 in order. The PLC issues:

  1. STW1 = 0x047E (S2 — Ready-to-switch-on, OFF1 high, OFF2 low, OFF3 low, enable low).
  2. Wait for ZSW1 = 0x0631 (S2 acknowledged).
  3. STW1 = 0x047F (S3 — Ready, ON/OFF1 high).
  4. STW1 = 0x047F + setpoint enable STW1.6 → S4 (Operation enabled).
  5. Apply NSOLL ramps.

Parameter Reference Tables

Parameter SINAMICS G120 SINAMICS DCM MICROMASTER 4 Function
Speed Kp p1460 P225 P1460 Proportional gain of speed PI
Speed Tn p1461 P226 P1461 Integral time of speed PI
Current Kp p1715 (auto) P155 p1715 (auto) Proportional gain of current PI
Current Tn p1717 (auto) P156 p1717 (auto) Integral time of current PI
Acceleration ramp p1120 P303 P1120 Ramp-up time in seconds
Deceleration ramp p1121 P304 P1121 Ramp-down time in seconds
Rated speed reference p2000 P741 P2000 Normalization for NSOLL/NIST
Control mode p1300 P100 P1300 0 = V/f, 1 = SLVC, 20 = torque
Motor identification p1900 P051 = 27 P1910 Static + rotating ID

Practical Tuning Procedure on S7-1200 + SINAMICS G120

  1. Wire the drive per the Startdrive G120 example; bring up the drive in JOG from Starter/Startdrive to verify direction.
  2. Enter motor nameplate data (p0304, p0305, p0307, p0310, p0311, p0335).
  3. Run motor identification (p1900 = 2) — measures stator resistance, leakage reactance, magnetizing curve. Motor must be unloaded for rotating measurement.
  4. Activate the speed controller autotune (p1960 = 1, or p1959 = 4 for SINAMICS V90). Drive measures moment of inertia and computes Kp/Tn automatically.
  5. Configure Standard Telegram 1 in the S7-1200 device configuration; map PZD to a global DB (e.g., DB100: WORD 0 = STW1, WORD 2 = NSOLL, WORD 4 = ZSW1, WORD 6 = NIST).
  6. Verify direction: write NSOLL = 0x1000 (25% of p2000) only after ZSW1.2 = 1. Confirm ZSW1.2 goes high and NIST rises.
  7. Step-test: pulse 0x1000 → 0x2000 → 0x1000 with 200 ms hold; observe NIST response in Starter trace.
  8. If overshoot > 10%, increase p1461 (longer Tn) by 20%; if sluggish, reduce p1461 by 20%.

Verification and Commissioning Checks

  • Trace r0060 (speed setpoint before filter) and r0061 (actual speed, unsmoothed) in Starter trace; verify r0061 follows r0060 with < 50 ms lag and no ringing.
  • Trace r0078 (torque actual) during step load — verify current loop bandwidth > 500 Hz by step-loading and reading r0075 (current actual) response.
  • Confirm F07900 (motor blocked) does not trigger during normal ramp by checking r0080 (torque) stays below p2177 (motor blocked threshold).
  • Confirm F07901 (motor overspeed) does not trigger; default threshold is p2162 = 1.2 × p2000.
  • If a process PID runs on the S7-1200, log PID_Compact output and process variable at 100 ms; verify the process loop has phase margin > 30° before enabling the drive run signal.
  • Verify PROFIBUS watchdog (p2040) > 2 × OB1 cycle to avoid spurious F01910 communication faults.

Troubleshooting Matrix

Symptom Likely cause Drive parameter to inspect PLC-side action
ZSW1.3 = 1 immediately on startup STW1.0–STW1.6 not all set per PROFIdrive state graph r0002 drive state Sequence OFF → Ready → Switching-on → Operation-enabled per Siemens state diagram
Motor runs but NIST = 0 in PLC p2000 normalization mismatch p2000, r0020 Scale NSOLL = target_rpm / p2000 · 0x4000; cross-check r0020 against NIST
Oscillation at low speed p1460 too high or encoder feedback missing in SLVC p1460, p0400 Reduce p1460 by 30%; switch control mode (p1300) from 0 (V/f) to 1 (SLVC) only if encoder present
F07901 motor overspeed Mechanical resonance or wrong p2000 p2162 overspeed threshold Verify motor nameplate rpm vs. p0311; tune speed filter p1656
F30002 DC-link undervoltage on ramp-down Regenerative energy exceeds brake chopper rating p1240 brake chopper config Extend p1121 deceleration ramp to > 3 × J/b
Field-weakening oscillation (DCM) Speed Kp not scheduled against flux r521, r522, P225 Enable gain scheduling via FFB; reduce P225 above base speed
PROFIBUS timeout F01910 Watchdog too short for PLC scan time p2040 PROFIBUS monitoring Extend p2040 to > 2 × OB1 cycle; confirm DP slave is alive in HW Config
F07902 motor stalled Mechanical jam or shaft torque > p2177 p2177 stall threshold, r0080 Reduce load; raise p2177 if benign overload expected during start
Drive trips on enable but no fault code STW1.10 (control by PLC) not set r0002 = 35 Set STW1.10 = 1 in the S7-1200 before releasing the run bit

Notes on Simulation vs. Real Commissioning

If the engineering goal is to verify stability before the motor is installed (e.g., for a tender, FMEA, or HAZOP), the transfer functions above are sufficient for a MATLAB/Simulink model using the symmetric-optimum rule:

T_n = a · T_Σ ; K_p = J / (2 · a · T_Σ · K_inner)

with a = 2 (classic Krause) or a = 3 (broader stability margin). Cross-check against the SINAMICS autotune output and accept the autotune value if it lies within ±30% of the calculated Kp/Tn pair. For multi-mass systems (gearbox, belt, elastic coupling), insert a second-order torsional resonance between motor and load and re-tune using Ziegler–Nichols closed-loop (Pn, Tn) or the Bode-plot method (target phase margin 45–65°, gain margin > 8 dB).

Field-Proven Caveats

  • Encoderless (SLVC) SINAMICS G120 speed control is reliable above 5% of rated speed; below that, the back-EMF model breaks down and the loop behaves open-loop. Use an encoder (p0400) if the process demands speed below 5% rated.
  • Sinusoidal filter output (VFD) requires either derated PWM (p1800 reduced to 4 kHz) or firmware support for the filter capacitance compensation; otherwise the current loop will overshoot and trip F30001 overcurrent.
  • When two S7-1200 CPUs share the same drive via PROFIBUS, only one may own STW1.10; the second must use Telegram 3 (read-only status) for HMI mirroring.
  • On SINAMICS DCM with 50 Hz mains, the thyristor firing delay 1.67 ms is dominant. At 60 Hz mains it falls to 1.39 ms and the optimal P155 must be increased by 1.67/1.39 ≈ 20% to maintain symmetric optimum.
  • Regenerative SINAMICS G120 (frame sizes FS E and above with active line module) requires the firmware version > 4.7 SP3 for the line-side controller; check r0018 if F30002 persists on no-load ramp-down.

FAQ

Do I need to implement the drive transfer function in the S7-1200 program?

No. The drive's internal current, speed, and flux PI controllers already close all inner loops. The PLC only sends a normalized speed setpoint (NSOLL) over PROFIBUS/PROFINET and reads back the actual speed (NIST). Re-implementing the motor model on the PLC side adds CPU load, introduces aliasing between the 1–10 ms PLC cycle and the 125 µs–1 ms drive cycle, and provides no commissioning benefit.

Which telegram should I select for a basic speed-control application with a G120 and S7-1200?

Standard Telegram 1 (STW1, NSOLL, ZSW1, NIST) is sufficient for 90% of speed-control applications. Switch to Telegram 5 if you also need torque limiting, or Telegram 9 if you require the active fault-code word for diagnostic purposes.

What is the default speed-controller integral time on a SINAMICS G120 with vector control?

p1461 (Tn) defaults to 400 ms and p1460 (Kp) defaults to 0.3 for the typical 1LE1 induction motor. After running the speed-controller autotune (p1960 = 1), Siemens Starter/Startdrive writes optimized values back into p1460/p1461 — always record these as the commissioning baseline before further manual tuning.

How do I derive the transfer function of a SIMOREG DC-MASTER armature loop?

Plant is 1/(L_a·s + R_a) and the PI controller is K_p,I·(1 + 1/(T_n,I·s)). For symmetric optimum, set T_n,I = L_a/R_a and K_p,I = L_a/(2·T_Σ), where T_Σ includes the 1.67 ms thyristor firing delay at 50 Hz six-pulse plus the current measurement filter delay of 0.5–1 ms.

Why does my drive trip F07901 (motor overspeed) during ramp-down even though the encoder is correct?

F07901 is triggered when the actual speed exceeds p2162 (default 1.2 × p2000). During fast ramp-down, regenerative energy raises the DC-link voltage and can overshoot. Extend p1121 (ramp-down time) to at least three times the mechanical time constant J/b, or enable the brake chopper (p1240 = 1) and verify the brake resistor is sized for the cycle.

Back to blog