Appearance
MQTT数据转发
将scada采集到的设备数据,通过MQTT协议转发给第三方平台
配置流程
数据转发 --> 添加MQTT数据转发 --> 设置转发属性 --> 发布订阅配置 --> 添加变量 --> 运行工程
INFO
通过MQTT协议将Scada系统里采集到的设备数据上传值给第三方服务器
1、进入[数据转发],在[转发列表]点击添加转发,选择MQTT协议,自定义转发名称,完成基础转发创建 
2、点击已创建的 MQTT 转发条目,进入属性配置页面,按要求填写参数后点击保存,各属性配置规范如下:
| 名词 | 配置方式 | 说明 |
|---|---|---|
| 转发名称 | 自定义 | 默认与创建的名称一致,也可以自行修改 |
| 服务器地址 | MQTT服务器实际地址: | 支持域名 / IP 格式,需确保设备网络可访问 |
| 服务器端口 | MQTT 服务器对应端口:1883 | 常规为 1883(TCP)、8883(SSL/TLS),按服务器配置填写 |
| 客户端 ID | 自定义: | 建议唯一(如设备 SN + 转发名称),避免同服务器下 ID 冲突导致连接异常 |
| 用户名 / 密码:admin | 按 MQTT 服务器要求填写 | 无认证则留空,有认证需准确输入,否则无法建立连接 |
| 协议版本 | 3.1/3.1.1 | 与 MQTT 服务器版本保持一致,优先选择 3.1.1(兼容性更强) |
| 心跳间隔 | 自定义:30000 | 单位固定是ms |
| 清理会话 | 开启 / 关闭 | 开启:断开后清除会话,重连后重新订阅;关闭:保留会话,重连后恢复订阅(适合需要持续接收数据场景) |
| 最大/最小重连间隔 | 自定义 | 配置设备断网后的重连时间范围,建议最小≥1000ms,最大≤30000ms,避免频繁重连 |
| 离线缓存数量 | 禁用 / 启用 + 设置条数 | 禁用为默认;启用后设置缓存上限,超出则覆盖旧数据,适合对数据完整性要求一般的场景 |
| 断网续传 | 禁用 / 启用 | 启用后,断网期间采集的 PLC 数据本地存储,重连后批量上传,数据完整性要求高的场景建议开启(与离线缓存功能互补) |
| 遗嘱设置 | 禁用 / 启用 | 启用后需配置以下参数,缺一不可:1. 主题:自定义(不能为空,如「device/mqtt/status」)2. 质量:最多一次 / 最少一次 / 精准一次(按业务可靠性要求选择)3. 内容:自定义(如「设备离线」「连接中断」,便于服务器感知设备状态) |
3、点击发布配置订阅配置,分别完成上次变量和写入变量的双向配置,确保数据收发规则匹配业务需求
| 名词 | 配置方式 | 说明 |
|---|---|---|
| 类型 | 选择上次变量与写入变量的详细控制 | 变量写入回复默认不配置,也可以根据业务实际需求进行配置 |
| 主题 | 自定义配置数据主题 | 要与服务器要求的格式一致,上传于写入的主题要做区分,避免收发混淆 |
| 是否保留 | 依据业务设置保留消息 | 主要是服务器依据设置来判断是否保留这次消息,便于后续设备的订阅 |
| 质量 | 根据业务场景选择数据消息质量 | QoS1:最多一次/QoS2:最少一次/QoS3:精准一次。等级越高,可靠性越高,但传输速度越慢,占用资源越多 |
| 数据类型 | 选择对应从协议格式 | 目前仅支持key-value/name-velue两种格式,自定义格式可以通过全局脚本里的脚本功能实现 |
| 数据格式 | 字符串/数值 | 配置的是上传变量值的类型是字符串还是数值 |
3.1进行上传变量的详细配置,依次配置:主题(自定义:sys/device/demo2026/variant_data)、消息质量(精准一次)、数据类型(key-value)、数据格式(数值) 
3.2进行写入变量的详细配置,依次配置:主题(自定义:sys/device/demo2026/write_variant)、消息质量(精准一次)、数据类型(key-value)、数据格式(数值) 
| 名词 | 内容 |
|---|---|
| 数据类型:key-value | {"电压":0,"电流":0} |
| 数据类型:name-value | [{"name":"电压","value":0},{"name":"电流","value":0}] |
| 数据类型:标准 | 直接上传正常的变量值:0 |
| 数据类型:字符串 | 在上传的变量值上添加"":"0" |
4、点击添加变量,在变量列表中精准勾选需要参与 MQTT 转发的变量(非必要变量不勾选,减少数据传输压力);支持导入 / 导出变量配置,同时支持批量修改变量的上传参数(如上传方式、上传间隔、上传名称),提升大批量变量配置效率。 
5、所有配置完成后,点击运行工程,系统将按配置启动 MQTT 数据转发流程,自动建立与 MQTT 服务器的连接并开始数据收发。 
6、工程运行后,点击[通讯报文]模块,可实时查看 MQTT 连接日志、数据收发日志、异常日志(如连接失败、重连、数据发送失败等),通过日志实现以下优化:
| 问题 | 解决方式 |
|---|---|
| 连接服务端失败 | 1.检查服务器地址、端口是否正确,设备与服务器网络是否通畅,防火墙是否放行对应端口;2.核对用户名、密码是否与 MQTT 服务器配置一致; |
| 数据正常上传,服务器收不到数据 | 1.检查发布订阅主题、消息质量、数据格式是否与服务器约定一致;2.检查转发上传的名称是否与服务器约定一致 |

