MBRTU协议

协议概述

MBRTU即MODBUS RTU的简称,MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。平台的MBRTU协议是建立在TCP协议之上的应用层协议。一般使用DTU实现底层TCP连接,然后平台和设备进行应用层的modbus协议通讯。了解MODBUS协议详细内容请下载 Modbus协议中文版【完整版】。

连接地址

每一种协议的连接服务器地址和端口号都不一样,请登录平台>设备管理>进入设置连接界面查看。

读写指令说明

从站地址
平台支持一个DTU接入多个设备(通过RS485),所以要求每个设备的从站地址各不相同。
功能码
01读写:对开关量(bit位)进行读写,写入默认使用05功能码(不需要单独设置),该功能码一般针对PLC的开关输出点(比如西门子PLC的Q点)。
02只读:对开关量(bit位)进行读,是只读的,不允许写入,一般针对PLC的开关输入点(比如西门子PLC的I点)。
03读写:对整形/浮点型数据进行读写,写入默认使用06功能码(16位整形数据)和10功能码(32位和64位整形和浮点型数据),也就是对单个寄存器写入使用06,多个寄存器使用10。
04只读:对整形/浮点型数据进行读,只读不写。
偏置
偏置表示的是数据地址。如果数据地址是16进制表示(0x0000开始),则需要把16进制转为十进制并加1,才是偏置的值。如果地址使用区号+序号表示(比如40001),则偏置只取序号就可以了(也就是1)。
数据格式
Bit:二进制位
16位有符号数:占用1个偏置,2个字节,表示正负整数,数据范围-32768~32767。
16位无符号数:占用1个偏置,2个字节,表示正整数,数据范围0~65535。
16位按位读写:占用1个偏置,表示16位二进制,通过数据位(1~16)指定具体的位。
32位有符号数:占用2个偏置,4个字节,表示正负整数,数据范围- 2147483648~ 2147483647。
32位无符号数:占用2个偏置,4个字节,表示正整数,数据范文0~ 4294967295。
32位浮点型数:占用2个偏置,4个字节,可表示正数、负数、正数、小数。
64位浮点型数:占用4个偏置,8个字节,可表示正数、负数、正数、小数。
字节顺序
表示字节的高低位顺序。
采集周期
表示读取传感器数据的周期时间,由于MODBUS协议是请求应答式协议,每次读数据都会等待接收,等待的过程会产生延时,最长等待20秒,所以越多数据不响应,采集周期会越长。

示例:
5fe4bd970f6e30f50bf288254d33b78.png
模型配置:
fad2b4db885fbda4bd435fa5bf17e00.png
ac2663f4131456a74501c787a4ebba6.png
数据点配置:
98771f928f7d5639892ce0689694b74.png
资产配置:
b6342e572d85d769b055a845fad3ba1.png