开封超声波明渠流量计V1.4版 超声波明渠流量计MODBUS通讯协议2014.4.21

超声波明渠流量计MODBUS通讯协议

V1.4版

MODBUS—RTU方式通讯协议

  • 硬件采用RS—485,主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。
  • 数据帧 10位,1个起始位,8个数据位,1个停止位,无校验。

波特率:1200 2400 4800 9600(默认为9600)

  • 功能码03H:读寄存器值

主机发送:

1 2 3 4 5 6 7 8
ADR 03H 起始寄存器高字节 起始寄存器低字节 寄存器数量高字节 寄存器数量低字节 CRC码低字节 CRC码高字节

 

第1字节 ADR:从机地址码(=001~254)

第2字节  03H:读寄存器值功能码

第3、4字节:   要读的寄存器开始地址

第5、6字节:   要读的寄存器数量

第7、8字节:   从字节1到6的CRC16校验

 

当从机接收正确时,从机回送:

1 2 3 4、5 6、7   M-1、M M+1 M+2
ADR 03H 字节总数 寄存器数据1 寄存器数据2 。。。 寄存器数据M CRC码低字节 CRC码高字节

 

第1字节 ADR:从机地址码(=001~254)

第2字节 03H: 返回读功能码

第3字节 :     从4到M(包括4及M)的字节总数

第4到M字节: 寄存器数据

第M+1、M+2字节:从字节1到M的CRC16校验

 

当从机接收错误时,从机回送:

 

1 2 3 4 5
ADR 83H 信息码 CRC码低字节 CRC码高字节

 

第1字节 ADR:从机地址码(=001~254)

第1字节 83H: 读寄存器值出错

第3字节 信息码:见信息码表

第4、5字节:从字节1到3的CRC16校验

 

 

 

 

  • 功能码06H:写单个寄存器值

主机发送:

1 2 3 4 5 6 7 8
ADR 06 寄存器地址高字节 寄存器地址低字节 数据高字节 数据低字节 CRC码低字节 CRC码高字节

 

当从机接收正确时,从机回送:

1 2 3 4 5 6 7 8
ADR 06 寄存器高字节 寄存器低字节 数据高字节 数据低字节 CRC码低字节 CRC码高字节

 

当从机接收错误时,从机回送:

1 2 3 4 5
ADR 86H 错误信息码 CRC码低字节 CRC码高字节

 

第1字节 ADR:从机地址码(=001~254)

第1字节 86H: 写寄存器值出错功能码

第3字节 信息码:见信息码表

第4、5字节:从字节1到3的CRC16校验

 

  • 功能码10H:连续写多个寄存器值

主机发送:

1 2 3 4 5 6 7
ADR 10H 起始寄存器地址高字节 起始寄存器地址低字节 寄存器数量高字节 寄存器数量低字节 数据字节总数

 

8、9 10、11 N、N+1 N+2 N+3
寄存器数据1 寄存器数据2 寄存器数据M CRC码低字节 CRC码高字节

 

当从机接收正确时,从机回送:

1 2 3 4 5 6 7 8
ADR 10H 起始寄存器地址高字节 起始寄存器地址低字节 寄存器数量高字节 寄存器数量低字节 CRC码低字节 CRC码高字节

 

当从机接收错误时,从机回送

1 2 3 4 5
ADR 90H 错误信息码 CRC码低字节 CRC码高字节

 

第1字节 ADR:从机地址码(=001~254)

第1字节 90H: 写寄存器值出错功能码

第3字节 信息码:见信息码表

第4、5字节:从字节1到3的CRC16校验

  • 寄存器定义表:(注:寄存器地址编码为16进制)
寄 存

器 地

内容说明

寄存

器地

内容说明

0000 距离/物位瞬时值(4字节浮点数高2字节) 0001 距离/物位瞬时值(4字节浮点数低2字节)
0002 瞬时流量值(4字节浮点数高2字节) 0003 瞬时流量值(4字节浮点数低2字节)
0004 累积流量值整数部分(4字节长整型高2字节) 0005 累积流量值整数部分(4字节长整型低2字节)
0006 累积流量值小数部分(4字节浮点数高2字节) 0007 累积流量值小数部分(4字节浮点数低2字节)
0008 模拟输出瞬时值(4字节浮点数高2字节) 0009 模拟输出瞬时值(4字节浮点数低2字节)
000A 温度瞬时值(4字节浮点数高2字节) 000B 温度瞬时值(4字节浮点数高2字节)
000C 保留   000D 保留  
000E

 

保留   000F 保留  
0012 保留   0013 保留  
0014 保留   0015 保留  
0016 保留   0017 保留  
0018 保留   0019 保留  
001A 保留   001B 保留  
001C 保留   001D 保留  
001E 保留   001F 保留  
0020 保留   0021 保留  
0022 报警1值(4字节浮点数高2字节)   0023 报警1值(4字节浮点数低2字节)  
0024 报警1回差值(4字节浮点数高2字节)   0025 报警1回差值(4字节浮点数低2字节)  
0026 报警2值(4字节浮点数高2字节)   0027 报警2值(4字节浮点数低2字节)  
0028 报警2回差值(4字节浮点数高2字节)   0029 报警2回差值(4字节浮点数低2字节)  
002A 报警3值(4字节浮点数高2字节)   002B 报警3值(4字节浮点数低2字节)  
002C 报警3回差值(4字节浮点数高2字节)   002D 报警3回差值(4字节浮点数低2字节)  
002E 报警4值(4字节浮点数高2字节)   002F 报警4值(4字节浮点数低2字节)  
0030 报警4回差值(4字节浮点数高2字节)   0031 报警4回差值(4字节浮点数低2字节)  
0032 参考零点(4字节浮点数高2字节)   0033 参考零点(4字节浮点数低2字节)  
0034 量程高点(4字节浮点数高2字节)   0035 量程高点(4字节浮点数低2字节)  
0036 量程低点(4字节浮点数高2字节)   0037 量程低点(4字节浮点数低2字节)  
0038 设定电流(4字节浮点数高2字节)   0039 设定电流(4字节浮点数低2字节)  
003A 盲区设置(4字节浮点数高2字节)   003B 盲区设置(4字节浮点数低2字节)  
003C 修工系数c(4字节浮点数高2字节)   003D 修工系数c(4字节浮点数低2字节)  
003E 指数n(4字节浮点数高2字节)   003F 指数n(4字节浮点数低2字节)  
0040 20mA瞬时流量值(4字节浮点数高2字节)   0041 20mA瞬时流量值(4字节浮点数低2字节)  
0042 4mA瞬时流量值(4字节浮点数高2字节)   0043 4mA瞬时流量值(4字节浮点数低2字节)  
0044 累加水量整数部分(4字节长整型高2字节)   0045 累加水量整数部分(4字节长整型低2字节)  
0046 累加水量小数部分(4字节浮点数高2字节)   0047 累加水量小数部分(4字节浮点数低2字节)  
0048 堰口宽B(4字节浮点数高2字节)   0049 堰口宽B(4字节浮点数低2字节)  
004A 上游渠道宽b(4字节浮点数高2字节)   004B 上游渠道宽b(4字节浮点数低2字节)  
004C 堰壁高p(4字节浮点数高2字节)   004D 堰壁高p(4字节浮点数低2字节)  
004E 堰槛宽(4字节浮点数高2字节)   004F 堰槛宽(4字节浮点数低2字节)  
0050 保留   0051 保留  
0052 保留   0053 保留  
0054 保留   0055 保留  
0056 保留   0057 保留  
0058 保留   0059 保留  
005A 保留   005B 保留  
005C 报警1模式      报警2模式   005D 报警3模式       报警4模式  
005E 测量模式       单位选择   005F 算法选择        安全物位  
0060 探头类型        响应速度   0061 水量清零        流量单位  
0062 界面切换         电流输出   0063 直角三角堰      矩形堰  
0064 梯形堰           巴歇尔槽   0065 出厂复位        系统复位  
0066 波特率          工作方式   0067 保留  
0068 保留   0069 保留  
006A 保留   006B 表型字          仪表地址  

 

备注:

  • 4字节浮点数:符合IEEE—754标准的单精度浮点数
字节地址 +3 +2 +1 +0
浮点数内容 SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM

S符号位,“1”表示负,“0”表示正。

E为阶码

M为尾数的小数点部分

例如:浮点数 124.75 = 42F94000H,在内存中的存放格式为:

字节地址 +3 +2 +1 +0
浮点数内容 0 1000010 1 1111001 01000000 00000000

 

8字节双精度(double型):符合IEEE—754标准

例如:浮点数 38414.4 =40E2C1CCCCCCCCCC H,在内存中的存放格式为:

字节地址 +7 +6 +5 +4 +3 +2 +1 +0
浮点数内容 SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM

 

 

测量模式:0 — 测量距离; 1 — 测量物位

安全物位:=0,保持; =55,最小值;=AA,最大值;=A5,设定值

报警1、2、3、4模式:0 — 关闭;1— 地位报警; 2 — 高位报警

单位选择:= 0,mm;=1,cm;=2,m

算法选择:0—特殊环境一;1—特殊环境二;2—特殊环境三;3—特殊环境四;4—特殊环境五;

5—特殊环境六;6—特殊环境七

探头类型:0—选择1;1—选择2;2—选择3;3—选择4;4—选择5;5—选择6;6—选择7;

7—选择8;8—选择9;

响应速度:0—慢速;1—中速;2—快速;

水量清零: 0—否;1—是;

流量单位:=0,t/h(吨/小时); =1,l/s(升/秒); =2,t/s(吨/秒);

界面切换:0—否;1—是;

电流输出:=0,流量输出;=1液位输出

直角三角堰:=0 ,不选用;=1,选用直角三角堰

矩形堰:=0 不选用;=1, 0.25米;=2,0.50米;=3,0.75米;=4,1.00米;=5,自定义

梯形堰:=0不选用,=1选用

巴歇尔槽:=0不选用,=1选用

出厂复位: 0—否;1—是;

系统复位: 0—否;1—是;

波特率:  0—2400;1—4800;2—9600;3—19200

工作方式:0—自动报告模式;1—查询模式

 

 

寄存器分区域执行读写操作

第一区域 0010 — 001D 只读

第二区域 0022 — 0033 读写

第三区域 0034 — 004B 读写

同一区域内,可单次读(或写)某一参数,也可以批读(或写)本区域内所有参数,不允许跨区域进行读写操作。

 

④ 所有保留寄存器目前无定义,保留将来升级兼容。

 

  • 信息码表
信息码 表示意义
01H 非法的功能码
02H 非法的数据地址
03H 非法的数据值
04H CRC16校验错
05H 接收正确
06H 接收错误
07H 参数错误

 

 

  • 串口数据帧采集通讯协议范例

 

主机发送数据

站号 功能码 起始地址 读取点数 校验码 意义
01 03 0000 0002 C40B 读取水位值,单精度浮点数
01 03 0002 0002 65CB 读取瞬时流量值,单精度浮点数
01 03 0004 0002 85CA 读取累加流量值整数部分,长整型
01 03 0006 0002 240A 读取累加流量值小数部分,单精度浮点数

 

9、PLC地址设置说明(以西门子S7-200 PLC为例子说明)

PLC设置时如果没有功能码设置项时,使用能码03 对应modbus RTU 寄存器基地址40001,

所以PLC设置寄存器地址时应在原地址上加1.

例:

超声波明渠流量计MODBUS寄存器地址为2(0x0002),MODBUS功能码为3时,PLC寄存器地址为40003。

 

PLC读取地址表

功能码:03

说明:读取保持寄存器的值

 

地址 描述 说明
40001 距离/物位瞬时值 单精度浮点数
40003 瞬时流量值 单精度浮点数
40005 累积流量值整数部分 长整型
40007 累积流量值小数部分 单精度浮点数
40009 模拟输出瞬时值 单精度浮点数
40011 温度瞬时值 单精度浮点数

 

下载信息
下载地址:发表评论并刷新可见

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定