OPC UA(OPC 统一架构)的开源实现,又名 IEC 62541,根据 Mozilla 公共许可证 v2.0 获得许可
github地址
https://github.com/open62541/open62541
国内镜像: 中文版
http://www.gitpp.com/aws/open62541-cn
open62541.org

open62541是一个开源的软件库,实现了OPC UA(OPC统一架构)规范。OPC UA是一种工业通信协议,旨在实现不同工业自动化设备之间的互联互通。该协议已被IEC 62541系列国际标准所采纳。
特征
open62541 实现了 OPC UA SDK,支持服务器、客户端和 PubSub(发布-订阅)通信。有关完整详细信息,请参阅功能概述。
核心堆栈
OPC UA 二进制和 JSON 编码
基于 TCP 的 OPC UA SecureChannel
自定义数据类型(从 XML 定义生成)
可移植的 C99——特定于体系结构的代码封装在标准接口后面
高度可配置,具有用于加密(OpenSSL、mbedTLS)、访问控制、历史记录、日志记录等的默认插件。
服务器
客户
支持所有 OPC UA 服务
支持异步服务请求
订阅的后台处理
发布订阅
PubSub 消息编码(二进制和 JSON)
通过 UDP 多播、以太网、MQTT 传输
通过信息模型进行运行时配置
可配置的实时快速路径
open62541用C99和C98语言的通用子集编写,具有跨平台的特性,能够在所有主要计算机平台上运行。它提供了实现专用OPC UA客户端和服务器的必要工具,同时也支持将OPC UA通信集成到现有应用程序中。该库的设计是模块化的,平台特定功能通过可交换的插件来实现,以确保其可以在不同的操作系统上运行,例如Ubuntu、Debian、Windows、OS X和OpenBSD等。
open62541的功能特点包括:
- 实现了OPC UA二进制协议栈以及客户端和服务器SDK。
- 支持OPC UA的所有节点类型,包括方法节点。
- 支持在运行时新增或删除节点与引用。
- 支持对象和变量类型的继承和实例化。
- 提供了订阅功能,可以监控数据变化并获取通知。
该库的授权遵循Mozilla Public License v2.0(MPLv2),这意味着它是自由软件,可以与非开源项目结合使用。对库本身的修改需要按照MPLv2的许可进行发布。而服务器和客户端的示例以及插件则属于公共域,使用CC0许可证,可以自由地在任何许可下使用,无需发布更改。
对于开发者来说,open62541提供了一个成本效益高的解决方案,因为它可以免费使用,并且具有高度的可定制性和灵活性,适用于各种规模的项目,从简单的原型到复杂的工业级应用。

OPC统一架构(OPC UA)是一个由OPC基金会制定并维护的开放性工业通讯标准。它旨在提供一个独立于平台的、可靠的、安全的和可互操作的方法,以实现工业自动化中机器与机器之间的通信,即所谓的机器对机器(M2M)通信。OPC UA的使用场景非常广泛,包括但不限于以下几个方面:
1. 实时数据交换:在制造和生产环境中,OPC UA可以用于实时收集和交换传感器、控制器和其他设备产生的数据。
2. 历史数据存取:OPC UA允许用户访问和存储历史数据,这对于故障分析、性能优化和合规性记录至关重要。
3. 报警和事件管理:通过OPC UA,系统可以高效地处理和传递报警信息和事件,确保相关人员及时得到通知。
4. 远程监控和维护:OPC UA支持远程访问设备数据,使得维护工程师可以在不同地点对设备进行监控和故障排除。
5. 集成不同系统:OPC UA提供了一种标准化的方法,可以将不同的自动化系统(如SCADA、MES、ERP等)集成在一起,打破信息孤岛,实现数据的无缝流动。
6. 支持多种平台:由于OPC UA不依赖于特定的操作系统或硬件平台,它可以在Windows、Linux、Unix等不同的系统中使用,极大地提高了系统的灵活性和兼容性。
7. 安全通信:OPC UA内置了强大的安全机制,包括数据加密、数字签名、用户和设备认证等,确保数据传输的安全性和可靠性。
8. 跨网络通信:OPC UA支持跨网络通信,包括在互联网上实现安全的远程访问和数据交换,这对于构建工业4.0和智能制造环境下的分布式系统至关重要。
9. 数字化转型:OPC UA的标准化和互操作性特点,是工厂和制造企业数字化转型的关键组成部分,它支持企业构建智能互联的生态系统。
OPC UA的这些使用场景共同体现了它在工业自动化和智能制造领域的重要作用,即通过提供一种标准化的、高效的、安全的通信方式,来促进不同设备和系统之间的互联互通,从而提升生产效率、降低维护成本并增强系统的可靠性。
在工业领域,通信标准的重要性体现在它们能够确保不同设备和系统之间的兼容性和高效通信。以下是一些在工业自动化和通信中至关重要的通信标准:
1. PROFInet:PROFInet是基于工业以太网的自动化解决方案,由PROFIBUS国际组织推出。它提供了一种开放的、高性能的通信方式,用于连接工业自动化系统,并确保实时性和确定性。PROFInet兼容现有的现场总线技术如PROFIBUS,同时也支持工业以太网。
2. PROFIBUS:PROFIBUS是一个广泛使用的现场总线标准,它定义了在自动化环境中设备之间通信的协议。PROFIBUS支持多种传输介质和拓扑结构,并且由于其开放性,被许多自动化设备制造商所采用。
3. Industrial Ethernet:工业以太网是基于商业以太网的技术,专为工业环境中的可靠通信而设计。它支持IP协议,能够提供高速数据传输,并具有较好的实时性和确定性。
4. DeviceNet:DeviceNet是由罗克韦尔自动化公司开发的一种现场总线标准,主要用于离散自动化环境。它支持简单的连接和低成本的实施,被广泛用于连接工业设备。
5. ControlNet:ControlNet是另一种重要的现场总线标准,它提供了高速的、确定性的通信,适用于需要严格时间同步的自动化应用。
6. Ethernet/IP:Ethernet/IP结合了以太网的技术和工业自动化协议,它基于标准以太网,并提供了适用于工业环境的特定功能,如时间同步和故障恢复。
7. OPC UA:OPC UA(开放平台通信统一架构)是一个跨平台的、开放的数据交换标准,用于工业自动化领域。它定义了如何在不同系统之间安全、可靠地交换实时自动化数据。
8. TSN(时间敏感网络):TSN是一种新兴的网络技术,它提供了以太网网络中的时间同步和流量管理功能,确保了网络中不同流量类型的隔离和优先级分配,对于实时工业通信至关重要。
这些通信标准在工业自动化领域扮演着重要的角色,它们不仅确保了不同设备和系统之间的兼容性,而且提供了必要的实时性、可靠性和安全性,以支持现代工业自动化和智能制造的需求。
OPC UA(OPC 统一架构)的开源实现,又名 IEC 62541,根据 Mozilla 公共许可证 v2.0 获得许可
github地址
https://github.com/open62541/open62541
国内镜像: 中文版
http://www.gitpp.com/aws/open62541-cn