1 系统概念

1.1 协议概念

  • 日常使用中,我们所谈论的协议主要分为两种,一为通讯协议,这个是网络传输层的概念,目前市面上用的到普遍有TCP、MQTT、DUP和HTTP等,
  • 另一种为设备协议,设备协议所指设备发送数据格式的规约(如ModbusRTU),目前通讯协议是统一一致的,设备协议存在多样性,目前市面存在各种各样的设备协议,modbus算当中用的比较多一些的。

1.2设备号

  • 设备号[device_code]它是指的负责连接网络的设备唯一SN号,区分不同设备连接上来。
  • 如下图:它可以自动生成,也可以手动填入,格式可以为数字也可以为字符串;
Modbus物联网平台设备添加教程插图1
图a系统中设备号位置

1.3地址号和寄存器号

  • 地址号[sensor_device_id]和寄存器号[port_id],它的作用主要是用来区分设备传输的数据。它支持一台网关设备下传输多个不同地址传感器,也可以为一台网关设备下传输多种传感器数据。地址号主要用来区分不同传感器设备的,寄存器号是用来标注同一台传感器设备不同的数据类型的。
Modbus物联网平台设备添加教程插图3
图b添加传感点中地址号和寄存器号

2 TCP连接协议

2.1MLINK协议

  • MLINK 协议(小名协议)是使用字符流格式的数据协议,目前数据协议包含登录包、心跳包、数据上传、控制下发、控制返回,配置下发、配置返回等数据指令。

●登录包(设备 – > 服务器)【首次建立 TCP 连接发送】

[device_code]

例子:1u76yshydtdhh ,其中 1u76yshydtdhh 为设备 SN 号;

设备返回:

loginok

登录成功

●心跳包(设备 – > 服务器)维持 TCP 连接,设备偏好发送

Q

固定格式

●上传传感点数据(设备 – > 服务器)

S[sensor_device_id]:[port_id]*[value],[sensor_device_id]:[port_id]*[value]E

例子:S1:0*12.5,1:1*-0.05,1:2*1,1:3*119.5107+31.64459E

sensor_device_id 地址号

port_id 寄存器号

value 数值

单经纬度上传: S1:3*119.5107+31.64459E

备注:其中 GPS 经纬度数值,用+连接在一起;

服务器收到数据成功后,返回 rok

●服务器下发 控制/配置 命令(服务器 – > 设备)

S[sensor_device_id]:[port_id]*[value]E

例子:S1:0*0E

备注:按钮开关命令,0 为关,1 为开;

●设备接收命令返回(设备 -> 服务器)

S[sensor_device_id]:[port_id]*[value]E

例子:S1:0*0E

2.2 Modbus RTU 协议(标准)

  • 系统兼容标准的 modbus RTU 协议。
  • DTU 配置时,需要配置成透传模式,并且设置自定义注册包,注册包为设备的 SN 即可;
  • 连接地址: cloud.modbus.cn(或者对应 IP)
  • 端口:50001

2.3 Modbus TCP 协议(标准)

  • 系统兼容标准的 modbus TCP 协议。
  • DTU 配置时,需要配置成透传模式,并且设置自定义注册包,注册包为设备的 SN 即可;
  • DTU 需设置 modbus 模式
  • 连接地址: cloud.modbus.cn(或者对应 IP)
  • 端口:50001

2.4 环境 212 标准

  • 系统支持 GB-HJ212 协议。
  • 连接地址: cloud.modbus.cn(或者对应 IP)
  • 端口:50001
  • 数据配置格式如下,地址号填写类型,寄存器号默认为 0
Modbus物联网平台设备添加教程插图5

3 MQTT 连接协议

3.1 MLINK MQTT

Broker Address:cloud.modbus.cn

Broker Port:1883

Client ID:[device_code] [设备号]

User Name:modbus

Password:modbus

●客户端 -> 服务器

客户端发布到下方主题数据

Topic:/dev/coo/[device_code]

数据格式:

[{“sensor_device_id”:0,”port_id”:0,”sdata”:1.0},

{“sensor_device_id”:1,”port_id”:1,”sdata”:18.3}]

sensor_device_id 地址号

port_id 寄存器号

Sdata 数据数值

●服务器 -> 客户端

客户端关注下方主题,服务器推送数据

Topic:/server/coo/[device_code]

数据格式:

{“sensor_device_id”:0,”port_id”:0,”sdata”:0.0}

sensor_device_id 地址号

port_id 寄存器号

Sdata 传感器数值

备注:如果是继电器开关的话,则 0 关闭,1 打开;

3.2 ZLAN MQTT

Broker Address:cloud.modbus.cn

Broker Port:1883

Client ID:[device_code] [设备号]

User Name:modbus

Password:modbus

●客户端 -> 服务器

客户端发布到下方主题数据

Topic:/dev/coo/[device_code]

数据格式:

{

“[sensor_device_id]-[port_id]”: sdata,

“[sensor_device_id]-[port_id]”: sdata

}

如: { “1-0”: 1 , “1-1”:34.6 }

sensor_device_id 地址号

port_id 寄存器号

Sdata 数据数值

服务器 -> 客户端

客户端关注下方主题,服务器推送数据

Topic:/server/coo/[device_code]

数据格式:

{ “[sensor_device_id]-[port_id]”: sdata }

如:

{ “1-0”: 1 }

sensor_device_id 地址号

port_id 寄存器号

Sdata 传感器数值

备注:如果是继电器开关的话,则 0 关闭,1 打开;

相关新闻

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

邮箱

cloud@modbus.cn

QQ
QQ
微信
微信
分享本页
返回顶部