0.5级LRF-3300S超声波流量计通讯协议及使用

作为0.5级超声波流量计支持三种通信协议:FUJI协议、MODBUS-C协议、MODBUS-I协议。

1、HL 协议

超声流量计使用的通信协议格式是一套扩展的HL FLV系列流量计协议。主机设备通过发送一个“命令”请求流量计来应答。异步通信的波特率(主站:计算机系统;次站:超声流量计)一般为9600BPS。单个字节数据格式(10位):一个开始位,一个停止位和8个数据位。校验位:没有。

一个数据字符字符串用于表示基本命令,而一个回车(ENTER)用于表示命令的结束。其特点是数据的字符串是灵活的。该指令适用于RS232和RS485。常用的命令如下:


通信命令

命令

描述

数据格式

RFR(cr)(lf)

返回瞬时流量

±d.ddddddE±dd(cr) 注1

RVV(cr)(lf)

返回瞬时流速

±d.ddddddE±dd(cr)

RT+(cr)(lf)

返回正累积量

±ddddddd.dE±d(cr) 注2

RT-(cr)(lf)

返回负累积量

±ddddddd.d±d(cr)

RTN(cr)(lf)

返回净累积量

±ddddddd.d±d(cr)

RTH(cr)(lf)

返回累计量(热)

±ddddddd.d±d(cr)

RT-(cr)(lf)

返回累计能量(冷)

±ddddddd.d±d(cr)

RER(cr)(lf)

返回能量瞬时量

±d.ddddddE±dd(cr)

RA1(cr)(lf)

返回模拟输入AI1的值(温度、压力等)

±d.ddddddE±dd(cr)

RA2(cr)(lf)

返回模拟输入AI2的值(温度、压力等)

±d.ddddddE±dd(cr)

RID(cr)(lf)

返回仪器地址码

ddddd(cr) 5位长度

RSS(cr)(lf)

返回信号状态

UP:dd.d,DN:dd.d,Q=dd(cr)

REC(cr)(lf)

返回当前错误代码

*R/*D/*E 注3

RRS(cr)(lf)

返回继电器状态

ON/OFF(cr)

RDT(cr)(lf)

当前日期和时间

yy-mm-ddhh:mm:ss(cr)

RSN(cr)(lf)

返回序列号

dddddddt(cr) 注4

OCTdddd.d(cr)(lf)

OCT 设置

dddd.d(cr)

设置成功返回“OK”

SRS(cr)(lf)

开始定量控制

OK(cr)

设置成功返回“OK”

P

带校验回传命令前缀

注5

W

数字串地址组网命令前缀

注6

注释:

1.(cr)表示回车,其ASCII码值为0DH。(lf)表示换行,其ASCII码值为0AH。

2.“d”表示0~9数字,0值表示为+0.000000E+00。

3.“d”表示0~9数字,“E”前面整数部分其中无小数点。

4.dddddddd八位表示机器的电子序列号码,t 表示机器类型。

5.字符P可以加在每一个基本命令前,表示回传的数据带有CRC校验。校验和的求法是二进制加法得到的,是累计和二进制,最低取8位二进制数据。

例如:返回信息RT(cr)(lf)是:+1234567E+0m3(cr)(lf)(相应二进制数据为2BH,31H,32H,33H,34H,35H,36H,37H,45H,2BH,30H,6DH,33H,20H,0DH,0AH)返回数据总和=2BH+31H+32H+33H+34H+35H+ 36H+37H+45H+2BH+30H+6DH+33H+20H=2F7,最低8位二进制是F7

因此,指令PRT(cr)(lf)的数据被称为+1234567E+0m3!F7(cr)(lf),“!”对于分隔符,前面是求和的字符,后面是一个1字节的检查码。

6.W 前缀的用法:W+数字串地址码+基本命令,数字串取值范围0~255,除去13(0DH 回车),10(0AH换行)。如访问第123 号流量计的瞬时流速,可发命令W123DV(cr)(lf),对应二进制码为57H,31H,32H,33H,44H,56H,0DH,0AH,只有相同网络地址和命令的仪表才会有数据返回。

7.W和P命令可以结合使用,例如W123PRT+,这意味着读取的网络地址是123号流量计的累计值,其返回数据有8个累计和校验和。"s"表示或ON,OFF或UD 。例如,“TR:ON,RL:ON”表示OCT和继电器处于启动状态;“TR:UD,RL:UD”表示OCT和继电器不动作。

2、MODBUS-I 通讯协议

MODBUS-I协议使用RTU传输模式,它的校验码采用CRC-16-IBM(多项式为X16+X15+X2+1,屏蔽字为0xA001)循环冗余算法得到。

MODBUS-I RTU模式使用十六进制传输数据。

1.MODBUS-I协议功能码与格式

本流量计协议支持MODBUS协议的以下两种功能码:

功能码

表示的功能数据

0x03

读取寄存器

0x06

写单一寄存器

2.MODBUS协议功能码0x03使用

主机发出读取寄存器信息帧格式:

从机地址

操作功能码

寄存器首地址

寄存器数量

校验码

1字节

1字节

2字节

2字节

2字节

0x01 ~ 0xF7

0x03

0x0000 ~ 0xFFFF

0x0000 ~ 0x7D

CRC校验码


从机返回数据帧格式:

从机地址

读操作功能码

数据的字节数

数据

校验码

1字节

1字节

1字节

N*x2 字节

2字节

0x01 ~ 0xF7

0x03

2xN*

N*x2 数据

CRC校验码

N*=数据的寄存器数量。

3、MODBUS协议功能码0x06使用

主机发出写入单一寄存器的信息帧格式(功能码0x06):

从机地址

操作功能码

寄存器地址

寄存器数据

校验码

1字节

1字节

2字节

2字节

2字节

0x01 ~ 0xF7

0x06

0x0000 ~ 0xFFFF

0x0000 ~ 0xFFFF

CRC校验码

从机返回数据帧格式(功能码0x06):

从机地址

操作功能码

寄存器地址

寄存器数据

校验码

1字节

1字节

2字节

2字节

2字节

0x01 ~ 0xF7

0x06

0x0000 ~ 0xFFFF

0x0000 ~ 0xFFFF

CRC校验码

流量计的地址取值范围为1~247(十六进制:0x01~0xF7)之间,地址可以在Menu 46中可以查看,如Menu 46中显示的十进制数为11,那么此仪表在MODBUS协议中的地址为:0x0B。

本仪表CRC校验码采用CRC-16-IBM(多项式为X16+X15+X2+1,屏蔽字为0xA001)循环冗余算法得到,校验码的低字节在前,高字节在后。

例如在RTU模式下读取地址为1(0x01)的仪表以小时为单位的瞬时流量(m3/h),即读取寄存器40005、

40006 两个寄存器的数据,读取命令如下:

0x010x030x00 0x040x00 0x020x85 0xCA

流量计地址功能码首地址寄存器寄存器数量CRC校验码

流量计返回的数据为(假设当前流量=1.234567m3/h):

0x010x030x040x06 0x51 0x3F 0x9E0x3B 0x32

流量计地址功能码数据字节数数据CRC校验码

其中3F 9E 06 51 四个字节即为1.2345678的IEEE754 格式单精度浮点形式。

请注意上面例子中数据存放的顺序。对于使用C语言解释数值时,可以使用指针直接把所需的数据放入相应的变量地址中即可,一般常用的存放顺序为低字节在前,例如上面的1.2345678m/s例子中,3F 9E 06 51 数据的存放顺序为51 06 9E 3F。

例如在RTU 模式下把地址为1(0x01)的仪表的地址更改为2(0x02),即把流量计44100 寄存器的数据写入0x02,写入命令如下:

0x010x060x10 0x030x00 0x020xFC 0xCB

流量计地址功能码寄存器地址寄存器数量CRC校验码

流量计返回的数据为:

0x010x060x10 0x030x00 0x020xFC 0xCB

流量计地址功能码寄存器地址寄存器数量CRC校验码

4.错误处理

本仪表只返回一种错误代码0x02,表示数据首地址错误。

例如在RTU模式下只读取地址为1(0x01)的仪表的40002 寄存器数据,仪表认为破坏了数据的完整性,发送的命令为:

0x010x030x00 0x010x00 0x010xD5 0xCA

流量计地址功能码寄存器地址寄存器数量CRC校验码

流量计返回错误代码为:

0x010x830x02 0xC0 0xF1

流量计地址错误代码错误扩展码CRC校验码

5.MODBUS寄存器地址列表

本仪表的MODBUS寄存器包含只读寄存器和单一写入寄存器。

a)只读寄存器地址列表(用0x03功能码读取)


PDU地址

寄存器

数据读取

数据写入

寄存器数

说明

$0000

40001

瞬时流量/秒-低字节

32 bits real

2


$0001

40002

瞬时流量/秒-高字节


$0002

40003

瞬时流量/分钟-低字节

32 bits real

2


$0003

40004

瞬时流量/分钟-高字节


$0004

40005

瞬时流量/小时-低字节

32 bits real

2


$0005

40006

瞬时流量/小时-高字节


$0006

40007

流速-低字节

32 bits real

2


$0007

40008

流速-高字节


$0008

40009

正累积量-低字节

32 bits int.

2


$0009

40010

正累积量-高字节


$000A

40011

正累积量-指数

16 bits int.

1


$000B

40012

负累积量-低字节

32 bits int.

2


$000C

40013

负累积量-高字节


$000D

40014

负累积量-指数

16 bits int.

1


$000E

40015

净累积量-低字节

32 bits int.

2


$000F

40016

本站使用百度智能门户搭建 管理登录
鲁ICP备11028136号-8
在线客服
在线客服