掌桥专利:专业的专利平台
掌桥专利
首页

双脉冲数据采集方法

文献发布时间:2023-06-19 11:22:42


双脉冲数据采集方法

技术领域

本发明涉及双脉冲计数型计量仪表领域,尤其涉及一种双脉冲数据采集方法。

背景技术

水表、热量表、气表等计量仪表,主流传统的方式为机械表,机械表技术成熟,工作稳定。近几年随着物联网技术的发展,水表等计量仪表的数字化改造势在必行。目前主流的做法,是在机械表的基础上进行数字化改造,在特定的指针上安装磁铁,在指针的两边安装干簧管或者霍尔元件,当指针旋转磁铁靠近干簧管时,会导致干簧管吸合而产生数字脉冲信号,MCU通过累计脉冲的个数而完成数据的采集。但水表实际运行中,水管的振动或者磁信号的干扰,会导致干簧管错误的动作,从而导致计量数据错误。目前虽然发展出一些无磁传感技术,可以避免振荡和磁场干扰,不过技术复杂,计量功耗较高。

发明内容

本发明主要目的设计一种双脉冲数据采集方法,在确保准确计数的同时,可以保持采集设备低功耗运行,可以可靠滤除振动和磁场干扰产生的脉冲信号,并能对各种异常状态进行检测,以及可以从各种异常状态中恢复。

本发明所采用的技术方案是:

提供一种双脉冲数据采集方法,包括以下步骤:

通过采集器的两个采集口IO1、IO2采集双脉冲计数型计量仪表的两路数据;

干簧管吸合前,数据采集口使用IO内部上拉,使用下降沿中断的方式等待干簧管吸合;干簧管吸合后,数据采集口则进入悬空状态,每隔一段时间检测一次IO状态,仅仅在检测的瞬间开启IO内部上拉;

判断采集数据的电平是否维持预设时间以上,若是则作为数字逻辑电平有效翻转信号,根据该有效翻转信号判断计量仪表是正常工作还是发生故障,并根据当前状态和预设条件进行状态转换。

接上述技术方案,若判断出计量仪表发生故障,则根据采集口IO1、IO2的逻辑电平判断计量仪表两路是否连接在一起,或者是否短路、断路。

接上述技术方案,采集器初始化后,根据当前采集IO1、IO2的电平进入状态E0、1、2、3;

IO2=0、IO1=0则进入状态E0,错误编码设置为1;

IO2=0、IO1=1则进入状态1,错误编码设置为0;

IO2=1、IO1=0则进入状态2,错误编码设置为0;

IO2=1、IO1=1则进入状态3,错误编码设置为0;

其中,错误编码0表示IO状态正常。

接上述技术方案,当采集器处于状态E0时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=1则进入状态1,错误编码不变;

IO2=1、IO1=0则进入状态2,错误编码不变;

IO2=1、IO1=1则进入状态3,错误编码不变。

接上述技术方案,当采集器处于状态1时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E1,错误编码设置为2;

IO2=1、IO1=0则进入状态2,错误编码设置为6;

IO2=1、IO1=1则进入状态4,错误编码不变。

接上述技术方案,当采集器处于状态2时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E2,错误编码设置为3;

IO2=0、IO1=1则进入状态1,错误编码设置为10;

IO2=1、IO1=1则进入状态5,错误编码不变。

接上述技术方案,当采集器处于状态3时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E0,错误编码设置为1;

IO2=0、IO1=1则进入状态1,计量数据加1圈;

IO2=1、IO1=0则进入状态2。

接上述技术方案,当采集器处于状态E1时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=1则进入状态1,错误编码不变;

IO2=1、IO1=0则进入状态2,错误编码设置为13;

IO2=1、IO1=1则进入状态3,错误编码设置为12;

当采集器处于状态4时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E1,错误编码设置为7;

IO2=0、IO1=1则进入状态E4,错误编码设置为4;

IO2=1、IO1=0则进入状态3,错误编码不变,计量数据加0.5圈。

接上述技术方案,当采集器处于状态E2时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=1则进入状态1,错误编码设置为14;

IO2=1、IO1=0则进入状态2,错误编码不变;

IO2=1、IO1=1则进入状态3,错误编码设置为11;

当采集器处于状态5时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E2,错误编码设置为15;

IO2=0、IO1=1则进入状态1,计量数据加1圈;

IO2=1、IO1=0则进入状态E5,错误编码设置为5。

接上述技术方案,当采集器处于状态E4时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E2,错误编码设置为9;

IO2=1、IO1=0则进入状态2,错误编码设置为8;

IO2=1、IO1=1则进入状态4,错误编码不变;

当采集器处于状态E5时,如果IO1、IO2的电平发生变化,则进行状态转换:

IO2=0、IO1=0则进入状态E1,错误编码设置为16;

IO2=0、IO1=1则进入状态1,错误编码设置为17;

IO2=1、IO1=1则进入状态5,错误编码不变。

本发明产生的有益效果是:本发明的双脉冲数据采集方法在准确计数的同时,可以有效滤除振动和电磁干扰产生的脉冲信号,并能对各种异常状态进行检测,以及可以从各种异常状态恢复。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例的结构示意图;

图2是本发明实施例采集IO状态转换图)。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明实施例的双脉冲数据采集方法,包括以下步骤:

S1、通过采集器的两个采集口IO1、IO2采集双脉冲计数型计量仪表的两路数据;

S2、干簧管吸合前,数据采集口使用IO内部上拉,使用下降沿中断的方式等待干簧管吸合;

S3、干簧管吸合后,数据采集口则进入悬空状态,每隔一段时间检测一次IO状态,仅仅在检测的瞬间开启IO内部上拉;

S4、判断采集数据的电平是否维持预设时间以上;

S5、若采集数据的电平维持预设时间以上,则作为数字逻辑电平有效翻转信号,并根据预设条件进行状态转换。

本发明实施例中,IO1、IO2上发生数字逻辑电平翻转时,电平必须维持4s以上才能作为有效翻转信号。实际实现中,通过水表口径大小,计算流量,从而判断滤波时间长度,这样可以可靠滤除机械振荡,以及瞬时磁脉冲造成的干扰。

干簧管吸合前,采集IO使用内部上拉,使用下降沿中断的方式等待干簧管吸合。干簧管吸合后,IO则进入悬空转态,每隔一段时间Tc检测一次IO状态,仅仅在检测的瞬间开启IO内部上拉。这样可以保证MCU休眠期间,不会因为采集IO的上拉电阻而形成漏电流,这样处理可以实现低功耗数据采集。

如图2所示,采集器初始化后,根据当前采集IO1、IO2的电平进入状态E0、1、2、3。IO2=0、IO1=0则进入状态E0,错误编码设置为1。IO2=0、IO1=1则进入状态1,错误编码设置为0。IO2=1、IO1=0则进入状态2,错误编码设置为0。IO2=1、IO1=1则进入状态3,错误编码设置为0。错误编码0表示IO状态正常。

如图2所示,当采集器处于状态3时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E0,错误编码设置为1。IO2=0、IO1=1则进入状态1,计量数据加1圈。IO2=1、IO1=0则进入状态2。

如图2所示,当采集器处于状态E0时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=1则进入状态1,错误编码不变。IO2=1、IO1=0则进入状态2,错误编码不变。IO2=1、IO1=1则进入状态3,错误编码不变。

如图2所示,当采集器处于状态1时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E1,错误编码设置为2。IO2=1、IO1=0则进入状态2,错误编码设置为6。IO2=1、IO1=1则进入状态4,错误编码不变。

如图2所示,当采集器处于状态E1时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=1则进入状态1,错误编码不变。IO2=1、IO1=0则进入状态2,错误编码设置为13。IO2=1、IO1=1则进入状态3,错误编码设置为12。

如图2所示,当采集器处于状态4时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E1,错误编码设置为7。IO2=0、IO1=1则进入状态E4,错误编码设置为4。IO2=1、IO1=0则进入状态3,错误编码不变,计量数据加0.5圈。

如图2所示,当采集器处于状态E4时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E2,错误编码设置为9。IO2=1、IO1=0则进入状态2,错误编码设置为8。IO2=1、IO1=1则进入状态4,错误编码不变。

如图2所示,当采集器处于状态2时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E2,错误编码设置为3。IO2=0、IO1=1则进入状态01,错误编码设置为10。IO2=1、IO1=1则进入状态5,错误编码不变。

如图2所示,当采集器处于状态E2时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=1则进入状态1,错误编码设置为14。IO2=1、IO1=0则进入状态2,错误编码不变。IO2=1、IO1=1则进入状态3,错误编码设置为11。

如图2所示,当采集器处于状态5时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E2,错误编码设置为15。IO2=0、IO1=1则进入状态1,计量数据加1圈。IO2=1、IO1=0则进入状态E5,错误编码设置为5。

如图2所示,当采集器处于状态E5时,如果IO1、IO2的电平发生变化,则进行状态转换。IO2=0、IO1=0则进入状态E1,错误编码设置为16。IO2=0、IO1=1则进入状态1,错误编码设置为17。IO2=1、IO1=1则进入状态5,错误编码不变。

总之,本发明可以通过两个IO口的逻辑电平判断计量仪表是否正常工作或者发生故障,若判断出计量仪表发生故障,则进一步根据采集口IO1、IO2的逻辑电平判断计量仪表两路是否连接在一起,或者是否短路、断路,再进行状态转换。

如图2所示,IO1工作正常,IO2工作正常,IO状态循环为:01-->11-->10-->11-->01-->11-->10-->11,采集状态循环为:1-->4-->2-->5-->1,5-->1时正常加1圈,04-->02时,加0.5圈,采集器工作正常,计量正常。

IO1、IO2连接在一起,IO状态循环为:00-->11-->00-->11,采集状态循环为:03<-->E0,错误代码1,停止计量。

IO2短路永远为0,IO1正常工作,IO状态循环为:01-->00-->01-->00,采集状态循环为:01<-->E1,错误代码2,停止计量。

IO1短路永远为0,IO2正常工作,IO状态循环为:10-->00-->10-->00,采集状态循环为:02<-->E2,错误代码3,停止计量。

IO1断开永远为1,IO2正常工作,IO状态循环为:11-->01-->11-->01,采集状态循环为:04<-->E4,错误代码4,停止计量。

IO2断开永远为1,IO1正常工作,IO状态循环为:10-->11-->10-->11,采集状态循环为:05<-->E5,错误代码5,停止计量。

图2中,粗线部分表示正常状态转换,非粗线部分为发生故障时的状态转换。正常状态转换是指:计量接口工作正常。其他的状态转换都是由硬件故障等原因引起的异常状态转换。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

相关技术
  • 双脉冲数据采集方法
  • 存储媒体、数据采集装置、数据保持装置、数据采集方法和数据保持方法
技术分类

06120112904259