当前位置:文档之家› MODBUS协议水表通讯协议

MODBUS协议水表通讯协议

MODBUS水表通讯协议

(RTU模式)

一、通讯设置

1. 波特率:9600

2. 校验:无校验

3. 数据位:8

4. 停止位:1

二、modbus协议

1、读操作(03H)

地址功能码第一个寄存

器高位地址

第一个寄存

器低位地址

寄存器的数

量的高位

寄存器的数

量的低位

CRC校

验低位

CRC校

验高位

XX 03 XX XX XX XX XX XX 2、读操作回复(03H)

地址功能码字节数数据高字节……数据低字节CRC校

验低位

CRC校

验高位

XX 03 XX XX ……XX XX XX 3、写操作(06H)

地址功能码第一个寄存

器高位地址

第一个寄存

器低位地址

数据高字节数据低字节

CRC校

验低位

CRC校

验高位

XX 06 XX XX XX XX XX XX 4、写操作回复(06H)

地址功能码第一个寄存

器高位地址

第一个寄存

器低位地址

数据高字节数据低字节

CRC校

验低位

CRC校

验高位

XX 06 XX XX XX XX XX XX 5、写操作(10H)

地址功

第一个

寄存器

高位地

第一个寄

存器低位

地址

寄存器

的数量

的高位

寄存器

的数量

的低位

数据

高字

数据

低字

CRC

校验

低位

CRC

校验

高位

XX 10 XX XX XX XX XX XX …XX XX XX 6、写操作回复(10H)

地址功能码第一个寄存

器高位地址

第一个寄存

器低位地址

寄存器的数

量的高位

寄存器的数

量的低位

CRC校

验低位

CRC校

验高位

XX 10 XX XX XX XX XX XX 7、异常码

地址功能码异常码CRC校验低位CRC校验高位

XX

XX

(注3)

01H 非法功能

02H 非法数据地址

03H 非法数据值

XX XX

注3 异常码是正常功能码的最高位加1,如读操作03H的异常功能码为83H,写单个字06H的异常功能码为86H,写多个字的10H的异常功能码为90H。

8、寄存器地址

名称寄存器地址字节数操作备注

设备地址0200H 2 读00H为单只读地址

累计流量0202H 4 读/写注1

表具状态0206H 2 读注2

倍率值0208H 2 读/写见注1中的解释

注1:

累计流量为4个字节的十六进制数,高位在前,低位在后,

累计流量采用无符号的32 位数据(2个字)

如:实际数据为123456,则高位字保存0x0001,低位字保存0xE240。

单位:根据您写入的倍率值计算,本水表不参与计算,只记录实际脉冲值。

比如,您写入的倍率值为分别表示为00H代表1个脉冲只为1立方、01H代表0.1立方、02H代表0.01立方,那么数据123456分别为123456立方;12345.6立方;1234.56立方,由您在上位机程序中进行计算和处理。

注2:

表具状态位

7 6 5 4 3 2 1 0

无意义无意义无意义无意义无意义0为现在电

无意义无意义

池不缺电

1为现在

电池缺电

三、举例说明:

假设表地址为01(表地址范围1-247)

写表底数123456(16进制: 01E240H)

01 10 02 02 00 02 04 00 01 E2 40 73 86 13个字节

写表底数返回: 01 10 02 02 00 02 E1 B0 8个字节

异常时返回: 01 90 03 0C 01 5个字节(非法数据值)

----------------------------------------------------------------------------------------------

读表累计: 01 03 02 02 00 02 64 73 8个字节

读累计返回: 01 03 04 00 01 E2 40 E2 A3 9个字节

异常时返回: 01 83 03 01 31 5个字节

-----------------------------------------------------------------------------------------------

读表地址: 00 03 02 00 00 01 84 63 8个字节

返回: 01 03 02 00 01 79 84 7个字节

注意!读表地址时,总线上只能连接1只表。

----------------------------------------------------------------------------------------------

写倍率:01 06 02 07 00 10 38 7F 8个字节 (设倍率值为10H)

相关主题