Appearance
标准MQTT协议接入
前言
本次文档的使用说明是以支持MQTT数据转发的智能数据采集网关,通过SCADA的标准MQTT协议对接数据。不同智能网关的详细配置请参考其对应的操作文档。
1、SCADA系统配置
1.1 打开SCADA系统工程,点击右上角的齿轮图标(系统设置),在端口配置里查看MQTT TCP端口:默认20185支持修改 
1.2 在左侧变量管理系统功MQTT接入中,点击添加设备,配置MQTT设备接入信息 
| 名词 | 说明 |
|---|---|
| 设备名称 | 自定义设备名词 |
| 所属分组 | 自定义设备分组 |
| 所属协议 | 选择标准协议 |
| BOX来源 | 1.自定义输入:可以自定义客户端ID、用户名、密码,2.随机分配:则是由SCADA系统自动生成客户端ID、用户名、密码 |
| 添加数量 | 所需要添加的MQTT设备数量 |
| 客户端ID | 自定义客户端ID,配置的客户端ID需要唯一且不冲突 |
| 用户名 | 自定义用户名 |
| 密码 | 自定义密码 |
| 状态 | 是否启用该设备 |
1.3 点击变量管理,新增MQTT设备变量分组,便于数据查看与调用 
1.4 选中已建好的变量分组,点击添加变量,点击后会自动生成一行变量的基础信息,按照实际的需求配置 
| 名词 | 说明 |
|---|---|
| 设备名称 | 需要选择变量所对应的哪个设备 |
| 变量名称 | 自定义变量名称(如温度、压力) |
| 变量地址 | 必须与网关上传名称完全一致 |
| 数据类型 | 根据实际选择(int、float、bool 等) |
2、智能网关配置
2.1 打开智能网关配置软件,添加MQTT数据转发功能,自定义转发名称:MQTT对接SCADA 
2.2 配置MQTT基础连接参数,配置完成后需要点击保存
| 名词 | 说明 |
|---|---|
| 服务器地址 | SCADA系统所在电脑的IP地址 |
| 服务器端口 | SCADA系统的MQTT TCP 端口:默认20185 |
| 客户端ID | SCADA系统配置的客户端 ID |
| 用户名 | SCADA系统配置的用户名 |
| 密码 | SCADA系统配置的密码 |

2.3 配置智能网关的发布参数,上传变量主题默认:/dtu/%serial_number/data(% serial_number 自动替换为当前网关序列号),数据格式选择"上传变量标准格式" 
2.4 配置智能网关的发布参数写入变量主题默认:/dtu/%serial_number/control(% serial_number 自动替换为当前网关序列号),数据格式选择"写入变量标准格式" 
2.5 保存配置,添加转发变量。转发变量的上传名称要与SCADA系统里添加变量的变量地址一致。下载配置即可 
3、SCADA查看数据
3.1 在SCADA里点击正式运行工程,在MQTT接入里查看设备状态,显示在线说明已连接成功 
3.2 点击设备信息操作栏里的日志,可以查看客户端设备上传的报文信息。 
4、SCADA MQTT标准协议规范
4.1 协议内容
| 功能名称 | 类型 | topic | 说明 |
|---|---|---|---|
| SCADA读主题 | 发布 | /dtu/${clientId}/data | 设备端主动上报实时数据 |
| SCADA写主题 | 订阅 | /dtu/${clientId}/control | SCADA系统发起数据点控制 |
注意
1.topic中的${clientId}字段在实际通信时,要替换成SCADA系统里设置的客户端ID
4.2 实时数据上报主题(topic):/dtu/${clientId}/data
payload示例
{"time": "2026-2-28 11:4:3", "data": {"温度": 35.6,"压力": 2.2} }
参数说明
| 名称 | 数据类型 | 必须 | 说明 |
|---|---|---|---|
| time | Number | 是 | 发生时间,格式为毫秒级的UNIX时间戳(从1970年开始的毫秒数) |
| data | Object | 是 | 需要上报的数据信息,以变量名为json key,数值为value,支持同时上报一个或多个数据。 |
注意
1.bool类型的数据点在平台下发控制时,数值使用1、0代表true、false
4.3 SCADA控制数据主题(topic):/dtu/${clientId}/control
payload示例
{"id": "69f310a12c7e4fdeb168e1c51e8fb695", "variants": [{"name": "数据1","value": 211}] }
参数说明
| 名称 | 数据类型 | 必须 | 说明 |
|---|---|---|---|
| id | String | 是 | 消息唯一ID(SCADA 控制变量的时候自动生成) |
| variants | Object | 是 | 需要控制的数据,以变量名为json key,数值为value,支持同时控制一个或多个数据。 |
注意
1.bool类型的数据点在平台下发控制时,数值使用1、0代表true、false
