含水分析仪通讯协议
1、说明
通讯采用Modbus RTU 协议,本文件将规范和界定通讯协议的相关内容,含水分析位下位机与上位机及其他相联设备需依据本文针界定之规范编程及操作。
2硬件层
RS485半双工通讯链路,波特率可设置(默认96000bps),通讯格式N81(1个起始忆,8个数据位,1个停止位,无奇识位)。
含水分析仪只能工作于Modbus RTU从设备换式,计算机或其他设备作为主设备,只有在主设备发出读或者写命令时,单井含水分析仪才会依据需要返回数据,
3.Modbus RTU ,消息帧结构
3.1从设备地址:
指仪表的地址,范围1~247,默认为0xl2.
3.2功能码:
能用到的为0x03.0x06。
3.3字节数:
在数据传输的消息帧中,表明数据域中的字节数。最大为250.
3.4寄存器起始地址:
对于需要返回数据的查询命令。这个字段表明了要查询的寄存器(或数据)的起始选址。
3.5寄存器个数:
对于需要返回数据的查询命令,这个字段包含需要返回的有存器个数。
3.6CRC校验:
16bits的CRC校验数据。高字节在前。
4.功能字
4.1下表表明含水分析仪支持的功能字
寄存器地址
功能字
数据类型
访问模式
描述
000D
03/06
Integer
R/W
本机地址
0104
03
Integer
R
瞬时含水率,扩大100倍
4.2 数据格式:整数型
Bits
15-8
High byte
7-0
Low byte
4.3 异常响应代码
当请求的CRC校验错误时返回
地址
12
功能码
83/90H
异常码
2
CRC校验Lo
XX
CRC校验Hi
XX
当请求的寄存器地址没有返回时:
地址
01
功能码
83/90H
异常码
3
CRC校验Lo
XX
CRC校验Hi
XX
当请求的寄存器数量错误时返回:
地址
01
功能码
83/90H
异常码
4
CRC校验Lo
XX
CRC校验Hi
XX
5.命令举例:
5.1设置本机地址:0x0003,(本命令对标定计算机和上位机同时开放)
上位机发送查询帧(广播方式,广播地址0xFE)
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x06
0x00
0x0D
0x00
0x03
0x4C
0x07
含水仪返回帧
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x06
0x00
0x0D
0x00
0x03
0x4C
0x07
2读本机地址
上位机发送查询帧(广播方式,广播地址0xFE)
广播地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0xFE
0x03
0x00
0x0D
0x00
0x01
0x01
0xC6
含水仪响应数据帧(本机地址:01)
广播地址
功能码
字节数
数据地址高字节
数据地址低字节
CRC校验码
CRC校验码
0xFE
0x03
0x02
0x00
0x03
0xEC
0x51
5.2 瞬时含水率(整型)
上位机发送查询帧(广播方式,广播地址0xFE)
从机地址
功能码
寄存器始地址高字节
寄存器始地址低字节
数据
CRC校验码
CRC校验码
地址高字节
地址低字节
0x12
0x03
0x01
0x04
0x00
0x01
0XC6
0x94
含水仪响应数据帧(瞬时含水率12.34)
从机地址
功能码
数据总字节数
瞬时含水率
CRC校验码
CRC校验码
0x12
0x03
0x02
0x04
0XD2
0XBF
0x1A
数据格式为瞬时含水率放大100倍后的整型数,每个整型数占2个字节