# 控制命令闭环

## 下行链路

```
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`
