主题
5.2 数据总线使用
LPPLC 内置 MQTT Broker 直接充当数据总线:MQTT 主题名对应实时数据库中的数据点名,无需额外映射配置。
数据流转流程
- 设备/程序作为 MQTT 客户端连接到服务器 1883 端口,用系统账号鉴权。
- 发布到某个主题,服务器就把 payload 写入同名数据点。
- 数据变更通过 WebSocket 推送到前端组态与外部订阅方。
- 历史数据由服务器自动归档。
主题格式
主题名即数据点名,不添加用户名前缀,也不需要 data/ 之类的分类段。
- 单值数据点:主题就是数据点名,例如
temperature。 - 复合数据点:使用
主键/子键形式,例如motor/speed、motor/current;服务器把每个子键作为独立数据点存储。
用户身份由 MQTT CONNECT 报文携带,不会出现在主题里。不同用户的数据点隔离由账号本身负责。
示例
temperature— 温度数据点pressure— 压力数据点line1/status— 1 号产线状态子键
消息(payload)格式
payload 直接就是数据点的值:
topic: temperature
payload: 25.6不要发送 {value, timestamp, quality} 这样的 JSON:服务器会把它当成三个子数据点(temperature/value、temperature/timestamp、temperature/quality)分别入库,不会把 timestamp/quality 视作元数据。详细规则见 5.5 节。