协议说明
流量计具有完善的通信协议,还可以通过 RS232-RS485 转换板接⼊ RS-485 总线。 组⽹时可选择两种基本结构构成,即只采⽤流量计的模拟电流输出法或直接采⽤流量计的
RS485 串⾏⼝通 讯法。前者适于替代⽼测控⽹中的陈旧仪器,后者⽤于新上测控⽹络系统,具
有硬件投资低廉,系统运⾏ 可靠等优点。
输出电缆接线为:
棕⾊:DC+
⿊⾊:DC- / 4-20mA- 灰⾊:4-20mA+ 蓝⾊:RS485 A
⽩⾊:RS485 B
流量计采⽤应答通信⽅式,上位机以发“命令”的⽅式,要求下位流量计应答。异步通信的波特率
(主⼯作 站、计算机系统、次级⼯作站、超声波流量计)⼀般是 9600bps。单⼀字节数据格式
(10 位):1 个起始 位,1 个停⽌位和 8 个数据位。检查位:NONE。V1
通讯协议
本仪表协议⽀持MODBUS协议的以下功能码:
功能码 |
表⽰的功能数据 |
0x03 |
读取寄存器 |
0x06 |
写⼊寄存器 |
1. MODBUS协议功能码0x03使⽤
主机发出读取寄存器信息帧格式:
从机地址 |
操作功能码 |
寄存器⾸地址 |
寄存器数量 |
校验码 |
1字节 |
1字节 |
2字节 |
2字节 |
2字节 |
0x01~0xF9 |
0x03 |
0x0000~0xFFFF |
0x0000~0x7D |
CRC校验码 |
N*=数据的寄存器数量。
仪表地址(流量计的地址)取值范围为1~249(⼗六进制:0x01〜0xF9)之间,地址可以在Menu Network addr中可以查看,如Menu Network addr中显⽰的⼗进制数为12,那么此仪表在 MODBUS协议中的地址为:0x0C。
本仪表CRC校验码采⽤CRC-16-IBM(多项式为X16+X15+X2+1,屏蔽字为0xA001)循环冗余算 法得到,校验码的低字节在前,⾼字节在后。
2. MODBUS寄存器地址列表
本仪表的MODBUS寄存器包含只读寄存器和单⼀写⼊寄存器。 a)只读寄存器地址列表(⽤0x03功能码读取)
寄存器地址 |
寄存器 |
数据描述 |
数据类型 |
寄存器数 |
说明 |
$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 int. |
2 |
|
$0007 |
40008 |
流量积量整数−⾼字节 |
|
|
|
$0008 |
40009 |
流量积量⼩数−低字节 |
32 bits real |
2 |
|
$0009 |
40010 |
流量积量⼩数−⾼字节 |
|
|
|
$000A |
40011 |
当⽇累积量整数−低字节 |
32 bits int. |
2 |
|
$000B |
40012 |
当⽇累积量整数−⾼字节 |
|
|
|
$000C |
40013 |
当⽇累积量⼩数−低字节 |
32 bits real |
2 |
|
$000D |
40014 |
当⽇累积量⼩数−⾼字节 |
|
|
|
$000E |
40015 |
当⽉累积量−低字节 |
32 bits real |
2 |
|
$000F |
40016 |
当⽉累积量−⾼字节 |
|
|
|
$0010 |
40017 |
当年累积量−低字节 |
32 bits real |
2 |
|
$0011 |
40018 |
当年累积量−⾼字节 |
|
|
|
$0012 |
40019 |
4-20mA电流输出值−低字节 |
32 bits real |
2 |
|
$0013 |
40020 |
4-20mA电流输出值−⾼字节 |
|
|
|
$0014 |
40021 |
运⾏时间−低字节 |
32 bits int. |
2 |
单位h |
$0015 |
40022 |
运⾏时间−⾼字节 |
|
|
|
$0016 |
40023 |
仪表序列号−字符 1,2 |
String |
4 |
|
$0017 |
40024 |
仪表序列号−字符 3,4 |
|
|
|
$0018 |
40025 |
仪表序列号−字符 5,6 |
|
|
|
$0019 |
40026 |
仪表序列号−字符 7,8 |
|
|
|
$001A |
40027 |
时间⽇期 |
|
3 |
年⽉⽇ 时分秒 |
$001B |
40028 |
|
|
|
|
$001C |
40029 |
|
|
|
|
$001D |
40030 |
信号质量Q |
16 bits int |
1 |
|
$001E |
40031 |
运⾏状态 |
16 bits int |
1 |
|
$001F |
40032 |
仪表地址 (1-249) |
16 bits int |
|
|
$0020 |
40033 |
通信波特率 0 =2400, 1 = 4800, 2 = 9600, 3 = 19200 |
16 bits int |
|
|
$0021 |
40034 |
流速单位 |
String |
|
m/s或f/s |
$0022 |
40035 |
|
|
|
|
$0023 |
40036 |
瞬时流量单位 |
String |
|
|
$0024 |
40037 |
|
|
|
|
$0025 |
40038 |
流量累积量单位 |
String |
|
|
b)单⼀写⼊寄存器地址列表(⽤0x06功能码写⼊)
寄存器地址 |
寄存器 |
数据描述 |
读/写 |
数据类型 |
寄存器数 |
$1003 |
44100 |
仪表地址 (1-249) |
R/W |
16 bits int. |
1 |
$1004 |
44101 |
通信波特率 0 =2400, 1 = 4800, 2 = 9600, 3 = 19200 |
R/W |
16 bits int. |
1 |
$1005 |
44102 |
瞬时流量单位 |
R/W |
16 bits int. |
1 |
$1006 |
44103 |
流量累积量单位 |
R/W |
16 bits int. |
1 |
注:
1.瞬时流量单位有以下可选:0— m3/h;1— LPM;2— GPM
2.累积流量单位有以下可选:0 — m3;1— L;2 — GAL
3.在改变仪表地址或通信波特率时,仪表以原来的地址或通信波特率返回响应后即⻢上按新的 地址或通信波特率⼯作。
16 bits int−表⽰短整型数,32 bits int−表⽰⻓整型数,32 bits real−表⽰浮点数,
String−表⽰字符串,BCD-表⽰⼗进制数。