NScada
文档中心 › Modbus 转 MQTT

Modbus 转 MQTT/HTTP,并接入 EMQX、ThingsBoard

分类:数据上云 · 2026-09-07 · nscada 技术团队

Modbus 只是“车间内的语言”,平台要的是 MQTT/HTTP。网关/软件的角色是翻译官:把轮询到的寄存器值打包成 JSON 发出去。本文给出约定建议与 nscada 的配置示例。

一、推荐的主题与载荷约定

主题:cx/{deviceId}/data           // 每设备一个主题
QoS:1(至少一次,配合去重更稳)
载荷:{"deviceId":1,"device":"Modbus设备","tag":"RPM","value":42,"unit":"rpm","ts":...,"quality":192}

若平台要求批量,可用 HTTP 转发并开启 batchSize 聚合,一次 POST 多条。

二、接入 EMQX / ThingsBoard 的要点

三、断网补传:别让平台“留白”

MQTT 断连期间的消息不应丢弃:nscada 的数据先入本地 SQLite 与 Outbox,broker 恢复后自动按退避续投,超限条目转死信可人工重放。对“按分钟补历史曲线”的场景,配合本地库查询更完整。

四、验证三步

  1. EMQX 控制台订阅 cx/#,看到实时报文;
  2. ThingsBoard 设备遥测里出现最新值;
  3. 断开 broker 60 秒再恢复,确认缺的时间段被补发。
想直接体验?打开 在线 Demo下载软件
扫码加客服获取完整《部署与联调手册》
客服
扫码联系客服

扫码咨询