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. | |
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.
- Open the project in TIA Portal and switch to Device view.
- Select the CU320-2 PN node in the PROFINET network.
- Open Device overview > Telegram configuration. Telegram 370 should now appear under the Infeed slot (usually slot 2 or 3, depending on DO assignment).
- Note the I/O addresses assigned to Telegram 370: input start address (e.g., I 300) and output start address (e.g., Q 300).
- Right-click the Telegram 370 submodule → Properties > System constants. The HW ID is shown here as a hexadecimal value (for example,
272decimal or0110hex) and is the value to load into the DPWR_DAT/DPRD_DAT LADDR parameter.
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.
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:
- Bit 10 = 1 (Master Control by PLC) - always required to give the PLC authority.
- Bit 0 = 1 (ON/OFF1) - close the main contactor / pre-charge.
- Wait for ZSW1 Bit 2 = 1 (Operation Enabled) and ZSW1 Bit 10 = 1 (Master Control echoed back).
- 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
- In STARTER/Startdrive, navigate to the CU320-2 PN and add Telegram 370 to the Infeed DO.
- Download the project to the drive and perform a POWER ON (POW) reset so the new telegram configuration is active.
- Open Control panel in STARTER; the Master control by PLC checkbox should be present for the infeed.
- Tick the checkbox manually to verify the drive reacts (infeed contactor closes, DC link charges).
- Untick the checkbox, then switch to online monitoring of the S7-1500.
- 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.
- 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.