Problem Overview
A WinCC Runtime Professional V16 station running on a dedicated PC or virtual machine periodically drops connections to a subset of its 20 S7-1200 PLC targets after RT Start or after launching the WinCC Simulation. The exact number of dropped connections is non-deterministic — anywhere from a few to the majority of the 20 PLCs may show Connection Failed in the runtime diagnostics immediately after launch. The connections are restored cleanly the moment the operator runs Accessible Nodes in the TIA Portal Engineering client on the same PC, or as soon as the engineering client touches the S7-1200 PROFINET interface via an online operation.
This symptom pattern is characteristic of a missing or unlicensed SIMATIC NET PC Software stack beneath WinCC RT Professional. Without the licensed SIMATIC NET transport, the WinCC S7 channel cannot hold persistent S7 connections to multiple controllers; the S7 protocol is being negotiated on demand and torn down between runtime cycles. The engineering client's Accessible Nodes operation works around the failure because the TIA Portal installation ships its own transient S7 driver for online operations — but it is not a substitute for the licensed runtime transport that WinCC RT Professional requires.
Affected Versions, Components, and Topology
| Component | Version / Catalog Reference | Notes |
|---|---|---|
| Engineering Software | TIA Portal V16 Update 7 or later (6AV2105-0KA16-0AA8 / -0BA8) | Same DVD bundle ships WinCC Professional and SIMATIC NET. |
| WinCC Runtime Professional | WinCC RT Prof V16 (6AV2107-0KA16-0AA8 or per-tag licensed) | RT requires SIMATIC NET PC software on the target PC. |
| SIMATIC NET PC Software | V16 SP7 or later, edition matching the TIA Portal version | Install on the RT PC, not on the engineering PC. |
| S7-1200 Controllers | Firmware V4.2 / V4.4 / V4.5 | Each CPU exposes 3 S7 connection resources by default. |
| Operating System | Windows Server 2016 Standard/Datacenter (64-bit) or Windows 10 LTSC 2019 | Server-class OS is officially supported for RT Professional. |
| PC Station Configuration | SIMATIC NET "Configuration Console" + "PC Station" in TIA Portal project | Defines the S7 connections used by WinCC. |
Root Cause Analysis
There are five root-cause classes that produce the described "drops on start, recovers after Accessible Nodes" symptom. They should be ruled out in the order below because the first is overwhelmingly the most common in field incidents.
1. SIMATIC NET PC Software Not Installed or Not Licensed on the RT PC
WinCC Runtime Professional does not include a licensed S7 transport. It depends on SIMATIC NET for the OPC UA / S7 channel DLLs (NSL, S7ONLINE, CP-1616/PC-IE drivers). On the Engineering Station the TIA Portal installer drops a transient version of those DLLs to support online operations, which is exactly why Accessible Nodes temporarily restores connections. On a dedicated RT PC without TIA Portal installed, there is no such fallback, so the S7 channel of WinCC either fails to bind or binds in a degraded mode that only supports a small number of connections.
Identifying evidence:
- Service
S7DOS Help Service(orS7 DOS) is missing fromservices.msc. - Folder
C:\Program Files\Siemens\Automation\SimaticNetdoes not exist on the RT PC. - Configuration Console ("SIMATIC NET Configuration Console" start menu entry) is absent.
2. Missing or Wrong Softnet S7-1200/1500 License
Each active S7 connection from a PC station to an S7-1200 or S7-1500 requires one SOFTNET-S7 runtime license (per connection, not per PLC). The WinCC RT Professional install ships with the WinCC license; it does not ship SOFTNET-S7 runtime keys. The relevant catalog numbers are:
| Catalog Number | License | Scope |
|---|---|---|
| 6GK1704-1LW16-0AA0 | SOFTNET-S7 V16 Lean | 1 connection, max 8 tags per polling cycle. |
| 6GK1704-1HW16-0AA0 | SOFTNET-S7 V16 | 1 connection, up to 64 tags per polling cycle. |
| 6GK1704-1SW16-0AA0 | SOFTNET-S7 V16 (max 64 connections) | Highest density, for fleets of PLCs. |
For a 20-PLC system you need at least 20 SOFTNET-S7 connections of an appropriate tier. If only the bundled "8 connections" allowance is active, the 9th and subsequent connections will silently fail to bind — which matches the "some PLCs work, others don't" pattern.
3. S7-1200 Connection Resource Exhaustion (3-Connection Per-CPU Limit)
Each S7-1200 CPU provides only 3 passive S7 connection resources for HMI/PG communication (the number is fixed in firmware and cannot be raised by hardware). Any other HMI panel, the engineering client, and each WinCC connection counts against this limit. If a station has 1 PG + 1 HMI Panel + 2 WinCC connections, the S7-1200 will refuse the next connection request with S7 error W#16#0003 "Object already exists / no resources" on the CPU diagnostic buffer.
This is the second most common cause of "some PLCs connect, others don't". Identify it by reading the S7-1200 diagnostic buffer via TIA Portal Online & Diagnostics > Diagnostics Buffer.
4. Firewall, Antivirus, or DCOM Hardening on Windows Server 2016
SIMATIC NET uses ISO-on-TCP (port 102) and the S7DOS Helper Service (port ranges dynamically allocated by DCOM/OPC). The user reports firewall is disabled, but server-class antivirus suites (Symantec Endpoint Protection, McAfee ENS, Trend Micro Apex One, Windows Defender with Server hardening) frequently re-enable filtering for svchost.exe hosts that own the S7DOS service. SIMATIC NET V16 added a hardened installer that registers the required Windows firewall rules, but only if Windows Firewall service is running.
5. PC Station / Index Mismatch Between TIA Project and RT PC
If the PC Station in the TIA Portal project is configured against a different Configuration Console index than the one physically installed on the RT PC (e.g. project is built for "PC Station 1 / Index 2" while the RT PC's Configuration Console shows "Index 1"), the S7 connections will not bind at startup but will appear valid after the engineering client reconnects.
Step-by-Step Resolution Procedure
Perform the steps below on the dedicated WinCC RT PC. Do not skip the verification step between phases.
Phase A — Confirm the Stack
- Open
services.mscas Administrator. Confirm the presence of:-
S7DOS Help Service(Siemens S7 DOS Helper Service) SIMATIC NET Configuration Service-
SIMATIC NET OPC Server(only if OPC DA/UA bridging is used)
-
- Open
C:\Program Files\Siemens\Automation\SimaticNet\bin. The following DLLs must be present:-
NSL__s.dll(Network Sub-Layer) -
S7ONLI~1.DLL(S7 Online DLL) SNMPSrv.dll
-
- Open
Start > Siemens Automation > SIMATIC NET > Configuration Console. Confirm at least one network adapter is bound toS7ONLINEaccess point.
Phase B — Install or Repair SIMATIC NET V16
- Insert the SIMATIC NET V16 DVD (it ships in the same package as WinCC RT Professional V16). If you downloaded the installer, launch
SIMATIC_NET_PC_Software_V16_Setup.exe. - Choose
Install>Complete. The complete install registers the Windows Firewall rules and the S7DOS service. - Reboot the PC. The S7DOS service must be
StartedandAutomaticbefore WinCC RT starts. - Launch
Automation License Manager>Start > Siemens Automation. The license key USB or the license server should display the SOFTNET-S7 keys. If none are visible, transfer the keys from the supplied license USB stick.
Phase C — Align the PC Station Configuration
- In the TIA Portal project, open the
Devices & Networkseditor and select the PC Station. - In
Properties > Communication > S7 Connections, confirm each S7-1200 has a dedicated S7 connection object. Set the connection resource on the S7-1200 to3(default) and the local end toS7ONLINE. - Compile the PC Station (
Right-click > Compile > Software (rebuild all)). - Download the PC Station to the RT PC via
Online > PC Station > Download to Target System. Use the same index that appears in the Configuration Console on the RT PC (typically Index 1 for a single PC station).
Phase D — Rebalance the S7-1200 Connection Resources
- For every S7-1200 CPU in the project, open
Properties > Communication > Connection Resources. - Confirm that the total number of active connections (engineering + HMI + WinCC) does not exceed 3.
- Where multiple HMI clients must talk to a single S7-1200, raise the number using the following parameter in the CPU's
Protection & Security > Connection Mechanismsfor firmware V4.4 and later:
If you truly need more, switch to S7-1500, which provides 16–64 passive connections depending on CPU.// S7-1200 V4.4+ data block parameters (read-only diagnostic) "MaxPassiveConnections" := 3; // S7-1200 hardware limit "ActiveConnections" := 0;
Phase E — Harden Windows Server 2016
- Confirm the Windows Firewall service is
Running(even if the firewall is "off"). Some AV suites will not register exceptions if the service is disabled. - Add explicit inbound rules to the SIMATIC NET executables:
Program: C:\Program Files\Siemens\Automation\SimaticNet\bin\s7dos.exe Protocol: TCP Local Port: 102 Direction: Inbound Action: Allow Program: C:\Program Files\Siemens\Automation\SimaticNet\bin\s7oiehsx.exe Protocol: TCP Local Ports: 49152-65535 (dynamic DCOM range) - Add the SIMATIC NET install directory and the WinCC RT directory to the AV exclusion list. Do not exclude the entire
C:\root. - Disable
Randomized ADAM (RPC port allocation)vianetsh int ipv4 set dynamicport tcp start=49152 num=16384so that OPC bridging uses a known port range.
Phase F — Update WinCC RT Professional
Install every released update for WinCC RT Professional V16. As of the latest available update set, the cumulative package addresses a known S7 channel bug where the channel fails to re-bind dropped connections after RT Start when more than 8 connections are configured and only Softnet Lean licensing is in use. The update is published in the Siemens Industry Online Support portal under entry ID 109769627 as "Updates for WinCC Runtime Professional V16".
Verification Procedure
After applying the resolution steps, verify the fix with the following checks. All three must pass before declaring the issue closed.
Verification 1 — Channel Diagnosis Tool
- On the RT PC, launch
Start > Siemens Automation > Channel Diagnosis. - Select
S7 Channel > Connectand enter the IP address of each S7-1200 in turn. - Each connection should report
Status: Connectedwithin 1 second on the first attempt, with no retry loops. If any connection requires > 3 attempts or reportsResource error, the S7-1200 is exhausted (Phase D). - Save the log to
C:\ProgramData\Siemens\CoRtHmiRT\ChannelDiagnosis.logand attach it to the change record.
Verification 2 — Runtime Connection Monitor
- Start WinCC Runtime Professional.
- Open
WinCC Explorer > Connections > Right-click > Connection Status. All 20 entries must show a green status indicator. - Leave Runtime running for a minimum of 24 hours. Re-check the status. No connection should drop below
Establishedstate for more than one polling cycle.
Verification 3 — Stress Test
- Stop and restart WinCC Runtime 10 times in succession (script:
net stop "CCAgentSvc" & net start "CCAgentSvc"). - After each restart, confirm that all 20 connections come up without operator intervention (no
Accessible Nodesworkaround).
Channel Diagnosis Log Reference
| Log Code | Meaning | Likely Cause | Remediation |
|---|---|---|---|
0x00000001 STATUS_RUN |
Channel running. | Normal operation. | None. |
0x00000002 STATUS_CONNECT |
TCP handshake in progress. | Network or ACL issue. | Verify IP reachability; check Windows firewall rule for port 102. |
0x00000003 STATUS_RESOURCE_ERROR |
No S7 connection resource on PLC. | S7-1200 3-connection limit reached. | Reduce per-CPU connections or migrate to S7-1500. |
0x00000004 STATUS_LICENSE_MISSING |
Softnet license not found. | License key not transferred. | Transfer Softnet-S7 license via Automation License Manager. |
0x00000005 STATUS_DRIVER_MISSING |
S7ONLINE driver not bound. | SIMATIC NET not installed or PC Station not downloaded. | Re-run Phase B and Phase C. |
0x00000006 STATUS_DISCONNECT |
PLC closed the connection. | CPU went STOP, or partner resource released. | Check CPU diagnostic buffer; verify cyclic OB1 is running. |
0x00000007 STATUS_TIMEOUT |
No response within configured watch-dog. | Network congestion or CPU load. | Raise connection watch-dog to 30 s; reduce tag count per polling cycle. |
Connection Sizing Cheat Sheet
Use the matrix below as a quick reference when sizing licenses and PC capacity. The per-CPU column is the hard ceiling imposed by the S7-1200 hardware; the per-PC column is the licensing ceiling imposed by SOFTNET-S7.
| Controller | Max Passive S7 Connections | Recommended WinCC Connections | Softnet License Tier |
|---|---|---|---|
| S7-1200 CPU 12xx (firmware V4.x) | 3 | 1 (redundant: 2) | SOFTNET-S7 Lean (6GK1704-1LW16-0AA0) |
| S7-1200 CPU 15xx (firmware V4.x) | 3 | 1 (redundant: 2) | SOFTNET-S7 Lean |
| S7-1500 CPU 15xx (entry) | 16 | 1–4 | SOFTNET-S7 (6GK1704-1HW16-0AA0) |
| S7-1500 CPU 15xx (standard) | 32 | 1–8 | SOFTNET-S7 |
| S7-1500 CPU 15xx (high-end) | 64 | 1–16 | SOFTNET-S7 (6GK1704-1SW16-0AA0) |
Common Field-Proven Pitfalls
- Installing SIMATIC NET on the Engineering PC but not the RT PC. The two stacks are independent. SIMATIC NET must be installed and licensed on every runtime target.
- Using WinCC RT Advanced by mistake. RT Advanced is limited to 8 connections; the user is on RT Professional but a project that was originally built as Advanced and migrated will retain the 8-connection ceiling in the project file.
- Softnet-S7 Lean license deployed at scale. Lean limits the number of tags per polling cycle; on a 20-PLC project it throttles the channel and produces intermittent read timeouts that look like connection drops.
-
Antivirus scanning the SIMATIC NET directory. Real-time AV scanning of
s7dos.exeintroduces 200–500 ms latency per S7 PDU, which trips the connection watch-dog. - Engineering client also configured with the same PC Station index. Two Configuration Console entries pointing at the same index race for the S7 transport and either can claim it at startup.
Reference Documentation
- Siemens TIA Portal Help Portal — "Creating a connection (RT Advanced)": TIA Portal V20 — Creating a connection (RT Advanced)
- Siemens Industry Online Support entry ID
109769627— Updates for WinCC Runtime Professional V16. - SIMATIC NET PC Software V16 Readme (search entry ID
109769826on the Siemens support portal).
FAQ
Why do my WinCC RT connections recover as soon as I run Accessible Nodes in TIA Portal?
The TIA Portal engineering installation includes a transient S7 transport that registers the S7-1200 connections on demand. It is not a substitute for the licensed SIMATIC NET stack that WinCC RT Professional requires. Install SIMATIC NET V16 and a SOFTNET-S7 license on the RT PC so that the WinCC S7 channel can bind connections persistently at RT startup.
How many S7 connections does an S7-1200 support for WinCC?
The S7-1200 firmware exposes exactly 3 passive S7 connections regardless of model. Two are typically consumed by the engineering client and any local HMI panel, leaving a single connection for WinCC. For multi-WinCC-server architectures you must use an S7-1500 or distribute the load across multiple S7-1200 CPUs.
Which Softnet-S7 license do I need for 20 S7-1200 PLCs?
You need 20 SOFTNET-S7 runtime connections (one per PLC connection). The matching license depends on tag count per polling cycle: 6GK1704-1LW16-0AA0 (Lean) for < 8 tags per cycle, 6GK1704-1HW16-0AA0 for < 64 tags, or 6GK1704-1SW16-0AA0 for higher density. All are licensed per connection, not per PLC.
Can WinCC RT Professional run without SIMATIC NET?
No. WinCC Runtime Professional depends on the SIMATIC NET PC Software for the S7 channel, OPC UA channel, and S7DOS Helper Service. The TIA Portal installation on an Engineering Station provides a transient variant used only for online functions such as Accessible Nodes, but a dedicated RT station must have a separately installed and licensed SIMATIC NET V16.
What is the difference between Channel Diagnosis and the WinCC Connection Status view?
Channel Diagnosis ("Start > Siemens Automation > Channel Diagnosis") is a standalone tool that tests the S7 transport at the SIMATIC NET layer independent of WinCC tags. The WinCC Connection Status view reflects only the WinCC tag layer. Use Channel Diagnosis first to confirm the transport is healthy, then verify in WinCC Explorer that tags are bound to those connections.