一、 通讯协议内容
1.电磁流量计通用通讯协议(V77)
电磁流量计的 Modbus 协议采用 04 号功能码读取数据,串口参数为: 1 位起始位 8 位数据位 1 位停止位 N 无校验。
表2-1 V77协议寄存器表
Protocol Addresses (Decimal) 4112 4114 4116 4118 4120 4122 4124 4126 4128 4129 4130 4131 4132 4133
Protocol Addresses (HEX) 0x1010 0x1012 0x1014 0x1016 0x1018 0x101A 0x101C 0x101E 0x1020 0x1021 0x1022 0x1023 0x1024 0x1025 数据格式 Float Inverse Float Inverse Float Inverse Float Inverse Long Inverse Float Inverse Long Inverse Float Inverse Unsigned short Unsigned short Unsigned short Unsigned short Unsigned short Unsigned short 寄存器定义 瞬时流量浮点表示 瞬时流速浮点表示 流量百分比浮点表示(电池供电表保留) 流体电导比浮点表示 正向累积数值整数部分 正向累积数值小数部分 反向累积数值整数部分 反向累积数值小数部分 瞬时流量单位(表3) 累积总量单位(表4/表5) 上限报警 下限报警 空管报警 系统报警 2.电磁流量计热冷表通讯协议(L-mag_H)
电磁流量计的 Modbus 协议采用 04 号功能码读取数据,串口参数为: 1 位起始位 8 位数据位 1 位停止位 N 无校验。 Protocol Addresses (Decimal) 4112 4114 4116 4118 4120 4122 4124 表2-2 L-mag_H协议寄存器表 Protocol Addresses 数据格式 寄存器定义 (HEX) 0x1010 Float Inverse 瞬时流量浮点表示(M3/h) 瞬时流速浮点表示 0x1012 Float Inverse 保留 0x1014 Float Inverse 流体电导比浮点表示 0x1016 Float Inverse 流量累积数值整数部分 0x1018 Long Inverse 流量累积数值小数部分 0x101A Float Inverse 瞬时冷量单位 0x101C Unsigned short 0:表示MJ/h;1:表示GJ/h 2:表示KWh/h;3表示MWh/h 4125 0x101D Unsigned short 冷量总量单位 0:表示MJ; 1:表示GJ 2:表示KWh; 3表示MWh 瞬时热量单位 0:表示MJ/h;1:表示GJ/h 2:表示KWh/h;3表示MWh/h 流量累积总量单位(m3) 压力范围 0:表示0.6MPa 1:表示1.6MPa 热量总量单位 0:表示MJ; 1:表示GJ 2:表示KWh; 3表示MWh 空管报警 0:正常;1:报警 系统报警 0:正常;1:报警 瞬时热流量 热量总累积值 热量总累积小数值 入口温度(℃) 出口温度(℃) 冷量总累积值 冷量总累积小数值 瞬时冷量 4128 4129 4130 4131 4132 4133 4134 4136 4138 4140 4141 4142 4144 4146 0x1020 Unsigned short 0x1021 0x1022 Unsigned short Unsigned short 0x1023 Unsigned short 0x1024 0x1025 0x1026 0x1028 0x102A 0x102C 0x102D 0x102E 0x1030 0x1032 Unsigned short Unsigned short Float Inverse Long Inverse Float Inverse Unsigned short Unsigned short Long Inverse Float Inverse Float Inverse 3.电池供电电磁流量计通讯协议(W803C)
电磁流量计的 Modbus 协议采用 04 号功能码读取数据,串口参数为: 1 位起始位 8 位数据位 1 位停止位 N 无校验。 Protocol Addresses (Decimal) 4112 4114 4116 4118 4120 4121 4124 4126 4128 4139 4130 4131 4132 4133 4134 4135 4136 4137 4138 4140
表2-3 W803C协议寄存器表 Protocol 数据格式 寄存器定义 Addresses (HEX) 0x1010 Float 瞬时流量浮点表示 Inverse 0x1012 Float 瞬时流速浮点表示 Inverse 0x1014 Float 流量百分比浮点表示 Inverse 0x1016 Float 流体电导比浮点表示 Inverse 0x1018 Long Inverse 正向累积数值整数部分 0x101A Float 正向累积数值小数部分 Inverse 0x101C Long Inverse 反向累积数值整数部分 0x101E Float 反向累积数值小数部分 Inverse 0x1020 Unsigned 瞬时流量单位 0x1021 Unsigned 累积总量单位 0x1022 Unsigned 保留 0x1023 Unsigned 保留 0x1024 Unsigned 空管报警 0x1025 Unsigned 系统报警 0x1026 Unsigned 小信号报警 0x1027 Unsigned 电池报警 0x1028 Unsigned 压力报警 0x1029 Unsigned 电池电量 0x102A Float 压力 Inverse 0x102C Unsigned 压力单位 二、 数据解析
1.Float Inverse解析
瞬时流量、瞬时流速、流体点导比、流量百分比等数据为Float Inverse格式,采用IEEE754 32位浮点数格式,其结构如下:
0X1010(34113) BYTE1 S EEEEEEE BYTE2 E MMMMMMM 0x1011(34114) BYTE3 MMMMMMMM BYTE4 MMMMMMMM S-尾数的符号;1=负数,0 = 正数; E-指数;与十进制数127的差值表示。 M-尾数;低23位,小数部分。
当E不全”0”时,且不全”1时浮点数与十进制数转换公式:
S(E127)V(1)2(1M)
假设,流量计回复的数据为 C4 1C 60 00 由上述公式可计算当前瞬时流量为:
浮点数 C4 1C 60 00 1100 0100 0001 1100 0110 0000 0000 0000 浮点数字节1 浮点数字节2 浮点数字节3 浮点数字节4 S=1: 尾数符号为1表示是负数。 E = 10001000: 指数为 136
M= 001 1100 0110 0000 0000 0000,尾数为
= -625.5
故C4 1C 60 00代表的值为-625.5。
2.Long Inverse解析
正向累积量整数部分、反向累计整数部分等数据为Long Inverse格式,可直接计算进行解析。 假设,流量计回复的数据为 01 23 45 67
故01 23 45 67代表的值为19088743。
三、 操作举例
如客户想用上位机的一组数据读取到全部流量计的瞬时参数,可按如下方式发送上位机数据帧(以通讯地址为1.波特率为9600为例)。
1.电磁流量计通用通讯协议(V77)
设备 地址 功能码 寄存器 地址高位 寄存器 地址高位 寄存器 长度高位 寄存器 长度低位 CRC 高位 CRC 低位 01 04 10 10 00 16 74 C1 图4-1 V77协议上位机数据
2.电磁流量计热冷表通讯协议(L-mag_H)
设备 地址 功能码 寄存器 地址高位 寄存器 地址高位 寄存器 长度高位 寄存器 长度低位 CRC 高位 CRC 低位 01 04 10 10 00 23 B4 D6 图4-2 L-mag_H协议上位机数据
3.电池供电电磁流量计通讯协议(W803C)
设备 地址 功能码 寄存器 地址高位 寄存器 地址高位 寄存器 长度高位 寄存器 长度低位 CRC 高位 CRC 低位 01 04 10 10 00 1D 35 06 图4-3 W803C协议上位机数据
因篇幅问题不能全部显示,请点此查看更多更全内容