SoftBus OPC 项目文档
SoftBus OPC 是 SoftBus 工业数据总线的 Phase 1 原型,在边缘采集与 OPC UA 北向接口之间建立统一对象模型与数据管道。本文档集按项目分区架构组织,各模块独立成篇,汇总构成整体说明。
文档索引
| 文档 | 说明 |
|---|---|
| ARCHITECTURE.md | 整体分层架构、模块依赖与构建目标 |
| 数据流转.md | 端到端上行/下行数据流与 Pipeline 阶段 |
| UPLINK_WIRE_PROTOCOL.md | 边缘↔守护进程 JSON 行协议(UplinkWire) |
| softbus_core.md | 共享内核:模型、配置、插件 ABI |
| softbus_api.md | 控制面契约:ExecuteCommand |
| softbus_transport.md | TCP 传输层与线协议编解码 |
| softbus_opcua.md | OPC UA 服务端:地址空间、方法、绑定规则 |
| softbus_edge.md | 边缘代理:入站采集与上行 |
| softbus_daemon.md | 守护进程:编排、Pipeline、命令分发 |
| plugins.md | 协议插件:Modbus / CANopen |
| build_and_config.md | 构建、配置与运行指南 |
快速开始
# 构建
cmake -B build -DSOFTBUS_WITH_OPCUA=ON
cmake --build build
# 启动守护进程
./build/bin/softbus_daemon \
--config config/daemon_profile.json \
--model config/softbus_model.json
# 启动边缘代理(另一终端)
./build/bin/softbus_edge --daemon 127.0.0.1:9000
# OPC UA 客户端连接
# opc.tcp://localhost:4840
与 soft_bus 主项目的关系
| 维度 | soft_bus(主项目) | softbus_OPC(本项目) |
|---|---|---|
| 上行协议 | 二进制帧 SBUP(EDGE_UPLINK_PROTOCOL_v1) |
JSON 行 UplinkWire |
| 北向接口 | HTTP / D-Bus / 消息总线 | OPC UA(open62541) |
| 阶段定位 | 生产级守护进程 | Phase 1 原型验证 |
数据模型概念对齐:RawPacket ≈ RawBusMessage,DOMMessage 语义一致,字段更精简。
分区架构一览
┌─────────────────────────────────────────────────────────────┐
│ softbus_daemon (可执行) │
│ CoreService · PipelineEngine · CommandDispatcher │
├──────────────┬──────────────┬──────────────┬────────────────┤
│ softbus_opcua│softbus_trans │ softbus_api │ plugins (.so) │
│ UaServerEngine│TcpUplink* │ExecuteCommand│ modbus/canopen │
├──────────────┴──────────────┴──────────────┴────────────────┤
│ softbus_core (静态库) │
│ RawPacket · DOMMessage · ObjectModel · PluginLoader │
└─────────────────────────────────────────────────────────────┘
▲ TCP JSON │
│ ▼ OPC UA
┌────────┴────────┐ ┌──────────────────┐
│ softbus_edge │ │ OPC UA Client │
│ MockModbusIngress │ (UaExpert 等) │
└─────────────────┘ └──────────────────┘
Phase 路线图
| Phase | 范围 | 状态 |
|---|---|---|
| Phase 1 | 动态地址空间、Double Variable、ExecuteCommand Method、Mock 边缘 | 当前 |
| Phase 2 | ua_model.xml NodeSet 导入、TLS/mTLS、真实 Event、Subscription |
规划中 |
| Phase 3 | 对齐 SBUP 二进制协议、多插件并行、真实硬件 ingress | 规划中 |