OPC Standards
OPC Classic Specifications
The OPC Classic specifications encompass a set of standards developed for industrial automation data exchange, primarily focusing on real-time and historical process data within Windows environments. These specifications include OPC Data Access (DA), which enables clients to read and write tag values, along with associated timestamps and quality indicators; OPC Alarms and Events (AE) for notifying clients of alarm conditions and event states; OPC Historical Data Access (HDA) for querying archived process data; and OPC Data eXchange (DX) for aggregating and redistributing data from multiple sources in batch processing scenarios.[4][39][40][41][42]
OPC DA, in its version 3.0 released in 2003, forms the foundational specification for synchronous and asynchronous access to current process data through a client-server interface, supporting operations like browsing server namespaces and subscribing to data changes via groups of items.[43] OPC AE version 1.10, finalized in 2002, extends this by defining mechanisms for servers to monitor process areas and deliver categorized alarms and events to clients, including support for acknowledgments and historical event queries. Complementing these, OPC HDA version 1.20 from 2003 provides standardized methods for retrieving time-series historical data from server databases, incorporating aggregate functions such as averages and minima over specified intervals. OPC DX version 1.0, also released in 2003, targets batch-oriented environments by allowing servers to collect and forward data from disparate OPC DA sources, facilitating recipe management and device coordination without direct client intervention.[44]
At its core, the architecture of OPC Classic relies on a client-server model implemented via Microsoft's Distributed Component Object Model (DCOM), where clients poll or subscribe to server-provided data items through grouped subscriptions to optimize update rates and reduce network overhead.[4] This setup uses interface definitions in C++ with an Automation wrapper for broader language support, enabling remote procedure calls over DCOM for inter-process communication.[39]
The data model in OPC Classic centers on a simple, tag-based approach, where process variables are represented as addressable items with basic attributes like value, quality, and timestamp, lacking advanced semantic modeling or object-oriented hierarchies.[4] Servers expose namespaces of these items for client browsing, but without inherent support for complex relationships or metadata beyond item properties.
Despite their widespread adoption, OPC Classic specifications have notable limitations, including exclusive dependency on Microsoft Windows platforms due to DCOM requirements, which restricts deployment in heterogeneous or non-Windows environments.[4] DCOM's reliance on open ports also poses challenges with firewalls and network security, often necessitating custom configurations for remote access.[4] Security is limited to basic Windows authentication mechanisms, without built-in encryption or fine-grained authorization for data access.[4]
Although still prevalent in legacy industrial systems for their proven reliability in Windows-based setups, OPC Classic specifications are considered deprecated in favor of migration to OPC Unified Architecture, which addresses these platform and security constraints.[4]
OPC Unified Architecture
OPC Unified Architecture (OPC UA), standardized as IEC 62541, represents the modern evolution of open industrial communication protocols, providing a platform-independent framework for secure and reliable data exchange across diverse systems.[5] As the successor to earlier OPC specifications, it enables interoperability in industrial automation by modeling complex information structures beyond simple data points.[45] The standard comprises over 15 parts, each addressing specific aspects of the architecture; key foundational elements include Part 1, which outlines core concepts and overview; Part 3, defining the address space model; Part 4, specifying services; Part 6, detailing mappings for protocol implementation; and Part 14, covering the publish-subscribe (PubSub) mechanism.[46][47]
At the heart of OPC UA lies its object-oriented information model, which organizes data into a hierarchical address space composed of nodes representing variables (for data values), objects (for instances), methods (for executable functions), and types (such as object types, variable types, data types, reference types, and views). Nodes are interconnected via references, which define relationships like hierarchical containment or semantic associations, while namespaces provide unique identifiers and scoping to avoid conflicts across different vendors or applications. This model supports semantic descriptions, allowing for rich metadata and extensible type definitions that facilitate discovery, browsing, and interpretation of industrial data without proprietary formats.
OPC UA defines a set of abstract services for client-server interactions, enabling operations such as Read and Write for accessing and modifying node values; Subscribe and Monitor for real-time event notifications and data changes; Browse for navigating the address space; and Call for invoking methods on objects. These services operate over multiple transport mappings outlined in Part 6, including UA TCP for efficient binary-encoded communication over TCP/IP, UA Secure Conversation leveraging WS-Security for SOAP-based web services, and emerging PubSub options over UDP for multicast scenarios or MQTT for broker-mediated messaging in distributed networks.
The specification has evolved through version releases to address growing needs in industrial IoT and edge computing. Version 1.04, released in 2017, enhanced modeling capabilities with improved support for complex data types, dictionaries, and finite state machines to better represent advanced industrial processes. Version 1.05, introduced in 2022 with subsequent updates like 1.05.06, added JSON encoding for lightweight payloads, WebSocket support for persistent connections, and RESTful interfaces via OpenAPI definitions, broadening accessibility for web and cloud integrations.[48][49]
Companion Specifications
Companion Specifications extend the core OPC UA framework by defining domain-specific information models, pre-defined node sets, and conformance profiles tailored to particular industries or functions, enabling seamless interoperability without requiring custom implementations. These specifications build on the UA address space model to standardize data exchange in vertical sectors such as automotive manufacturing, pharmaceuticals, and building automation, reducing integration efforts and promoting plug-and-play compatibility among devices and systems. They differ from core OPC UA parts (e.g., Parts 1-26 defining foundational elements like services, mappings, and PubSub in Part 14) by providing sector-specific extensions. Developed collaboratively by industry working groups and standards organizations under the OPC Foundation, they ensure that specialized requirements—like equipment commands or sector-specific data semantics—are addressed through certified, vendor-neutral extensions.[50][51][16]
Released primarily after 2015 in alignment with the maturation of OPC UA, Companion Specifications have proliferated through dedicated working groups, with the OPC Foundation facilitating certification to verify compliance and interoperability. By 2025, over 50 such specifications have been developed and released, covering diverse applications from fieldbus mappings to industry-specific analytics, with ongoing efforts in organizations like VDMA involving more than 600 companies across mechanical engineering sectors. This growth reflects the modular nature of OPC UA, allowing rapid adaptation to emerging needs while maintaining backward compatibility with core standards.[16][52][53][54]
Notable examples include the OPC UA for Machinery specification, which defines standardized nodes for machine status monitoring, operational commands, and equipment performance data, serving as a foundational model for subsectors like machine tools and robotics to enable real-time control and diagnostics. The OPC UA companion specification for electrical engineering maps IEC 61850 data models—used in substation automation—to OPC UA constructs, facilitating the exchange of electrical device information such as measurements and control signals within broader industrial environments. Similarly, the File Transfer specification (Part 20) outlines methods for secure, standardized file operations, including upload, download, and directory management, integrated into domain models like subsea production systems for handling configuration files and logs.[55][56][57][58][59][60]
The PubSub mechanism, detailed in OPC UA Part 14, supports multicast messaging protocols for efficient, real-time data distribution to field-level devices, using mechanisms like UDP or MQTT to handle high-volume sensor data without session-based overhead. In the realm of analytics and machine learning, companion specifications provide node sets for data processing pipelines and AI model integration, allowing standardized access to processed datasets, inference results, and training parameters in industrial applications like predictive maintenance. These examples underscore how Companion Specifications certify interoperability through OPC Foundation testing, ensuring robust deployment across certified devices and software.[61][62][63]