Problem Description
On SIMATIC WinCC V8 Update 2 (and functionally identical builds under the V7.x line where the OPC DA Server component is selected during installation), the WinCC OPC DA Server executable sopcsrvrwincc.exe sometimes does not start automatically when the WinCC Runtime is activated. The OPC DA Server is registered as part of the WinCC installation and is located in the default path:
C:\Program Files (x86)\Siemens\WinCC\opc\DataAccess\bin\sopcsrvrwincc.exe
When an OPC DA client (for example an SCADA historian, a third-party MES, or a custom C#/C++ DA client running on the same workstation) attempts to connect, the DCOM call fails because the server process is not present. The DCOM service control manager returns a class-not-registered or "server execution failed" error to the client. Starting sopcsrvrwincc.exe manually from Windows Explorer or a command prompt restores functionality, but the process terminates when the WinCC Runtime is deactivated, and a subsequent Runtime start again fails to relaunch the OPC DA Server.
Earlier versions (notably WinCC 7.5 SP2 and below) start the OPC DA Server as part of the normal WinCC Runtime startup sequence when the OPC component is selected at install time. The behavior changed in WinCC V8 because the OPC DA / OPC A&E / OPC HDA Server applications must now be explicitly activated in the WinCC Configuration Studio before they participate in the Runtime startup list.
-
sopcsrvrwincc.exeis not present in Task Manager after WinCC Runtime starts. - OPC DA clients receive
0x80040154(REGDB_E_CLASSNOTREG) or0x80080005(CO_E_SERVER_EXEC_FAILURE) onCoCreateInstanceEx. - Manual launch of
sopcsrvrwincc.exeworks; the server stops when Runtime is deactivated. - The behavior is reproducible after a clean reinstallation of the WinCC OPC components.
Affected Versions and Components
| Component | Version / Build | Behavior |
|---|---|---|
| SIMATIC WinCC | V8.0 Update 2 and later V8.x builds | OPC DA Server must be activated manually in Configuration Studio |
| SIMATIC WinCC | V7.5 SP2 and earlier | OPC DA Server starts automatically when Runtime starts (install-time selection) |
| WinCC OPC DA Server binary | sopcsrvrwincc.exe |
DCOM-based out-of-process server, COM category registered at install |
| WinCC OPC HDA Server binary | sopchdasrvwincc.exe |
Same activation mechanism as OPC DA |
| WinCC OPC A&E Server binary | sopcaesrvwincc.exe |
Same activation mechanism as OPC DA |
Root Cause Analysis
The WinCC OPC DA Server is implemented as an out-of-process DCOM server that depends on a per-project (or per-computer) startup list maintained by the WinCC Configuration Studio. The WinCC Information System explicitly states in section 9.1.6.1 that:
"If the WinCC-OPC-DA server is used, the application 'OPC-DA server, OPC-A&E server, OPC-HDA server' must be activated. You can activate the application in the Editor 'Computer' of the WinCC Configuration Studio in the 'Processes when starting WinCC Runtime' tab."
This sentence is the key: the application is not activated by default in WinCC V8. The activation flag controls whether the WinCC Runtime launcher (CCStartStop.exe / CCProjectMgr.exe flow) spawns the OPC DA process as a child of the Runtime session. If the flag is missing, sopcsrvrwincc.exe is not started, and OPC DA clients can only reach the server by manually launching the binary.
Three contributing factors commonly cause this to surface in the field:
- Silent reinstall / upgrade: when WinCC is updated or when the OPC option is added later (rather than selected at original install time), the per-project startup list is not retroactively populated.
- Project duplication / export-import: copying a WinCC project to a new computer imports the configuration but not the computer-local startup list, because the activation flag lives under the Computer object, not the Project object.
- Multi-user project / redundant server pair: only the master or the configured partner has the flag set; clients connecting to the passive partner see the same failure mode.
-
sopcsrvrwincc.exe– DCOM server executable -
OPCDAStub.dll– proxy/stub DLL registered by WinCC setup -
WinCC_OPC_DA.ini– runtime-side configuration of the DA Server - Registry:
HKCR\CLSID\{...}\LocalServer32– DCOM class registration
Solution: Activate the OPC DA Server Application in the Configuration Studio
The official Siemens remedy, documented in the WinCC Information System, is to add the OPC DA / A&E / HDA server bundle to the WinCC Runtime startup list. The procedure is the same regardless of the WinCC version under V7.5 SP3 and the entire V8.x line.
Prerequisites
- WinCC Configuration Studio installed on the engineering station (typically the Runtime station).
- Local Administrator rights on the workstation that runs the WinCC Runtime.
- The WinCC project must be open in the Configuration Studio and the Runtime must be deactivated while changes are made.
Step-by-Step Procedure
- Close the WinCC Runtime (right-click the WinCC Explorer tray icon, choose Stop Runtime, or use
CCStartStop.exe /STOP). - Open WinCC Configuration Studio from the Windows Start menu under Siemens Automation > SIMATIC > WinCC > WinCC Configuration Studio.
- In the navigation tree, expand the active project and select Computer. The right pane lists every computer in the project that can run the Runtime.
- Open the local computer (or the remote computer whose Runtime you are configuring) and select the Processes when starting WinCC Runtime tab.
- Confirm the tab is editable. If the controls are greyed out, the project is open in read-only mode or Runtime is still running. Deactivate Runtime and re-open the project with edit rights.
- Click Add in the toolbar of the tab. A dialog box lists every executable that the WinCC setup registered as a candidate. Locate the entry "OPC-DA server, OPC-A&E server, OPC-HDA server" (in German installations: OPC-DA-Server, OPC-A&E-Server, OPC-HDA-Server).
- Select the entry and confirm with OK. The application now appears in the startup list with its full path resolved to
sopcsrvrwincc.exe,sopcaesrvwincc.exe, andsopchdasrvwincc.exe. - Click Apply or save the project. The Configuration Studio writes the change to the project file and to the per-computer startup list stored under
\<computername>\.... - Restart the WinCC Runtime. After activation, the three OPC server executables appear in Task Manager within a few seconds, before the project first paint cycle completes.
Verification
- Open Task Manager on the Runtime station. Confirm
sopcsrvrwincc.exeis present with the user account under which the WinCC Runtime is running (typicallyCCAdmin,SIMATIC HMI, or a domain service account). - From a local command prompt, run
dcomcnfg, expand Component Services > Computers > My Computer > DCOM Config, and locate the WinCC OPC DA class. The Location column should show the local computer, not "DCOM not available". - Use the free Matrikon OPC Explorer or a quick C# script with
OPCAutomation.dllto connect to the local server using ProgIDOPC.SimaticHMI.OPCDA.1. A successfulConnectand the appearance of the configured tag list confirm the fix. - Deactivate and re-activate the WinCC Runtime three times in succession. The OPC DA Server must respawn each time. This is the regression test for the reported failure mode.
DCOM Configuration for Local and Remote OPC DA Access
Activating the application in the Configuration Studio is necessary but not always sufficient. The OPC DA Server is a DCOM out-of-process server, so DCOM security must permit the client identity to launch and access the server. WinCC V8 does not auto-configure DCOM; the engineer is responsible for dcomcnfg settings when the client is a domain user, a service account, or a remote machine.
Required DCOM Settings (per Microsoft / Siemens guidance)
| DCOM Setting | Recommended Value | Rationale |
|---|---|---|
| Default Authentication Level | Connect (or None for legacy clients) | Matches typical OPC DA client behavior |
| Default Impersonation Level | Identify | OPC DA specification recommendation |
| COM Security > Access Permissions > Edit Limits | Allow ANONYMOUS LOGON, EVERYONE, and the WinCC Runtime user |
Allows remote and anonymous launch |
| COM Security > Launch and Activation Permissions > Edit Limits | Allow EVERYONE for local launch; restrict remote launch per security policy |
Allows CoCreateInstanceEx on the local box |
| WinCC OPC DA Server properties > Identity | The launching user (default) or This user with the WinCC service account | Prevents "Access Denied" when client identity differs |
| Endpoint protocols | TCP/IP enabled; connection-oriented | Required for out-of-process DCOM |
%SystemRoot%\System32\dllhost.exe (the DCOM surrogate) or open TCP port 135 plus the dynamically assigned high ports. Siemens provides a script-based firewall configuration in the WinCC Installation Notes.Diagnostic Checklist When the Fix Fails
| Symptom | Likely Cause | Verification Command / Action |
|---|---|---|
sopcsrvrwincc.exe not visible after Runtime start |
Application not activated in Configuration Studio | Repeat the activation procedure; check Processes when starting WinCC Runtime tab |
Process starts, client gets 0x80070005 (E_ACCESSDENIED) |
DCOM launch / access permission missing |
dcomcnfg > COM Security > Edit Limits |
Process starts, client gets 0x800706BA (RPC_S_SERVER_UNAVAILABLE) |
RPC / firewall blocking |
Test-NetConnection -Port 135 from client; check firewall rule for dllhost.exe
|
Process starts, client gets 0x80040154 (REGDB_E_CLASSNOTREG) |
DCOM class registration missing or x64/x86 mismatch | Re-register sopcsrvrwincc.exe /RegServer from an elevated command prompt |
Process starts, tags return OPC_E_BADTYPE (0xC0040004)
|
Type mismatch between client and WinCC tag | Verify tag datatype in WinCC tag management; OPC DA only supports VT_* scalar types natively |
| Process starts, then dies after a few seconds | WinCC Runtime exited unexpectedly; OPC server is tied to Runtime lifetime | Check WinCC_Service_<computername>.log for Runtime crash |
| Process visible only on one server of a redundant pair | Activation flag not set on both computer objects | Repeat activation on the partner computer in the project |
Registry and File System References
The OPC DA Server class is registered under multiple CLSIDs, one for each protocol. The most common entries for the WinCC V8 OPC DA Server are:
-
HKCR\CLSID\{...}\LocalServer32=C:\Program Files (x86)\Siemens\WinCC\opc\DataAccess\bin\sopcsrvrwincc.exe -
HKCR\OPC.SimaticHMI.OPCDA\CLSID= references the class GUID above -
HKCR\AppID\{...}= the DCOM AppID used bydcomcnfgto surface the WinCC OPC entries -
HKLM\SOFTWARE\Siemens\WinCC\OPC\DA= installation path, version string, build number
If the registry entries are missing, the WinCC setup did not register the OPC components. Repair the WinCC installation with the original media, ensuring the WinCC OPC Server option is checked under User-defined installation. The Siemens WinCC Installation Notes (shipped as WinCC_Install_Notes_en-US.pdf) and the online WinCC OPC DA Server (RT Professional) documentation enumerate the exact install-time choices.
Workaround: Manual Process Launch as a Service
Where the Configuration Studio activation is impossible (for example on a frozen, audited Runtime station where project changes are blocked), sopcsrvrwincc.exe can be wrapped in a Windows service that monitors the Runtime lifecycle. The service pattern is:
- Register
sopcsrvrwincc.exe /Servicewith the Windows Service Control Manager (this is a built-in command-line switch on the WinCC OPC DA Server). - Configure the service Start type to Automatic (Delayed Start) and Log On As to the WinCC Runtime user account.
- Set service Recovery actions to Restart the Service on first and second failure.
Performance and Operational Notes
The WinCC OPC DA Server is a single-threaded DCOM server; a single instance serializes all read and write operations through one in-process queue. The following practices keep it healthy in 24/7 plants:
- Client subscription grouping: have the OPC client group tags by update rate (for example 1 s for alarms, 10 s for trends) and keep group counts below 32 per client to avoid UpdateRate throttling.
-
Disable dead-band on slow tags: tags with no rapid changes waste bandwidth; set
OPC_DA_Item.DeadBand = 0and use polled groups. - Avoid DA writes from UI clients: writes are synchronous and block the server. Centralize writes through the WinCC script engine instead.
- Plan for OPC UA migration: the WinCC V8 line is the last major release line with strong emphasis on OPC DA. For greenfield projects, configure the WinCC OPC UA Server as the primary integration and use the DA Server only for legacy clients.
Frequently Asked Questions
Why does the WinCC OPC DA Server start automatically in WinCC 7.5 SP2 but not in V8?
In WinCC 7.5 SP2 and earlier, selecting the WinCC OPC Server option at install time registered the executable in the global WinCC Runtime startup sequence. Starting with WinCC V8, the OPC DA / A&E / HDA server bundle must be activated per project under Computer > Processes when starting WinCC Runtime in the WinCC Configuration Studio. Upgrades and clean installs both require this manual step.
Where is the configuration entry to enable the OPC DA Server in WinCC?
Open the WinCC Configuration Studio, select Computer, open the local computer object, and switch to the Processes when starting WinCC Runtime tab. Add the application OPC-DA server, OPC-A&E server, OPC-HDA server using the Add button, save the project, and restart the Runtime.
Which ProgID does the WinCC V8 OPC DA Server expose?
The WinCC OPC DA Server registers the ProgID OPC.SimaticHMI.OPCDA.1 together with its associated CLSID. OPC DA clients (for example Matrikon OPC Explorer or any OPCAutomation-based script) connect to this ProgID over DCOM.
Can I run sopcsrvrwincc.exe without activating the Configuration Studio application?
Yes, you can launch the executable manually. However, the process is bound to the WinCC Runtime lifetime: when Runtime deactivates, the OPC DA Server is terminated. Activating the application in the Configuration Studio is the only supported way to keep the server in sync with Runtime state changes.
What HRESULT should I look for in the OPC client log to confirm this specific failure mode?
The most common HRESULT returned by a missing sopcsrvrwincc.exe is 0x80040154 (REGDB_E_CLASSNOTREG) when the class is not registered at all, or 0x80080005 (CO_E_SERVER_EXEC_FAILURE) when the executable is registered but not running. A successful connection returns S_OK (0x00000000) on IOPCServer::AddGroup.
Does the same fix apply to the WinCC OPC HDA and OPC A&E servers?
Yes. The Configuration Studio entry OPC-DA server, OPC-A&E server, OPC-HDA server is a single bundle that activates all three servers (sopcsrvrwincc.exe, sopcaesrvwincc.exe, sopchdasrvwincc.exe) together. You cannot activate them individually in V8.