Reading SINAMICS G130 Power Parameter via PROFIBUS Custom

David Krause15 min read
ProfibusSiemensTutorial / How-to
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

Reading SINAMICS G130 Power Parameter via PROFIBUS Custom Telegram

The standard PROFIdrive telegrams (Telegram 1, 2, 3, 4, 5, 6, 7, 9, 20, etc.) bundled with the SINAMICS G130 GSD file do not contain an explicit active-power process value. Telegram 3 carries speed and current but not kilowatt feedback, so an ERP/HMI that needs to log motor power in a time series cannot extract it from the cyclic I/O image. The supported way to expose additional analog actual values, such as r0032 (active power smoothed) or r0082[0] (active power actual, smoothed), on the PROFIBUS wire is to define a free telegram (Free message frame) using BICO on the drive side and then synchronize that telegram back into the STEP 7 / TIA Portal hardware configuration. The procedure is documented for the SINAMICS G130/G150 family in the SINAMICS G130/G150 List Manual.

This reference walks through the engineering steps using STARTER (classic S7-5.4 / STARTER 4.2 environment) and, where helpful, the equivalent Startdrive / TIA Portal path, so the r-parameters become visible as regular PZDs and are addressable from the PLC like any other input word.

1. Problem Definition: Why r0032 / r0082 Are Not on the Wire

PROFIdrive standard telegrams are fixed mappings between PZD (Process Data) words and connector / binector signals. The G130 GSD file shipped with the drive only lists these fixed frames; power, torque in detail, DC-link voltage, and energy values are not part of the standard set. The G130 will only publish on PROFIBUS what is interconnected in the free telegram configuration of the Drive object (DO) VECTOR on the CU320-2 DP control unit.

Table 1 - Standard PROFIdrive telegram content vs. power feedback on SINAMICS G130
Telegram Default PZDs (controller → drive) Default PZDs (drive → controller) Active power exposed?
Telegram 1 STW1, NSOLL_A ZSW1, NIST_A No
Telegram 2 STW1, NSOLL_A ZSW1, NIST_A, IAIST, MIST No (torque & current only)
Telegram 3 STW1, NSOLL_A ZSW1, NIST_A, IAIST, MIST, ZSW2, PIST No
Telegram 4 STW1, NSOLL_A ZSW1, NIST_A, IAIST, MIST, PIST No
Telegram 5 STW1, NSOLL_A, STW2 ZSW1, NIST_A, IAIST, MIST, ZSW2 No
Telegram 6 STW1, NSOLL_A, STW2 ZSW1, NIST_A, IAIST, MIST, ZSW2, M_LIM, FAULT_CODE No
Free telegram (user-defined) Any 16 PZDs Any 16 PZDs Yes - via BICO

Conclusion: the only legal way to surface r0032 (smoothed active power) or r0082[0] (active power actual, smoothed) is a free message frame configured with BICO, not editing the GSD file. Editing a GSD violates PROFIdrive conformance and breaks the contract with the PLC.

2. Prerequisites

  1. Hardware
    • SINAMICS G130 converter with a CU320-2 DP control unit (PROFIBUS variant). A CU320-2 PN will not work for PROFIBUS; an additional CBC10 communication board on slot 6 is the alternative for legacy CU320.
    • CBP30 / CBC10 PROFIBUS option installed, with PROFIBUS DP address set (parameter p0918, default 15, must be unique on the segment).
    • PROFIBUS cable to the PLC (DP master, e.g. S7-300/400 with CP 342-5 / CP 443-5, or ET 200S / ET 200M master).
  2. Software
    • STEP 7 V5.4 SPx (classic) or TIA Portal V13+ with Startdrive, integrating the G130 GSD (file SI0380B6.gsd for G130 family, version selectable per firmware).
    • STARTER V4.2 SP1 (or matching) for the G130 commissioning. STARTER is delivered on the SINAMICS DVD or via the Siemens Industry Online Support. STARTER is the only tool that exposes the "Free message frame configuring using BICO" checkbox in the PROFIdrive message frame dialog.
  3. Drive firmware
    • CU320-2 DP firmware ≥ V4.5 is recommended. Newer firmware (V5.1 / V5.2 SP3) adds free telegram up to 16 PZDs per direction and improves consistency between STARTER and Startdrive.
  4. Live line / safety
    • DC bus discharged, drive in commissioning mode (p0009 = 1) when modifying telegram length, terminal screws torqued per List Manual chapter 4. Commissioning is done with the line-up de-energized; observe the SINAMICS G130 safety notes in the Operating Instructions (5-minute discharge rule on the DC link after shutdown).

3. Useful r-parameters on SINAMICS G130 for Power Readback

Identify the parameter number and unit, then confirm the scaling before interconnecting to the PZD. Smoothing time constants (p0045 for r0032, p0082 filter) are pre-applied.

Table 2 - SINAMICS G130 power / torque actual-value r-parameters
r-parameter Description Unit / scaling Index Notes
r0030 DC-link voltage smoothed V (rms-equivalent reference) 0 Useful for power-factor calc
r0031 Torque actual, smoothed Nm (scaled 0x4000 = 100% of rated) 0 Same scaling as standard PIST
r0032 Active power smoothed kW (scaled 0x4000 = rated power) 0 Standard smoothing applied (p0045)
r0034 Motor temperature (model) °C (scaled 0x4000 = 100°C) 0 Not for power, but free up to 16 PZDs
r0080[0] Torque actual, unsmoothed Nm (0x4000 = rated) 0 Same scaling as MIST
r0082[0] Active power actual, unsmoothed kW (0x4000 = rated) 0 Fastest response - good for trend
r0079[0] Torque setpoint total Nm 0 Same scaling family
Scaling rule (NORM): for all G130 connector outputs in the NORM scaling class, the value 0x4000 (16384 decimal) = 100% of the reference value defined in p2000 (rated reference speed), p2001 (rated reference voltage), p2002 (rated reference current), and p2003 (rated reference torque). Active power and speed use the NORM/4000H convention; the PLC can convert raw PZD word → engineering units via: kW_raw_pct = INT_TO_REAL(PZD) / 16384.0 * 100.0, then kW_engineering = kW_raw_pct / 100.0 * p2003 (or per motor nameplate). Treat 0x8000 (−32768) as 0% per the PROFIdrive NORM definition.

4. Procedure: Configure the Free Telegram on the Drive Side (STARTER)

4.1 Open PROFIdrive message frame configuration

  1. Insert the G130 into the STEP 7 / TIA Portal hardware catalog, drag it to PROFIBUS, set DP slave address, save and compile. Do not edit the telegram in the PLC at this stage; keep the default Telegram 1 placeholder.
  2. Open STARTER from inside the STEP 7 project (Tools → STARTER for the inserted drive) so both sides share the same project context.
  3. In STARTER navigate to Drive → Communication → PROFIBUS → PROFIdrive message frame.
  4. Tick the checkbox: Free message frame configuring using BICO. The Length column becomes editable for both directions.

4.2 Set telegram length and assign PZDs

  1. For a small but useful readback, define 4 PZDs from drive → controller (Status direction) and 1 PZD from controller → drive (Control direction, e.g. STW1 only):
    • Input (drive → PLC), Length 4: word 0 = ZSW1 (status word 1), word 1 = NIST_A (speed actual), word 2 = r0082[0] (active power), word 3 = r0080[0] (torque).
    • Output (PLC → drive), Length 1: word 0 = STW1 (control word 1).
  2. Click Transfer to HW Config. This is the critical step: STARTER writes the PZD length back into the STEP 7 HW Config and pre-assigns the input/output I addresses, so the PLC can resolve the I/O symbols correctly. If this button is greyed out, the project is not properly linked - re-insert the drive from the STEP 7 project and reload.

4.3 BICO interconnections for the new PZDs

The free telegram editor above only sets length. To actually populate word 2 with r0082[0], drive to Drive → I/O → BICO interconnections → Send word interconnections (drive → controller) and enter the following connections on the DO VECTOR:

Table 3 - BICO send-word interconnections for power readback
PZD send word (drive → controller) Source parameter (default) Override for power readback Description
PZD 0 r2089[0] (ZSW1) leave as default Status word 1
PZD 1 r0063[0] (NIST_A) leave as default Speed actual
PZD 2 none (free) r0082[0] (active power, kW) Interconnect to connector 2503 or to a free send word (depends on STARTER build)
PZD 3 none (free) r0080[0] (torque actual) Optional

The exact send-word source numbers are viewable in STARTER's expert list under p2051[i] (drive → controller) and p2061[i] for bit-granular signals. The drive is shipped with p2051[0..15] = 2089, 0063, 0, 0...; setting p2051[2] = 0082 forces word 2 to carry the active power.

; Example - set via BOP/AOP or STARTER expert list on DO VECTOR
p2051[0] = 2089   ; ZSW1  -> PZD0 (drive -> PLC)
p2051[1] = 63     ; NIST_A -> PZD1 (drive -> PLC)
p2051[2] = 82     ; r0082[0] active power -> PZD2 (drive -> PLC)
p2051[3] = 80     ; r0080[0] torque      -> PZD3 (drive -> PLC)

; Consistency handshake - tell drive to use free telegram
p0922 = 999       ; 999 = free telegram (USER)
p2079 = 4         ; input length  (drive -> PLC)
p2080 = 1         ; output length (PLC  -> drive)
; Save RAM to ROM so telegram persists across power-cycle
p0977 = 1

5. Procedure: Synchronize the Telegram Back to the PLC (STEP 7 / TIA Portal)

  1. After clicking Transfer to HW Config in STARTER, return to STEP 7 / TIA Portal. Right-click the G130 in the device view, Device → Compile and Download (TIA) or Station → Save and Compile (classic).
  2. The slot for the DO (submodule 1) should now report telegram 999 (free) with input length 4 / output length 1, and the I/O address range (e.g. IW 256..263 / QW 256) becomes the cyclic PZD region.
  3. Download the HW Config to the PLC. The PROFIBUS master now configures the G130 with the new telegram during the next PLC→drive startup, provided cyclic I/O is enabled.
  4. Run RAM to ROM on the drive (p0977 = 1) so the telegram definition survives a power-off.
Master-class consistency: DP master class 1 (S7-300/400) re-sends the new ChkCfg with the new length on every restart; DP master class 2 (PG/PC) does not. If the drive is in "PrmErr" after a download, the lengths in STARTER and HW Config have diverged - re-run "Transfer to HW Config" and recompile.

6. PLC Side: Reading Power from the Process Image

Once the I/O is mapped, the active power is one INT / WORD away in the input process image. Sample for a SIMATIC S7-300 / S7-400 with input start address 256:

// Symbolic tags generated automatically by HW Config (or hand-typed)
// I_Word_256   = ZSW1 (status word 1)
// I_Word_258   = NIST_A (speed actual, NORM)
// I_Word_260   = ActivePowerRaw   (new!)
// I_Word_262   = TorqueRaw        (new!)
// Q_Word_256   = STW1 (control word 1)

FUNCTION_BLOCK FB_PowerRead_G130
VAR
    PowerRaw   : WORD;     // IW 260
    PowerPct   : REAL;     // -200.0 .. +200.0 %
    Power_kW   : REAL;     // engineering
    P2003Rated : REAL := 75.0;  // r2003 = rated reference torque, also motor nameplate kW basis
END_VAR

BEGIN
    // Convert 16-bit NORM (-200% .. +200%) to percent
    PowerPct := DINT_TO_REAL(WORD_TO_DINT(PowerRaw)) / 16384.0 * 100.0;

    // Engineering conversion: 100% = motor rated power
    // For G130, the NORM reference for r0082 is p2003 reference torque * speed,
    // which equals the motor nameplate kW by Siemens convention.
    Power_kW := PowerPct / 100.0 * P2003Rated;
END_FUNCTION_BLOCK

Sample reading the raw value via a periodic OB1 segment:

// OB1 - cycle read
CALL FB_PowerRead_G130
     PowerRaw  := IW 260
     Power_kW  := MD100     // -> ERP via OPC UA / Modbus / s7comm
     PowerPct  := MD104;

For TIA Portal the same block can be coded in SCL or built as a UDT UDT_PowerReadback with 4 WORD members; map it onto a PIW_ARRAY declared AT %IW256 for direct memory-overlay access.

7. Verification and Commissioning Checks

  1. PROFIBUS LED - the CBP30 / CBC10 LINK LED stays solid green, no intermittent red. Profibus diagnostics (S7): "Slave OK" for the G130.
  2. STARTER trace - open "Control Unit → Trace", record r2089 (ZSW1), r0063 (NIST), and r0082[0] (active power). Compare r0082[0] value in STARTER against the value derived from IW 260 in the PLC. They must match in real time.
  3. Handshake test - in STARTER, set p2051[2] = 0 to disconnect the source; the PLC should read 0x0000. Re-assign; PLC reads the same as r0082[0]. This proves the PZD is populated by the chosen BICO source.
  4. Dynamic test - run the motor at 50% rated load, 100% rated load; PLC power value should track within ±2% of nameplate within one smoothing time constant (p0045 for r0032, ≈ 100 ms default; r0082 is the unsmoothed raw value).
  5. Persisted telegram - power-cycle the drive and PLC. After restart, the PLC must re-establish DP communication without the need to download the project again. If the telegram reverts to Telegram 1, the RAM to ROM (p0977 = 1) was not executed.

8. Troubleshooting Matrix

Table 4 - Typical faults when adding power to a free telegram on G130
Symptom Likely cause Diagnostic Resolution
Slave does not go to data exchange (BF lights) Length mismatch between STARTER and HW Config S7: Module diagnostics "PrmErr" STARTER → "Transfer to HW Config" → recompile + download to PLC
IW 260 always 0x0000 BICO source of PZD not assigned, p2051[i] = 0 STARTER expert list → p2051[2] Set p2051[2] = 82 (r0082), save + RAM to ROM
IW 260 reads correct value but sign wrong Reading NIST scaling convention incorrectly; not a fault - confirm NORM scaling Compare with r0082[0] in STARTER Re-evaluate INT_TO_REAL conversion; NORM uses 0x8000 = −200%, 0x4000 = 0%, 0 = 0% per PROFIdrive v4 spec
Power value differs from nameplate by a fixed factor Wrong reference value; p2003 not equal to motor nameplate torque-equivalent power Inspect p2001, p2002, p2003, p1100 family Set p2003 to motor rated active power (kW) per the SINAMICS reference scaling
Free telegram selection greyed out in STARTER STARTER project not opened from STEP 7 (no PLC link) STARTER Tools → Settings → "Insert from STEP 7" Re-open STARTER via Tools from STEP 7 project to enable Transfer to HW Config
Drive reports F08501 (PROFIBUS comm. fault) on telegram change Hot edit of p0922 without p0977/parameter save Read fault buffer: r0947 Acknowledge, power-cycle, retry p0922 = 999 + p0977 = 1
WinCC / TIA HMI shows wrong tag I/O symbol not updated after recompile PLC tags table - verify I address Update DB / tag list, re-link HMI tag, "Compile all" in TIA

9. Alternative Paths and Edge Cases

  • Acyclic parameter access (DPT/DPV1) - if cyclic bandwidth is full, DPV1 acyclic read of r0082 returns the same value without changing the cyclic PZD count. Use SFB52 (WR_REC) / SFB53 (RD_REC) or the standard Siemens FB "SINA_PARA" / "SINA_PARA_S" to read parameter number / index / subindex. Drawback: 30-60 ms latency per call, not suitable for fast trending.
  • PROFINET variant - if a CU320-2 PN is fitted, the same free-telegram logic applies; the p0922 = 999 selector works identically, and STARTER / Startdrive handle the GSDML instead of GSD.
  • Read torque in Nm and power in kW - r0080[0] is Nm (NORM scaled to p2003), r0082[0] is kW (NORM scaled to motor nameplate kW). Both are 16-bit; do not split one parameter across two PZDs - the value already fits in 0x8000 = −32768% to 0x7FFF = +32767% per PROFIdrive.
  • Modbus RTU / Modbus TCP via TM31 / TM150 modules - if a TM31 terminal module is in the G130 lineup, r0082 is also reachable on the TM31 analog output, but only as a slow analog signal; cyclic PROFIBUS is preferred for ERP trending.
  • Scalability - free telegram maximum is 16 PZDs each direction. A typical power-monitoring stack is 4 PZDs (ZSW1 + NIST + P + M) which leaves 12 free for future expansions (energy meter r0042, I²t model r0035, motor temp r0034).

10. Field-Proven Caveats

  • Always confirm p2051[i] on the Drive object VECTOR, not on the Control Unit - the BICO sources for the DO VECTOR and the CU are separate signal pools and confusing them yields zero on the wire.
  • If multiple DOs (e.g. CU320-2 with two drives) are on the G130, the telegram must be configured on each DO independently; one free telegram on DO 1 will not propagate to DO 2.
  • For firmware V4.x of CU320-2, the free telegram is limited to 16 PZDs per direction, and 32 PZDs total slot length. For firmware V5.x the per-direction limit is unchanged but the "Free message frame configuring using BICO" checkbox is renamed to "Free telegram configuration (BICO)" - same function.
  • Use p0977 = 1 to perform "Save all parameters (RAM to ROM)" only when the drive is in a safe state, not during a running motion; saving during a heavy transient can stall the parameter task for up to 5 s on G130 with parallel DOs.
  • When the application runs through an S7 SoftPLC (e.g. CPU 150xS with SINAMICS integrated), the I/O assignment is the same, but the "Transfer to HW Config" must be done after the integrated drive is in a commissioned state; otherwise STARTER reverts to read-only.

11. Summary of Parameter / Telegram Settings

Table 5 - Final parameter values to save on the drive
Parameter Value Meaning
p0922 999 Free telegram (user-defined)
p2079 4 Number of PZDs drive → controller
p2080 1 Number of PZDs controller → drive
p2051[0] 2089 ZSW1
p2051[1] 63 NIST_A
p2051[2] 82 r0082[0] active power kW
p2051[3] 80 r0080[0] torque Nm
p2003 Motor nameplate kW Reference for NORM scaling of r0082
p0977 1 → 0 Save all to ROM

With these values the active power is available to any DP-class-1 master without the need to edit the GSD file, and the same recipe works for Startdrive / TIA Portal projects that use the GSDML equivalent. The PROFIdrive product finder at PI - Siemens SINAMICS G130 lists the G130 as a fully compliant PROFIdrive V4 device, confirming that the free-telegram mechanism is the correct, vendor-supported route.

FAQ

Which SINAMICS G130 parameter contains the active power in kW?

r0082[0] returns the active power actual (unsmoothed) in kW with NORM scaling where 0x4000 = motor rated power. For a smoothed value use r0032. Both expose the same physical quantity with different filter constants.

Do I need to edit the G130 GSD file to read power via PROFIBUS?

No. Edit the GSD and the master will refuse parameterization, or another master on the segment will misbehave. Use the free telegram (p0922 = 999) and interconnect p2051[2] = 82, then click "Transfer to HW Config" in STARTER to push the length back into the STEP 7 / TIA Portal project.

Why is the "Free message frame configuring using BICO" checkbox greyed out in STARTER?

It is greyed out when the project was opened standalone, not from STEP 7 / TIA Portal. Open STARTER via Tools → "Open STARTER" from inside the STEP 7 project so the two tools share the same project root and Transfer to HW Config is enabled.

What scaling does the G130 use on a PZD word for active power?

PROFIdrive NORM/4000H: 0x4000 (16384) = 100% of the reference value, 0x0000 = 0%, 0x8000 (−32768) = 0% per the negative full scale. Reference for r0082 is set in p2003 (motor rated active power in kW).

Can I read the active power acyclically without changing the cyclic telegram?

Yes. Use a DPV1 acyclic read (SFB52 / SFB53, or the SINA_PARA block) on parameter 8 (r0082) of the DO VECTOR. The latency is 30-60 ms per call, so it is fine for slow logging but not for sub-second trending.

Back to blog