OPC Unified Architecture (Wikipedia)
This article needs additional citations for verification. (January 2020) |
International standard | IEC62541, OPC Unified Architecture (Core, Field eXchange, Devices, Asset Management, XML Datatype Mapping) |
---|---|
Developed by | OPC Foundation |
Introduced | July 28, 2006 |
Industry | Operational technology and Information technology |
Compatible hardware | PLC, field devices, Windows, Linux, IIOT |
Website | https://opcfoundation.org/about/opc-technologies/opc-ua/ |
OPC Unified Architecture (OPC UA) is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:
- Standardized data models freely available for over 60 types of industrial equipment, published by the OPC Foundation via Companion Specifications
- Extensible security profiles, including authentication, authorization, encryption and checksums
- Extensible security key management, including X.509, token and password
- Support for both client-server and publish-subscribe communication patterns
- Communication protocol independent. Mappings to several communication protocols like TCP/IP, UDP/IP, WebSockets, AMQP and MQTT are specified
- Initially successful in standardized data exchange with industrial equipment (discrete manufacturing, process manufacturing, energy) and systems for data collection and control, but now also leveraged in building automation, weighing and kitchen equipment and cloud applications
- Open – open-source reference implementations freely available to OPC Foundation members, non members under GPL 2.0 license
- Cross-platform – not tied to one operating system or programming language
- Service-oriented architecture (SOA)
- The specification is freely available on the OPC Foundation website and is split into several parts to ease implementation, but only OPC UA stack vendors need to read them, end users simply leverage existing commercial and/or open-source stacks available in all popular programming languages