13598007836

    资讯中心

    咨询热线

    13598007836
    手机:13598007836
    电话:0371-53735520
    地址:郑州经济技术开发区朝凤路1号12号楼3楼西户

    资讯详情

    你的位置: 首页 > 资讯列表
    HDE-ALY超声波液位计串口通信协议
    发布时间:2016/11/9 10:36:24

    一.相关说明

    1. 本协议适用于本公司2013款的超声波物位仪、水深仪等仪表。

    2. 2013款仪表支持两种标准串口通信协议和一种可自定义的串口通信命令。

    3. 2013款仪表为RS485兼容串行接口,半双工异步方式

    a) 支持波特率:600-19200bps

    b) 数据位:8

    c) 校验位:N/O/E 默认N

    d) 停止位:1

    二.Modbus_RTU协议

    1. Modbus_RTU为查询-应答式通信,数据帧格式为:

    地址

    功能

    数据

    校验

    单字节

    单字节

    多字节

    双字节

    a) 地址:每帧的开始,标明终端的设备地址1-255

    b) 功能:它标明了当前命令要执行何种功能,常用功能代码如下

    功能代码(HEX)

    功能

    03

    读运行数据和菜单参数

    04

    读运行数据

    10

    写菜单参数

    12

    参数保存到EEPROM中

    c) 数据:主机读取从机的变量地址、长度或从机返回主机的变量数据等信息。

    d) 校验:循环冗余(CRC16)校验码。

    2. 举例说明

    液位值变量通常是地址00

    主机读取从机变量00中的浮点型数据命令为:

    01 03 00 00 00 02 C4 0B (01 04 00 00 00 02 71 CB)

    其中数据00 00表示读取变量地址 00 02表示读取变量长度

    从机返回命令为:

    01 03 04 40 A0 00 00 D1 EF (01 04 04 40 A0 00 00 EE 66)

    其中数据04表示数据长度40 A0 00 00 表示所读变量内容,转换为浮点数为5

    03号和04号命令格式相同。

    主机向从机写入数据到变时00的命令格式

    01 10 00 00 00 02 04 40 A0 00 00 E6 4D

    其中00 00 00 02仍然表示变量地址和长度,04 40 A0 00 00也表示数据长度和内容

    主机要求从机将数据保存到EEPROM中的命令为

    01 12 00 A0 00 02 04 00 00 00 A1 99 A5

    这是一条特殊命令,完全后返回01 13 00 00 00 00 00 09 63

    特殊应用,读取变量时如果长度为01。仪表将自动将变量值乘1000然后返回两个字节的整型数据。

    3. 循环冗余(CRC16)校验方法

    循环冗余校验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位数据,与该寄存器的当前值异或,在所有信息处理完后,寄存器中的最终值为CRC值。

    产生CRC的过程:

    1、把16位CRC寄存器置成FFFFH.

    2、第一个8位数据与CRC寄存器低8位进行异或运算,把结果放入CRC寄存器。

    3、CRC寄存器向右移一位,MSB填零,检查LSB.

    4、(若LSB为0):重复3,再右移一位。

    (若LSB为1):CRC寄存器与A001 H 进行异或运算

    5、重复3和4直至完成8次移位,完成8位字节的处理。

    6、重复2至5步,处理下一个8位数据,直至全部字节处理完毕。

    7、CRC寄存器的最终值为CRC值。

    8、把CRC值放入信息时,高8位和低8位应分开放置。

    发送信息中的16 位CRC值时,先送低8位,后送高8位。

    4. 浮点型数据格式

    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

    三.AT命令协议

    AT命令格式说明:

    读菜单项:AT+MENU+菜单名或编号?\r\n

    返回:菜单名或编号=1.234\r\n

    写菜单项:AT+MENU+菜单名或编号=xxxx\r\n

    返回:OK\r\n

    保存参数:AT+EEPROM=WRITE\r\n

    返回:OK\r\n

    读取参数:AT+EEPROM=READ\r\n

    返回:OK\r\n

    还原参数:AT+EEPROM=RECOVERY\r\n

    返回:OK\r\n

    读取SD卡中数据AT+DATA? \r\n(仅限配有SD卡的设备)

    \r\n是键盘上的回车换行符。

    四.自定通信命令格式

    命令[配置];

    命令:至少要有一个命令字节,配置信息可有可无。可用命令表如下:

    命令

    功能

    说明

    H

    十六进制通信

    第一个字节为H,表示通信命令以HEX方式通信

    ""

    直接发送

    双引号内字符直接发送

    M

    数字菜单

    用Mxx的方式表示第xx号数字菜单,例M00第0号数字菜单。

    其后可用配置信息有:

    字符方式:d小数位数,l保留数据长度;例d3l5表示3位小数,总长5位。

    Hex方式:u16双字节无符号整数,u32四字节无符号整数。

            c16双字节整数,c32四字节整数。

            无配置信息将输出四字节IEEE754单精度浮点数。

    S

    字符菜单

    只能以字符方式能信,例S7将输出第7个字符型菜单的全部内容。

    T

    系统时间

    字符方式下可用 yyyy-mm-dd HH:MM:SS的格式配置。

    E

    效验方式

    E0单字节,累加和

    E1单字节,异或

    E2 双字节,CRC低位在前

    E3 双字节,CRC高位在前

    其后可用lxx配置从第几个字节开始计算效验。比如:E0l1意思就是从第1个字节开始进行累加和计算。

    ;

    命令分隔符

    每条命令要用分号隔开

    实例:

    自定义接收协议:H;M41u8

    单个字节十六进制方式,第41个数字菜单内容01。主机发送HEX格式的01。

    自定义发送协议:"#";M41d0l4;"T";M0d3l5;"C";M1d2l5;"\r\n"

    仪表返回字符串:#0001T1.234C25.01\r\n

    特殊应用,当自定义接收内容为纯数字(比如500)时,将作为毫秒定时器值(如500mS)自动返回数据。


    地址:郑州经济技术开发区朝凤路1号12号楼3楼西户  电话:0371-53735520  手机:13598007836
    Copyright © 2022 河南宏达尔仪表有限公司  {icp}   技术支持:机电之家