Configuring PCS 7 OPC DA Server: Setup and Troubleshooting

David Krause12 min read
OPC / OPC UASiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview of the PCS 7 OPC DA Server

The PCS 7 OPC DA Server (formally branded as the Open PCS 7 component) is the dedicated OPC Classic Data Access 2.0/3.0 interface that exposes a Siemens PCS 7 OS server's runtime tag database to third-party OPC clients. It is distinct from OPC.SimaticNET (used for direct S7 PLC access) and from OPCServer.WinCC (used for WinCC Runtime Professional). When an external historian, MES, or HMI must read or write live process values out of PCS 7, the Open PCS 7 server is the supported path.

The server is delivered on the PCS 7 installation media, requires a separate Open PCS 7 license, and runs as a Windows service on either:

  • A dedicated PC with no other Siemens software installed, or
  • A PC that also runs an OS client (Operator Station) — in which case the Open PCS 7 component must be configured in a separate PC station from the OS client.

For a full performance characterization across multiple PCS 7 configurations, see the Siemens application note "What is the performance of OPC DA/UA in a PCS 7 standard configuration?"

Important: Open PCS 7 only operates against an OS Client/Server architecture. A single-station PCS 7 project with only a stand-alone OS cannot host the Open PCS 7 component.

Architecture and Component Placement

The Open PCS 7 OPC DA server sits in the runtime data path of an OS server. The ES (Engineering Station) holds the configuration; the runtime PC (where the license and the Open PCS 7 component are installed) hosts the actual OPC server process. The data flow is:

  1. AS (Automation Station, S7-400 CPU) publishes process values to WinCC/PCS 7 tags via S7 connections.
  2. The OS server image (WinCC Runtime) maintains the live tag database.
  3. The Open PCS 7 OPC DA Server reads from that tag database and exposes OPC items under the ProgID PCS7.OPCDAServer.
  4. Third-party OPC DA clients (OPC Scout, MatrikonOPC Explorer, AVEVA connectors, etc.) connect to PCS7.OPCDAServer over DCOM.

AVEVA's documentation for the PI Connector for OPC UA describes a similar model in which the OPC UA server for Open PCS 7 organizes underlying entities as a flat list of process groups, with one process group per OS server that was linked at engineering time.

Prerequisites

Requirement Specification
PCS 7 version V7.0 or higher (source uses V7.0 + HF2; V8.x and V9.x remain supported)
Architecture OS Client/Server (not single-station)
Open PCS 7 license Two types: (a) standalone PC with no other Siemens software, (b) PC that also has an OS client installed
Windows account Matching user accounts on ES, OS server, and OPC client PC (DCOM launch/activate rights)
DCOM Enabled on all participating machines; firewall rules allow TCP 135 plus dynamic RPC ports
Station Configurator Open PCS 7 components listed and in Run status on the runtime PC
OPC client test tool OPC Scout V10 (Siemens) or MatrikonOPC Explorer for verification

Open PCS 7 License Selection

Two Open PCS 7 license variants exist and the correct one must be selected before installation, otherwise the service will not start or browse will return E_FAIL:

  • Open PCS 7 (standalone) — for a PC on which no other Siemens automation software is installed. This is the cleanest deployment.
  • Open PCS 7 (OS Client co-installation) — for a PC that also runs a PCS 7 OS client. The runtime still requires the OS client to be online because the OPC server reads from the OS client's tag cache when the local OS client is the active source, otherwise it reads from the configured OS servers.

The license is a CodeMeter-based floating or node-locked license checked against the local CmContainer. If the service starts but the client receives 0x80040154 (Class not registered), the wrong license variant has almost always been installed.

Step-by-Step: Installing and Configuring Open PCS 7

  1. Install Open PCS 7 on the target runtime PC. Use the PCS 7 DVD setup launcher and select the Open PCS 7 package. Do not install any other PCS 7 components (AS, OS server, ES) on this PC unless you have selected the OS Client co-installation variant.
  2. Transfer the Open PCS 7 license to the local CodeMeter container. Verify with CodeMeter WebAdmin (https://localhost:22352) that OpenPCS7 is listed and active.
  3. In the PCS 7 project on the ES, add a new PC station. In SIMATIC Manager, open the component view, right-click the project and select PC station > New PC station. If the runtime PC also hosts an OS client, create a second PC station for Open PCS 7 — the OS client and Open PCS 7 must never be combined in the same PC station object.
  4. Insert the Open PCS 7 object on the new PC station. In HW Config of the PC station, drag OPC Server > Open PCS 7 from the hardware catalog onto a free slot. This adds a sub-module of type Open PCS 7.
  5. Link Open PCS 7 to the OS server(s). In the plant view, navigate to the WinCC/OS project and open the Server data editor for the OS server. On the Open PCS 7 tab (or in the Open PCS 7 properties), add the Open PCS 7 PC station you just created, exactly the same way you would assign an OS client. The Open PCS 7 service will start browsing the linked OS server's tag namespace at runtime.
  6. Configure the download path. Open the properties of the Open PCS 7 object and set a target directory on the runtime PC (e.g. C:\PCS7_OpenProject). This path is independent of the PC station's standard download path — it is only used to push the project fragment that the Open PCS 7 service needs to enumerate tags. Whatever subdirectory you choose here, Open PCS 7 will always materialize files into its own dedicated working directory on the target PC; the configured path is essentially a flag for the downloader.
  7. Download the Open PCS 7 object by selecting it in SIMATIC Manager and choosing PLC > Download (or right-click > Download to target system). The download normally completes in under 20 seconds.
  8. Verify in Station Configurator on the runtime PC. Open the Station Configurator and confirm that the Open PCS 7 component shows state Run with no yellow/red icon.
  9. Bring the OS Client/Server system into runtime. Start the OS server first, then any OS clients. The Open PCS 7 service will register its DCOM class objects once at least one linked OS server is online.
  10. Connect with OPC Scout V10 (Siemens) on the runtime PC or on a properly configured remote PC. In OPC Scout, add a new DA server, switch the ProgID list to all, and select PCS7.OPCDAServer. If browsing succeeds, the tag namespace of the linked OS server is visible.

DCOM Configuration on Every Participating PC

DCOM is mandatory for any cross-machine OPC DA connection. The standard configuration steps (matching the OPC Foundation DCOM white paper, "Using DCOM with OPC") are:

  1. Run dcomcnfg on each PC.
  2. Under Component Services > Computers > My Computer > DCOM Config, locate the entry for PCS7.OPCDAServer (and any other OPC server ProgIDs in use).
  3. On the Identity tab, set the service to run as The interactive user for testing, or as a dedicated service account that is a member of Distributed COM Users and the local Administrators group on the runtime PC.
  4. On the Security tab, grant the calling user Local Launch, Remote Launch, Local Activation, and Remote Activation rights. Add the principal Everyone or, preferably, the explicit service account.
  5. On the Endpoints tab, ensure the default dynamic port range is allowed through Windows Firewall, and that TCP/135 (RPC Endpoint Mapper) is open inbound.
  6. Match local accounts across machines: the user running the OPC client and the user under which the OPC server runs must share the same username and password, with the account trusted for delegation if more than one hop is involved.
Security note: Permissive DCOM settings (anonymous access, broad firewall rules) are a frequent cause of initial success followed by intermittent E_ACCESSDENIED errors after a Windows update resets default DCOM security. For production systems, use constrained delegation with explicit service accounts rather than the Everyone principal.

Common Error Codes and Root Causes

Symptom / Error Likely Root Cause Corrective Action
OPC Scout: "Class not registered" / 0x80040154 Open PCS 7 not installed, or wrong license variant installed Reinstall the matching Open PCS 7 license; verify in Station Configurator that the Open PCS 7 component is in Run
OPC Scout: "Access denied" / 0x80070005 DCOM launch/activation rights missing for the calling account Grant the calling user explicit Remote Launch/Activation on the PCS7.OPCDAServer DCOM entry; ensure the account exists on the server PC
ES download error 310:88 ("Download (310:88)") Target PC unreachable, or Station Configurator on target PC is not running, or download path invalid Confirm Station Configurator is open and Open PCS 7 is in Run on the target; confirm network reachability (ping, port 135); re-set the download path on the Open PCS 7 object
OPC browse returns empty namespace Open PCS 7 not linked to any OS server, or linked OS server not in runtime In the OS server's Server data editor, confirm Open PCS 7 is referenced; start the OS server before connecting with OPC Scout
Tags read returns OPC_E_BADTYPE (0xC0040004) Client expecting a different OPC datatype than the server exposes (typical for STRING vs. BSTR) Adjust the client's expected canonical type, or expose the tag with a compatible type in WinCC
Tags read returns OPC_QUALITY_BAD Underlying AS connection is down, or tag has been deleted from the OS server picture Check the OS server's channel diagnostics; verify the tag still exists in the WinCC tag manager
Open PCS 7 service starts and stops immediately CodeMeter license missing, or another instance already bound to the same ProgID Check Windows Event Log; restart CodeMeter runtime; remove duplicate registration with regsvr32 /u on the old DLL

Troubleshooting Flow

  1. Confirm the service is running. On the Open PCS 7 PC, open Station Configurator and verify the Open PCS 7 component is in Run. If it is not, restart it; the Event Viewer (Application log, source OpenPCS7) records the last failure reason.
  2. Confirm local connectivity first. Install OPC Scout V10 on the same PC as the Open PCS 7 service and connect to PCS7.OPCDAServer. If local works but remote fails, the issue is DCOM, Windows firewall, or account mismatch — not the server itself.
  3. Validate DCOM with a known-good ProgID. Use OPC Scout to connect to OPC.SimaticNET on the same PC. If SimaticNET connects and Open PCS 7 does not, the issue is specific to Open PCS 7 (license, component registration, or download state). If neither connects, the DCOM or firewall layer is the problem.
  4. Capture DCOM traces. Enable DCOM tracing in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Rpc\Tracing, set EnableTracing = 1) and inspect the resulting log under %SystemRoot%\Tracing for failed IUnknown::QueryInterface calls, which typically indicate impersonation or authentication mismatches.
  5. Re-download the Open PCS 7 object. If the local server is up but the namespace is empty, delete the Open PCS 7 object on the PC station, re-insert it, re-link to the OS server, and re-download. The 20-second download is idempotent and safe to repeat.

Performance and Sizing

The official Siemens application note (entry ID 59558350) on OPC DA/UA performance in PCS 7 evaluates three reference configurations and reports achievable item counts, update rates, and latency figures under both OPC DA (classic) and OPC UA. Key planning rules drawn from the note:

  • Open PCS 7 is bound by the OS server's tag database size; it is not a bottleneck for typical plant update rates of 1 s and 100 ms.
  • For applications that require thousands of items at sub-second update rates, prefer grouping subscriptions in the OPC client and using deadband filtering to avoid unnecessary callbacks.
  • For new projects, prefer the OPC UA server interface over OPC DA where the third-party client supports it. UA eliminates DCOM, works through standard HTTPS, and is the path Siemens is investing in for future PCS 7 releases.

Verification Checklist Before Going Live

  • PCS7.OPCDAServer listed in Station Configurator in state Run.
  • OPC Scout V10 on the same PC browses the namespace and reads a sample tag with Good quality.
  • OPC Scout V10 on a remote PC (the actual third-party client machine) browses and reads successfully after DCOM hardening.
  • Windows Event Viewer on the Open PCS 7 PC shows no repeated errors from sources OpenPCS7, DCOM, or CodeMeter.
  • Firewall rules documented and stored with the plant's network configuration.
  • Service account used for the OPC server documented and added to the change-management register.

Related Components and Migration Paths

When evaluating third-party connectivity to a PCS 7 plant, the typical decision matrix is:

Interface When to use
Open PCS 7 (OPC DA Classic) Legacy third-party client, no UA support, isolated Windows network
Open PCS 7 (OPC UA) Modern third-party client; preferred for new deployments
OPC.SimaticNET Direct S7 PLC access without an OS server in the path (bypasses WinCC tag DB)
MatrikonOPC for Siemens S7 Third-party OPC UA/DA tunneling between non-Siemens historians and S7 PLCs without a PCS 7 OS

For AVEVA PI deployments, the PI Connector for OPC UA is the certified integration path; the connector expects the same flat process-group namespace that Open PCS 7 publishes.

FAQ

Why does OPC Scout return "Class not registered" for PCS7.OPCDAServer?

The Open PCS 7 component is not properly registered on the runtime PC. Confirm the matching Open PCS 7 license is installed in CodeMeter and that the Open PCS 7 component in Station Configurator is in Run state. The error code is 0x80040154.

Can I install Open PCS 7 and an OS client on the same PC station object in SIMATIC Manager?

No. Siemens requires Open PCS 7 to be configured in a separate PC station from the OS client, even when both run on the same physical machine. The download will fail or the service will not start if they share a PC station.

What does the ES error "Download (310:88)" mean?

It is a download-path or Station Configurator error. The target PC is unreachable, Station Configurator is not running, or the Open PCS 7 download path is invalid. Re-open Station Configurator, ensure the Open PCS 7 component is in Run, verify network reachability, and re-set the download path on the Open PCS 7 object before re-downloading.

Do I need DCOM for OPC DA between two PCs?

Yes. OPC DA Classic relies entirely on DCOM and Windows RPC. Both PCs must have matching user accounts, the calling account must have Remote Launch and Remote Activation rights on the server's DCOM entry, and TCP/135 plus the dynamic RPC range must be open in the Windows Firewall.

Is OPC UA available for Open PCS 7 and should I prefer it?

Yes, Open PCS 7 ships an OPC UA server in addition to the OPC DA server, and Siemens recommends UA for new deployments to avoid DCOM complexity. See the official Siemens performance and configuration note (entry ID 59558350) on the Siemens Industry Online Support portal.

Back to blog