涡街流量计通讯协议
(MODBUS-RTU)
1.RTU数据格式说明
1.1通讯模式
本仪表采用MODBUS RTU格式。
协议用于主从查询模式进行数据通讯。
1.2数据格式
RTU模式中每个字节(11位)的格式为:
编码系统为:8位二进制
每个字节的位:1个起始位、8个数据位(首先发送最低有效位)、1个奇偶校验位、1个停止位
注:使用无校验时要求2个停止位
波特率可选五种:1200、2400、4800、9600、19200
MODBUS报文
<--------------------------------------------------------------------------------------------------------------->
起始 |
地址 |
功能码 |
数据 |
CRC校验 |
结束 |
≥3.5字符 |
8 bit |
8 bit |
n*8 bit |
16 bit |
≥3.5字符 |
注:
(1) RTU模式中,时长至少为3.5个字符时间的空闲间隔将报文帧区分开。
(2) 必须以连续的字符流发送整个报文帧。
(3) 两个字符之间的空闲间隔应不超过1.5个字符时间。
1.3 地址
协议中规定仪表的地址为“0-255”, “0”地址用于广播,本协议不支持广播,其余地址保留。
2.命令说明
2.1 本仪表使用了MODBUS协议中1条指令:
2.2数据格式
协议中的数据包括:浮点数
32单精度浮点数SINGLE格式为IEEE754,折合4字节,排列顺序为3-4-1-2。
转换为1-2-3-4顺序后,由最高到最低位分别是第31、30、29、„„、0位 。
注:31位是符号位(S),1表示该数为负,0反之; 30-23位,一共8位是阶码;22-0位,一共23位是尾数。
命令03格式如下(读寄存器命令):
MODBUS 请求
仪表地址 |
1 BYTE |
01-255 |
功能码 |
1 BYTE |
0x03 |
起始地址 |
2 BYTE |
0-FFFF |
读取数量 |
2 BYTE |
1-12 |
CRC低位 |
1 BYTE |
|
CRC高位 |
1 BYTE |
|
MODBUS 响应
仪表地址 |
1 BYTE |
01-255 |
功能码 |
1 BYTE |
0x03 |
字节计数 |
1 BYTE |
N |
输入状态 |
N*2 BYTE |
|
CRC低位 |
1 BYTE |
|
CRC高位 |
1 BYTE |
|
MODBUS 错误
仪表地址 |
1 BYTE |
01-255 |
差错码 |
1 BYTE |
0x83 |
异常码 |
2 BYTE |
01或02或03或04 |
CRC低位 |
1 BYTE |
|
CRC高位 |
1 BYTE |
|
举例
请求 |
响应 |
域名称 |
数据(HEX) |
域名称 |
数据(HEX) |
仪表地址码 |
01 |
仪表地址码 |
01 |
功能码 |
03 |
功能码 |
03 |
起始地址高(字节) |
00 |
字节计数 |
06 |
起始地址低(字节) |
00 |
寄存器高(0001) |
02 |
读取数据量高(字节) |
00 |
寄存器低(0001) |
13 |
起始地址低(字节) |
03 |
寄存器高(0002) |
00 |
|
寄存器低(0002) |
00 |
寄存器高(0003) |
00 |
寄存器低(0003) |
13 |
CRC校验 |
校验码 |
CRC校验 |
校验码 |
-
数据项定义
属性 |
地址 |
寄存器长度 |
数据类型 |
说明 |
R |
40001-2 |
2 |
SINGLE |
介质温度(℃) |
R |
40003-4 |
2 |
SINGLE |
介质压力,同仪表设置 |
R |
40005-6 |
2 |
SINGLE |
传感器频率(Hz) |
R |
40007-8 |
2 |
SINGLE |
每小时瞬时流量,同仪表设置 |
R |
40009-10 |
2 |
SINGLE |
累计流量的百位以上,同仪表设置 |
R |
40011-12 |
2 |
SINGLE |
累计流量的百位以下,同仪表设置 |
注:累积流量=累积量百位以上x100+累积量百位以下
仪表默认设置:机号-1;波特率-9600;奇偶校验-不校验