Skip to content

key-value协议接入

前言

本次文档的使用说明是以MQTT X调试工具,通过SCADA的 key-value MQTT协议对接数据。

1、SCADA系统配置

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

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

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

png

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

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

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

png

2、MQTTX配置

2.1 打开MQTTX软件,新建MQTT链接,配置MQTT基础连接参数,配置完成后需要点击保存

名词说明
名称自定义转发名称:SCADA(key-value协议)
Client IDSCADA系统配置的客户端 ID
服务器地址SCADA系统所在电脑的IP地址
服务器端口SCADA系统的 MQTT TCP 端口:默认20185
用户名SCADA系统配置的用户名
密码SCADA系统配置的密码

png

2.3 MQTTX里,输入上传变量主题:sys/${clientId}/data(${clientId}需要替换为SCADA系统里设置的客户端ID如上述的demo001)sys/demo001/data png

2.4 MQTTX里配置订阅SCADA系统写入变量主题:sys/${clientId}/write(${clientId}需要替换为SCADA系统里设置的客户端I如上述的demo001)sys/demo001/write png

3、SCADA查看数据

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

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

4、SCADA MQTT key-value协议规范

4.1 协议内容

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

注意

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

4.2 实时数据上报主题(topic):sys/${clientId}/data,如上述文档里的:sys/demo001/data

payload示例

{ "name":"value" }

参数说明

名称数据类型必须说明
dataObject需要上报的数据信息,name代表变量名称,value代表变量值,支持同时上报一个或多个数据。

注意

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

4.3 SCADA控制数据主题(topic):sys/${clientId}/write,如上述文档里的:sys/demo001/write

payload示例

{ "name":"value" }

参数说明

名称数据类型必须说明
dataObject需要控制的数据,name代表变量名称,value代表变量值,支持同时控制一个或多个数据。

注意

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

SCADA帮助文档