技术服务
Technical Services
超声波液位计是一种常见的液位测量仪表,因其性价比高,非接触性测量,安装简单便捷等特点广泛被各生产企业选用。深圳优威仪表也有各种型号的超声波液位计,其中总线型的有RS485型,协议层采用MODBUS-RTU通讯协议。
其MODBUS-RTU通讯协议格式如下:
设备地址 |
功能代码 |
数据格式 |
CRC校验L |
CRC校验H |
8bit |
8bit |
N*8bit |
8bit |
8bit |
以读取超声波液位计的液位值为例:
|
字节1 |
字节2 |
字节3 |
字节4 |
字节5 |
字节6 |
字节7 |
字节8 |
发送 |
01 |
04 |
00 |
00 |
00 |
02 |
71 |
CB |
释义 |
从机地址 |
功能码读命令 |
起始寄存器高字节 |
起始寄存器低字节 |
寄存器数量高字节 |
寄存器数量低字节 |
CRC低字节 |
CRC高字节 |
接收数据如下:
|
字节1 |
字节2 |
字节3 |
字节4 |
字节5 |
字节6 |
字节7 |
字节8 |
字节9 |
接收 |
01 |
04 |
04 |
41 |
1E |
00 |
00 |
EE |
66 |
释义 |
从机地址 |
功能码读命令 |
返回数据长度 |
读取的液位数据 |
CRC低字节 |
CRC高字节 |
其中读取的液位数据类型为:IEEE754标准单精度浮点数。
IEEE754标准单精度浮点数:1位符号位+8位阶码+23位尾数的二进制组成,MODBUS-RTU传输时用四字节十六进制数表示。其转换为十进制的过程如下(以接收的41 1E 00 00为例):
读取的数据 |
41 |
1E |
00 |
00 |
||||
转换为二进制 |
0100 |
0001 |
0001 |
1110 |
0000 |
0000 |
0000 |
0000 |
IEEE754单精度 |
0 |
100 0001 0 |
001 1110 0000 0000 0000 0000 |
|||||
+ |
130 |
1.001 1110 0000 0000 0000 0000 |
||||||
+ |
阶码=130-127=3 |
右移3(阶码)位 1001. 1110 0000 0000 0000 0000 |
||||||
十进制 |
|
液位整数部分:(1001)B=9D 液位小数位部分: (.11100000)B=1*1/2+1*1/4+1*1/8+0*1/16=0.875 D 液位值:9+0.875=9.875米 |
||||||