跳到主要内容

必要环境

OPC UA 应用上线前要准备的事 — 网络 / 证书 / 时间同步 / 测试 Server / 客户端工具 / SDK 安装. 一项不对都会导致首次连接失败.

一站到位

开发期最少装两件: 一个 OPC UA Server (推荐 Darra SimulatorServer) + 一个 GUI 客户端 (Darra OPC UA Client GUI). 5 分钟就能开搞.


1. 网络

  • 默认端口: TCP 4840 (opc.tcp 协议)
  • HTTPS 端口: TCP 443 (opc.https 协议, 本 SDK 主用 opc.tcp)
  • 防火墙双向放通 4840
  • Windows 防火墙: 入站规则放通 OPC UA Server 进程
  • NAT / 端口映射: 公网访问需要把 4840 映射出去, 同时确保 ApplicationUri 与证书 SAN 匹配

2. 证书生成 (生产必须)

明文 None 模式只在内网开发测试用. 生产环境必须 Sign 或 SignAndEncrypt:

  • 客户端证书: PFX 格式 (含私钥), 推荐 RSA 2048 位
  • 服务端证书: 由服务端管理, 客户端首次连接可走 TOFU (Trust On First Use)
  • 互信: 客户端公钥 (.der/.pem) 必须导入服务端 trusted/ 目录
  • subjectAltName URI: 必须包含 URI:urn:<vendor>:<product>:<instance> 字段, 与 ApplicationUri 一致
  • 有效期: 默认 365 天, 可配置, 过期前要轮换

详细生成步骤见 启用加密.


3. 时间同步 (NTP)

时间偏差超 ~10 分钟会被拒

OPC UA Sign / SignAndEncrypt 模式会校验时间戳, 客户端与服务端时间偏差超过几分钟会被拒绝 (BadCertificateTimeInvalid 等). 生产环境必须配置 NTP, 时间偏差控制在秒级.


4. 选择测试 Server

开发期需要一个 OPC UA Server 联调:

Server优点何时用
Darra SimulatorServer开箱即用, 含温度/计数器/方法/事件开发期联调
Darra Software PLC 内置 Server接 PLC 真实 Tag, 端口 4840验证 PLC 接入
open62541 examples/server开源标准实现协议合规验证
Eclipse Milo ExampleServerJava 实现Java 风格参考
Prosys 免费 Simulation Server商业级稳定高级特性测试

5. 客户端工具

调试期推荐桌面工具配合查看:

  • Darra OPC UA Client GUI — 我们自家工具, 树形浏览 / 订阅 / 历史 / 事件, 字体 MiSans + 中文
  • UaExpert — Unified Automation 出品
  • opcua-client-gui — Python FreeOpcUa 项目

6. SDK 安装

按目标语言挑一个: NuGet (C#), pip (Python), Maven (Java), CMake (C/C++), cargo (Rust). 详见 快速开始.


检查清单

  • 防火墙放通 4840
  • NTP 时间同步配置 OK (差距 < 30 秒)
  • 测试 Server 已启动 (GUI 客户端能 Browse 出节点树)
  • (生产) 客户端 PFX 证书已生成, ApplicationUri 与 SAN.URI 一致
  • (生产) 服务端已导入信任客户端公钥
  • SDK 版本号能正确打印 (验证安装)

相关链接