尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
open62541之概述
open62541 是一个用 C 语言编写的免费、开源的OPC UA (OPC 统一架构 / IEC 62541)实现。它提供了一个全功能的 SDK用于构建 OPC UA 服务器和客户端以及发布-订阅PubSub通信——所有这些都集成在单一且与平台无关的库中。无论你是在工厂车间连接工业设备还是将安全的机器对机器通信嵌入到微控制器中open62541 都能将完整的 OPC UA 协议栈以足够小的体积交付甚至能直接在裸机目标上运行。什么是 OPC UAOPC 统一架构是一种在IEC 62541系列标准中定义的工业通信协议。它定义了四个相互交织的层级open62541 将其作为一个内聚的 SDK 共同实现协议层— 一种基于 TCP或 HTTP/SOAP构建的异步消息交换协议被组织为安全通道、会话和原始连接。类型系统— 一种丰富的数据类型系统具有二进制和 JSON 编码方案涵盖 25 种内置类型以及任意复杂的结构体、数组和联合体。信息模型— 一种结合了面向对象与语义三元组关系节点-引用-节点的元模型能够实现数据的自描述表示。服务层— 37 种用于浏览、读写、调用方法、管理订阅等的标准服务——每种服务均定义为类型化的请求/响应消息对。OPC UA 由 OPC 基金会负责维护该基金会同时还推动伴随规范的制定将这些特定领域的概念机器人、机床、能源管理转化为可复用的 OPC UA 信息模型。高层架构open62541 的架构采用分层设计其核心是一个以插件为中心的抽象边界。所有与平台相关的及算法上可替换的功能都通过明确定义的插件接口暴露出来这使得核心库保持高度可移植性并且除 C99 标准库外没有任何其他依赖。公共 API 表面被有意设计得极简。开发者通过三个主要的入口头文件——server.h、client.h和pubsub.h——与库进行交互而types.h和common.h则提供共享的数据类型和状态码。位于include/open62541/plugin/下的插件头文件定义了加密、事件循环、节点存储、访问控制、日志记录和历史数据的扩展点。项目结构一览代码仓库的组织结构清晰地分离了公共接口、核心逻辑、可替换插件、平台移植和构建工具open62541/ ├── include/open62541/ 公共 API 头文件 (server, client, pubsub, types) │ └── plugin/ 插件接口头文件 ├── src/ 核心库 (除 C99 外零外部依赖) │ ├── server/ 服务器服务、会话、订阅、NS0 │ ├── client/ 客户端连接、订阅、高级 API │ ├── pubsub/ 发布-订阅协议实现 │ └── util/ 事件过滤器解析器、内部工具 ├── plugins/ 默认插件实现 (加密、日志、节点存储) ├── arch/ ️ 特定平台的事件循环移植 (POSIX, Win32, Zephyr, FreeRTOS) ├── deps/ 第三方依赖 (mdnsd, mqtt-c, libc_time 等) ├── examples/ 教程与示例应用 ├── tools/ ️ 代码生成、证书、CI 脚本、代码合并 ├── tests/ ✅ 单元测试、模糊测试、加密测试、集成测试 └── doc/ Sphinx 文档源码这种分离确保了src/中的核心库仅需 C99 标准库即可干净地编译。其他所有功能——TLS 后端、网络 I/O、证书存储、发现多播——都是在构建时通过选定的插件注入的。支持的特性open62541 实现了全面的 OPC UA 特性集。当前的开发版本v1.5.0-rc2在已获认证的 v1.4 基线之上扩展了 PubSub 改进、新的实时 PubSub 模型以及类型化的异步客户端回调。通信栈类别特性状态编码OPC UA 二进制✅ 已支持OPC UA JSON (v1.05 规范)✅ 已支持OPC UA XML 部分支持传输UA-TCP 安全通道二进制✅ 已支持加密无✅ 已支持Basic128Rsa15✅ 已支持Basic256✅ 已支持Basic256Sha256✅ 已支持Aes256Sha256RsaPss✅ 已支持身份验证匿名✅ 已支持用户名 / 密码✅ 已支持X.509 证书✅ 已支持加密后端mbedTLS✅ 已支持OpenSSL✅ 已支持LibreSSL 实验性支持服务器服务服务集关键服务状态发现FindServers、GetEndpoints、RegisterServer✅安全通道Open / Close SecureChannel✅会话Create / Close / Activate / Cancel✅节点管理Add/Delete Nodes References✅视图Browse、TranslateBrowsePaths✅属性Read、Write、HistoryRead/Update✅方法Call✅被监控项Create / Delete / Modify / SetTriggering✅订阅Create / Modify / Publish / Transfer✅订阅DataChange、Event 被监控项、过滤器✅发现本地发现服务器、mDNS 多播✅发布-订阅 (PubSub)特性状态二进制编码 (UADP)✅JSON 编码✅消息加密 / 解密✅UDP / 多播传输✅以太网传输✅MQTT 传输✅运行时发布者与订阅者配置✅安全密钥服务 (SKS) 模型✅实时 PubSub 模型 (偏移表、自定义状态机)✅ 新增客户端 SDK客户端支持所有 OPC UA 服务并提供同步和异步两种 API。订阅通过事件循环在后台处理。client_highlevel.h中的高级 API 为常见的读写、浏览和调用操作提供了便捷的封装。平台支持open62541 被设计为可以运行在任何地方——从功能完备的 Linux 服务器到资源受限的微控制器。特定于平台的代码被隔离在事件循环插件架构之后并为主要目标平台提供了移植版本平台架构事件循环实现Linux / macOS / BSDPOSIXarch/posix/— epoll/kqueue TCP、UDP、以太网、中断WindowsWin32默认基于 Winsock 的事件循环Zephyr RTOSZephyrarch/zephyr/— 原生 Zephyr 网络FreeRTOS lwIPfreertos-lwiparch/freertos/arch/lwip/— lwIP TCP/UDPPOSIX lwIPposix-lwip混合 POSIX 时钟 lwIP 网络构建配置open62541 使用CMake作为其构建系统并提供大量选项以便你根据具体用例定制库。以下列出了最常用的选项CMake 选项默认值描述UA_ENABLE_AMALGAMATIONOFF将库合并为单个open62541.c/.h以便于集成UA_ENABLE_ENCRYPTIONOFF加密后端MBEDTLS、OPENSSL或LIBRESSLUA_ENABLE_SUBSCRIPTIONSON启用订阅和被监控项支持UA_ENABLE_SUBSCRIPTIONS_EVENTSON启用事件监控UA_ENABLE_HISTORIZINGON启用历史数据访问客户端和服务器UA_ENABLE_DISCOVERYON启用本地发现服务器 (LDS)UA_ENABLE_DISCOVERY_MULTICASTOFFmDNS 发现MDNSD或AVAHIUA_ENABLE_JSON_ENCODINGON启用 JSON 编码 (v1.05 规范)UA_ENABLE_PUBSUBOFF启用 PubSub 协议支持UA_MULTITHREADING0(嵌入式) /100(桌面端)线程安全级别≥100 会启用内部互斥锁UA_LOGLEVEL100最低日志级别TRACE(100) → FATAL(600)
RELATED

相关推荐

《Vue3 从入门到大神33篇》Vue3 源码详解(三):响应式核心思想——从 Object.defineProperty 到 Proxy

《Vue3 从入门到大神33篇》Vue3 源码详解(三):响应式核心思想——从 Object.defineProperty 到 Proxy

本篇关键词:响应式本质、Proxy、依赖收集、effect、track、trigger难度等级:⭐⭐⭐⭐☆(偏底层,但全程带 Demo)工程价值:读懂这一篇,你能手写简易状态管理库、精准定位响应式 Bug、面试秒杀 90%…

📅 2026/10/3 10:10:08
从 `hello.c` 到 ELF:亲手走一遍 GCC 编译、汇编与链接全过程

从 `hello.c` 到 ELF:亲手走一遍 GCC 编译、汇编与链接全过程

平时编译 C 程序,我们往往只写一条命令: gcc hello.c -o hello几秒之后,可执行文件就生成了。 但这条命令背后到底发生了什么?头文件去了哪里?.o 为什么不能直接运行?printf 的实现什么时候进入程序&#x…

📅 2026/10/23 23:35:08
深度解析Grammarly Premium Cookie自动化采集架构与三级验证机制

深度解析Grammarly Premium Cookie自动化采集架构与三级验证机制

深度解析Grammarly Premium Cookie自动化采集架构与三级验证机制 【免费下载链接】autosearch-grammarly-premium-cookie 免费白嫖使用Grammarly Premium高级版 项目地址: https://gitcode.com/gh_mirrors/au/autosearch-grammarly-premium-cookie Grammarly Premium高级…

📅 2026/11/4 5:03:17
MORE NEWS

更多资讯

📰

睢县 低压电工证实操考试考什么

睢县低压电工证上岗必备,学历不高也能考吗? 你是不是也担心自己学历不够,根本报不上睢县低压电工证?别慌,这证其实和学历关系不大,只要你满足基本条件,照样能考。别再被“文凭门槛”绊住脚步,低压电工证是很多岗位的 上岗必备…

📰

睢县 低压电工证模拟考试题库

睢县低压电工证怎么考?官方回应帮你避开报名坑 你是不是也正愁不知道睢县低压电工证怎么报名?怕被那些中介套路,花钱还拿不到证?别急,今天我就从一个干了10年应急管理行业的老手角度,带你一步步搞清楚怎么在睢县考低压电工证,避免踩坑!…

📰

涵江考电工证多少钱?怕考不过白交培训费?这些细节必须知道

涵江考电工证多少钱?怕考不过白交培训费?这些细节必须知道 怕考不过白交培训费?这是很多想考电工证的朋友最担心的事。特别是现在市面上培训机构五花八门,价格参差不齐,不少人担心花了钱最后还是拿不到证。今天咱们就来聊聊 涵江考电工证…

📰

西安低压电工证考证含金量高吗?怕考不过白交培训费的看过来

西安低压电工证考证含金量高吗?怕考不过白交培训费的看过来 怕考不过白交培训费?别急,西安低压电工证考证含金量高不高,得看你是怎么准备的。很多人以为只要找培训机构报个名就能拿证,结果一考试就挂,钱花了,时间也浪费了。其实,低压电工证考试并不是…

📰

英州哪里可以考电工证官方回应证书过期了不知道怎么复审延期

英州哪里可以考电工证官方回应证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期,这是很多电工从业者最头疼的问题之一,尤其是英州地区的朋友,常常因为不了解流程和官方政策,导致证书失效影响工作。今天我们就来聊聊【英州哪里可以考电工证】的…

📰

电工证证件从哪里查询 一位焦作学员的真实经历告诉你怎么避坑

电工证证件从哪里查询 一位焦作学员的真实经历告诉你怎么避坑 不知道去哪报名怕被中介坑?这是很多想考电工证的人最真实的感受。尤其是像我这样从零开始准备考试的人,一开始对流程、机构、考试内容都一无所知,结果差点被一些不靠谱的培训机构骗了报名费,…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬