您好,欢迎访问一九零五行业门户网

多普勒流速仪通讯协议

流速仪通讯协议
一协议说明
1、本机采用主从握手模式
波特率 9600 数据 8位 无校验 停止位 1
主机采集液位数据格式如下:
010300 0000 02xx xx
从机地址 功能码 寄存器起始地址 读取寄存器个数 crc
从机回码数据格式如下:
0103 049d b2 3e 0fxx xx
从机地址 功能码 字节数 数据 crc
从机地址——默认 01 十六进制 支持主机修改
如:9d b2 3e 0f——对应十进制为0.140米
2、寄存器表
寄存器地址
寄存器个数
变量名称
单位
数据类型
01 02
02
液位

ieee754标准单精度浮点数
03 04
02
流速

ieee754标准单精度浮点数
05 06
02
流量
立方米/秒
ieee754标准单精度浮点数
连续读取6个寄存器
01 03 00 00 00 06 c5 c8
01 03 0c e1 00 40 c0c1 01 44 0000 00 00 006c 84
液位 流速 流量
3、数据格式
ieee754标准单精度浮点数由1位符号位+8位阶码+23位尾数组成,用四位十六进制数表示。如124.75用十六进制表示为42 f9 80 00。计算方法是:
124.75换算成二进制:1111100.11
用科学计数法表示为:1.11110011*2^6
阶码6+127=133,并用0表示正,1表示负。因此124.75的二进制数为:
0 10000101 11110011000000000000000b=42f98000h
4、crc循环冗余校验
循环冗余校验crc区为2字节,含一个16位二进制数据。由发送设备计算crc值,并把计算值附在信息中,接收设备在接收信息时,重新计算crc值,并把计算值与接收的在crc区中实际值进行比较,若两者不相同,则产生一个错误。
crc开始时先把寄存器的16位全部置成“1”,然后把相邻2个8位字节的数据放入当前寄存器中,只有每个字符的8位数据用作产生crc,起始位,停止位和奇偶校验位不加到crc中。
产生crc期间,每8位数据与寄存器中值进行异或运算,其结果向右移一位(向lsb方向),并用“0”填入msb,检测lsb,若lsb为“1”则与预置的固定值异或,若lsb为“0”则不作异或运算。
重复上述处过程,直至移位8次,完成第8次移位后,下一个8位数据,与该寄存器的当前值异或,在所有信息处理完后,寄存器中的z终值为crc值。产生crc的过程:
1、把16位crc寄存器置成ffffh.
2、*个8位数据与crc寄存器低8位进行异或运算,把结果放入crc寄存器。
3、crc寄存器向右移一位,msb填零,检查lsb.
4、(若lsb为0):重复3,再右移一位。
(若lsb为1):crc寄存器与aool h 进行异或运算
5、重复3和4直至完成8次移位,完成8位字节的处理。
6、重复2至5步,处理下一个8位数据,直至全部字节处理完毕。
7、crc寄存器的z终值为crc值。
8、把crc值放入信息时,高8位和低8位应分开放置。
发送信息中的16 位crc值时,先送低8位,后送高8位。
其它类似信息

推荐信息