Troubleshooting Simatic Net OPC Scout V10 "Could Not Connect to Server" Errors
Intermittent "Could not connect to server" faults in SIMATIC NET OPC Scout V10 against a SIMATIC NET OPC Server V14 SP1 on Windows Server 2016 Standard are almost always DCOM/OPC Classic (DA 2.05a/3.0) lifecycle problems, not network faults. This reference documents the symptom matrix, root-cause analysis using the Station Configurator, and a hardened remediation procedure that restores session stability without rebooting the host.
1. Affected Environment and Component Identification
| Component | Version Confirmed | Role |
|---|---|---|
| SIMATIC NET PC Software | V14 SP1 (Update 7+ recommended) | Provides OPC DA/UA server, Station Configurator, Commissioning tool |
| SIMATIC NET OPC Server | V14 SP1 (component of PC Software) | DCOM-exposed OPC Classic server (ProgID: OPC.SimaticNET) |
| OPC Scout V10 | V10 (delivered with SIMATIC NET) | OPC DA 2.05a/3.0 test client |
| Operating System | Windows Server 2016 Standard (1607, build 14393+) | DCOM host; DCOM defaults changed vs. older OS |
| Protocol | OPC Data Access (DA), DCOM-based | NOT OPC UA — uses RPC/DCOM endpoints |
opc.tcp://... you need the OPC UA Scout (UA Expert, SIMATIC NET OPC UA Scout) instead. Mixing UA endpoints into a DA client is a frequent misconfiguration that produces the exact "could not connect" string reported in the source.
2. Symptom Matrix
| Symptom | Most Likely Subsystem |
|---|---|
| OPC Scout shows "Could not connect to server" / "RPC server unavailable" | DCOM endpoint / Station Configurator |
| First client still works, second client fails after restart | COM+ surrogate session limit / DCOM launch permission cache |
| Server recovers only after full PC restart | Stale DCOM resolver cache, broken CoCreateInstanceEx |
| Errors appear in Station Configurator | SIMATIC NET PC station not in Configured mode, S7CP service stopped |
| Random disconnects every few hours/days | RPC port exhaustion, firewall idle timeout, identity change |
3. Root-Cause Analysis
The reported behavior — "works most of the time," "first client still reachable," "restarting the second client kills both," "server recovers only after reboot" — is a classic DCOM Classic OPC lifecycle issue, not a transport outage. Investigate, in order:
3.1 DCOM Endpoint Resolution Failure (CoCreateInstanceEx)
OPC DA uses CoCreateInstanceEx on the remote server. The COM catalog must be able to resolve OPC.SimaticNET to the configured AppID. The DCOM resolver cache (HKLM\SOFTWARE\Microsoft\Rpc\RpcProxy, plus the AppIDs branch) can become inconsistent after identity/password changes, Windows updates, or after the SIMATIC NET service account password is rotated without restarting the COM catalog. Once the cache is poisoned, only a restart flushes it.
2.2 SIMATIC NET Station Not in "Configured Mode"
Open Station Configurator (Start → Siemens Automation → SIMATIC → Station Configurator). The right pane must show the station as Configured and the S7CP service as Running. If the S7CP service is stopped, the OPC Server is registered but not bound to the PC interface — every client (including OPC Scout) receives "could not connect." This is the single highest-probability root cause for intermittent failures, and it is the first thing the source conversation asks the user to check.
3.3 DCOM Hardening on Windows Server 2016
Beginning with Windows Server 2012 R2 and tightened further in 2016, Microsoft reduced the DCOM attack surface. Default RPCSS hardening and tightened COM+ impersonation/launch permissions frequently block legacy OPC DA clients that worked unchanged on Windows Server 2008 R2. The result is the same error string: "Could not connect to server." Verify the machine-wide DCOM defaults with dcomcnfg.
3.4 Identity Change Without Service Restart
OPC DA spawns server processes under a configured identity. If the SIMATIC NET service account password is changed in Active Directory but the SIMATIC NET OPC Server service is not restarted, the running process holds a stale Kerberos ticket. The next CoCreateInstance from a new client fails authentication silently. Restarting the client worsens it because the failed launch is cached in the COM+ application instance table.
3.5 Connection Loss That Does Not Auto-Restart
After a transient TCP/RPC drop, the OPC DA session object in OPC Scout is not automatically re-established. The client object must be reconnected from the UI or programmatically. Unlike OPC UA, DA has no automatic reconnection semantics in the standard. This is the source of the "intermittent" perception: the server is fine, the client session is dead.
4. Pre-Flight Verification (Before Changing Anything)
- Open Station Configurator. Confirm PC station state =
Configuredand S7CP =Started. - Open Services (
services.msc). Confirm SIMATIC NET OPC Server and S7CP areRunningand startup type =Automatic. - From a second PC, run
opcEnumbrowse or use OPC Scout's Server Browser with the explicit\SERVERNAME\OPC.SimaticNETpath. - Capture the Windows Event Viewer — System and Application — for DCOM errors (event IDs 10001, 10004, 10005, 10006, 10010, 10016) at the exact minute the fault occurs.
- Run
dcompermor opendcomcnfgon the server and dump the Default Properties tab: Enable Distributed COM, Default Authentication Level, Default Impersonation Level.
5. Resolution Procedure
5.1 Restore the SIMATIC NET Station
- Open Station Configurator → select your PC station → Station → Station Configurator → Diagnostics.
- If the S7CP service is stopped, right-click → Start.
- If the station shows Not Configured, click Configure and restart the SIMATIC NET OPC Server service.
- Re-test OPC Scout. The error should clear within 10 seconds.
5.2 Fix DCOM Defaults on the OPC Server PC
- Run
dcomcnfgon the OPC server PC. - Console Root → Component Services → Computers → right-click My Computer → Properties.
- Default Properties tab: set Enable Distributed COM on this computer = checked.
- Set Default Authentication Level = Connect (minimum for legacy OPC DA). Raise to Packet Integrity if your clients support it.
- Set Default Impersonation Level = Identify (default) or Impersonate (recommended for OPC DA 3.0).
- Apply. Restart the COM+ System Application and RPCSS services, not the whole PC.
5.3 Fix Launch and Access Permissions on the OPC.SimaticNET AppID
-
dcomcnfg→ Component Services → Computers → My Computer → DCOM Config. - Locate OPC.SimaticNET (or the SIMATIC NET OPC Server ProgID) → right-click → Properties.
- General tab: confirm Authentication Level = Default (inherits your setting above).
- Location tab: enable Run application on the following computer and check Run application on this computer.
- Security tab: under Launch and Activation Permissions, choose Customize and add the SIMATIC NET service account and the OPC Scout user (and the second client PC's service account).
- Under Access Permissions, add the same accounts with Local + Remote allowed.
- Under Configuration Permissions, ensure Everyone has at least Read.
- Click OK. Restart the SIMATIC NET OPC Server service.
5.4 Restart the OPC Server Cleanly (Without Reboot)
The exact escalation observed in the source — "restarting the second client makes everything fail, only reboot recovers it" — is resolved by reaping the poisoned COM+ application instance:
- Close all OPC clients (Scout + secondary client).
- Run
cmd.exeas Administrator on the OPC server. - Stop the service:
net stop "SIMATIC NET OPC Server" - Wait for COM+ System Application dependent services to stop.
- Force the COM+ instance table to flush:
net stop "COM+ System Application" && net start "COM+ System Application" - Start the service:
net start "SIMATIC NET OPC Server" - Wait for the S7CP service to bind (check Station Configurator).
- Reopen OPC Scout. Connections should restore without a reboot.
5.5 Eliminate RPC Port Exhaustion
- Open
netsh int ipv4 show dynamicportrange tcp. Note the dynamic port range. - Open Windows Firewall with Advanced Security → Inbound Rules → enable the pre-defined COM+ Network Access (DCOM-In), COM+ Remote Administration, and Remote Service Management rules for the OPC server profile.
- Widen the dynamic range if needed:
netsh int ipv4 set dynamicport tcp start=49152 num=16384(reboot required).
5.6 Recover OPC Scout from a Stuck Session
If the server is healthy but OPC Scout refuses to connect, the Scout process is holding a dead session object:
- In OPC Scout V10, File → Disconnect (if available) or close all open group windows.
- Close OPC Scout.
- Kill stale COM objects:
taskkill /im opcscout.exe /fon the client PC. - Clear the COM object cache for the user profile: delete
%LOCALAPPDATA%\Temp\OPCScout10\*.cache. - Reopen OPC Scout and add the server again with the fully qualified
\SERVERNAME\OPC.SimaticNETstring.
6. Verification Checklist
| Check | Expected Result | Command / Path |
|---|---|---|
| Station Configurator state | Configured | Station Configurator main window |
| S7CP service | Running | sc query S7CP |
| SIMATIC NET OPC Server service | Running | sc query "SIMATIC NET OPC Server" |
| DCOM enabled | True |
dcomcnfg → Default Properties |
| RPC endpoint reachable | Listened |
Test-NetConnection SERVERNAME -Port 135 (PowerShell) |
| OPC server browsable | Visible | OPC Scout → Server Browser |
| Read test item | Good quality | Add group, add item, drag into display window |
| Soak test 24 h | No disconnects | Continuous display, monitor Event Viewer |
7. Prevention and Hardening
- Keep SIMATIC NET at the latest V14 SPx update (Update 7 minimum). Each update ships DCOM/OPC fixes against current Windows builds.
- Pin the SIMATIC NET service account in AD and rotate its password during a planned service restart window — never silently.
- Add the OPC client PC service accounts to the SIMATIC NET OPC Server's Launch and Access ACLs before the first connection attempt.
- Disable SMBv1 and NetBIOS on the OPC server VLAN. They can interfere with DCOM name resolution and prolong the resolver cache flush.
- Schedule a monthly COM+ System Application and SIMATIC NET OPC Server service restart during a maintenance window to clear latent state.
- Where possible, migrate to OPC UA with the SIMATIC NET OPC UA Server. UA uses TCP 4840 (configurable) and removes the entire DCOM attack surface. If you do, use the OPC UA Scout or a UA-capable client — OPC Scout V10 is DA-only.
8. When to Escalate
Escalate to Siemens Industrial Support via the official entry points if:
- Event Viewer shows DCOM 10016 "application-specific permission settings do not grant Local Activation permission for the COM Server application" with AppID = SIMATIC NET and the corrective ACL change does not survive a reboot.
- The SIMATIC NET OPC Server service crashes (event ID 7034) within minutes of every start.
- Station Configurator reports an S7CP binding error after a SIMATIC NET update.
Use the official Siemens Industry Online Support portal: support.industry.siemens.com and reference the SIMATIC NET PC Software V14 SP1 entry ID 109768616. Request the latest hotfix package and have your current SET_PG_PC.INI, Station Configurator export, and Event Viewer export attached.
9. Quick Reference: OPC Classic vs. OPC UA Connect Strings
| Property | OPC DA (DCOM) | OPC UA (TCP) |
|---|---|---|
| Transport | RPC/DCOM, dynamic ports | TCP, default 4840 |
| Discovery | opcEnum / AppID catalog | LDS or configured endpoint URL |
| Server string in Scout V10 | \\SERVERNAME\OPC.SimaticNET |
Not supported by Scout V10 |
| Reconnect semantics | None (manual) | Built-in (Session / Subscription) |
| Security | DCOM ACLs | X.509 certificates, Application URI |
| Firewall friendliness | Poor | Good |
10. Diagnostic Flow (SVG)
What is the very first thing to check when OPC Scout V10 shows "Could not connect to server" on Windows Server 2016?
Open the SIMATIC NET Station Configurator and confirm the PC station is in Configured mode and the S7CP service is Running. If S7CP is stopped, the OPC Server is registered but not bound to the PC interface and every client receives this error until the service is started and the SIMATIC NET OPC Server service is restarted.
Why does restarting the second OPC client break the first client's connection too?
OPC DA uses DCOM, and the COM+ application instance table caches the launch state. When the first CoCreateInstanceEx fails, the failure is cached. A subsequent launch by a different client reads the cached failure and propagates it. Reset the cache by restarting the COM+ System Application and the SIMATIC NET OPC Server services in order.
Do I need to reboot the server to clear the fault?
Usually no. Stop the SIMATIC NET OPC Server, then COM+ System Application, then start COM+ System Application first and the OPC Server second. OPC Scout should reconnect within 10 seconds. A full reboot should be reserved for cases where Event Viewer shows an S7CP binding fault that does not clear with a service restart.
Can OPC Scout V10 connect to an OPC UA endpoint?
No. OPC Scout V10 is a DA 2.05a/3.0 client and uses DCOM. For OPC UA endpoints (for example opc.tcp://server:4840), use the OPC UA Scout delivered with current SIMATIC NET versions, UA Expert, or any UA-capable client. Attempting to load a UA endpoint into OPC Scout V10 will fail with the same "could not connect" string.
Which DCOM authentication level is correct for SIMATIC NET OPC DA on Windows Server 2016?
Set Default Authentication Level to Connect as a safe baseline. If both the server and the client PC support it, raise to Packet Integrity for tamper protection. Avoid None; Windows Server 2016 hardens DCOM and a None setting frequently blocks the initial RPC negotiation. Pair this with Default Impersonation Level = Impersonate for OPC DA 3.0.