1. Physical Foundation: Dynamic Torque in a DC Drive System
The total electromagnetic torque developed by a separately excited or shunt-wound DC motor is the sum of two physical components. The load torque (sometimes called static or steady-state torque) is the resisting moment imposed by the driven machine — friction, gravity on a vertical axis, process load, windage, and any external reaction. The dynamic torque (also called acceleration torque or inertial torque) is the additional electromagnetic moment required to change the kinetic energy stored in the rotating masses.
The governing equation of motion for a single-mass drive train is:
M_total(t) = M_load(t) + M_dynamic(t)
M_dynamic(t) = J_total · dω/dt
J_total = J_motor + J_load / i² (load referred through gear ratio i)
ω = 2π · n / 60 (rad/s, where n is in rpm)
If you are observing a step change in speed (speed jump), the load torque remains approximately constant during the transient (neglecting process coupling), so the entire change in M_total is the dynamic component. That is why engineers use a step setpoint to validate the J·dω/dt term: at constant ω the derivative collapses to zero and M_dynamic should drop to zero, leaving M_idle equal to the no-load friction + windage of the motor.
For a DC drive, the field flux φ is independently controllable, and the armature current Ia is a direct image of the developed torque:
M_em = k · φ · Ia [Nm] (SI units, k is the motor torque constant)
M_em = c · φ · Ia [Ncm] (cgs / SIMOREG normalized form, c in Ncm/A·Wb)
Because the SIMOREG 6RA70 measures armature current and field current with high bandwidth, the drive can reconstruct the torque internally. The remaining engineering problem is therefore not the torque measurement — it is the isolation of the inertial component from the total torque, which is the precise question the source conversation is asking.
2. SIMOREG 6RA70 Torque Signal Architecture
The 6RA70 is a fully digital, three-phase, fully-controlled six-pulse (or twelve-pulse with parallel bridges) DC converter from the SIMOREG DC MASTER family. Torque-related signals are routed through a network of connectors (the K0xxx indices in the function diagram set) and parameters (the Pxxx indices in the parameter list). The drive distinguishes three families of function diagrams:
| Diagram prefix | Purpose | Examples relevant to torque |
|---|---|---|
| G1xx | General setpoint / actual value flow | G152 (current/torque limit chain), G153 (torque limiting stage) |
| G2xx | Speed controller and ramp function | References to K0167 (n-actual) |
| G3xx | Field and armature current controllers | EMF path, K0168 (EMF actual) |
| K1xx | Connector definitions and switchover logic | K0150, K0168, K0174, K0142 |
| Z1xx / Z2xx | Closed-loop diagrams for commissioning | Optimization runs |
The torque chain is conceptually:
3. Connector Map: K0142, K0150, K0167, K0168, K0174
Within the SIMOREG function diagram, the following connectors are the most relevant to the dynamic-torque problem. Connector numbers and scaling are taken from the standard SIMOREG DC MASTER 6RA70 Operating Instructions (Siemens order 6RX1700-0AD70, available in the Siemens Industry Online Support at support.industry.siemens.com); always confirm against the firmware variant stamped on the rating plate of the unit.
| Connector | Signal | Normalization | Source block | Use in dynamic-torque chain |
|---|---|---|---|---|
| K0142 | Actual torque value (computed from Ia and φ) | ±100 % = ±M_max(P110/P111) or per motor data | Armature + field current path | Direct read of M_total — feed to FFB chain |
| K0150 | Torque limit / torque setpoint (output of the torque limit stage) | ±100 % = ±M_max | G153 / G152 | Output of current-limiting or torque-limiting stage |
| K0167 | Speed actual value (n-actual, smoothed) | ±100 % = ±n_max(P108) | Speed controller / encoder | Input to differentiator for dω/dt |
| K0168 | Counter-EMF (e = k·φ·n) | ±100 % = rated EMF | Field/EMF model | One candidate for the K0150 input path |
| K0174 | Process-side torque reference / supplementary torque setpoint | ±100 % = ±M_max | Process / free function blocks | Second candidate for the K0150 input path |
| K0140 | Torque setpoint before limits | ±100 % = ±M_max | Speed controller output | Reference for limiters |
4. Function Diagrams G152 and G153 Decoded
G152 depicts the high-level torque limit chain. It typically contains the positive and negative torque limiters, the system-side limit (current limit derived from converter rating), and the process-side limit (operator or fieldbus clamp). The output of G152 is the bounded torque setpoint that is then handed to the current controller.
G153 is the more detailed downstream stage in which the bounded torque setpoint is converted into the d-q armature current reference, with explicit compensation of the field-weakening region. G153 is also where the selectable source for K0150 can be overridden by a free-function-block output, which is the cleanest way to inject a dynamic-torque signal into the current loop.
For the dynamic-torque problem the relevant observation is: K0150 is an output, not a physical torque measurement. It is a torque setpoint (with limits applied). Therefore, the question "can I use K150 as a dynamic torque?" has to be answered no: K0150 is a setpoint, and the actual dynamic torque must be reconstructed externally from K0142 (the actual torque) and J·dω/dt.
5. Resolving the K168 vs K174 Source Ambiguity
The source conversation observed that the description of K0150 says it is taken from K0168, while function diagram G153 indicates it is taken from K0174. The reason for the contradiction is that the K0150 path is configurable: G153 exposes a switch (or a parameter such as P155 / P156 family) that selects between:
- the EMF-based feed-forward path through K0168 (used when the drive is in field-weakening or in EMF-controlled modes), and
- the process-side reference through K0174 (used when a free-function-block or a higher-level controller is providing the torque command).
To find which source is currently active, perform the following trace:
- Bring the drive to the ready state (no enable), so currents remain at zero but the control is alive.
- Open SIMOVIEW or an OP1S panel and navigate to the function diagram G153 (sheet 1).
- Inject a small setpoint on K0174 (e.g. 5 %) using a free function block in test mode. If K0150 moves proportionally, K0174 is the active source.
- If K0150 does not move, force a small EMF variation by adjusting the field setpoint and observe whether K0150 follows K0168.
- Read parameter P155 (or the local equivalent that selects K0150 source) and note the index.
6. Inertia Parameter Location in SIMOREG
To compute the dynamic torque you must know the total moment of inertia J referred to the motor shaft. SIMOREG stores inertia in two places that often get confused:
| Parameter (typical) | Meaning | Units | Used by |
|---|---|---|---|
| P110 (and the motor data block) | Motor no-load moment of inertia J_M (armature + commutator + cooling fan + shaft half-coupling) | kg·m² (or lb·ft² depending on commissioning unit set) | Speed controller optimization, torque pre-control |
| P111 family (or P226 in some FW) | Additional load inertia ΔJ to be added to J_M (representing gearbox, sheave, roll, fan, etc.) | kg·m² | Acceleration-torque feed-forward, speed pre-control |
| r002 / r003 | Computed total J displayed during the speed-controller auto-tuning | kg·m² | Read-only verification |
During the speed-controller auto-tuning (commissioning step "Calculate speed controller", invoked from parameter P051 = 26 or by the appropriate firmware menu), the drive measures the mechanical time constant T_mech by applying a small step in armature voltage and observing the rate of rise of the speed. From T_mech and the no-load current, it back-calculates J_total and writes it into the internal image. The result is visible at r002 / r003.
If the connected load has a variable inertia (e.g. a coiler whose diameter grows), the J value in the drive is only the no-load inertia. The changing inertia must be supplied by the line-side controller via one of the analog inputs, the fieldbus, or a free function block that reads a diameter from the process. The FFBs do not have a built-in variable J register, so the application must compute J·dω/dt sample-by-sample.
7. Free Function Block Library for Dynamic Torque
SIMOREG 6RA70 contains a substantial Free Function Block (FFB) library, configured through the SIMOVIEW PC tool or the OP1S. For the dynamic-torque problem the relevant blocks are:
| FFB block | Function | Typical use in this application |
|---|---|---|
| DIFFER (d/dt) | Discrete differentiator with smoothing time | Derive dω/dt from K0167 |
| INTEG (∫) | Integrator with reset input | Verify torque impulse = Δω·J (off-line check) |
| MUL (×), DIV (÷) | Multiplier and divider (analog, with scaling) | Compute J · dω/dt, optionally divide by k·φ |
| ADD (Σ) | 4-input summing junction with selectable signs | Subtract dynamic from total to get load torque |
| ABS, SIGN, LIMIT | Absolute value, sign, and limiters | Protect against torque overshoot, sign-aware summation |
| PT1 / PT2 | First / second order low-pass filter | Smooth dω/dt before multiplication (mandatory — see §8) |
| FKGEN (lookup table) | Function generator with break-point table | Model a non-linear J(n) or k·φ(IF) curve |
FFB blocks run on the drive's task scheduler at one of the available sample times (typically 1.6 ms, 3.2 ms, or 6.4 ms, depending on the slot). Differentiator and filter parameters must be chosen at a rate that is at least 4× faster than the closed-loop speed controller bandwidth, otherwise the dω/dt estimate lags the actual acceleration and the dynamic-torque subtraction will over-correct in the opposite direction.
8. Differentiator Implementation (dω/dt)
The discrete derivative of the speed is the most error-prone part of the dynamic-torque calculation. A pure backward-difference dω/dt ≈ (ω[n] − ω[n-1]) / T_s amplifies the encoder quantization noise by 1/T_s. With T_s = 3.2 ms and an encoder resolution of 1024 ppr, the noise on the raw derivative is approximately:
Δω_quantization ≈ (2π / 1024) / (3.2e-3) ≈ 1.92 rad/s per LSB
That is unusable for a torque signal. The standard remedy — used by SIMOREG in the FFB DIFFER block — is to combine the differentiator with a PT1 low-pass filter of equivalent time constant T_f:
H(s) = s / (1 + s·T_f) (lead with first-order lag)
y[n] = K · ( x[n] − x[n-1] ) where K = T_s / (T_f + T_s)
Recommended starting values for a 6RA70 on a typical industrial drive:
| Drive size | T_s (sample time) | T_f (filter time) | Usable accel. bandwidth |
|---|---|---|---|
| Small (15–30 A) | 3.2 ms | 30–60 ms | 0 to ≈ 5 Hz on dω/dt |
| Medium (60–200 A) | 3.2 ms | 60–150 ms | 0 to ≈ 1.5 Hz on dω/dt |
| Large (400–1200 A, twelve-pulse) | 6.4 ms | 150–300 ms | 0 to ≈ 0.6 Hz on dω/dt |
After the FFB has produced a clean dω/dt signal, multiply by J_total. The result is the dynamic torque in normalized units (matching the 100 % = M_max convention of K0142). Feed that into an ADD block, subtracting it from K0142 to obtain the load torque. The complete FFB chain is therefore:
K0167 → DIFFER → PT1 → MUL( J_total ) → ADD( K0142 , − ) → K-load
K0174 ← output of the chain (process-side torque ref)
9. Step-by-Step Configuration Procedure
- Preconditions. Motor data block fully entered (P100..P114 family), field optimization completed, armature optimization completed, and the speed controller has been auto-tuned. Verify r002 (total J) is a sensible value (kg·m² consistent with nameplate + load).
- Enable FFB access. Set P052 = 0 to allow parameter write access; assign FFB resource slots as required. On a typical 6RA70, up to 50 FFB blocks are available; budget: 1× DIFFER, 1× PT1, 1× MUL, 1× ADD, plus 1× optional FKGEN for non-linear J.
- Wire the differentiator. Configure FFB DIFFER: input = K0167, output = e.g. K0A01 (user-named scratch connector), filter time T_f = 100 ms (initial value).
- Wire the multiplier. Configure FFB MUL: input A = K0A01 (dω/dt), input B = K0A02 (constant gain representing J_total / 100 % to match normalization). Output → K0A03.
- Wire the load-torque subtraction. Configure FFB ADD: input A = K0142 (M_actual), input B = K0A03 (M_dynamic) with sign = negative. Output → K0174 (process torque ref), and optionally to an analog output for external display.
- Enable the K0174 path. Set the K0150 source-select parameter (typically P155 or its FW-equivalent) to the K0174 routing so the result of your FFB chain actually flows into the drive's torque loop.
- Disable EMF feed-forward during commissioning. If the drive adds the K0168 contribution on top of K0150, set the corresponding enable parameter to 0 until you have verified the FFB chain in isolation.
- Save and back-up. Use SIMOVIEW "Upload to file" so that the FFB configuration is stored in the project archive. A factory reset clears FFB configuration that is not backed up.
10. Commissioning and Verification
Before trusting the load-torque signal you must verify two invariants:
| Test | Method | Expected result |
|---|---|---|
| Static consistency | K0174 = K0142 (no motion, dynamic term is zero, load torque equals motor no-load friction + windage) | |
| Speed jump | Apply a small step in n* (e.g. 5 % of n_max). Record K0142, K0167, and K0174 on a trace. | During the ramp: K0142 = K_load + J·dω/dt (dynamic visible as overshoot). K0174 = K_load (after filter delay). After ramp settles: K0142 = K0174 = K_load |
| Reverse | Reverse n* direction. Confirm that dynamic and load torque have the correct sign (a regenerating drive should show negative K0142 during deceleration). | Sign of M_dynamic matches sign of (n_target − n_actual)·J |
| Field weakening | Reduce field setpoint to 50 %, hold speed. K0142 should rise because M = k·φ·Ia and Ia increases for the same load. | K_load via K0174 unchanged; K0142 increased; ratio matches 1/φ |
| Torque step | Apply a known load step (e.g. a generator load). M_dynamic must remain zero because ω is constant. | K0174 = K0142 = M_load; K0A03 ≈ 0 |
Use the SIMOREG trace function (P687 area) to capture K0142, K0167, K0A03, and K0174 simultaneously at 3.2 ms sample time. Set the trigger to setpoint change so you capture the speed jump automatically.
11. Troubleshooting Matrix
| Symptom | Likely root cause | Remedy |
|---|---|---|
| K0174 is always zero | K0150 source-select parameter not pointing to K0174; FFB chain not enabled; FFB output not wired | Verify P155 / source-select routing; check FFB status word; ensure ADD block has the sign of input B set to negative |
| K0174 is a noisy high-frequency signal | T_f too small for the encoder resolution; sample time too slow | Increase T_f in 2× steps; consider T_s = 1.6 ms slot if available; add a second PT1 in series |
| K0174 overshoots in the opposite direction during a step | Filter delay larger than ramp duration — the FFB chain sees a residual dω/dt at the end of the ramp | Reduce T_f; alternatively, pre-filter K0167 before the differentiator with the same PT1 used in the FFB DIFFER |
| K0174 does not return to K0142 after a ramp | J value entered in the FFB is wrong by a constant factor | Re-run the speed-controller auto-tuning; cross-check r002; verify the unit of J matches the unit used in MUL (kg·m² vs lb·ft²) |
| Drive faults F031 (overspeed) during the test step | The K0174 injection is being added on top of the speed controller output, not subtracted, because of wrong sign in the MUL block | Verify sign of dω/dt in MUL; reverse J sign convention; or set the process-side enable to 0 and re-test |
| Field weakening: K0174 drifts while K0142 is constant | The MUL block is using a fixed J but the field-weakening path through K0168 is not disabled, so K0150 receives an EMF contribution on top of K0174 | Disable EMF feed-forward (P156 family) while validating the FFB chain; re-enable after the chain is verified |
| K0174 = K0142 exactly, even with a step in n* | The MUL output is being clamped at zero by a LIMIT block, or the J value entered is 0 | Read the FFB runtime value of the MUL block via r-registers; verify scaling constant |
| Drive goes into current limit during the test step | The acceleration demand exceeds the available torque limit; the K0142 reading is at the clamp value and is no longer representative | Reduce the size of the test step to 2 % of n_max; or briefly raise the torque limit during commissioning only |
12. Advanced Considerations and Field Notes
Variable inertia applications. In a coiler / winder / unwinder the load inertia changes as the roll diameter changes. The standard FFB library has no J(n) lookup, so a higher-level controller (PLC or DCS) must update the J register used by MUL. On a 6RA70, the J constant can be made accessible by writing the MUL block's second input from a parameter (e.g. P226) that is updated over PROFIBUS / PROFINET every scan.
Two-mass systems. If the load inertia is decoupled from the motor by a long shaft with non-negligible torsion, the J·dω/dt model is incomplete. The shaft acts as a spring; the model becomes:
M_motor = M_load + J_motor·dω_m/dt + c·(ω_m − ω_load)
J_load · dω_load/dt = c·(ω_m − ω_load) − M_load
A single-FFB chain cannot model the resonance. For a two-mass elastic coupling the proper fix is either a speed-controller pre-control that includes a band-stop filter at the resonance frequency, or an external observer in the line-side controller. Reference: ASME Journal of Vibration and Acoustics, Vol. 129, Issue 3, "Dynamics of a Rotating Shaft Subject to a Three-Directional Moving Load" for the formal treatment of shaft dynamics with axial and bending moments superimposed on the inertial term.
Firmware variants. The 6RA70 has gone through several firmware releases (commonly labelled 1.x, 2.x, 3.x). FFB block names, parameter numbers, and the FFB editor menus have shifted between versions. Always re-validate the chain on the actual installed firmware before commissioning. The Siemens SIMOREG compatibility list and firmware history are available in the Siemens Industry Online Support under the SIMOREG product tree at support.industry.siemens.com.
Safety. Torque signals derived from armature current are subject to the current-controller bandwidth and to the field dynamics. During a field-current change, K0142 reflects the new φ within a few field time constants, but the J·dω/dt model assumes the same φ. For wide range field weakening, compute dynamic torque only after the field has settled, or use a model that takes dφ/dt into account.
Cross-platform notes. The successor family SINAMICS DCM (the 6RA80) follows the same physics, but the FFB library is replaced by the DCC (Drive Control Chart) environment, which supports a continuous-time derivative block with a tunable low-pass. If you are migrating from 6RA70 to 6RA80, port the dynamic-torque chain to DCC and re-tune T_f for the new sample time (typically 1 ms for the 6RA80 standard DCC slot).
Can I use K0150 directly as the dynamic torque on a 6RA70?
No. K0150 is the torque-limit / torque-setpoint output, not a measurement. To get the dynamic torque you must subtract J·dω/dt from K0142 (the actual torque) using the free function block library, then route the result through K0174.
Why does the documentation say K0150 is fed by K0168, while function diagram G153 shows K0174?
The K0150 source is configurable. By default it tracks the EMF feed-forward through K0168, but a parameter (typically P155) selects K0174 when the process side is to override the EMF contribution. The two statements refer to different operating modes; both are true depending on the switch position.
Where is the inertia value stored in the SIMOREG 6RA70?
Motor inertia J_M is part of the motor data block (P110 family). The additional load inertia ΔJ is in the load-inertia parameter (P111 or P226 depending on firmware). The total J computed during the speed-controller auto-tuning is read-only at r002 / r003.
Which FFB block derives dω/dt from the speed actual value?
The DIFFER block. It is a discrete differentiator with a built-in first-order low-pass. Use the smoothing time T_f in the 30–300 ms range to keep the derivative usable; a pure backward difference is far too noisy.
Why does my load-torque reconstruction oscillate during a speed step?
Almost always the differentiator filter time T_f is too long for the ramp duration, so the FFB chain still sees a residual dω/dt at the end of the ramp and subtracts it again. Reduce T_f in 50 % steps until the oscillation disappears, then add 20 % margin.