Configuring WinCC V7 OPC Communication with S7-1200 via SIMATIC

David Krause15 min read
SiemensTutorial / How-toWinCC
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

1. Problem Overview and Architecture

SIMATIC WinCC V7.0 cannot establish a direct, native connection to a SIMATIC S7-1200 or S7-1500 controller. The reason is structural: the S7-1200/1500 channel driver in WinCC was not introduced until WinCC V7.2, and a S7-1500 was not yet a product when WinCC V7.0 was released. An existing V7.0 installation that needs to read or write tags on a CPU 1214C, CPU 1215C, CPU 1217C, or any S7-1500 CPU must therefore route the traffic through a gateway. The supported gateway is the SIMATIC Net OPC Server, which exposes the S7-1200/1500 data as OPC DA 2.0/3.0 items that WinCC V7.0 can read through its OPC channel.

Two reference documents from Siemens are mandatory reading for this task:

  • Siemens FAQ 38051469 — "With WinCC, how can you access tags of the S7-1200 and the S7-1500 controllers?"
  • Application paper PDF 101908495 — "WinCC Communication to S7-1500, S7-1200 and ET 200SP"

The paper documents the WinCC V7.2/V7.3 native channel path and confirms the lower bound: WinCC V7.2 and STEP 7 Professional V13 SP1 or higher. For users pinned to WinCC V7.0 (for example because of legacy archive/license servers) the OPC bridge described below is the only sanctioned route.

2. Communication Architecture

The runtime topology is a three-tier stack on the engineering station (ES) or operator station (OS):

  1. WinCC V7.0 Runtime — owns the HMI screens, archives, alarms. Uses the OPC Channel (channel DLL: OPCCHN.EXE / WinCC OPC Channel).
  2. SIMATIC Net OPC Server — runs as a Windows service (S7OpcSrv.exe). Subscribes to the S7-1200 on behalf of WinCC and re-exposes the points as an OPC DA namespace.
  3. S7-1200 CPU 1214 — exposes its optimized/standard data blocks over the S7 communication protocol on TCP port 102 (ISO-on-TCP / RFC1006). Configured from TIA Portal V11.
Engineering / Operator Station (PC) WinCC V7.0 Runtime OPC Channel Tag Management / Archive SIMATIC Net OPC Server S7OpcSrv.exe (Windows service) PC Station = OPC Server slot TIA Portal V11 PC Station config S7 connection to CPU 1214 OPC DA 3.0 internal Industrial Ethernet Switch S7-1200 CPU 1214C 192.168.0.10 / PROFINET port ISO-on-TCP / TCP/102

Both the WinCC project and the PC station configuration (containing the OPC server slot and the S7 connection) live on the same machine. The OPC server reads the S7-1200 over the configured S7 connection; WinCC reads the OPC server over the OPC DA automation interface on the local machine (or a remote one if WinCC is split from the SIMATIC Net host).

3. Prerequisites

Verify the following before any configuration. Mismatched versions are the single most common cause of "channel cannot be loaded" errors on V7.0.

Component Required Version Notes
WinCC V7.0 (any SP) with installed WinCC OPC Channel option Re-insert the installation media, run Setup, and add the WinCC OPC Channel package if missing.
SIMATIC Net Version paired with the TIA Portal used. For TIA V11 use SIMATIC Net V8.1 SP1 or higher; for TIA V13 SP1 use SIMATIC Net V12 SP1 or higher. Install SIMATIC Net PC Software including the OPC Server and Station Configuration Editor.
TIA Portal V11.0 (CPU 1214 supported). V13 SP1 or higher recommended for S7-1500 access. TIA V11 + TIA V13 project conversion is non-trivial; keep one TIA version per PC station.
S7-1200 firmware V2.0 or higher recommended for S7 communication from PC station V1.x firmware has limited S7 server functionality.
Operating system Windows 7 SP1 (32/64) or Windows Server 2008 R2 for WinCC V7.0 Confirm SIMATIC Net supports the exact OS edition.
Network TCP/IP reachable between PC and CPU 1214 PROFINET port Use ping and telnet <ip> 102 as the first health check.
Compatibility trap: The PC station XML generated by TIA V11 is not binary compatible with the PC station XML generated by TIA V13 or V14. Do not mix PC station files between TIA versions on the same SIMATIC Net install — the Station Configuration Editor will refuse to load the configuration, and the OPC server will boot with "No partner configured".

4. Configure the S7-1200 Project (TIA Portal V11)

  1. Open the S7-1200 project containing CPU 1214 (order number 6ES7 214-1AE30-0XB0 or later).
  2. In Device Properties → PROFINET interface set the IP address. Recommended scheme: 192.168.0.10, subnet mask 255.255.255.0, no router.
  3. In Protection & Security leave the access level at "Full access (no protection)" for the initial commissioning, or set the PUT/GET password to a known value. S7 communication from a PC station requires PUT/GET access permitted; this is the default on V4.x firmware, but on V2.x firmware you must explicitly check Permit access with PUT/GET communication in the CPU properties.
  4. Create a global data block DB100 with the tags to be exposed to WinCC. Use standard (not optimized) access so that the PC station can address the data by absolute byte/bit offset. Example:
    DATA_BLOCK "DB_HMI"
    { S7_Optimized_Access := 'FALSE' }
    VERSION : 0.1
    NON_RETAIN
       STRUCT
          Level_cm        : REAL;     // Offset 0.0
          Pump_Run        : BOOL;     // Offset 4.0
          Speed_Pct       : INT;      // Offset 6.0
          Recipe_Number   : INT;      // Offset 8.0
       END_STRUCT;
    END_DATA_BLOCK
  5. Compile the project and download to the CPU 1214. Confirm Online & Diagnostics → Run/Stop is RUN, and the MAINT/ERROR LEDs are off.

5. Build the PC Station in TIA Portal V11

The PC station is the SIMATIC Net image that the OPC server will use at runtime. It defines which Windows application is the OPC server, which S7 connection the server will use, and which partner (the CPU 1214) the connection terminates at.

  1. In the TIA Portal project tree, choose Devices & Networks → Add new device → PC station. Use the SIMATIC PC station type that matches your installed SIMATIC Net version.
  2. In the PC station device view, drag an OPC Server from the hardware catalog (path: PC station components → User applications → OPC Server) into slot 1 of the PC station. Index 1 is the conventional slot for SIMATIC Net OPC servers.
  3. Open Devices & Networks → Network view. Click the OPC Server's green S7 connection port, drag a connection to the CPU 1214's PROFINET port. A new S7 connection is created automatically.
  4. Click the S7 connection and configure the following properties in the inspector:
    Property Value Comment
    Connection type S7 connection Default.
    Local endpoint OPC Server (your PC station) Local ID is empty; SIMATIC Net assigns automatically.
    Partner / IP CPU 1214 PROFINET, 192.168.0.10 Confirm slot = 1 (CPU 1214 only has slot 1).
    Connection resource 08 (as partner) / 0A on the local side if multiple connections TIA Portal picks the first free resource.
    Active connection establishment Checked The PC station establishes; the S7-1200 is passive server.
  5. Compile the PC station (Compile → Software (rebuild all)). TIA Portal generates the XDB file (e.g. S7OPCXGS.XDB) that the Station Configuration Editor will load.
  6. Locate the compiled XDB: Project tree → PC station → right-click → PC station diagnostic folder → Open folder. The path is typically %USERPROFILE%\AppData\Local\Siemens\Automation\<project>\PCStation\ or the explicit Target path on PC configured under PC station → Properties → Compilation. Set the Target path on PC to a known directory, for example C:\Siemens\PCStation\, and recompile.

6. Load the PC Station into SIMATIC Net (Station Configuration Editor)

  1. Open the SIMATIC Net Station Configuration Editor (Start → SIMATIC → SIMATIC Net → Station Configuration Editor, or scs.exe).
  2. In the component tree, add a PC station that matches the one defined in TIA Portal: index 1 = OPC Server, index 2 (optional) = IE General for the PROFINET interface. The IE interface must reference the physical network adapter of the PC.
  3. Choose Station → Import → XDB file and select the XDB compiled in step 5. The Station Configuration Editor populates the S7 connection parameters (partner IP, TSAPs, active/passive).
  4. Save the station configuration. The file is written to %ProgramData%\Siemens\Automation\StationConfig\<stationname>\<computername>.cfg.
  5. Restart the SIMATIC Net services:
    net stop "S7OpcSrv"
    net stop "SIMATIC Net Configuration"
    net start "SIMATIC Net Configuration"
    net start "S7OpcSrv"
  6. Run SIMATIC Net Commissioning → PC Station Test (or PCStationTest.exe) to verify: OPC Server status = RUN, S7 connection status = ESTABLISHED. If status reads PARTNER_NOT_REACHABLE, proceed to the troubleshooting section below.

7. Configure the WinCC V7.0 OPC Channel

  1. In WinCC Explorer, right-click Tag Management → Add New Driver → OPC. WinCC creates a new OPC channel under Tag Management with the OPC Groups node.
  2. Open OPC → OPC Groups → System Parameters and set:
    Field Value
    OPC Server Name OPC.SimaticNET (DA 3.0 brokerless) or OPC.SimaticNET.DA on newer SIMATIC Net
    Run the OPC Server on this computer Checked (if WinCC and SIMATIC Net are on the same PC)
    Read/Write rights Granted (default)
    OPC Server as service Optional — enable to allow WinCC to start the OPC service
  3. Click Browse Server. The OPC Item Browser opens. The left tree shows the partner structure; for the S7-1200 it is S7:[CPU 1214 connection name]. Right-click the partner and choose Add tags to OPC group, or write an item name directly in the tag properties.
  4. Item name syntax for the S7-1200 (DB-based, standard access, DB100 example):
    S7:[S7 connection_1]DB100,REAL0
    S7:[S7 connection_1]DB100,BYTE4.0
    S7:[S7 connection_1]DB100,INT6
    S7:[S7 connection_1]DB100,INT8

    The connection name is the one shown in the OPC browser; if you renamed it to CPU1214_OPC the prefix becomes S7:[CPU1214_OPC].

  5. Map each OPC item to a WinCC external tag. In Tag Management → OPC → OPC Groups → newgroup_1 → Properties, add a new tag with:
    WinCC tag Data type Item name (OPC) Length
    Level_cm 32-bit floating point S7:[CPU1214_OPC]DB100,REAL0 4
    Pump_Run Binary tag S7:[CPU1214_OPC]DB100,X4.0 1 (bit)
    Speed_Pct 16-bit signed S7:[CPU1214_OPC]DB100,INT6 2
    Recipe_Number 16-bit signed S7:[CPU1214_OPC]DB100,INT8 2
  6. Save the WinCC project. Open Graphics Designer and link an IO field to each tag for runtime verification.

8. Verification Procedure

Validate the chain from PLC to screen in five ordered checks. Stop at the first failed step and correct before continuing.

  1. Layer 1 — physical and IP reachability. From the PC: ping 192.168.0.10 must succeed; telnet 192.168.0.10 102 must open (will go to a blank terminal — that is success). If telnet is missing, install it via Programs and Features → Turn Windows features on/off → Telnet Client.
  2. Layer 2 — S7-1200 server side. In TIA Portal: Online → Accessible nodes must list the CPU 1214 with its IP. Online & Diagnostics → Operating mode must show RUN. PUT/GET must be permitted (see Section 4).
  3. Layer 3 — SIMATIC Net S7 connection. Launch PC Station Test and confirm: OPC Server state = RUN (green), S7 connection state = ESTABLISHED (green), Diagnostic buffer free of S7COD errors. If state reads CONNECTING for more than 30 s, the partner is not responding; check firewall rules (allow inbound TCP/102) and PROFINET cable.
  4. Layer 4 — OPC DA namespace. Use the SIMATIC Net OPC Scout V10 (Start → SIMATIC → SIMATIC Net → OPC Scout). Add a group, browse to S7:[CPU1214_OPC]DB100, drag REAL0 into the group, set Active and UpdateRate=500 ms. The Value column must show a non-zero reading once you toggle the tag from the PLC. If the item is marked BAD, the S7-1200 rejected the read; usually the access is on an optimized DB or the offset is wrong.
  5. Layer 5 — WinCC runtime. Activate WinCC Runtime, open the screen with the IO field bound to Level_cm. The value must update within the configured polling cycle (default 1 s). Force the value in OPC Scout — the WinCC IO field must change. This confirms the OPC channel is alive end-to-end.
Tip: Keep OPC Scout open in a second monitor during commissioning. It is the fastest way to isolate whether a bad WinCC reading originates in the PLC, the S7 connection, or the OPC channel.

9. Troubleshooting Matrix

Symptom Likely Layer Root Cause Action
WinCC cannot find the OPC server when adding the channel Channel / WinCC install OPC channel option not installed; DCOM / OPCENUM service stopped Reinstall WinCC option WinCC OPC Channel; net start OpcEnum; verify DCOM launch permissions for the SYSTEM account.
OPC Scout item shows BAD quality SIMATIC Net S7 connection PUT/GET disabled on the S7-1200; DB is optimized; wrong TSAP Enable Permit access with PUT/GET communication; change DB attribute Optimized block access to false; re-check the connection in Station Configuration Editor.
PC Station Test shows PARTNER_NOT_REACHABLE Network / firewall Windows firewall blocks inbound TCP/102; wrong PC station interface assigned Allow inbound TCP/102 in Windows Firewall on the SIMATIC Net scope; re-assign the IE General to the physical NIC; telnet the partner IP on 102.
OPC server boots but no S7 connection appears in the tree SIMATIC Net config XDB not imported or imported into the wrong station; PC station index mismatch Re-import the XDB; confirm the OPC server index (1) and IE General index (2) match TIA; restart the SIMATIC Net Configuration service.
WinCC tag value is correct initially, then freezes OPC channel OPC group update rate too high; SIMATIC Net subscription lost Increase group UpdateRate to 500–1000 ms; reduce MaxItemsPerGroup; check for duplicate tag groups fighting the same item.
Write from WinCC does not reach the S7-1200 SIMATIC Net OPC Item configured read-only; DB attribute Writable from HMI unset (S7-1200 V4+) In TIA Portal DB properties enable Accessible from HMI/OPC UA and Writable from HMI/OPC UA; in WinCC confirm the tag is External and the item is not flagged read-only.
Values arrive but with wrong scale (e.g. 0.0…1.0 instead of 0.0…100.0) WinCC tag scaling Linear scaling not applied to REAL On the WinCC tag set Linear scaling to 0…100, or fix the conversion at the source DB.

10. Error Code Reference (S7COD/S7 Diagnostics)

The SIMATIC Net diagnostic buffer reports S7 partner errors in the form S7COD:0x<hhhh>. Common values you will encounter when the partner is an S7-1200:

Hex Meaning Fix
0x0001 Connection established / normal No action
0x0002 Resource exhausted on partner Reduce simultaneous PC station connections on the S7-1200 (max 8 S7 connections, max 6 HMI/OPC on V4.x)
0x000A Partner reports object access error (DB optimized, offset invalid) Switch DB to standard access; verify offset against DB compiled layout
0x000F Partner rejected — protection / access level Enable PUT/GET or use a connection password known to the PC station
0x0014 Partner aborted — too many resources Lower the OPC subscription count or archive cycle
0x0A0A No valid XDB or import failed Re-import the TIA-compiled XDB; confirm the PC station name

Refer to the SIMATIC Net diagnostic manual for the complete list. The codes above are the subset most likely to be hit on a S7-1200 bridge.

11. Performance and Limits

When using an OPC bridge the limits are tighter than the native WinCC V7.2 S7-1200 channel because every read and write traverses the OPC DA automation interface on the WinCC machine. Practical guidance for a CPU 1214 on WinCC V7.0:

  • Maximum simultaneously subscribed items per OPC group: 500 (default). Split large tag sets into multiple groups with staggered update rates (e.g. 250 ms for alarms, 1000 ms for indications, 5000 ms for slow status).
  • Recommended aggregate polling rate: keep total item-count × update-rate within the S7-1200's S7-server capacity. S7-1200 V2.x supports up to 6 HMI/OPC connections, each ~1 KB of buffer. With 4 OPC connections at 500 items × 1 s the load is approximately 4 KB/s — well within capacity.
  • For time-critical I/O (sub-200 ms loop), do not use the OPC bridge. Either upgrade to WinCC V7.2 (with the native S7-1200/1500 channel that supports 100 ms cycles) or use a direct S7-Put/Get block in a separate runtime task.

12. Migration Path to WinCC V7.2 or Later

If you can replace the WinCC V7.0 install, the native channel removes the entire SIMATIC Net PC station and OPC server layer. The migration is mechanical:

  1. Upgrade WinCC to V7.2 SPx (or current V7.5). The WinCC project migrates with the built-in Project Migrator.
  2. In the migrated project, replace the OPC channel with the SIMATIC S7-1200, S7-1500 Channel. Add a new connection, enter the CPU 1214 IP, and the tag addresses use the same DB-offset syntax the OPC items used:
DB100,REAL0   → Level_cm
DB100,X4.0   → Pump_Run
DB100,INT6   → Speed_Pct
DB100,INT8   → Recipe_Number
  1. Remove the SIMATIC Net PC station from the TIA Portal project (or keep it for other OPC clients; both can coexist).
  2. Re-run the five-step verification (Section 8) on the new channel.

The native channel cuts update latency by approximately 50–100 ms per poll cycle and removes the dependency on the OPCENUM service. The trade-off is the WinCC version upgrade itself.

13. Field-Commissioning Checklist

Print and tick off during a site install:

  • ☐ PC station imported in Station Configuration Editor; OPC Server = RUN, IE General assigned to the right NIC.
  • ☐ S7 connection in PC Station Test = ESTABLISHED.
  • ☐ S7-1200 CPU 1214 = RUN, no SF/BF LED lit, PUT/GET enabled.
  • ☐ DB100 (or equivalent) compiled with Standard access; Accessible from HMI/OPC UA and Writable from HMI/OPC UA enabled.
  • ☐ OPC Scout reads and writes the items with GOOD quality.
  • ☐ WinCC OPC channel added; WinCC tags have valid item names; Quality column in WinCC Tag Diagnosis shows 0xC0 (GOOD) for at least 30 s.
  • ☐ WinCC Runtime activated; on-screen values track the PLC value in real time.
  • ☐ PC rebooted at least once; SIMATIC Net services auto-start; OPC channel comes up without manual intervention.

Why does WinCC V7.0 not connect directly to a CPU 1214?

WinCC V7.0 was released before the S7-1200 product line. The S7-1200/1500 channel driver was added in WinCC V7.2. WinCC V7.0 can only reach the S7-1200 indirectly through the SIMATIC Net OPC server, which translates S7 communication to OPC DA items the WinCC OPC channel can read.

Do I have to install the SIMATIC Net OPC server on the same PC as WinCC?

Not necessarily. The OPC server can run on a separate OPC gateway PC; WinCC then references it remotely via the OPC.SimaticNET ProgID on the remote host using DCOM. For small projects, keeping both on the same machine is the simplest configuration and the one documented in Siemens FAQ 38051469.

What item name do I use in WinCC to read DB100,REAL0 from the S7-1200?

Use the S7 item syntax pointing at the OPC server connection: S7:[CPU1214_OPC]DB100,REAL0. The [CPU1214_OPC] segment is the connection name defined in the SIMATIC Net PC station. If the connection name contains spaces, the whole name must be enclosed in square brackets as shown.

The S7-1200 returns access errors when the PC reads an optimized DB. How do I fix it?

Optimized data blocks hide their absolute offsets from S7 communication and cannot be read by a PC station using S7 Put/Get. Open the DB in TIA Portal, clear the Optimized block access option in Properties, recompile, and download the DB to the CPU. Then refresh the OPC browser in OPC Scout — the absolute offsets will be visible.

Can I keep WinCC V7.0 indefinitely, or is the upgrade to V7.2 mandatory?

You can keep V7.0 with the OPC bridge path indefinitely, but Siemens has not released a S7-1200/1500 channel for V7.0. New S7-1200 firmware versions (V4.5 and later) tighten S7 server behavior, and the OPC bridge is the only route that still works. For new projects, upgrade to WinCC V7.2 SPx (or current) to drop the OPC layer; see the migration procedure in Section 12.

Back to blog