open62541 是 OPCUA规范的C语言开源实现。
OPC通信标准的核心是互通性(Interoperability)和标准化(Standardization)问题。传统的OPC技术在控制级别很好地解决了硬件设备间的互通性问题,在企业层面的通信标准化是同样需要的。OPCUA之前的访问规范都是基于微软的COM/DCOM技术,这会给新增层面的通信带来不可根除的弱点。加上传统OPC技术不够灵活、平台局限等问题的逐渐凸显,OPC基金会(OPCFoundation)发布了最新的数据通讯统一方法—OPC统一架构(OPCUA),涵盖了OPC实时数据访问规范(OPCDA)、OPC历史数据访问规范(OPCHDA)、OPC报警事件访问规范(OPCA&E)和OPC安全协议(OPCSecurity)的不同方面,但在其基础之上进行了功能扩展。
OPCUA,是在传统OPC技术取得很大成功之后的又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间的通讯更加安全、可靠。
特性
open62541实现了OPCUA二进制协议栈以及客户端和服务器SDK。它目前支持MicroEmbeddedDeviceServerProfile以及一些其他功能。最终的服务器二进制文件可以低于100kb,具体取决于信息模型的大小。
通信栈
OPCUA二进制协议
分块(拆分大信息)
可交换网络层(插件),用于使用自定义网络API (e.g.用于嵌入式)
信息模型
支持所有OPCUA节点类型 (包括方法节点)
支持在运行时新增或删除节点与引用。
支持对象和变量类型的继承和实例化(自定义构造函数/析构函数,子节点的实例化)
订阅
支持订阅/监控项目以获取数据更改通知
每个监控值的资源消耗非常低(基于事件服务架构)
代码生成
支持从标准XML定义生成数据类型
支持从标准XML定义生成服务器端信息模型(节点集)
评论