Skip to content

标准MQTT协议接入

前言

本次文档的使用说明是以支持MQTT数据转发的智能数据采集网关,通过SCADA的标准MQTT协议对接数据。不同智能网关的详细配置请参考其对应的操作文档。

1、SCADA系统配置

1.1 打开SCADA系统工程,点击右上角的齿轮图标(系统设置),在端口配置里查看MQTT TCP端口:默认20185支持修改 png

1.2 在左侧变量管理系统功MQTT接入中,点击添加设备,配置MQTT设备接入信息 png

名词说明
设备名称自定义设备名词
所属分组自定义设备分组
所属协议选择标准协议
BOX来源1.自定义输入:可以自定义客户端ID、用户名、密码,2.随机分配:则是由SCADA系统自动生成客户端ID、用户名、密码
添加数量所需要添加的MQTT设备数量
客户端ID自定义客户端ID,配置的客户端ID需要唯一且不冲突
用户名自定义用户名
密码自定义密码
状态是否启用该设备

1.3 点击变量管理,新增MQTT设备变量分组,便于数据查看与调用 png

1.4 选中已建好的变量分组,点击添加变量,点击后会自动生成一行变量的基础信息,按照实际的需求配置 png

名词说明
设备名称需要选择变量所对应的哪个设备
变量名称自定义变量名称(如温度、压力)
变量地址必须与网关上传名称完全一致
数据类型根据实际选择(int、float、bool 等)

2、智能网关配置

2.1 打开智能网关配置软件,添加MQTT数据转发功能,自定义转发名称:MQTT对接SCADA png

2.2 配置MQTT基础连接参数,配置完成后需要点击保存

名词说明
服务器地址SCADA系统所在电脑的IP地址
服务器端口SCADA系统的MQTT TCP 端口:默认20185
客户端IDSCADA系统配置的客户端 ID
用户名SCADA系统配置的用户名
密码SCADA系统配置的密码

png

2.3 配置智能网关的发布参数,上传变量主题默认:/dtu/%serial_number/data(% serial_number 自动替换为当前网关序列号),数据格式选择"上传变量标准格式" png

2.4 配置智能网关的发布参数写入变量主题默认:/dtu/%serial_number/control(% serial_number 自动替换为当前网关序列号),数据格式选择"写入变量标准格式" png

2.5 保存配置,添加转发变量。转发变量的上传名称要与SCADA系统里添加变量的变量地址一致。下载配置即可 png

3、SCADA查看数据

3.1 在SCADA里点击正式运行工程,在MQTT接入里查看设备状态,显示在线说明已连接成功 png

3.2 点击设备信息操作栏里的日志,可以查看客户端设备上传的报文信息。 png

4、SCADA MQTT标准协议规范

4.1 协议内容

功能名称类型topic说明
SCADA读主题发布/dtu/${clientId}/data设备端主动上报实时数据
SCADA写主题订阅/dtu/${clientId}/controlSCADA系统发起数据点控制

注意

1.topic中的${clientId}字段在实际通信时,要替换成SCADA系统里设置的客户端ID

4.2 实时数据上报主题(topic):/dtu/${clientId}/data

payload示例

{"time": "2026-2-28 11:4:3", "data": {"温度": 35.6,"压力": 2.2} }

参数说明

名称数据类型必须说明
timeNumber发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数)
dataObject需要上报的数据信息,以变量名为json key,数值为value,支持同时上报一个或多个数据。

注意

1.bool类型的数据点在平台下发控制时,数值使用1、0代表true、false

4.3 SCADA控制数据主题(topic):/dtu/${clientId}/control

payload示例

{"id": "69f310a12c7e4fdeb168e1c51e8fb695", "variants": [{"name": "数据1","value": 211}] }

参数说明

名称数据类型必须说明
idString消息唯一ID(SCADA 控制变量的时候自动生成)
variantsObject需要控制的数据,以变量名为json key,数值为value,支持同时控制一个或多个数据。

注意

1.bool类型的数据点在平台下发控制时,数值使用1、0代表true、false

SCADA帮助文档