SINAMICS G120 CU250S-2: Telegram 352 for Current and Torque

David Krause17 min read
SiemensTutorial / How-toVFD / 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 G120 CU250S-2: Configuring Telegram 352 for Actual Current, Torque, and Power

The SINAMICS G120 modular drive family paired with the CU250S-2 Control Unit supports Siemens' free PROFIdrive telegram 352, which extends the two-word default Telegram 1 with the additional process data words IAIST (actual current), MIST (actual torque), PWR_A (actual power), and MELDW (message / warning word). When Telegram 352 is enabled in TIA Portal or STARTER, the actual speed in PZD2 typically starts updating immediately because the firmware ships with the BiCo interconnections for status word and speed wired by default. PZD3 through PZD6, however, stay at zero in roughly nine out of ten first-time commissioning attempts. The root cause is almost always that p922 in the drive still reads 1, or that the BiCo connectors feeding the supplementary words (p2051[2..5]) were never re-wired when the telegram was changed.

This reference walks through the exact PZD layout, the parameter set that must be re-asserted, the TIA Portal / Startdrive commissioning sequence, the equivalent STARTER path, the S7-1200 / S7-1500 PLC program, and the verification checks that confirm IAIST and MIST are arriving on the controller. It is written for engineers commissioning PM240-2, PM240P-2, or PM250 power modules with a CU250S-2 PN (PROFINET) or CU250S-2 DP (PROFIBUS) Control Unit on firmware V4.7 SP5 or higher.

Telegram 352 PZD Layout

Telegram 352 is a Siemens-specific free telegram, not a PROFIdrive application-class standard. It is activated by setting p922 (or p0922) = 352 in the drive and selecting the same telegram in the controller's device configuration. The layout is fixed once the telegram is selected; free-telegram editing tools should not be used unless a custom layout is genuinely required.

Telegram 352 — Drive → PLC (Inputs) PZD1 (IW+0) ZSW1 ← r2089[0] (status word 1) PZD2 (IW+2) NIST_A ← r0063 (actual speed) PZD3 (IW+4) IAIST ← r0068 (actual current, 0.01 A) PZD4 (IW+6) MIST ← r0080 (actual torque, 0.01 Nm) PZD5 (IW+8) PWR_A ← r0082 (actual power) PZD6 (IW+10) ← r2089[1] (MELDW, 16-bit message word)

The complementary setpoint direction (PLC → drive) is also six words wide when Telegram 352 is selected, even though only the first two are pre-wired (control word 1 and speed setpoint A):

PZD Word Direction Signal Source / Sink Parameter
PZD1 PLC → Drive Control word 1 (STW1) p2050[0] ← r2090.0
PZD2 PLC → Drive Speed setpoint A (NSOLL_A) p2050[1] ← r1114
PZD3 PLC → Drive Free BiCo connector p2050[2]
PZD4 PLC → Drive Free BiCo connector p2050[3]
PZD5 PLC → Drive Free BiCo connector p2050[4]
PZD6 PLC → Drive Free BiCo connector p2050[5]
Critical point: The red-shaded words (IAIST, MIST, PWR_A) in the diagram above are the ones that fail to update. They are not wired by default; the firmware only sets them up when the telegram change is committed and p2051 is rewritten. The blue-shaded words (ZSW1, NIST_A) update immediately because they are part of Telegram 1's factory default BiCo.

Drive-Side Parameters to Verify

The following parameter set must be inspected online after every telegram change. The values in the right column are what you should see when Telegram 352 is correctly active.

Parameter Description Required Value (Telegram 352) Symptom if Wrong
p0922 / p922 PROFIdrive telegram selection 352 All six PZD words may update as if Telegram 1 is active, leaving PZD3–PZD6 at 0
p2038 PROFIdrive profile 1 (PROFIdrive, not "Universal") Telegram selection ignored; F08501 possible
p2051[0] ZSW1 source r2089[0] Status word bits scrambled or zero
p2051[1] NIST_A source r0063 Speed = 0 or jumps to reference speed (p2000)
p2051[2] IAIST source r0068 Current stuck at 0; this is the headline failure
p2051[3] MIST source r0080 Torque stuck at 0
p2051[4] PWR_A source r0082 Power stuck at 0
p2051[5] MELDW source r2089[1] No drive-side warnings visible on the PLC
p0010 Drive commissioning filter 0 r0068 / r0080 / r0082 are not updated during quick commissioning (p0010 = 1)
p0009 Device commissioning step 0 Same as p0010: blocks the BiCo update

The connector numbers used in the BiCo editor are the r-parameter index offsets used internally by the drive firmware. For diagnostic writes from the expert list, the relevant numbers are:

BiCo Number r-Parameter Description
0 — No source (default after firmware change)
268 r0068 Actual current (0.01 A rms)
512 r0080 Actual torque (0.01 Nm)
770 r0082 Actual power (see scaling note below)
899 r2089[0] ZSW1
974 r2089[1] MELDW
Force-write snippet for the BiCo connectors (paste into the drive's expert parameter list if Startdrive refuses to commit the change):

p2051[2] = 268
p2051[3] = 512
p2051[4] = 770
p2051[5] = 974
p0977 = 1 (Copy RAM to ROM)
Then cycle the 24 V control power.

Commissioning Sequence (TIA Portal / Startdrive)

Prerequisites

  • SINAMICS G120 power module (PM240-2 / PM240P-2 / PM250) with CU250S-2 PN or CU250S-2 PN F (PROFIsafe variant), firmware V4.7 or later
  • TIA Portal V15.1 + HSP or later with the Startdrive option installed
  • S7-1200 (CPU 1214C / 1215C / 1217C) or S7-1500 firmware V2.0 or later
  • PROFINET topology with a device name and IP assigned to the drive
  • Basic speed control via Telegram 1 confirmed working (motor turns, status bits update)

Step-by-Step Procedure

  1. Open Devices & Networks in the TIA project and place the G120 on the PROFINET subnet. Match the device name and IP to what the drive will use at runtime.
  2. Select Telegram 352 in the device view. With the G120 selected, navigate to Properties → Device configuration → Telegram configuration and change the slot from Telegram 1 to Telegram 352. The slot expands from 2 to 6 input words. Do not use the free telegram editor unless you need a non-standard layout.
  3. Compile and download the hardware configuration to the S7 CPU. The download writes the IO start address (e.g., 256) and the slot assignment to the controller.
  4. Connect online to the drive via the PROFINET interface. Open the watch list and confirm that p0922 reads 352. If it still reads 1, the device-view change did not propagate; return to step 2 and check the slot configuration.
  5. Save to ROM: in the online menu choose Copy RAM to ROM (or write p0977 = 1). The telegram selection is lost at the next power cycle if this step is skipped.
  6. Power-cycle the drive. This is mandatory on CU250S-2 firmware below V4.7 SP10. On V4.7 SP10 and later the telegram is hot-swapped, but a clean restart is still recommended during commissioning to clear transient BiCo states.
  7. Verify p2051[0..5] in the parameter view. Expected: r2089[0], r0063, r0068, r0080, r0082, r2089[1]. If p2051[2..4] are still 0, force-write them with the snippet above.
  8. Test the link by enabling the drive from the PLC (control word 1 = 0x047E then 0x047F) and watching the input PZD in an S7 watch table. PZD3 (IW base + 4) and PZD4 (IW base + 6) should now show non-zero values consistent with the running motor.

The Siemens FAQ on Telegram 352 for SINAMICS G120 covers the same procedure from the legacy support portal; the Startdrive online help (SINAMICS G120 with CU250S-2 in TIA Portal) provides the modern menu path.

Commissioning Sequence (STARTER)

STARTER is still used with S7-300 / S7-400 systems and with older S7-1200 firmware that predates Startdrive support. The menu paths differ, but the parameter-level outcome is identical.

  1. Open the project and double-click the G120 to open the drive object.
  2. Click Connect to target system. Confirm the connection is established (green check next to the device).
  3. In the navigation tree choose Communication → PROFIdrive telegram and change the selection to 352. Click Change.
  4. Click Load to PG then Load to drive. Wait for the upload to complete.
  5. Right-click the drive and choose Copy RAM to ROM (or write p0977 = 1). This is required for p0922 to survive a power cycle.
  6. Disconnect from the drive and cycle the 24 V control power (or the line input for a standalone drive).
  7. Reconnect, navigate to Commissioning → Parameter list, and verify p2051[0..5]. Force-write p2051[2..4] if they show 0.

The SINAMICS G120 List Manual documents p0922, p2050, and p2051 in detail; the parameter help text in STARTER shows the same content.

PLC Program Reference (S7-1200 / S7-1500)

Once Telegram 352 is selected in the device view, TIA Portal automatically creates input and output tags. The exact tag name depends on the IO start address and the device name; the canonical pattern uses the symbolic names Drive.Inputs.IWx and Drive.Outputs.QWx.

Structured Text (SCL) — drive telemetry block

// FB100 "Drive_Telemetry", Instance DB "iDrive_Telemetry"
// Symbolic IO: Drive.Inputs.IW256..IW266 (6 input words, base 256)
//              Drive.Outputs.QW256..QW266 (6 output words, base 256)

#Current_A  := INT_TO_REAL(Drive.Inputs.IW260) / 100.0;  // r0068 [0.01 A]
#Torque_Nm  := INT_TO_REAL(Drive.Inputs.IW262) / 100.0;  // r0080 [0.01 Nm]
#Power_kW   := INT_TO_REAL(Drive.Inputs.IW264) / 100.0;  // r0082 [0.01 kW] when r2004 = kW
#Speed_rpm  := INT_TO_REAL(Drive.Inputs.IW258);          // r0063 [rpm], integer scaling

// ZSW1 bit decoding
#DriveReady       := Drive.Inputs.IW256.%X0;  // Bit 0
#OperationEnabled := Drive.Inputs.IW256.%X2;  // Bit 2
#FaultPresent     := Drive.Inputs.IW256.%X3;  // Bit 3
#WarningActive    := Drive.Inputs.IW256.%X7;  // Bit 7
#SpeedActualValid := Drive.Inputs.IW256.%X14; // Bit 14 (n_act matches n_set)

// Fault word from MELDW (PZD6)
#MeldWord         := WORD_TO_INT(Drive.Inputs.IW266);

Ladder (FBD) — equivalent scaling

// IW260 → Current in Amps
L   "Drive".Inputs.IW260
ITD
DTR
/R  1.000000e+002
T   "Telemetry".Current_A

// IW262 → Torque in Nm
L   "Drive".Inputs.IW262
ITD
DTR
/R  1.000000e+002
T   "Telemetry".Torque_Nm

// IW264 → Power in kW (verify scaling with r2004)
L   "Drive".Inputs.IW264
ITD
DTR
/R  1.000000e+002
T   "Telemetry".Power_kW

Scaling reference formulas

The drive returns integer values; the engineer divides by the appropriate factor to obtain engineering units:

Input Word Drive Parameter PLC Value (Integer) Engineering Value Formula
IW + 4 (IAIST) r0068 0x8CA0 = 36000 360.00 A IA = IW / 100
IW + 6 (MIST) r0080 0x01F4 = 500 5.00 Nm M = IW / 100
IW + 8 (PWR_A) r0082 0x0BB8 = 3000 30.00 kW (typical) P = IW / 100 (kW)
IW + 2 (NIST_A) r0063 0x0BB8 = 3000 3000 rpm (default scaling) n = IW (rpm)
Current interpretation: r0068 returns the per-phase RMS current in 0.01 A units. For a three-phase motor drawing 360 A line current at full load, the PLC reads 36000 decimal in PZD3. If you need apparent power, convert with kVA = sqrt(3) × VLL × I / 1000; if the source spec lists a single-phase current, use kVA = V × I / 1000 instead. Always verify whether the nameplate figure is per-phase, line, RMS, or peak before converting.

Verification Procedure

  1. Confirm p0922 in the drive online. It must read 352. A value of 1 means the controller's slot configuration has not propagated; redo the device-view selection and re-download.
  2. Inspect p2051[2..4]. The values must be r0068, r0080, r0082. If any is 0, the BiCo was not auto-assigned. Force-write the values from the snippet above and re-run Copy RAM to ROM.
  3. Read r0068 directly in the drive parameter view. Compare it to the value arriving in IW260 on the PLC. A match confirms end-to-end correctness.
  4. Check r2051[0..15] in the drive. This is the actual I/O image the drive is transmitting. r2051[2] should match r0068; r2051[3] should match r0080; r2051[4] should match r0082.
  5. Enable the drive and read the PLC tags. With a 100 rpm setpoint, IW258 should be ~100, IW260 should be 0.5–3.0 A on a 1.5 kW motor, and IW262 should be 0.1–2.0 Nm.
  6. Sanity check the MELDW word. Pull a known warning (e.g., trigger A09107 by exceeding p2177) and confirm the corresponding bit in IW266.

Troubleshooting Matrix

Symptom Likely Cause Resolution
PZD3–PZD6 = 0; PZD2 (speed) updates p0922 still 1, or p2051[2..4] = 0 Re-select Telegram 352 in the device view, copy RAM to ROM, cycle power, or force-write p2051[2..4] = 268, 512, 770
PZD3–PZD6 = 0 after power cycle Changes were not saved to ROM Execute p0977 = 1 (or p0804 = 2) before cycling control power
Values appear but with wrong sign Reference direction in p2000 / p2003 inverted Set p2000, p2003, r2004 consistently with the motor nameplate, or invert the sign in the PLC
Current updates but torque = 0 r0080 is sourced from the speed-controller output, not the actual torque Verify p1500 = 0 (speed control) and p1300 = 20 / 21; switch from V/f to Vector control
Drive reports F08501 (PROFIdrive comms fault) PROFINET device name or IP mismatch Re-assign device name in TIA Portal via Online & Diagnostics → Assign PROFINET device name
PZD3–PZD6 freeze at the last value Drive is in commissioning mode (p0010 ≠ 0) Set p0009 = 0 and p0010 = 0; r0068 / r0080 / r0082 do not update while commissioning
r2051[2..4] are valid connectors but PLC reads 0 Wrong IO start address in the controller Verify the I/O start address in the device view matches the address used in the user program; check for collisions with other modules
Speed works but current reads constant full-scale Drive is in torque mode; r0078 (torque-producing current) is being sent instead of r0068 (magnitude) Confirm p1500 = 0 and that p2051[2] is explicitly r0068, not r0078
Torque reads correctly but current = 0 p2002 = 0 (reference power), or p1300 = 0 (V/f) where r0068 is not refreshed Set p1300 = 20 / 21 (Vector control); configure p2002 to a non-zero reference power
PROFINET connection drops after enabling drive Watchdog time in p2042 too short for the controller's update rate Increase p2042 (PROFIdrive telegram failure tolerance) to 5–10 ms; verify the controller's PROFINET update time is ≤ 4 ms

Telegram 1 vs Telegram 20 vs Telegram 352

Engineers often conflate Telegram 1, Telegram 20, and Telegram 352. They are functionally distinct and serve different purposes:

Telegram Input Words (Drive → PLC) Output Words (PLC → Drive) Use Case Auto-BiCo on Telegram Change?
Telegram 1 ZSW1, NIST_A STW1, NSOLL_A Basic speed control; default Yes (factory default)
Telegram 20 ZSW1, NIST_A, ZSW2, NIST_B, MELDW, M_LIM STW1, NSOLL_A, STW2, NSOLL_B, free PROFIdrive standard with extended status / control Yes (PROFIdrive profile)
Telegram 352 ZSW1, NIST_A, IAIST, MIST, PWR_A, MELDW STW1, NSOLL_A, free × 4 Free Siemens telegram; current/torque/power feedback without encoder Partial; p2051[2..4] must be checked

Telegram 20 is the correct choice for PROFIdrive-class applications requiring standardized status word 2 and the supplementary speed word. Telegram 352 is the correct choice when you specifically need actual current and torque feedback without the PROFIdrive-standard status word 2 — for example when the PLC is a third-party controller that does not consume ZSW2 / NIST_B. The failure mode described in this article (PZD3–PZD6 = 0) is specific to Telegram 352 because it is the only one of the three whose BiCo is not fully re-wired by the firmware on activation.

Local Verification on the BOP-2 / IOP-2

When the PLC is not yet available, the BOP-2 or IOP-2 operator panel on the CU250S-2 can be used to verify that the drive is producing the expected process data. The IOP-2 has a dedicated PROFIdrive telegram menu; the BOP-2 requires manual navigation.

BOP-2 path

  1. Press OK to enter the menu.
  2. Use the arrow keys to navigate to Parameters and press OK.
  3. Scroll to p0922 and press OK. The display should read 352.
  4. Back out and inspect p2051[0..5] one index at a time. The display shows the connector number, not the r-parameter name — expected values: 899, 0 (NIST_A is pre-decoded as 0 on the BOP-2 but is actually r0063), 268, 512, 770, 974.
  5. Use Extras → Signal view to display r0068 (current) and r0080 (torque) in real time. The drive will update these even when Telegram 352 is not active, so they confirm the drive-side data is present.

IOP-2 path

The IOP-2 has a wizard under Commissioning → Communication → Telegram that walks through the same steps. It also has a Diagnostics → Cyclic data page that shows the raw PZD words being sent to the controller — useful for confirming that the drive is transmitting non-zero IAIST/MIST values even when the PLC is not yet reading them.

Third-Party Controllers (Allen-Bradley, Beckhoff, Schneider)

PROFINET controllers from vendors other than Siemens see the G120 CU250S-2 PN as a PROFINET IO device driven by the SIEM8170.GSD file. Telegram 352 is supported in the GSD; the device exposes a slot with 6 input words and 6 output words. The configuration differs by vendor:

Controller Configuration Tool Slot Mapping IO Tag Pattern
Allen-Bradley ControlLogix Studio 5000 + AOI from SIEM8170 EDS Slot 0 = 6-word cyclic IO Instance:I.Data[3] = IAIST, [4] = MIST, [5] = PWR_A
Beckhoff TwinCAT TwinCAT 3 + GSD import Slot 1 (Telegram 352 input) nI_Inputs array, indices 3/4/5
Schneider M580 / M340 EcoStruxure Control Expert + GSD IODDF file maps the 6 words %IW addresses assigned by EcoStruxure
Cross-vendor pitfall: If the controller is configured with the default 2-word slot, the import succeeds and the connection goes online, but PZD3–PZD6 are silently truncated by the controller's IO stack. The drive still transmits them, but the PLC never sees them. Verify the slot length matches 6 input words on the third-party side after importing the GSD.

PROFIsafe-equipped CU250S-2 PN F variants use a separate PROFIsafe slot for safety telegrams (typically 30, 31, or 901). Telegram 352 remains in the standard cyclic IO slot and does not interfere with PROFIsafe. The MELDW word (PZD6) carries the standard PROFIdrive message word, not the PROFIsafe diagnostics; for STO/SS1/SLS diagnostics over PROFINET, read the PROFIsafe slot instead.

Quick-Start Checklist

  • [ ] Telegram 352 selected in Devices & Networks (TIA Portal) or Communication → Telegram (STARTER)
  • [ ] Hardware configuration compiled and downloaded to the S7 CPU
  • [ ] p0922 reads 352 on the drive
  • [ ] p2051[2] = 268, p2051[3] = 512, p2051[4] = 770, p2051[5] = 974
  • [ ] Copy RAM to ROM executed (p0977 = 1)
  • [ ] Drive 24 V control power cycled
  • [ ] IW base + 4 (current) and IW base + 6 (torque) update in the S7 watch table
  • [ ] p0010 = 0 and p0009 = 0 on the drive
  • [ ] Third-party PLC: 6-word slot mapped in the controller's IO configuration
  • [ ] PROFIsafe (if used) configured in a separate slot, not in PZD6

Why does actual speed work but actual current and torque return zero on Telegram 352?

Because Telegram 1 (the factory default) already wires p2051[0] = r2089[0] and p2051[1] = r0063. When you change p0922 to 352, the firmware rewrites p2051 for the new layout, but on firmware versions below V4.7 SP10 the rewrite of p2051[2..4] is incomplete. Force-write p2051[2] = 268 (r0068), p2051[3] = 512 (r0080), p2051[4] = 770 (r0082), then p0977 = 1 and cycle the 24 V control power.

How do I scale the raw integer values from IAIST and MIST?

Divide the input word by 100. IAIST (PZD3) returns the actual current in 0.01 A units — a reading of 36000 means 360.00 A RMS. MIST (PZD4) returns the actual torque in 0.01 Nm units — a reading of 1245 means 12.45 Nm. PWR_A (PZD5) returns 0.01 kW when the reference power p2002 is configured in kW; verify by reading r2004 on the drive.

Do I need to power-cycle the drive after every Telegram 352 change?

On CU250S-2 firmware V4.7 SP10 and later, the telegram change is hot-swapped and a power cycle is not strictly required. On V4.7 SP5 and earlier, a 24 V control power cycle is mandatory because the BiCo rewrite is only committed during the drive's startup phase. Even on newer firmware, a clean restart is recommended during commissioning to clear transient BiCo states.

What is the difference between Telegram 20 and Telegram 352?

Telegram 20 is the PROFIdrive standard telegram for speed control with extended status and control words (ZSW2, STW2, NIST_B, NSOLL_B). Telegram 352 is a Siemens-specific free telegram that exposes actual current, torque, and power in addition to the standard speed feedback. Choose Telegram 20 for PROFIdrive-compliant installations that consume the standard status/control word 2; choose Telegram 352 when you need current/torque/power telemetry without the extra status bits.

Why do my values look correct in TIA Portal online but the drive still has p0922 = 1?

The slot configuration in the controller and p0922 in the drive are two independent settings that must match. TIA Portal downloads the slot configuration to the S7 CPU; it does not write p0922 to the drive over PROFINET. You must explicitly run Copy RAM to ROM on the drive side (or write p0977 = 1) for p0922 to take effect. After that, cycle the drive's 24 V control power to commit the telegram selection.

Can Telegram 352 carry the safety diagnostics for PROFIsafe?

No. Telegram 352 is a standard PROFIdrive cyclic telegram. Safety-relevant diagnostics for STO/SS1/SLS over PROFINET are carried in the PROFIsafe slot (typically telegram 30, 31, or 901) which is configured separately on the CU250S-2 PN F variant. The MELDW word in PZD6 of Telegram 352 is the standard message word, not a PROFIsafe status word.

Back to blog