Resolving WinCC OPC Server Aspen CIM-IO Service Login Failure
The WinCC OPC Server (SOPCSRVRWinCC.exe) silently refuses incoming connections from the AspenTech CIM-IO for OPC client (asyncDlgp.exe) whenever CIM-IO is launched as a Windows service, even though the same executable connects and reads tags successfully when started from an interactive command prompt. The failure is not a DCOM corruption, a firewall problem, or a WinCC project fault — it is a service identity mismatch between the AspenTech service, the WinCC runtime, and the COM activation path that SOPCSRVRWinCC.exe uses to validate incoming OPC clients.
This reference documents the precise configuration that makes WinCC 6.2 SP and AspenTech CIM-IO for OPC v9.x coexist on the same workstation when the AspenTech side is operated as a service, exactly as required for an Aspen InfoPlus.21 historian data path. The guidance is derived from the SIMATIC WinCC OPC commissioning documentation, the AspenTech knowledge base on service account alignment, and field-validated WinCC 6.0 / 6.2 SP deployments.
1. Problem Summary
Symptom matrix observed in production and engineering stations:
| Client launch mode | AspenTech process | Connection to WinCC.OPC | Notes |
|---|---|---|---|
| Interactive command prompt | asyncDlgp.exe | Success — tags read | Runs in user session of launcher |
| Windows service (LocalSystem) | asyncDlgp.exe (started by Aspen CIM-IO Manager) | Failure — E_ACCESSDENIED / CoCreateInstance fails | Identity differs from WinCC runtime |
| Windows service (domain user) | asyncDlgp.exe | Failure unless account == WinCC runtime account | Identity must match exactly |
| SimaticNET.OPC as alternative | asyncDlgp.exe as service | Success | SimaticNET OPC enforces weaker identity checks |
Diagnostic fingerprints confirmed on affected stations:
- Task Manager shows
WinCC.OPCexecutable running, WinCC runtime project active. - AspenTech CIM-IO for OPC launches and reads tags when started from a manual
cmd.exewith the operator's domain account. - The same
asyncDlgp.exebinary, when started by theAspen CIM-IO Managerservice, cannot bind toWinCC.OPC. - OPC Scout V10 fails against
WinCC.OPCwhenever the OPC Scout log-on account differs from the WinCC runtime log-on account, even when both accounts are administrators on the box.
The diagnostic that always isolates the issue: the WinCC runtime user, the CIM-IO service log-on account, and the DCOM launch / activation identities must resolve to the same Windows principal.
2. Affected Software and Components
| Component | Version observed | Role |
|---|---|---|
| SIMATIC WinCC | 6.2 SP (also confirmed on 6.0) | Hosts the OPC DA server SOPCSRVRWinCC.exe |
| WinCC Connectivity Pack | Matches WinCC SP | Provides WinCC OPC server registration |
| AspenTech CIM-IO for OPC | v9.x | OPC DA client bridging to Aspen InfoPlus.21 |
| AspenTech CIM-IO for OPC UA | Per AspenTech portal | OPC UA variant for IP.21 DA / UA bridge |
| Aspen CIM-IO Manager service | Service, see services.msc
|
Supervises asyncDlgp.exe lifecycle |
| SIMATIC Security Control | Bundled with WinCC | Audits and locks down WinCC DCOM surface |
Reference material that governs the fix:
- AspenTech knowledge base article KB 000096650 — Error OPC.Ua.DiscoveryServer does not have a trusted list defined, which formally states: "First make sure the services Aspen CIM-IO Manager and OPC UA Discovery Server are running on the same administrator accounts." The same identity-alignment principle applies to the OPC DA path used by
WinCC.OPC. - Aspen InfoPlus.21 Product Family Installation Guide V12, available through AspenTech eSupport 000097634.
- AspenTech CIM-IO documentation portal at explore.aspentech.com CIM-IO.
- Matrikon OPC Server for AspenTech InfoPlus.21 — vendor page at matrikonopc.com OPC IP21 — useful as a fallback DA bridge when CIM-IO cannot be hardened to match WinCC identity.
3. Root Cause: Identity, Not DCOM
The most common red herring in this scenario is DCOM configuration. After the WinCC Connectivity Pack is installed, the SIMATIC Security Control tool writes a defined set of DCOM, COM, and Windows security descriptors that SOPCSRVRWinCC.exe relies on. Manually editing these descriptors, while well-intentioned, almost always shifts the trust path that WinCC requires. Field experience shows that once a WinCC client has been re-imaged because of DCOM tampering, the safest baseline is to leave DCOM untouched and instead fix the service identity.
The actual cause is COM activation identity. When asyncDlgp.exe runs as a Windows service, the COM layer authenticates the caller using the service's log-on account, not the operator account that opened the command prompt. The WinCC runtime, in turn, will only accept OPC DA calls from a principal that matches the account that started SOPCSRVRWinCC.exe. The result is silent rejection at the COM CoCreateInstance / IOPCServer::GetStatus boundary, even though no error is written to the WinCC diagnostic log by default.
The three identities that must coincide are:
- The Windows account used to start the WinCC runtime (and therefore
SOPCSRVRWinCC.exe). - The Windows account configured as the Log On identity of the
Aspen CIM-IO Managerservice and of the supervisedasyncDlgp.exechild process. - The Windows account that is granted DCOM Remote Access, Launch, and Activation permissions on the WinCC OPC server — this is the account SIMATIC Security Control typically locks down to the WinCC operator group.
4. Step-by-Step Resolution
4.1 Prerequisites
- Local administrator rights on the WinCC station.
- WinCC 6.2 SP installed with the Connectivity Pack and a running WinCC project.
- AspenTech CIM-IO for OPC v9.x installed; both
Aspen CIM-IO Managerand the CIM-IO for OPC service visible inservices.msc. - Snapshot of the current service accounts via
sc qc "Aspen CIM-IO Manager"andsc qc "Aspen CIM-IO for OPC"for rollback documentation. - A dedicated domain service account (recommended) or, at minimum, a local account that will own all three identities.
4.2 Identify the WinCC runtime account
- Open the WinCC project in WinCC Explorer on the runtime node.
- Confirm which Windows user started the WinCC runtime by inspecting the WinCC service account or by running
tasklist /v /fi "imagename eq SOPCSRVRWinCC.exe"from an elevated command prompt — the User Name column is the runtime principal. - Record the value, for example
DOMAIN\svc_wincc_opc. This is the only account that will be permitted to read tags fromWinCC.OPC.
WinCC.OPC via OPC Scout. This is by design and confirms that the runtime account is the trust anchor.4.3 Realign the AspenTech service identities
- Stop both
Aspen CIM-IO ManagerandAspen CIM-IO for OPCservices. - Open
services.msc, right-click Aspen CIM-IO Manager, choose Properties → Log On. - Select This account, enter the WinCC runtime account from step 4.2, and supply the password twice. Apply.
- Repeat for Aspen CIM-IO for OPC. The two services must use the same Windows principal; this matches the alignment AspenTech KB 000096650 requires between Aspen CIM-IO Manager and the OPC UA Discovery Server.
- Set the startup type of
Aspen CIM-IO for OPCto Manual if the Manager service is expected to supervise it, or to Automatic with the same log-on account if it must start independently. - Close
services.mscand refresh the service account cache by runninggpupdate /forceon a domain-joined box, or by rebooting if local credentials are used.
4.4 Grant the account the rights WinCC requires
Even when the service identity is correct, the account must additionally hold the rights SIMATIC Security Control configures. Verify the following memberships and rights for the account from 4.2:
- Member of the local
SIMATIC HMI/SIMATIC WinCC OPCgroup (group name varies by WinCC version; inspect withlusrmgr.msc). - Member of local
Distributed COM Usersand, where applicable,Performance Log Users. - Granted the Log on as a service right via
secpol.msc → Local Policies → User Rights Assignment. - Held DCOM Remote Access, Launch, and Activation on the
WinCC.OPCDCOM application node. Do not grant these by hand across the entire DCOM tree — restrict to theWinCC.OPCapplication object viadcomcnfg.
4.5 Confirm asyncDlgp.exe is supervised by the Manager
The AspenTech Manager service is responsible for spawning and supervising asyncDlgp.exe. If the executable is launched by any other means — a scheduled task, a startup script, a third-party supervisor — the process identity will not match the service account, and the connection will fail in exactly the same way as a command-window launch from the wrong user. Validate this by stopping the Manager service and confirming that asyncDlgp.exe exits within the configured supervision interval.
5. DCOM & COM Hardening — What to Leave Alone
The SIMATIC documentation makes a specific, deliberate choice about default DCOM permissions, and violating those choices is the fastest way to break the runtime. Treat DCOM as a read-only artifact on a healthy WinCC station.
| DCOM object | Default state after Connectivity Pack install | Required action |
|---|---|---|
WinCC.OPC (SOPCSRVRWinCC.exe) |
SIMATIC-controlled ACL, locked to runtime user group | Do not modify; ensure runtime account is in the granted group |
OPCServer.WinCC (legacy ProgID) |
Same as above | Alias only; no separate ACL needed |
SimaticNET.OPC |
Permissive | Do not loosen further; permissive is the working baseline |
| My Computer → DCOM defaults | Default WinCC security | Do not change — SIMATIC Security Control reasserts on every reboot |
WinCC.OPC responded. If DCOM has been edited, re-image is safer than incremental repair.6. Verification Procedure
Run the following checks in order. Each one should pass before moving to the next; any failure indicates a remaining identity mismatch.
-
Service identity alignment. From an elevated prompt:
sc qc "Aspen CIM-IO Manager" | findstr SERVICE_START_NAMEandsc qc "Aspen CIM-IO for OPC" | findstr SERVICE_START_NAME. Both lines must show the same principal as the WinCC runtime account from step 4.2. -
Process identity alignment. Start the AspenTech services, then run
wmic process where "name='asyncDlgp.exe'" get name,ProcessId,ExecutablePath /format:listand cross-check the owning user via Sysinternals Process Explorer orwmic process where "name='asyncDlgp.exe'" call getowner. The returned domain\user must match the WinCC runtime account. -
OPC Scout probe against WinCC.OPC. Launch OPC Scout V10 while logged in as the WinCC runtime account. Connect to
OPCServer.WinCC. Add a tag, confirm value update. If OPC Scout succeeds with this account and fails with any other account, identity alignment is confirmed. -
CIM-IO service test. Restart the AspenTech services and watch the CIM-IO log directory (default
%ProgramFiles%\AspenTech\CIMIO\logor the path configured in the CIM-IO Manager). Look for lines such asConnected to OPCServer.WinCCandItem scan complete. A persistentCoCreateInstanceor0x80070005entry indicates the service is still running as the wrong account. -
End-to-end historian confirmation. With CIM-IO connected to
WinCC.OPC, verify the bridged value lands in Aspen InfoPlus.21 by inspecting the IP21 tag viadm ip21_tag_listor Aspen Process Explorer. This is the production-grade test and the only one that proves the full path is healthy.
7. Alternative & Fallback Configurations
| Approach | When to use | Trade-offs |
|---|---|---|
| CIM-IO for OPC DA + WinCC.OPC on same host, service account = WinCC runtime account | Default and recommended | Lowest latency, no cross-machine DCOM, matches AspenTech KB 000096650 model |
| SimaticNET.OPC as the OPC DA source for CIM-IO | When SIMATIC Security Control cannot be aligned with CIM-IO service identity | SimaticNET OPC has more permissive identity checks, fewer account constraints; widely deployed as fallback |
| Matrikon OPC Server for InfoPlus.21 | When CIM-IO cannot be made to match WinCC identity, and a vendor-supported DA bridge is acceptable | Adds a third-party process; useful when Aspen InfoPlus.21 is the historical destination and the OPC DA hop is unimportant |
| CIM-IO for OPC UA (modern variant) | Greenfield deployments on WinCC Unified or where DA is being phased out | Identical identity-alignment rule (services on same administrator accounts), but certificate / trust-list configuration must be completed — see AspenTech KB 000096650 for the trusted list error class |
8. Operating Considerations
- Single-account discipline. A WinCC runtime is single-tenant by identity. Do not attempt to mix operators, engineers, and AspenTech services on different accounts — OPC will pick exactly one principal per station and reject every other caller, regardless of local group membership.
-
Service start order. Start
WinCC Runtime(or the WinCC service hostingSOPCSRVRWinCC.exe) before the AspenTech services. If CIM-IO starts first, it caches a CoCreateInstance failure that is only cleared by a service restart, not by a tag rescan. -
Password rotation. Rotating the password of the shared service account must be done in lockstep on the WinCC service configuration, the
Aspen CIM-IO Managerlog-on, and theAspen CIM-IO for OPClog-on. A single missed update re-creates the original fault with no clear error in the WinCC log. - High-availability / redundant stations. Each redundant WinCC station must have its own aligned AspenTech service account pair. Do not share service principals across nodes; DCOM authentication is host-scoped.
- Hardening post-fix. After the fix is verified, run SIMATIC Security Control once more so that any drift introduced by manual DCOM checks is replaced with the documented baseline.
9. Frequently Asked Questions
Why does CIM-IO for OPC connect to WinCC.OPC from a command prompt but not as a service?
The service launch runs asyncDlgp.exe under the service's Log On account, which is typically LocalSystem or a generic service user. The WinCC runtime only honors OPC calls from the same Windows account that started SOPCSRVRWinCC.exe, so the call is rejected at the COM layer. Changing the service log-on to the WinCC runtime account restores the connection.
Do I need to change DCOM permissions to fix the WinCC OPC service login failure?
No. SIMATIC Security Control configures the DCOM ACLs during Connectivity Pack installation. Re-editing DCOM almost always makes the situation worse; on at least one production station the only recovery was a full re-image. The safe path is to leave DCOM at its installed defaults and align the service identities instead.
Which Windows account should own both Aspen CIM-IO Manager and Aspen CIM-IO for OPC services?
Use the same account that starts the WinCC runtime. AspenTech knowledge base article 000096650 explicitly requires the Aspen CIM-IO Manager and the OPC discovery / OPC DA client services to run on the same administrator account, and the WinCC runtime must also be in that account for OPC DA calls to succeed.
Can I keep CIM-IO on a dedicated service account and just add it to the right groups?
On a healthy station with SIMATIC Security Control active, group membership is necessary but not sufficient. WinCC's OPC surface is locked to the literal principal that owns the runtime process. A dedicated service account works only when it is also the account that started SOPCSRVRWinCC.exe.
What if I am running WinCC Unified or a newer Aspen CIM-IO for OPC UA build?
The identity-alignment rule still applies, but the failure mode shifts from DCOM to UA certificate trust. Configure the Aspen CIM-IO Manager and the OPC UA Discovery Server with the same administrator account, then ensure the WinCC OPC UA server certificate is in the CIM-IO UA trusted-list, as documented in AspenTech eSupport article 000096650.
How do I confirm the fix end-to-end against Aspen InfoPlus.21?
After the services and OPC Scout probes pass, verify the bridged value reaches IP.21 by reading the corresponding tag through Aspen Process Explorer or the dm command-line tools, and confirm update timestamps match the WinCC tag update rate. This is the only test that proves the full CIM-IO → WinCC.OPC → IP.21 path is healthy.