open62541 - OPC UA 规范的 C 语言实现


MPL
跨平台
C/C++

软件简介

open62541 是 OPC UA 规范的C语言开源实现。

OPC通信标准的核心是互通性 (Interoperability) 和标准化 (Standardization)
问题。传统的OPC技术在控制级别很好地解决了硬件设备间的互通性问题,在企业层面的通信标准化是同样需要的。OPC
UA之前的访问规范都是基于微软的COM/DCOM技术, 这会给新增层面的通信带来不可根除的弱点。加上传统OPC技术不够灵活、平台局限等问题的逐渐凸显,
OPC基金会 (OPC Foundation) 发布了最新的数据通讯统一方法 — OPC统一架构 (OPC UA), 涵盖了OPC
实时数据访问规范 (OPC DA)、OPC历史数据访问规范 (OPC HDA)、 OPC 报警事件访问规范 (OPC A&E) 和OPC安全协议 (OPC
Security) 的不同方面, 但在其基础之上进行了功能扩展。

OPC UA,是在传统OPC技术取得很大成功之后的又一个突破,让数据采集、信息模型化以及工厂底层与企业层面之间的通讯更加安全、可靠。

特性

open62541 实现了 OPC UA 二进制协议栈以及客户端和服务器 SDK。它目前支持 Micro Embedded Device Server
Profile 以及一些其他功能。最终的服务器二进制文件可以低于100kb,具体取决于信息模型的大小。

  • 通信栈

    • OPC UA 二进制协议

    • 分块(拆分大信息)

    • 可交换网络层(插件),用于使用自定义网络 API (e.g. 用于嵌入式)

  • 信息模型

    • 支持所有 OPC UA 节点类型 (包括方法节点)

    • 支持在运行时新增或删除节点与引用。

    • 支持对象和变量类型的继承和实例化 (自定义构造函数/析构函数,子节点的实例化)

  • 订阅

    • 支持订阅/监控项目以获取数据更改通知

    • 每个监控值的资源消耗非常低 (基于事件服务架构)

  • 代码生成

    • 支持从标准 XML 定义生成数据类型

    • 支持从标准 XML 定义生成服务器端信息模型(节点集)