Sensus HRI_MEI数据采集模块说明
一:HRI_MEI模块采集原理与概况
HRI_MEI模块利用表内金属指针(半圆形指针)与HRI模块内的磁感应元件产生磁感应从而记录表具的运动轨迹,记录表具的正反向流量值。
HRI_MEI模块集成了脉冲输出与数据输出,有5根线,分别为白(正向脉冲)+黄(反向脉冲)+灰(公共地);棕+绿为数据输出(M-BUS;MiniBus)。
HRI_MEI模块分为:
1.信号采集电路(磁感应)
2.脉冲缓存器(常用的为B1/B2/B4模式)
3.数据存储器
二:HRI_MEI模块特点
1.适合用于大口径水表;
2.无阻尼感应水表指针的运动;
3.免磁干扰;
4.检测流向;
5.电子式脉冲,无触点跳跃;
6.脉冲强度, 模式和宽度可以通过软件更改;
7.电池理论上可用12年.,若使用外接电源,如M-Bus 供电,则可延长寿命 ;
8.防护等级 (IP68);
HRI-Mei模块 提供了检测流量及其流向的高分辨率的输出信号,也可以使用其它数据接口 以适合M-Bus 或 MiniBus 应用的应用设备如 MiniPad 或 Sensus((S))cout-MB。
HRI-Mei模块 ,可以替代所有已知的数据接口如 无源直读, 电子和机电组合的计数器的发讯功能。
三:数据采集方式
我司为采集HRI_Mei模块提供了两种采集方式:
1.脉冲采集方式:
脉冲采集方式适用于我司锂电、市电、太阳能等各种拥有脉冲采集端口的设备,HRI模块输出为电子式脉冲,脉冲输出稳定无跳跃式干扰,采集稳定、准确。脉冲采集方式使用比较简单,无需复杂设置,故障检测设备亦比较简单,使用万用表既可检测设备和模块的故障。
脉冲采集使用简单、应用比较广泛,但使用脉冲采集方式时,采集器必须一直处于工作状态,如遇到设备断电等突发情况,会导致脉冲累计出现误差导致数据错误;脉冲采集方式只能采集到模块的正反累计数据,而无法取到表具的瞬时流量等其他数据。
2.Mini-Bus/M-bus直读数据采集方式
HRI模块同时支持Mini-Bus/M-bus两种总线采集方式,模块自动检测、切换两种总线方式。直读采集方式无需脉冲累计计数,能在需要数据时随时取用正向累计、反向累计、净累计、瞬时流量等丰富数据;
Mini-Bus/M-bus使用相同直读协议(进口设备标准Mbus协议),Mini-Bus 一般使用在单一设备读取方式下;而M-bus支持标准Mbus总线读取,使用Mbus总线方式能有效延长HRI模块内电池续航时间。但Mini-Bus的功耗水平非常低,适用我方锂电设备读取数据。
四:HRI_MEI模块数据直读协议分析
HRI_MEI模块支持标准MBUS协议,下面以读取HRI_MEI模块实时数据为例对协议做简单说明(进口MBUS设备初始波特率为2400 8E1):
采集器发送
Mbus - device :10 40 00 40 16(这条指令必须先发)
正确回复:e5
读取数据:10 5B 00 5B 16
10 5B :前导码
00    :HRI设备地址
5B    :校验和checksum(算术和:5B+00)
本田hr-v16    :结束符号
注:为了区分采集器发送的指令是否由于异常而重复发送,在发送报文的时候第二个byte 为5b和7b的交替出现,都是相同的意义,无需理会;
CS(checksum校验和)由于存储为只有16bits的空间,若超出则取低16bits。
HRI模块回复 :
68 59 59 68 08 00 72 83 03 83 32 ae 4c 49 07 24 20 00 00 0c 15 55 01 00 000c 95 3c 07 00 00 0004 3d 6e 04 00 00 0c 78 83 03 83 320c fd 10 83 03 83 3204 6d 04 06 06 2104 fd 17 11 08 00 0084 0f 6d 3b 17 ff 1c8c 0f 15 69 00 00 00c4 0f 6d 3b 17 df 1c cc 0f 15 09 00 00 00 1f f0 16
PS:每个数据的格式都是32bits(XX XX XX XX),DIB 为8bits,VIB可为8bits 或16bits。
VIB 93 =  反向流量x1 Liter
VIB 94 = 反向流量x10 Liter 常用口径40-125
VIB 95 =  反向流量x100 Liter 常用口径150-300
VIB 96 =  反向流量x 1000 Liter
VIB 13 =  正向流量x1 Liter
VIB 14 = 正向流量x10 Liter(磁片每转)常用口径40-125
VIB15 =    正向流量x100 Liter(磁片每转)常用口径150-300
VIB 16 =    正向流量x 1000 Liter
8bits=1byte
详细分析:
68  59(L) 59(L) 68:前导码(L=08……1f的数据长度)
00:数据传输首地址
83 03 83 32:(水表的ID号:低位往高位读)
ae 4c:(制造厂商,ae 4c表示SENSUS,简写SEN)
49:(传输方式 :HRI-MEI/Bx为49,Residia M 为52)
07:(传输媒介, 07代表normally water)
24:(transfer counter:传输计数器当数据刷新收发一次+1)
20:(M-Bus status byte:20表示HRI-MEI的电量低)
00 00:固定值
0c 15 55 01 00 00: 正向流量15.5 m3 [0c(DIB)15(VIB) 55 (VIB=15时仅低位为小数位,VIB=14时两个位都是小数) 01 00 00(整数位),低位往高位读,单位m3] 0c 95 3c 0700 00 00:反向流量0.7m3 [0c(DIB)95 3c(VIB) 07 (VIB=95 3c时仅低位为小数位,VIB=94 3c时两个位都是小数) 00 00 00 (整数位),低位往高位读,单位m3]
04 3d 6e 04 00 00: 瞬时流量113.4m3/h [04(DIB)3d(VIB) 6e 04 00 00 (VIB=3d 时仅低位为小数位,VIB=3c时两个位都是小数)(低位往高位读,单位m3/h)
注意:水流反向时为负的瞬时流量:如 04 3c 0d ff ff ff(瞬时流量为补码+1即:F2+1=F3) :-2.43m3/h
0c 78 83 03 83 32: 制造编号[0c(DIB)78(VIB) 83 03 83 32(低位往高位读)] 0c fd 10 83 03 83 32:用户地点[ 0c(DIB)fd 10(VIB) 83 03 83 32(低位往高位读)]
04 6d 04 06 06 21:(2016年1月6日 6:04)[04(DIB)6d (VIB) 04(1byte16进制代表分,高位在前)06(1byte16进制代表时,高位在前)06(1byte16进制代表日,高位在前低位在后,高四位还有其他意义)2(特殊意义,如下解释)1(4bits16进制月)]
PS:需要注意的是以上都是16进制数,显示的数值必须转换成10进制进行计算;日期若超出常数(一个月最多31天,若天数INT(10进制)>31则超出后的正确值为INT-32);
协议中关于日期中“年份”的解析:2000年为第一个循环,从后开始算起的第1个byte的高4位代表循环次数,与第2个byte的高4位配合得到年份:
以2000年开始
0-1表示 0+循环次数*8
2-3 表示 1+循环次数*8
……
E-F表示 7+循环次数*8
例:04 6d 04 06 06 21的日期解释
04:DIB
6d:VIB
04 06:06点04分
06:此byte表示的16进制数为“日”,即06日;红标注的4bits为计算年份的参数;
21:低4bits表示的16进制数为月份,即1月;红标注的数字2表示的16进制数是第二个循环,与“日”的高4bits结合得到 0+2*8=16。以2000年为开始,则此时为2016年;
04 fd 17 11 08 00 00:[04(DIB)fd 17(VIB) 11 08 00 00 (从后往前读byte,高位在前低位在后,错误报警设置 800:磁感应错误报警、010:设备被移动的报警 、001逆流报警)
PS:关于报警信息的解析可参考以下内容:
设备报警状态解析:
报警状态的VIB固定为FD 17,往后的32个bits(XX XX XX XX)为状态标示位,解读顺序从最低位往最高位读;如下图values所示,若有多个报警信息,则Values的算术累加 例:04 FD 17 11 80 00 00 的解析
04:数据信息位
FD 17 :数值信息位(正常情况固定为这个值)
11 80 00 00:从最低位往最高位顺序读取为 00 00 08 11(对照下表的报警信息数值可得出结果为0x0800+0x0010+0x0001),根据下表的Flags name可以看到目前的报警信息为