SINAMICS S120 OPC Communication: SIMATIC NET PC Station Setup

David Krause14 min read
OPC / OPC UASiemensTechnical Reference
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

The SINAMICS S120 drive family exposes its process data (control words, setpoints, status words, actual values) through a deterministic telegram interface. To make this data available to HMI, SCADA, or higher-level MES applications, the most common integration path is a SIMATIC NET PC station acting as an OPC DA / OPC UA server on a standard industrial Ethernet (PROFINET) network. The PC station reads the cyclic process image from the SINAMICS Control Unit (CU310PN, CU310-2 PN, or CU320-2 PN) and re-publishes the values as OPC tags that any OPC client can subscribe to.

Engineers new to this architecture often ask three concrete questions:

  1. Can a regular on-board PC Ethernet port be used, or is a Siemens CP1616 / CP1623 required?
  2. What SINAMICS Control Unit (CU) is mandatory for PROFINET-based OPC access?
  3. Why are the data-block addresses DBW2048 and DBW3072 offset by exactly 1024 bytes, and how do I extend the pattern to 1, 3, 4, or more axes?

This reference answers those questions with the parameter-level detail required for commissioning, including the exact telegram types, slot layout, and OPC tag mapping recommended in the Siemens documentation Accessing SINAMICS parameters via OPC server (SIMATIC NET, V8.x, PDF).

System Architecture

The architecture has three logical tiers: the SINAMICS drive line, the PROFINET/Ethernet transport, and the OPC client tier. The SIMATIC NET PC software sits on the transport tier as both an OPC server and an IE/PROFINET node.

SINAMICS S120 <--> SIMATIC NET PC Station (OPC Server) <--> OPC Clients SINAMICS S120 Cabinet CU310PN / CU320-2 PN PROFINET IO Device Servo_02 Drive Object 2 Servo_03 Drive Object 3 S120 Motor Modules Line Module + Motor Modules Telegram 3 / 103 / 105 (PZD) Slot 1 .. Slot n, 1024 B each PROFINET / IE Managed Switch SCALANCE XC/XB/XR 100 Mbit / 1 Gbit PROFINET RT / IRT Cyclic PZD @ 1 - 16 ms Acyclic parameter channel DCP, LLDP, MRP PC Station SIMATIC NET PC SW V8.x Station Configuration Editor IE / PN CP1616 / on-board OPC DA OPC.SimaticNET Application / PLC S7-1500 / S7-1200 / WinCC OPC Clients: WinCC, TIA, 3rd-party Scout / OPC Scout V10

Prerequisites

Item Requirement Notes
SINAMICS S120 firmware V4.x / V5.x (CU310PN, CU310-2 PN, CU320-2 PN) PROFINET interface required for Ethernet OPC access; CU310DP / CU320 with PROFIBUS need CP5611/CP5621 in the PC instead
SIMATIC NET PC software V8.x or later (V8.2 / 16 / 17 for current Windows) Contains the Station Configuration Editor, OPC server OPC.SimaticNET, and the IE/PROFINET driver
STEP 7 / TIA Portal For PC station hardware configuration HW catalog path: SIMATIC PC station > User application > OPC server
PC Ethernet interface Standard on-board 100/1000 Mbit or Siemens CP1616 / CP1623 For PROFINET RT, a standard on-board NIC is acceptable; IRT or hard-realtime applications should use CP1616/CP1623
Drive telegram Standard telegram 1, 2, 3, 4, 5, 6, 102, 103, 105, 106, 110, 111, 220, 221 Configured in SINAMICS via p0922 (DO1) and p2079 (additional DOs)
PROFINET topology SCALANCE switch (or compatible), PROFINET device name assigned Use SINAMICS STARTER or Startdrive for IP / device-name assignment
Note: The OPC server selection in the HW catalog (SIMATIC PC station > User application > OPC server, version SW V8) is the entry point that exposes the SINAMICS data to OPC clients. This corresponds to the documentation referenced in the Accessing SINAMICS parameters via OPC server PDF.

Control Unit Selection for OPC Communication

OPC over Ethernet is only possible if the SINAMICS Control Unit has an Ethernet / PROFINET interface that the SIMATIC NET PC can reach on IP. The available CUs and their OPC compatibility are summarized below.

Control Unit PROFINET port PROFIBUS Ethernet OPC via SIMATIC NET Multi-axis capable
CU310PN 2 x RJ45, integrated switch No Yes (on-board NIC or CP1616) 1 axis per CU
CU310-2 PN 2 x RJ45 No Yes 1 axis per CU
CU320-2 PN 2 x RJ45 (built-in) + optional CBE20 No Yes Up to 6 axes (CBE20) / 12 axes (CU320-2 DP with CBE20)
CU320-2 DP No Yes Requires CP5621 / CP5623 + PROFIBUS Up to 12 axes
CU310DP No Yes Requires CP5621 in the PC 1 axis

For the configuration shown in the source material (one PC station talking to two Servo drive objects), the most common hardware choices are:

  • CU310PN × 2, each on its own PROFINET device name (one axis per CU), or
  • CU320-2 PN with two Motor Modules, exposing Servo_02 and Servo_03 as Drive Objects (DO2 and DO3) on a single PROFINET node.

PC Station Configuration in SIMATIC NET

Use the Station Configuration Editor that ships with SIMATIC NET to assemble the PC station before any OPC tags are created. The configuration is stored in the PC station's XML, not the project, and it is consumed by the runtime service SIMATIC NET Configuration Service.

  1. Open Station Configuration Editor (Start » Siemens Automation » SIMATIC » SIMATIC NET » Configuration Console).
  2. Add an OPC server slot: select OPC Server from the catalog and drag it into slot 1.
  3. Add an IE / PROFINET interface: select IE from the catalog and assign it to the physical NIC (on-board or CP1616). The slot number is typically 0 for the IE module.
  4. Assign the PC station an IP address that is reachable from the SINAMICS CUs (subnet must match PN-IO subnet).
  5. Save, then click Station » Load so the runtime loads the configuration. The OPC DA server OPC.SimaticNET starts once the configuration loads.
  6. Verify the OPC server is registered. From an elevated command prompt:
    opcenum -list
    
    The list must contain OPC.SimaticNET. If it does not, restart the service:
    net stop "SIMATIC NET Configuration Service"
    net start "SIMATIC NET Configuration Service"
    

SINAMICS S120 Telegram Configuration

The cyclic process image is defined by the telegram type. Each drive object uses one telegram. The default telegram and the data word length (PZD) are configured by parameters on the drive object.

Telegram (p0922) Length PZD setpoint Length PZD actual Typical use
1 2 words 2 words Speed setpoint, 16-bit
2 4 words 4 words Speed setpoint + actual, 16-bit
3 2 words (32-bit NSOLL) 2 words (32-bit NIST) Speed, 32-bit
4 4 words (32-bit NSOLL + signals) 4 words Speed 32-bit + I/O
5 4 words (DSC) 4 words Dynamic Servo Control
6 4 words (DSC + torque) 4 words DSC with torque feedforward
102 6 words 6 words Positioning, 32-bit
103 10 words 10 words Positioning with DSC
105 10 words 10 words Positioning with DSC and torque
106 12 words 12 words Positioning with DSC, torque, and additional signals
110 4 words 4 words Free BICO, 16-bit
111 6 words 6 words Free BICO, 32-bit
220 10 words 10 words Free BICO 32-bit, full
221 12 words 12 words Free BICO 32-bit, extended

For each additional Drive Object, the telegram is selected via p0922 on that DO, and a list of telegrams is set globally with p2079. The DO mapping in the PROFINET telegram is defined by p0978 (subslot 0 for the CU, subslots 1..n for DOs).

Data Block Mapping and Offset Explanation

The source material references two data blocks with addresses that look unfamiliar at first:

  • DB2098.DBW2048 — Control word 1 (ON/OFF1), Servo_02
  • DB1001.DBD2048 — Setpoint (REAL, NSOLL), Servo_02
  • DB898.DBW2048 — Status word (WORD), Servo_02
  • DB63.DBD2048 — Actual speed (REAL, NIST_A), Servo_02

And for Servo_03, the addresses are uniformly offset by 1024 bytes (0x400):

  • DB2098.DBW3072 (= 2048 + 1024)
  • DB1001.DBD3072
  • DB898.DBW3072
  • DB63.DBD3072

Three things are happening at once and they all need to be understood separately.

Why the same address for different data types

The same numeric address appears four times because each DB holds a different word of the process image for the same axis slot. They are not the same memory location. The DB number identifies which field of the telegram is being read:

CU STW1 (r2089[0])
DB number Holds Bit / word offset within slot Source SINAMICS signal
DB 2098 Control word 1 (STW1), integer Word 0 of the slot
DB 1001 Speed setpoint, REAL (NSOLL_A) Word 2..3 of the slot CU NSOLL_A (r2060[1])
DB 898 Status word (ZSW1), WORD Word 0 of the slot (return path) CU ZSW1 (r2089[0] feedback)
DB 63 Speed actual value, REAL (NIST_A) Word 2..3 of the slot (return path) CU NIST_A (r2060[1] feedback)

The exact DB numbers (DB 2098, DB 1001, DB 898, DB 63) are project-specific. They are assigned when the OPC server wizard maps the PROFINET slots to S7-compatible data blocks. As long as the wizard has access to the same drive configuration, the DB numbers are deterministic for a given project.

Why byte offset 2048 and 3072

The SINAMICS S120 reserves a 1024-byte (0x400) slot per Drive Object in the PROFINET process image. The base offset of 2048 (0x800) is the configured I/O base address of the SINAMICS station as entered in STEP 7 / TIA on the PC station, or the start of the S7 input/output area assigned to the IE module. Drive Object 2 (Servo_02) starts at byte 2048, and Drive Object 3 (Servo_03) starts at 2048 + 1024 = 3072.

Drive Object Slot index Byte offset (decimal) Byte offset (hex)
Reserved / system 0 0 – 2047 0x000 – 0x7FF
Servo_02 (DO2) 1 2048 – 3071 0x800 – 0xBFF
Servo_03 (DO3) 2 3072 – 4095 0xC00 – 0xFFF
Servo_n (DOn) n - 1 2048 + (n - 2) * 1024 … 0x800 + (n - 2) * 0x400 …

Extending the pattern to 1, 3, 4 axes

For an arbitrary number of axes, the rule is simple:

offset(DO_n) = base_offset + (n - 2) * 1024     [bytes, decimal]
offset_hex(DO_n) = base_offset_hex + (n - 2) * 0x400

Applied to the project:

Number of axes Servo_02 offset Servo_03 offset Servo_04 offset Servo_05 offset
1 axis 2048 — — —
2 axes 2048 3072 — —
3 axes 2048 3072 4096 —
4 axes 2048 3072 4096 5120
6 axes (CU320-2 + CBE20 max) 2048 3072 4096 5120

For six axes on a CU320-2 PN with CBE20, the highest slot is at 2048 + 5 * 1024 = 7168 (0x1C00). The reserved base area of 2048 bytes (slots 0) is always present, and on a CU320-2 with CBE20 the limit is six Drive Objects per PROFINET interface.

Step-by-Step Commissioning

  1. Assign the PROFINET device name to the CU310PN / CU320-2 PN from STARTER / Startdrive using Topology Editor or PRONETA. Without a unique PROFINET name, the SIMATIC NET PC station will not establish AR (Application Relationship).
  2. Configure the telegram in STARTER: in the drive's Communication node, select telegram (e.g., 3 for 32-bit speed). For CU320-2 PN, also configure p0978 with the list of DOs to be mapped cyclically.
  3. Build the PC station in STEP 7 / TIA Portal: drag a PC station into the project, add an OPC server and an IE module, and assign the IE module to the same PROFINET subnet as the SINAMICS station.
  4. Download the PC station configuration via the Station Configuration Editor (live) or via the project download (offline). Confirm the IE module shows running in the Configuration Console.
  5. Establish cyclic communication: from the OPC Scout V10 (bundled with SIMATIC NET), browse the OPC DA namespace OPC.SimaticNET → the S7 connection. The four DBs (control, setpoint, status, actual) must be visible.
  6. Write a test value to verify write access. From OPC Scout, write to DB2098.DBW2048 a value of 0x047E (control word: ON + OFF1 + OFF2 cleared + enable). The drive should accept the command and the status word DB898.DBW2048 should transition to 0x0531 or similar.
  7. Subscribe the OPC client (WinCC, TIA HMI, or third-party) to the same tags at a 100 ms update rate. Cyclic PROFINET updates at 1 ms (or the configured send clock) feed the OPC cache.

Verification and Diagnostics

Once the OPC server is running, verify each layer independently.

  1. PROFINET link: the IE module in the Configuration Console must show operate and no errors. The SINAMICS station's PROFINET LEDs (PN 1 / PN 2) must be solid green on the port connected to the switch.
  2. Cyclic I/O: in STARTER online mode, open Control » Commissioning » Telegram diagnostics and confirm the receive / send PZD counters increment. A non-incrementing counter indicates configuration mismatch (e.g., telegram type wrong on one side).
  3. OPC DA browsing: in OPC Scout, browse OPC.SimaticNET. The tags must appear with current quality Good (0xC0). If the quality is Bad (0x00) or Uncertain (0x40), check the S7 connection in NetPro / TIA.
  4. OPC UA (if used): if you switched to OPC UA, the endpoint is opc.tcp://<PC>:48010 and the security policies are None, Basic128Rsa15, or Basic256Sha256. The certificate must be trusted in the client's certificate store.
  5. Status word walk: write control word 0x047E, then 0x047F. Status word must transition 0x0531 → 0x0537 → 0x053F within one PROFINET update cycle.

Troubleshooting Matrix

Symptom Likely root cause Verification Remediation
OPC tag quality = Bad S7 connection not established, or PC station configuration not loaded Configuration Console → IE → operate? OPC Scout browse Re-load Station Configuration Editor; restart SIMATIC NET service
Tag visible but does not update Telegram length mismatch between PC station and SINAMICS STARTER online → telegram diagnostics counter Match p0922 on DO with the slot length in PC station hardware config
Drive does not react to control word STW1 source / sink wrong; BICO routing incomplete Check r2089[0] in expert list of STARTER Ensure p2051[0] = STW1; ensure CU p0850 / p0840 are wired to STW1 bits
Setpoint sent but motor does not turn Enable signals missing (OFF1, OFF2, OFF3, enable) Bit 0..3 of DB898.DBW2048 (ZSW1) status Set STW1 = 0x047F (ON + OFF1 + OFF2 + OFF3 + enable operation)
On-board NIC works, CP1616 does not Driver installation order / firmware Device Manager → Siemens Industrial Ethernet Reinstall SIMATIC NET; assign PROFINET IRT only to CP1616, not on-board NIC
On-board NIC works, but PROFINET IRT classes fail On-board NIC is not suitable for IRT STARTER topology → sync domain check Use CP1616 / CP1623 for IRT, or drop IRT and use PROFINET RT
Address offset appears to be 0 in OPC tag DB wizard generated the wrong base address Inspect DB at offset 0; it should map to a system slot, not a drive Re-run the OPC mapping wizard with the correct base address 2048 (0x800)
Adding a 3rd axis breaks the 2-axis configuration Slot in PC station HW config was not extended STEP 7 / TIA » device view » slot list Insert an additional DO slot in the SINAMICS subslot list, recompile, and download the PC station
OPC UA client cannot connect Firewall on the PC blocks TCP 48010 Test-NetConnection -Port 48010 from a second PC Open inbound 48010 (and 4840 for discovery) on the Windows firewall
Read works, write returns Access Denied OPC client connected with read-only credentials OPC Scout » group » properties Re-add the group with read/write; or check the S7 connection's PUT/GET permission on the SINAMICS

Frequently Asked Questions

Do I need a Siemens CP1616 / CP1623, or can I use the on-board Ethernet port of the PC?

For PROFINET RT, the on-board Ethernet port of any modern PC is fully supported by SIMATIC NET. For PROFINET IRT, isochronous drive synchronization, or applications that require hard realtime, use the Siemens CP1616 (PCI) or CP1623 (PCIe). The configuration and OPC tag structure is identical in both cases.

Why is Servo_02 at byte 2048 and Servo_03 at byte 3072?

Each SINAMICS Drive Object occupies a 1024-byte slot in the PROFINET process image. The base address 2048 (0x800) is the configured I/O start of the SINAMICS station; Drive Object 3 starts at 2048 + 1024 = 3072. To add a fourth axis, use 2048 + 2 * 1024 = 4096, and so on. This 1024-byte slot size is reserved regardless of the telegram length, so even a 2-word telegram uses the full 1024 bytes.

Can I run the same OPC configuration with PROFIBUS instead of PROFINET?

Yes, but the PC must be equipped with a Siemens PROFIBUS CP (CP5611, CP5621, CP5613, or CP5623). SIMATIC NET supports the OPC server over PROFIBUS in the same way as PROFINET. The DB / address layout is identical, but the cyclic update cycle is typically slower on PROFIBUS (1 ms on PROFINET RT vs 1–4 ms on PROFIBUS DP).

Which SINAMICS firmware versions are supported by SIMATIC NET OPC V8.x?

SIMATIC NET V8.x supports SINAMICS S120 firmware V4.4 and later through V5.x, including the STARTER/Startdrive commissioning tools. For legacy V4.x firmware, an older SIMATIC NET version may be required. Always check the SIMATIC NET release notes for the specific firmware compatibility list.

How do I extend the project to 3 or 4 axes?

Insert the additional Motor Modules in STARTER and assign them to a free DO slot (DO4, DO5, …). In the PC station hardware configuration, extend the SINAMICS subslot list to include the new DO with the same 1024-byte slot size. After downloading the new PC station configuration, the new axis appears at offset 2048 + (n - 2) * 1024, e.g., 4096 for DO4. The same DBs (control, setpoint, status, actual) are generated for the new axis automatically.

Back to blog