江苏通达仪表有限公司
免费会员

多普勒流速仪通讯协议

时间:2016/6/17阅读:1811
分享:

流速仪通讯协议

一协议说明             

 1、本机采用主从握手模式

波特率 9600  数据 8位  无校验   停止位 1

主机采集液位数据格式如下:

01      03      00     00     00      02    xx     xx

从机地址 功能码  寄存器起始地址    读取寄存器个数     CRC

从机回码数据格式如下:

01     03       04      9D B2 3E 0F         xx     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 C0 C1 01 44 00 00 00 00 00 6C 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位。

会员登录

×

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
在线留言