OPC DA (OPC Classic) and migration to OPC UA

What OPC DA, HDA and A&E are, how COM/DCOM works and fails, why remote DCOM is a security and firewall problem, and how to bridge or migrate to OPC UA.

OPC Data Access (OPC DA) is the original OPC specification (1996) for reading and writing current process values between Windows applications. Together with OPC HDA (historical data) and OPC A&E (alarms and events) it is now called OPC Classic. It is built on Microsoft COM/DCOM, so it only runs on Windows and is tied to Windows security.

Concepts

TermMeaning
ServerDriver program that talks to PLCs and exposes items, identified by a ProgID (e.g. Vendor.OPCServer.1)
ItemA tag, addressed by an ItemID string defined by the server
GroupClient-defined set of items with an update rate and deadband
Value / Quality / TimestampEvery value carries quality (Good, Bad, Uncertain + substatus) and a timestamp
OpcEnumHelper service that lists servers on a remote computer

Where it hurts

  • Remote DCOM needs matching accounts or domain trust, DCOM permissions, and dynamic RPC ports (135 + a dynamic range) through firewalls. Many "it worked yesterday" problems are DCOM hardening changes in Windows updates.
  • No built-in encryption or certificate-based security model comparable to OPC UA.
  • Windows only, 32/64-bit COM registration issues, one server per vendor protocol.

Practical rules

  1. Keep OPC DA local: run the client on the same computer as the server whenever possible.
  2. For remote access use an OPC UA wrapper/gateway or a tunnelling product instead of remote DCOM.
  3. Check quality, not just value: a client that ignores Bad quality will show stale numbers.
  4. Document ProgIDs, item syntax and update rates — they differ per server.

Migration to OPC UA

OPC UA (IEC 62541) replaces COM with platform-independent TCP binary or HTTPS transport, adds an information model, certificates and user authentication. Most SCADA packages and PLCs now offer native OPC UA; use wrappers (DA → UA) for legacy servers during the transition.

Loading the map…

Sources

  1. OPC Classic — OPC Foundation
  2. OPC UA — OPC Foundation
  3. NIST SP 800-82 Rev. 3 — NIST

Updated 2026-10-04