协议说明
流量计具有完善的通信协议,还可以通过 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-表⽰⼗进制数。