Configuring S7-1500 PROFINET Telegram 370 for SINAMICS S120

David Krause13 min read
S7-1200SiemensTutorial / 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

Overview: S7-1500 to SINAMICS S120 CU320-2 PN PROFINET Architecture

The SIMATIC S7-1500 CPU communicates with a SINAMICS S120 drive line-up over PROFINET IO using the CU320-2 PN control unit as the PROFINET IO Device. Communication is telegraphic: the controller sends a Process Data (PZD) set (control words, setpoints) and receives a PZD set (status words, actual values) in each PROFINET IRT/RT cycle. For infeed units (Line Module, Basic Line Module, Smart Line Module, Active Line Module) and additional drive objects beyond the standard drive telegrams, Siemens provides supplementary telegrams such as Telegram 370 for the Infeed and Telegram 390 for the Control Unit, while axis telegrams 1, 2, 3, 4, 5, 6, 7, 9, 20, 110, 111, 116, 118, 125, 126, 130, 136, 138, 139, 166, 220, 222 handle servo and vector control.

This article documents the field-proven procedure to bring up Telegram 370 (PZD 1/1) on a CU320-2 PN so that the S7-1500 can request Master Control by PLC (Bit 10 of Control Word 1, STW1) and switch the infeed on and off. The procedure applies whether the S7-1500 is a separate PLC next to the drive line-up, or integrated into the same device as in a SIMATIC Drive Controller (a fused S7-1500 Technology CPU and SINAMICS S120 Booksize Compact in one chassis). See the SIMATIC Drive Controller product overview in the TIA Portal manual collection for the integrated variant.

Prerequisites and Required Firmware Versions

Before commissioning, confirm the following minimum firmware and software versions. Field experience shows that older SINAMICS S120 firmware rejects Telegram 370 activation by the PLC, even if STARTER or Startdrive accepts the configuration silently.

Component Minimum Version Recommended Notes
CU320-2 PN firmware V4.4 (S120) V5.2 SP3 or newer Telegram 370 availability depends on the SINAMICS firmware; check the Communication > PROFINET dialog for the populated telegram list.
SINAMICS support package (SSP) for STARTER/Startdrive Matches the drive FW Latest GSDML-based HSP for TIA Portal V17/V18 HSP must be installed via Options > Manage HSP in TIA Portal.
TIA Portal STEP 7 V13 SP1 minimum V17 / V18 PUTIO/GETIO and DPWR_DAT/DPRD_DAT are available from V13 onward.
S7-1500 CPU firmware V1.6 minimum V2.9 or newer Older V1.x firmware had PROFINET IRT issues with S120; update CPU if ratcheting errors appear.
S7-1500 to S120 firmware coherence No formal coupling However, if PROFINET IRT is required (isochronous mode), the drive must be configured as IRT-aware.
Important: Telegram 370 is added to the existing telegram set in STARTER/Startdrive under Communication > Telegram configuration. Do not assign Telegram 370 as the only telegram - keep at least one drive telegram active so the drive enters operational state.

Telegram 370 Structure and PZD Mapping for Infeed

Telegram 370 carries a single Process Data word in each direction for the infeed control object (DO Infeed). The mapping follows the PROFIdrive profile v4.1:

Direction PZD Word Meaning Bit-Level Highlights
PLC → Drive (Setpoint) STW1 (Control Word 1, bits 0-15) Infeed control per PROFIdrive state machine Bit 0 = ON/OFF1, Bit 1 = OFF2, Bit 2 = OFF3, Bit 3 = Inhibit Operation, Bit 4 = Inhibit Ramp Generator, Bit 7 = Acknowledge Fault, Bit 10 = Master Control by PLC (required!), Bit 14 = Command Setpoint
Drive → PLC (Actual) ZSW1 (Status Word 1, bits 0-15) Infeed status feedback Bit 2 = Operation Enabled, Bit 3 = Fault Present, Bit 4 = OFF2 Active, Bit 6 = Switch-on Inhibited, Bit 7 = Alarm Present, Bit 8 = Speed Setpoint/Actual Deviation, Bit 10 = Master Control by PLC (mirrors PLC request)

The PLC must set Bit 10 (Master Control by PLC) of STW1 to 1 for the drive to accept any other control bits. If Bit 10 is 0, the drive ignores ON commands and reports back ZSW1 Bit 10 = 0. This is the most common root cause for "Drive does not switch on" complaints - the field has many cases where commissioning engineers set ON/OFF but forget Master Control.

HW Configuration in TIA Portal: Identifying the HW Identifier

Telegram 370 appears in the device view of the CU320-2 PN as a dedicated submodule slot once the GSDML/HSP is installed. The critical step is to read the correct Hardware Identifier (HW ID) that the S7-1500 program will use as the LADDR input to DPWR_DAT / DPRD_DAT.

  1. Open the project in TIA Portal and switch to Device view.
  2. Select the CU320-2 PN node in the PROFINET network.
  3. Open Device overview > Telegram configuration. Telegram 370 should now appear under the Infeed slot (usually slot 2 or 3, depending on DO assignment).
  4. Note the I/O addresses assigned to Telegram 370: input start address (e.g., I 300) and output start address (e.g., Q 300).
  5. Right-click the Telegram 370 submodule → Properties > System constants. The HW ID is shown here as a hexadecimal value (for example, 272 decimal or 0110 hex) and is the value to load into the DPWR_DAT/DPRD_DAT LADDR parameter.
Field tip: If multiple HW IDs exist (drive telegrams, infeed telegrams, CU telegram 390), they each have a unique HW ID. Using the wrong one yields no PROFINET error at the block level but no data exchange either. Cross-check by triggering a write and observing the I/O slot LED or STARTER trace.

PROFINET Telegram Slot Assignment and I/O Address Mapping

The CU320-2 PN exposes telegram slots in this typical order (depends on the DO list):

Slot Submodule Telegram Direction Typical I/O Address
0 Control Unit Telegram 390 2 PZD out / 2 PZD in Q 200 / I 200
1 Drive Object 1 (Axis 1) Telegram 3 (Servo) or 5 (Vector) 5 PZD out / 9 PZD in Q 204 / I 204
2 Drive Object 2 (Axis 2) Telegram 3 or 5 5 PZD out / 9 PZD in Q 214 / I 214
3 Drive Object Infeed Telegram 370 1 PZD out / 1 PZD in Q 300 / I 300

The I/O addresses shown are user-configurable in Device view > Telegram > I/O addresses. For most applications, the default packed addressing is fine. Avoid leaving gaps that double the PROFINET frame - S120 is sensitive to frame length settings beyond what STARTER reports.

Writing the Control Word with DPWR_DAT on S7-1500

On S7-300/400, SFC14 (DPRD_DAT) and SFC15 (DPWR_DAT) read and write consistent PROFINET data. On S7-1500, the equivalent instructions are the integrated DPWR_DAT and DPRD_DAT blocks available from the Instructions > Communication > PROFINET IO palette in TIA Portal. They behave identically to SFC14/15 but use the new LAD/FBD block icon and support symbolic naming.

Block Purpose Key Inputs
DPWR_DAT Write PZD setpoints from S7-1500 to drive LADDR (HW ID), RECORD (source ANY pointer, e.g., P#DB100.DBX0.0 WORD 1)
DPRD_DAT Read PZD actuals from drive to S7-1500 LADDR (HW ID), RET_VAL, RECORD (target ANY pointer, e.g., P#DB110.DBX0.0 WORD 1)

Example ST code for switching the infeed on:

// DB100 "Infeed_Ctrl" - contains STW1 and ZSW1
// DB100.DBX0.0  WORD  Infeed_STW1   // Setpoint to drive
// DB110.DBX0.0  WORD  Infeed_ZSW1   // Actual from drive

// Build control word: Bit 0 = ON, Bit 10 = Master Control by PLC, Bit 14 = Command Setpoint
#Infeed_STW1 := 16#0000;
#Infeed_STW1 := #Infeed_STW1 OR 16#0001;  // Bit 0 - ON/OFF1
#Infeed_STW1 := #Infeed_STW1 OR 16#0400;  // Bit 10 - Master Control by PLC
// Bit 14 toggled each cycle for Command Setpoint; handled in OB1 by a flip-flop

DPRD_DAT(LADDR := 272,                // HW ID of Telegram 370
         RET_VAL := #ret_read,
         RECORD := P#DB110.DBX0.0 WORD 1);

DPWR_DAT(LADDR := 272,                // HW ID of Telegram 370
         RECORD := P#DB100.DBX0.0 WORD 1);

If the Any pointer in RECORD points to a data block (DB), TIA Portal V14+ accepts it directly - unlike the older SFC14/15 where the DB had to be unoptimized. With S7-1500 optimized DBs, ensure Accessible from S7-300/400 is unchecked (or use Standard access) and that the address area is word-aligned.

PUTIO and GETIO as an Alternative

The PUTIO and GETIO instructions transfer the entire I/O image of a PROFINET device in one call. They are useful for diagnostic or development phases where you want to mirror all telegram data without per-telegram block calls. Field experience shows PUTIO/GETIO often returns no error but does not change drive data when the wrong HW ID is loaded - this matches the symptom reported in the original question.

// Read all submodules of CU320-2 PN into DB200
GETIO(MODE       := 1,            // 0 = read all, 1 = read partial
      LADDR      := 256,          // HW ID of the CU320-2 PN device (head station)
      RET_VAL    := #ret_io,
      BUSY       := #busy_io,
      RECORD     := P#DB200.DBX0.0 BYTE 256);

For production code, prefer DPWR_DAT/DPRD_DAT per telegram. The PUTIO/GETIO approach makes the cyclic I/O update depend on a single scan, which can interfere with isochronous applications.

Word/Byte Swapping and SINAMICS S120 Data Inversion

PROFINET telegrams on Siemens drives transfer PZD words in big-endian byte order. The S7-1500 stores words little-endian. A single-word PZD (Telegram 370 case) does not exhibit visible byte-swap effects because both bytes are part of the same 16-bit word and the swap preserves the word value. However, for multi-word PZD sets (Telegram 220, Telegram 5, Telegram 136, etc.) the order of the words in the data block must be reversed unless the swap is handled by the CPU's PROFINET stack.

Verified field observation: G120 drives do not invert bytes within words, whereas SINAMICS S120 does invert when the underlying PROFIdrive profile is set to "SIEMENS" mode rather than "PROFIdrive" mode in STARTER under Communication > PROFIdrive > Telegram settings. Confirm with Drive trace in STARTER if the received word pattern looks scrambled.

For a single-word Telegram 370, the canonical safe pattern is to treat the value as a word and avoid manual bit-level reordering. Use the word symbol Infeed_STW1 and set bits via the OR mask shown in the ST example above.

PLC Master Control Request Sequencing

The PROFIdrive state machine for an infeed is simpler than a motor drive. The required sequence in STW1 is:

  1. Bit 10 = 1 (Master Control by PLC) - always required to give the PLC authority.
  2. Bit 0 = 1 (ON/OFF1) - close the main contactor / pre-charge.
  3. Wait for ZSW1 Bit 2 = 1 (Operation Enabled) and ZSW1 Bit 10 = 1 (Master Control echoed back).
  4. For shutdown: Bit 0 = 0 (OFF1, controlled ramp-down) or Bit 1 = 0 (OFF2, immediate pulse inhibit).

A common fault pattern: the S7-1500 sets Bit 0 = 1 but the drive stays in Switch-on Inhibited (ZSW1 Bit 6 = 1) because Bit 10 was never set. This produces a perfectly valid STW1 from the PLC side but no reaction on the drive side, and STARTER will report "Missing Master Control by PLC" in the control panel diagnostic buffer.

Commissioning Procedure with STARTER or Startdrive

  1. In STARTER/Startdrive, navigate to the CU320-2 PN and add Telegram 370 to the Infeed DO.
  2. Download the project to the drive and perform a POWER ON (POW) reset so the new telegram configuration is active.
  3. Open Control panel in STARTER; the Master control by PLC checkbox should be present for the infeed.
  4. Tick the checkbox manually to verify the drive reacts (infeed contactor closes, DC link charges).
  5. Untick the checkbox, then switch to online monitoring of the S7-1500.
  6. Trigger DPWR_DAT from the S7-1500 with Bit 10 = 1 and Bit 0 = 1. The drive should now show "Control by PLC" and switch on.
  7. Use the drive trace to record ZSW1 and confirm Bit 2 toggles to 1.

Verification Checklist

Check Expected Result Tool
PROFINET connection status "Connected" green, no diagnostic interrupt TIA Portal Online > Diagnostics > PROFINET
DPWR_DAT RET_VAL 0000 hex (no error) Watch table in TIA Portal
Drive receives STW1 Bit 10 = 1, Bit 0 = 1 visible in trace STARTER trace, signal STW1 Infeed
Drive returns ZSW1 Bit 10 = 1 (echo), Bit 2 = 1 (Enabled) STARTER trace, signal ZSW1 Infeed
Infeed contactor Closed, DC link voltage at rated value Drive parameter r26 (DC link voltage)
Axis enable from TO Drives enable after infeed Bit 2 = 1 TIA Portal axis trace

Troubleshooting Matrix

Symptom Likely Cause Remediation
DPWR_DAT RET_VAL = 8090 HW ID does not exist or wrong submodule Re-check Telegram 370 HW ID in System constants
DPWR_DAT RET_VAL = 8092 Record length mismatch Set RECORD length to 1 WORD (2 bytes), not 1 BYTE
No error, but drive does not switch on Bit 10 (Master Control by PLC) not set OR 16#0400 into STW1 and re-cycle
ZSW1 Bit 10 echoes PLC request but drive still OFF OFF2 (Bit 1) or OFF3 (Bit 2) stuck at 0 Ensure both Bits 1 and 2 are set to 1 in STW1
PUTIO/GETIO return no error but no data change Wrong head-station HW ID used Use per-telegram DPWR_DAT/DPRD_DAT instead
PROFINET diagnostic interrupt "Station Failure" Device name or IP mismatch Assign PROFINET device name from TIA Portal, verify IP via Online > Accessible devices
Drive trace shows wrong word value PROFIdrive profile mode mismatch (SIEMENS vs PROFIdrive) Set PROFIdrive profile in STARTER to match PLC expectation
Telegram 370 missing from device view Older GSDML/HSP installed, or wrong firmware on CU320-2 Update HSP in TIA Portal; upgrade CU320-2 firmware to V4.4+

References to Official Documentation

The procedure above is documented in detail in the SINAMICS S120 Commissioning Manual and the Function Manual "Communication" in the Siemens support documentation system. The classic application note that consolidates the PLC-to-drive PROFINET pattern with DPWR_DAT/DPRD_DAT is entry ID 73257075 in the Siemens Industry Online Support; a related FAQ for telegram 220 with DPWR_DAT/DPWR_DAT is entry ID 82887493. Both are listed under Function Manuals > SINAMICS S120 > Communication (PROFINET/PROFIdrive). The integrated SIMATIC Drive Controller variant - which combines an S7-1500 Technology CPU and an S120 Booksize Compact in one enclosure - is described in the TIA Portal manual collection for S7-1500 / ET 200 MP.

FAQ

Why does my SINAMICS S120 ignore ON commands from the S7-1500 even though DPWR_DAT reports no error?

The drive is rejecting commands because Bit 10 (Master Control by PLC) of Control Word 1 (STW1) is 0. Set STW1 := STW1 OR 16#0400 before or together with the ON command (Bit 0). Without Bit 10, the drive stays in Switch-on Inhibited state regardless of other control bits.

Where do I find the Hardware Identifier (HW ID) for Telegram 370 on an S7-1500?

Open the device view of the CU320-2 PN in TIA Portal, click on the Telegram 370 submodule slot, and read the HW ID under Properties > System constants. Load this decimal or hexadecimal value into the LADDR input of DPWR_DAT and DPRD_DAT. The wrong HW ID is the most common cause of "no error but no data change" symptoms.

Can I use SFC14 and SFC15 on an S7-1500 to access SINAMICS S120 telegrams?

No. The S7-1500 CPU family does not support SFC14 (DPRD_DAT) or SFC15 (DPWR_DAT). Use the integrated DPWR_DAT and DPRD_DAT instructions from the TIA Portal Instructions > Communication > PROFINET IO palette. PUTIO and GETIO are available for transferring the full I/O image but are not recommended for production isochronous communication.

Does Telegram 370 require a specific SINAMICS S120 firmware version?

Yes. Telegram 370 is available from SINAMICS S120 firmware V4.4 on the CU320-2 PN. Earlier firmware versions silently reject Telegram 370 activation. Upgrade the CU320-2 PN firmware and matching STARTER/Startdrive Support Package, then perform a POWER ON reset on the drive.

How do I avoid the byte/word swap mismatch between S7-1500 and SINAMICS S120?

For single-word Telegram 370, no swap is needed. For multi-word PZD telegrams, the PROFIdrive profile mode in STARTER must match the expected word order. "SIEMENS" mode swaps word order; "PROFIdrive" mode does not. Verify by tracing STW1 in STARTER and comparing with the value written by the S7-1500 in a TIA Portal watch table.

Back to blog