首页/网络/工控与物联网速查/现场协议与MQTT网关的对接方式
工业协议80 条

现场协议与MQTT网关的对接方式

现场协议与 MQTT 网关的对接本质是语义翻译:南向按现场协议读取点位,北向把点位映射成主题与载荷,中间负责采样、变化上报、断网缓存与重连补传。设计重点是点位表与主题命名规范,而不是网关型号。

工控与物联网速查网络更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​​‌‌​​‌‌​‌​​‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​​​‌​‌‌‌​‌​​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​‌‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​‌‌‌​‌‌​​​​‌​‌‌‌‌​​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

网关做的是语义翻译

Modbus、PROFIBUS、CANopen 这类现场协议围绕寄存器与节点地址组织数据,MQTT 围绕主题与载荷组织消息。网关要做两件事:南向按协议周期读取点位,北向按约定结构把点位发布出去;中间还要处理采样周期、变化上报、断网缓存与重连补传。翻译规则一旦上线就是接口契约。

基本信息

南向协议Modbus RTU/TCP、CANopen、PROFIBUS、OPC UA 等,取决于网关支持范围
北向协议MQTT 3.1.1 或 5.0,涉及 QoS、保留消息、遗嘱消息等选项
映射关系点位表(地址、数据类型、字节序)到主题与载荷字段的对应规则
运行要素采集周期、变化上报阈值、本地缓存容量、断线重连与补传策略
落地前提先冻结点位表与主题命名规范,再配置网关

主题映射示例

主题映射示例
# 现场点位:站号 3、保持寄存器、温度值
# 主题:acme/line1/station3/temperature
# 载荷:{"ts":1710000000,"v":23.6}
# 变化上报:温差超过阈值才发布,避免无变化的高频数据
# 断网:本地环形缓存,重连后按时间顺序补传并标记补传标志

典型对接方式

方式适用注意
轮询采集点位少、变化慢的寄存器读写采集周期要与设备响应时间匹配,避免压垮慢速串行链路
订阅式采集设备或中间层支持变化推送(如 OPC UA 订阅)需要处理订阅失效与重连后重新订阅
事件触发上报只在状态变化或达到阈值时发布阈值设置不当会造成消息风暴或漏报
批量分组上报把多个点位打包进一条消息单条消息过大时要评估网络 MTU 与服务端限制

典型使用场景

  • 存量产线数据采集:不改动控制器程序,用网关旁路读取
  • 多协议车间统一接入:南向接多种现场协议,北向统一为标准主题
  • 断网续传:现场网络不稳定时靠本地缓存保证数据不丢
  • 本地控制与云端监控并存:网关保留现场闭环,云端只做展示与分析
点位表与主题命名规范应在项目初期冻结并做版本管理:后期修改主题意味着所有订阅方同步改动,代价远高于前期多花几天评审。
向控制器写入的通道必须单独授权并做权限隔离。读采集与写控制共用一个账号,一次误配置就可能直接影响生产。

易错点

  • 点位地址照手册直接抄而不现场核对:数据类型与字节序错误会导致数值完全失真
  • 采集周期设得过密:慢速串行链路上的设备被轮询压垮,引发通信超时
  • 主题命名随设备改名而变:订阅方与历史数据同时断链
  • 本地缓存不设上限:长期断网把网关存储写满,采集彻底停止
  • 断线补传不分优先级:历史数据把实时数据挤在后面,监控画面反而滞后

数据来源与参考

  • OASIS MQTT Version 3.1.1 与 5.0 规范
  • Modbus 应用协议规范(Modbus-IDA)
  • OPC UA(IEC 62541)规范系列

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/ics/field-protocol-mqtt-gateway.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌‌​‌‌​​‌‌​​‌‌​‌​​‌​‌‌​​‌​‌​‌‌​‌‌​​​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​‌‌​‌​‌‌‌​​​‌​‌‌‌​‌​​​‌‌‌​‌​​​​‌​‌‌​‌​‌‌​​‌‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​‌‌‌​‌‌​​​​‌​‌‌‌‌​​‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​