Resolving WinCC OPC Server Error 0x80080005 (Server Execution Failed) in PCS 7
In SIMATIC PCS 7, the error 'WinCC OPC Server HResult 80080005' (CO_E_SERVER_EXEC_FAILURE - Server execution failed) when connecting to the local or remote WinCC OPC Server (OPCServer.WinCC.1) occurs because Microsoft DCOM cannot launch the underlying executable (opcsrvr.exe). This failure is caused by an inactive WinCC Runtime project, an incorrect DCOM Identity configuration (e.g. set to 'The Launching User' instead of 'The Interactive User'), or missing user membership in the local Windows security groups SIMATIC HMI and Distributed COM Users.
Table of Contents
- The Mechanics of the WinCC OPC DA Server and DCOM Instantiation
- Root Causes for HResult 0x80080005 (CO_E_SERVER_EXEC_FAILURE)
- DCOM Identity Architecture: Interactive User vs. Launching User
- OPC Server Diagnostic State and Error Resolution Matrix
- Step-by-Step Procedure to Resolve Error 0x80080005
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
The Mechanics of the WinCC OPC DA Server and DCOM Instantiation
In SIMATIC PCS 7 Operator Stations, WinCC exposes its real-time tag database through an embedded OPC DA Server (OPCServer.WinCC.1). This interface is utilized by external systems, SCADA clients, and internal PCS 7 diagnostics (such as Lifebeat Monitoring):
* When an OPC Client initiates a connection, it requests the Windows COM/DCOM subsystem to instantiate the registered GUID associated with OPCServer.WinCC.1.
* DCOM starts the executable opcsrvr.exe (located in C:\Program Files (x86)\Siemens\WinCC\bin\).
* opcsrvr.exe attaches to the running WinCC project database (CCProjectMgr.exe) and streams tag values.
If DCOM encounters a security block, if the WinCC runtime engine is dormant, or if the process cannot launch in the current Windows user session, Windows returns the COM failure:
HResult 0x80080005: Server execution failed (CO_E_SERVER_EXEC_FAILURE).
Root Causes for HResult 0x80080005 (CO_E_SERVER_EXEC_FAILURE)
Investigation into WinCC OPC connectivity reveals three specific failure mechanisms:
1. WinCC Project Is Not in Active Runtime:
The WinCC OPC Server is not an autonomous daemon; it cannot access tags if the WinCC project is closed or deactivated. If an OPC client attempts to query OPCServer.WinCC.1 while WinCC Runtime is stopped, opcsrvr.exe launches, discovers no active project manager handle, fails to initialize, and aborts with 0x80080005.
2. Incorrect DCOM Identity Parameterization:
In Windows Component Services (dcomcnfg.exe), every COM server has an Identity setting defining the security context under which it executes:
- If set to The Launching User: DCOM attempts to launch a separate background instance of opcsrvr.exe for every connecting client user. Because WinCC project memory resides in the logged-on console session, the background instance cannot attach to the project, causing failure.
- If set to The Interactive User: The server executes within the security context of the user physically logged onto the Windows desktop, successfully attaching to the active WinCC project.
3. Missing Windows Security Group Membership:
The operating user account is missing from local Windows groups SIMATIC HMI and Distributed COM Users.
DCOM Identity Architecture: Interactive User vs. Launching User
Understanding COM identity settings in dcomcnfg is essential for stable OPC operation:
* The Interactive User (Mandatory for Standard WinCC OS):
opcsrvr.exe runs inside the active graphical desktop session where WinCC Runtime is executing. It shares the same Windows desktop heap and SQL connection handles.
* This User (Specific Service Account):
Used when WinCC runs as a Windows background service (WinCC Service Mode). The specific Windows user account configured in DCOM must match the WinCC Service account.
* The Launching User (Strictly Prohibited for WinCC):
Creates an isolated non-interactive session that cannot communicate with the WinCC graphical runtime.
OPC Server Diagnostic State and Error Resolution Matrix
The following matrix compares DCOM error symptoms and corrective actions:
opcsrvr.exe DLLsopcsrvr.exe /regserver in Command PromptSIMATIC HMI and Distributed COM Usersopcenum.exe DCOM permissions blockeddcomcnfgStep-by-Step Procedure to Resolve Error 0x80080005
Follow this procedure to eliminate Error 0x80080005 and restore OPC Server operation:
1. Ensure WinCC Runtime Is Active:
- Open WinCC Explorer.
- Verify that the target project is Activated (Green runtime status, graphics and tag engines running).
2. Configure DCOM Identity for OPCServer.WinCC:
- Open Windows Run dialog (Win + R), type dcomcnfg.exe and press Enter.
- Expand Component Services -> Computers -> My Computer -> DCOM Config.
- Scroll down and locate OPCServer.WinCC (or OPCServer.WinCC.1).
- Right-click and select Properties.
- Navigate to the Identity tab:
- If WinCC runs as a normal desktop application: Select The interactive user.
- If WinCC runs in Service Mode: Select This user, and enter the dedicated WinCC service account credentials.
- Click Apply.
3. Verify DCOM Security Permissions:
- In the same properties dialog, switch to the Security tab.
- Under Launch and Activation Permissions, select Customize -> Edit:
- Confirm that SIMATIC HMI, Distributed COM Users, and SYSTEM are present with Local Launch, Remote Launch, Local Activation, and Remote Activation checked.
- Under Access Permissions, select Customize -> Edit:
- Confirm that SIMATIC HMI and Distributed COM Users have Local Access and Remote Access checked.
4. Re-Register the WinCC OPC Server Binary:
- Open Windows Command Prompt as Administrator.
- Navigate to the WinCC directory:
cd /d "C:\Program Files (x86)\Siemens\WinCC\bin"
- Execute:
opcsrvr.exe /regserver
- This re-registers the COM CLSID keys in the Windows Registry.
5. Test Connection with OPC Scout:
- Launch the Siemens diagnostic tool OPC Scout.
- Expand Local COM -> OPCServer.WinCC.1.
- Confirm that the server connects immediately without returning Error 0x80080005.
Verification
Verify that WinCC OPC Server operates cleanly:
1. In OPC Scout or your target OPC Client: Confirm that OPCServer.WinCC.1 reports status Connected / Running.
2. Browse the tag tree: Verify that project tags appear and can be added to an active monitoring group.
3. Verify live tag streaming: Confirm that process values update with good quality (16#C0 / 16#80).
4. In Lifebeat Monitoring: Confirm that the station icon in the WinCC alarm banner clears its communication fault symbol.
Limitations and Operational Precautions
- Setting DCOM Identity to 'The Interactive User' requires that an authorized Windows operator remains logged onto the PC console; locking the Windows desktop is supported, but logging off terminates the interactive session.
- For server stations that must run headless without an active Windows login session, configure the project in WinCC Service Mode with DCOM set to 'This User'.
- Never set DCOM permissions to 'Everyone: Full Control' as this introduces severe cybersecurity vulnerabilities.
Engineer FAQ
Can I connect to OPCServer.WinCC.1 when WinCC Explorer is open but Runtime is inactive?
No. The WinCC OPC Server serves process data from the active runtime engine. If Runtime is inactive, the OPC Server cannot read tags and will reject client connections with Error 0x80080005.
What is the difference between OPCServer.WinCC and OPCServer.WinCC.1?
OPCServer.WinCC is the Version-Independent ProgID. OPCServer.WinCC.1 is the Version-Dependent ProgID. In almost all implementations, both point to the same registered opcsrvr.exe binary.
Why did the error occur specifically during Lifebeat Monitoring setup?
Lifebeat Monitoring uses OPC to periodically verify station vitality. If DCOM security blocks the internal handshake or if the local OPC server was uninitialized, Lifebeat Monitoring fails with error 0x80080005.
Technical References
- SIMATIC WinCC V7.3 Communication Manual (A5E32316184)
- Siemens Industry Support Portal: DCOM Configuration for WinCC OPC Classic
- Microsoft Developer Network: CO_E_SERVER_EXEC_FAILURE (0x80080005) Diagnostics
Related Articles
- Troubleshooting SIMATIC PCS 7 as an OPC DA and OPC UA Client
- Integrating OpenPCS 7 Server with Process Historian for External Data Access
- Resolving Computer Name and Connection Mismatches in PCS 7 OS Engineering Tools
Related Tags
- SIMATIC PCS 7 V8.0
- WinCC
- OPC Server
- DCOM
- 0x80080005