phase 2
This commit is contained in:
29
docs/command_flow.md
Normal file
29
docs/command_flow.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# 控制命令闭环
|
||||
|
||||
## 下行链路
|
||||
|
||||
```
|
||||
OPC UA Client / --self-test
|
||||
→ UaMethodBinder::ExecuteCommand
|
||||
→ CommandService::submit()
|
||||
→ registry 点表校验 + 范围检查
|
||||
→ bus.publish(control/cmd/{device}/{point}/set)
|
||||
→ TransportBusBridge → TcpUplinkServer → edge
|
||||
→ CommandExecutor → ShadowChannelStore (mock AO)
|
||||
→ SoftbusAck → bus.publish(control/ack/...)
|
||||
→ CommandService ACK 匹配 → Succeeded
|
||||
```
|
||||
|
||||
## 上行反馈
|
||||
|
||||
```
|
||||
ShadowChannelStore 更新
|
||||
→ edge 构造 RawPacket 上行
|
||||
→ PipelineEngine 解析 → UaModelBinder
|
||||
→ bus.publish(data/{device}/{point})
|
||||
→ OPC UA Variable 更新
|
||||
```
|
||||
|
||||
## 命令状态
|
||||
|
||||
`Created → Validated → Dispatched → Succeeded / Failed / Timeout`
|
||||
20
docs/point_table_design.md
Normal file
20
docs/point_table_design.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# 点表设计
|
||||
|
||||
配置文件:`config/point_table.json`(YAML 镜像:`config/point_table.yaml`)
|
||||
|
||||
## 映射关系
|
||||
|
||||
```
|
||||
ValveOpening
|
||||
↔ AO_Channel_01 (physicalChannel)
|
||||
↔ ns=1;s=.../ValveOpening (opcuaNodeId)
|
||||
↔ control/cmd/EdgeDevice_01/ValveOpening/set (cmdTopic)
|
||||
↔ control/ack/EdgeDevice_01/ValveOpening (ackTopic)
|
||||
↔ data/EdgeDevice_01/ValveOpening (dataTopic)
|
||||
```
|
||||
|
||||
由 `softbus_registry::PointRegistry` 加载并建立三向索引:`objectRef` / `topic` / `opcuaNodeId`。
|
||||
|
||||
## 主题规则
|
||||
|
||||
`config/topic_rule.json` 定义默认主题模板,点表可覆盖单点 `cmdTopic`/`dataTopic`。
|
||||
Reference in New Issue
Block a user