以下、本発明の一実施形態としてのガスメータについて、図2〜図10を参照して説明する。このガスメータ(図中、符号1で示す)は、図示しないガス管路を流れるガスの流量を計測する機能とともに、上述の使用時間遮断機能を有する。また、ガスメータ1は、時系列的に連続する所定の長さの流量取得期間Tにおける流量の平均値を用いて流量の変化を判定している。即ち、ガスメータ1は、ガス流量変化判定装置としても機能する。
図2にガスメータ1の要部ブロック図を示す。ガスメータ1は、流量検出部11と、遮断部12と、マイクロコンピュータ(以下、マイコンという)20と、を備えている。
流量検出部11は、図示しないガス管路(即ち、ガス流路)を流れるガスの瞬時流量を計測することができる周知の超音波センサの流量センサなどからなる。なお、この超音波センサは、ガス管路中を伝搬する超音波信号の信号伝搬時間から瞬時流量を検出するものである。勿論、流量センサは、ガスの流量が計測可能なものであれば、例えば、フローセンサ式流量センサなどの他の計測方式のものを用いてもよい。流量検出部11は、マイコン20に接続されており、自律して周期的(例えば、2秒毎)にガスの瞬時流量を計測し、この計測した瞬時流量に応じた流量信号をマイコン20に向けて出力する。なお、流量検出部11は、マイコン20からの計測要求信号に応じて、上記流量信号をマイコン20に向けて出力するものであってもよい。
遮断部12は、ガス管路に設置された遮断弁及びこの遮断弁を駆動する駆動回路などで構成されている。遮断部12は、マイコン20に接続されており、マイコン20から出力される制御信号に応じて駆動回路が遮断弁を駆動してガス管路を開閉し、ガスの供給又は遮断を行う。
マイコン20は、所定の処理プログラムに従って各種の処理を行いガスメータ1全体の制御を司るCPU30と、CPU30が行う処理が記述された処理プログラムや各種判定値などを格納したROM40と、CPU30での各種処理過程で利用するワークエリア(各種データを格納するデータ記憶エリア等)を有するRAM50と、ガスの継続使用時間等の計時に用いられるタイマ60と、を備えている。
ROM40には、図1に示す流量検出手段30a、平均値算出手段30b、変化量算出手段30c、脈動検出手段30d、変化量判定値設定手段30e、流量変化判定手段30f、短期平均値算出手段30g、短期変化量算出手段30h、短期流量変化判定手段30i、継続使用時間リセット手段、ガス遮断手段、などの各種手段としてCPU30を機能させる制御プログラムが格納されている。そして、CPU30は、この制御プログラムを実行することにより、上記各種手段として機能する。
また、ROM40には、各種判定値やパラメータが格納されている。具体的には、ROM40には、(1)脈動がないときの流量変化の判定に用いられる変化量判定値である第1変化量判定値X1、(1)脈動があるときの流量変化の判定に用いられる変化量判定値である第2変化量判定値X2(但し、X2>X1)、(3)流量取得期間Tにおける脈動の検出に用いられる脈動判定値DT、(4)流量が多いときに流量取得期間Tとして用いられる第1期間B1、(5)流量が少ないときに流量取得期間Tとして用いられる第2期間B2(但し、B2>B1)、(6)流量取得期間Tを切り替えるための流量の判定に用いられる切替判定値ET、(7)短期流量取得期間Tsの長さを表す、第1期間B1と同一長さに設定された短期流量取得期間値Bs、(8)各流量区分における許容使用時間、などが格納されている。上記流量取得期間T(即ち、第1期間B1、第2期間B2)及び、上記短期流量取得期間Ts(短期流量取得期間値Bs)は、流量検出部11がガスの瞬時流量を計測する周期を単位時間とする数値で表されている。即ち、流量取得期間T及び短期流量取得期間Tsにおいては、それを表す数値の回数分の瞬時流量の計測が行われる。
本実施形態において、流量検出部11のガスの瞬時流量の計測周期は2[秒]、第1変化量判定値X1は4.0[L/h]、第2変化量判定値X2は8.3[L/h]、脈動判定値DTは13[L/h]、第1期間B1は8(即ち、16秒)、第2期間B2は32(即ち、64秒)、切替判定値ETは500[L/h]、短期流量取得期間値Bsは8(即ち、16秒)、に設定されている。
RAM50には、(1)流量取得期間Tにおける瞬時流量が計測された回数が格納される領域(流量計測回数C)、(2)流量取得期間Tの長さを示す値(即ち、瞬時流量が計測されるべき回数)が格納される領域(流量取得期間値B)(3)次の流量取得期間Tの長さを示す値(即ち、瞬時流量が計測されるべき回数)が格納される領域(次回流量取得期間値Bnext)、(4)流量取得期間Tにおいて計測された瞬時流量の積算値が格納される領域(流量積算値M)、(5)流量取得期間Tにおける瞬時流量の最大値が格納される領域(最大値Qmax)、(6)流量取得期間Tにおける瞬時流量の最小値が格納される領域(最小値Qmin)、(7)流量取得期間Tにおけるガスの流量変化の判定に用いられる変化量判定値が格納される領域(変化量判定値X)、(8)流量取得期間Tにおいて流量が変化したことを示すフラグが格納される領域(流量変化フラグF)、などの各種データの格納領域が設けられている。上記流量変化フラグF及びFsは、「真」が流量変化ありを示し、「偽」が流量変化なしを示す。
さらにRAM50には、(11)直近の流量取得期間T0における流量の平均値が格納される領域(流量平均値A0)、(12)当該直近の流量取得期間T0の1つ前の流量取得期間T1における流量の平均値が格納される領域(流量平均値A1)、(13)、当該直近の流量取得期間T0の2つ前の流量取得期間T2における流量の平均値が格納される領域(流量平均値A2)、が設けられている。また、RAM50には、(14)当該直近の流量取得期間T0における脈動の検出結果を示すフラグが格納される領域(脈動フラグW0)、(15)当該直近の流量取得期間T0の1つ前の流量取得期間T1における脈動の検出結果を示すフラグが格納される領域(脈動フラグW1)、(16)当該直近の流量取得期間T0の2つ前の流量取得期間T2における脈動の検出結果を示すフラグが格納される領域(脈動フラグW2)、が設けられている。上記脈動フラグWは、「真」が脈動ありを示し、「偽」が脈動なしを示す。
また、RAM50には、(17)短期流量取得期間Tsにおける瞬時流量が計測された回数が格納される領域(短期流量計測回数Cs)、(18)短期流量取得期間Tsにおいて計測された瞬時流量の積算値が格納される領域(短期流量積算値Ms)、(19)短期流量取得期間Tsにおいて流量が変化したことを示すフラグが格納される領域(短期流量変化フラグFs)、(20)直近の短期流量取得期間Ts0における流量の平均値が格納される領域(短期流量平均値As0)、(21)当該直近の短期流量取得期間Ts0の1つ前の短期流量取得期間Ts1における流量の平均値が格納される領域(短期流量平均値As1)、(22)、当該直近の短期流量取得期間Ts0の2つ前の短期流量取得期間Ts2における流量の平均値が格納される領域(短期流量平均値As2)、が設けられている。
以下、CPU30によって実行される本発明に係る流量変化判定処理の一例を、図3〜図6のフローチャートを参照して説明する。
ガスメータ1が備えるマイコン20のCPU30は、ガスメータ1に電源が投入されると、例えば、流量検出部11に対して自律動作のための制御信号の送信し、遮断部12に対して遮断弁を開放するための制御信号を送信するなどの所定の初期化処理を実行したのち、処理をステップS100に進める。
ステップS100では、処理に用いられる各変数を初期化する。具体的には、次回流量取得期間値Bnext、流量変化フラグF、流量平均値A0、A1、A2、脈動フラグW0、W1、W2、の各変数を初期化する(Bnext←第1期間B1、F←偽、A0←0、A1←0、A2←0、W0←偽、W1←偽、W2←偽)。そして、ステップS110に進む。
ステップS110では、続くS120〜S150の処理ループで用いられる各変数を初期化する。具体的には、流量計測回数C、流量取得期間値B、流量積算値M、最大値Qmax、及び、最小値Qmin、の各変数を初期化する(C←0、B←Bnext、M←0、Qmax←0、Qmin←9999)。そして、ステップS120に進む。
ステップS120では、流量検出部11から周期的(2秒毎)に送信される流量信号を待ち、この流量信号を受信すると、当該流量信号に基づいて瞬時流量Qを取得(即ち、検出)する。そして、ステップS130に進む。
ステップS130では、ステップS120で取得した瞬時流量Qを流量積算値Mに積算する。そして、ステップS400に進む。
ステップS400では、流量取得期間Tにおける流量の最大値Qmax及び最小値Qminを取得(特定)する最大最小流量取得処理を行う。最大最小流量取得処理は、図5に示すサブステップとしてのステップS410〜S440より構成される。
ステップS410では、ステップS120で取得した瞬時流量Qと最大値Qmaxとを比較し、瞬時流量Qが最大値Qmaxより大きいときはステップS420に進み(S410でY)、瞬時流量Qが最大値Qmax以下のときはステップS430に進む(S410でN)。
ステップS420では、瞬時流量Qを最大値Qmaxに格納して、最大値Qmaxを更新する。そして、ステップS430に進む。
ステップS430では、瞬時流量Qと最小値Qminとを比較し、瞬時流量Qが最小値Qminより小さいときはステップS440に進み(S430でY)、瞬時流量Qが最小値Qmin以上のときは、最大最小流量取得処理を終了する。(S430でN)。
ステップS440では、瞬時流量Qを最小値Qminに格納して、最小値Qminを更新する。そして、最大最小流量取得処理を終了する。この最大最小流量取得処理を終了すると、図3のフローチャートに戻り、ステップS140に進む。
ステップS140では、流量計測回数Cに1を加算して、積算数をカウントする。そして、ステップS150に進む。
ステップS150では、流量取得期間Tを経過したか否かを判定する。具体的には、流量計測回数Cが流量取得期間値B以上か否かを判定し、流量計測回数Cが流量取得期間値B以上のときは、当該流量取得期間Tが終了(経過)したものとして、ステップS160に進み(S150でY)、流量取得期間値B未満のときは、当該流量取得期間Tが終了せずに継続しているものとして、ステップS120に戻り(S150でN)、再度、瞬時流量Qの取得を行う。即ち、周期的に計測される瞬時流量Qの計測回数に基づいて流量取得期間Tの計時を行っている。
ステップS160では、直近、その1つ前、及び、その2つ前の流量取得期間T0、T1、T2における流量の平均値である流量平均値Aを記憶する。具体的には、RAM50の流量平均値A2に流量平均値A1をコピーして(A2←A1)、次に、流量平均値A1に流量平均値A0をコピーして(A1←A0)、そして、流量平均値A0に、上記流量積算値Mを流量取得期間値Bで除した値を格納する(A0←M÷B)。そして、図4に示すステップS170に進む。
ステップS170では、最大値Qmaxから最小値Qminを差し引いて、直近の流量取得期間T0における瞬時流量の変動値Dを算出する。そして、ステップS180に進む。
ステップS180では、ステップS170で算出した瞬時流量の変動値Dが、ROM40に格納されている脈動判定値DT以上か否かを判定し、脈動判定値DT以上であるとき、直近の流量取得期間T0において脈動が検出されたものとしてステップS190に進み(S180でY)、脈動判定値DT未満であるとき、直近の流量取得期間T0において脈動が検出されなかったものとしてステップS200に進む(S180でN)。
ステップS190では、直近、その1つ前、及び、その2つ前の流量取得期間T0、T1、T2における脈動の検出結果を示す脈動フラグWを記憶する。具体的には、RAM50の脈動フラグW2に脈動フラグW1をコピーして(W2←W1)、次に、脈動フラグW1に脈動フラグW0をコピーして(W1←W0)、そして、脈動フラグW0に、「真」(脈動あり)を格納する。そして、ステップS210に進む。
ステップS200では、直近、その1つ前、及び、その2つ前の流量取得期間T0、T1、T2における脈動の検出結果を示す脈動フラグWを記憶する。具体的には、RAM50の脈動フラグW2に脈動フラグW1をコピーして(W2←W1)、次に、脈動フラグW1に脈動フラグW0をコピーして(W1←W0)、そして、脈動フラグW0に、「偽」(脈動なし)を格納する。そして、ステップS210に進む。
ステップS210では、直近の2つ前の流量取得期間T2における脈動の有無を判定する。具体的には、脈動フラグW2が「真」であるとき、当該2つ前の流量取得期間T2において脈動があったものとしてステップS220に進み(S210でY)、脈動フラグW2が「真」でないとき、当該2つ前の流量取得期間T2において脈動がなかったものとしてステップS230に進む(S210でN)。なお、ステップS210において、直近の流量取得期間T0における脈動の有無を判定してもよい。
ステップS220では、ガスの流量変化の判定に用いられる変化量判定値Xとして、ROM40に格納されている第2変化量判定値X2を設定する。そして、ステップS240に進む。
ステップS230では、ガスの流量変化の判定に用いられる変化量判定値Xとして、ROM40に格納されている第1変化量判定値X1を設定する。そして、ステップS240に進む。
ステップS240では、ガスの流量の変化量Vを算出する。具体的には、RAM50に格納されている直近の流量取得期間T0における流量平均値A0と当該直近の2つ前の流量取得期間T2における流量平均値A2との差分値の絶対値を、変化量Vとして算出する。そして、ステップS250に進む。
ステップS250では、ステップS240で算出したガスの流量の変化量Vが、RAM50に格納されている変化量判定値X以上か否かを判定し、変化量判定値X以上であるとき、流量変化ありとしてステップS260に進み(S250でY)、変化量判定値X未満であるとき、流量変化なしとしてステップS270に進む(S250でN)。
ステップS260では、流量変化フラグFをセット(F←真)する。そして、ステップS500に進む。
ステップS270では、流量変化フラグFをリセット(F←偽)する。そして、ステップS500進む。
ステップS500では、流量変化を検出した場合に直近の流量取得期間T0の流量の平均値(流量平均値A0)に基づいて、流量取得期間Tの長さを切り替える流量取得期間切替処理を行う。この流量取得期間切替処理は、図6に示すサブステップとしてのステップS510〜S560より構成される。
ステップS510では、流量取得期間Tにおける流量変化を示す流量変化フラグFが「真」であるか否かを判定し、「真」でないときは、流量取得期間Tにおける流量変化がなかったものとしてステップS520に進み(S510でN)、「真」であるときは、流量取得期間Tにおいて流量変化があったものとしてステップS530に進む(S510でY)。
ステップS520では、短期流量取得期間Tsにおける流量変化を示す短期流量変化フラグFsが「真」であるか否かを判定し、「真」であるときは、短期流量取得期間Tsにおいて流量変化があったものとしてステップS530に進み(S520でY)、「真」でないときは、短期流量取得期間Tsにおける流量変化がなかったものとして流量取得期間切替処理を終了する(S520でN)。
ステップS530では、流量平均値A0が、ROM40に格納されている切替判定値ET以上であるか否かを判定し、切替判定値ET以上であるとき、高流量状態であるとしてステップS540に進み(S530でY)、切替判定値ET未満であるとき、低流量状態であるとしてステップS550に進む(S530でN)。
ステップS540では、次回流量取得期間値Bnextに、ROM40に格納されている第1期間B1を設定する。そして、ステップS560に進む。
ステップS550では、次回流量取得期間値Bnextに、ROM40に格納されている第1期間B1より長い第2期間B2を設定する。そして、ステップS560に進む。
ステップS560では、流量変化フラグF及び短期流量変化フラグFsをリセットする(F←偽、Fs←偽)。そして、流量取得期間切替処理を終了する。この流量取得期間切替処理を終了すると、図3のフローチャートに戻り、ステップS110に戻る。以降は、上記処理を繰り返し実行する。
上述したステップS120が、請求項中の流量検出手段に相当し、ステップS160が、請求項中の平均値算出手段に相当し、ステップS240が、請求項中の変化量算出手段に相当し、ステップS180が、請求項中の脈動判定手段に相当し、ステップS210〜S230が、請求項中の変化量判定値設定手段に相当し、ステップS250が、流量変化判定手段に相当する。上記直近の流量取得期間T0が、請求項中の一の流量取得期間に相当し、上記直近の2つ前の流量取得期間T2が、請求項中の他の流量取得期間に相当する。
また、上述した流量変化判定処理は、直近の2つ前の流量取得期間T2における脈動の検出結果(脈動フラグW2)に基づいて、変化量判定値Xを設定するものであったが、これに限定されるものではない。例えば、直近の流量取得期間T0における脈動の検出結果(脈動フラグW0)に基づいて、変化量判定値Xを設定してもよく、又は、脈動フラグW2と脈動フラグW0とがともに「真」だったときを脈動ありとし、それ以外を脈動なしとして、変化量判定値Xを設定してもよい。また、これら以外の流量取得期間Tにおける脈動の検出結果に基づいて、変化量判定値Xを設定してもよい。
また、上述した流量変化判定処理は、直近の流量取得期間T0における流量平均値A0と当該直近の2つ前の流量取得期間T2における流量平均値A2との差分値を変化量Vとして算出するものであったが、これに限定するものではなく、例えば、流量平均値A0と当該直近の3つ前の流量取得期間T3における流量の平均値との差分値を変化量Vとするなど、差分値の算出に用いる流量平均値Aを取得した2つの流量取得期間Tの間に、少なくとも、1つ以上の流量取得期間Tを挟んでいればよい。
また、CPU30は、上述した流量変化判定処理と並行して、短期流量変化判定処理を実行する。この短期流量変化判定処理の一例を、図7のフローチャートを参照して説明する。
ガスメータ1が備えるマイコン20のCPU30は、ガスメータ1に電源が投入されると、所定の初期化処理を行ったのち、上述した流量変化判定処理と並行して、ステップT100に進む。
ステップT100では、処理に用いられる各変数を初期化する。具体的には、短期流量変化フラグFs、短期流量平均値As0、As1、As2、の各変数を初期化する(Fs←偽、As0←0、As1←0、As2←0)。そして、ステップT110に進む。
ステップT110では、続くT120〜T150の処理ループで用いられる各変数を初期化する。具体的には、短期流量計測回数Cs、短期流量積算値Ms、の各変数を初期化する(Cs←0、Ms←0)。そして、ステップT120に進む。
ステップT120では、流量検出部11から周期的(2秒毎)に送信される流量信号を待ち、この流量信号を受信すると、当該流量信号に基づいて瞬時流量Qを取得(即ち、検出)する。このステップT120は、流量変化判定処理におけるステップS120と同一タイミングで実行される。そして、ステップT130に進む。
ステップT130では、ステップT120で取得した瞬時流量Qを短期流量積算値Msに積算する。そして、ステップT140に進む。
ステップT140では、短期流量計測回数Csに1を加算して、積算数をカウントする。そして、ステップT150に進む。
ステップT150では、短期流量取得期間Tsを経過したか否かを判定する。具体的には、短期流量計測回数Csが短期流量取得期間値Bs(即ち、第1期間B1)以上か否かを判定し、短期流量計測回数Csが短期流量取得期間値Bs以上のときは、当該短期流量取得期間Tsが終了(経過)したものとして、ステップT160に進み(T150でY)、第1期間B1未満のときは、当該短期流量取得期間Tsが終了せずに継続しているものとして、ステップT120に戻り(T150でN)、再度、瞬時流量Qの取得を行う。即ち、周期的に計測される瞬時流量Qの計測回数に基づいて短期流量取得期間Tsの計時を行っている。
ステップT160では、直近、その1つ前、及び、その2つ前の短期流量取得期間Ts0、Ts1、Ts2における流量の平均値である短期流量平均値Asを記憶する。具体的には、RAM50の短期流量平均値As2に短期流量平均値As1をコピーして(As2←As1)、次に、短期流量平均値As1に短期流量平均値As0をコピーして(As1←As0)、そして、短期流量平均値As0に、上記短期流量積算値Msを短期流量取得期間値Bsで除した値を格納する(As0←Ms÷Bs)。そして、ステップT240に進む。
ステップT240では、短期流量取得期間Tsのガスの流量の変化量Vsを算出する。具体的には、RAM50に格納されている直近の短期流量取得期間Ts0における短期流量平均値As0と当該直近の2つ前の短期流量取得期間Ts2における短期流量平均値As2との差分値の絶対値を、変化量Vsとして算出する。そして、ステップT250に進む。
ステップT250では、ステップT240で算出したガスの流量の変化量Vsが、RAM50に格納されている変化量判定値X以上か否かを判定し、変化量判定値X以上であるとき、流量変化ありとしてステップT260に進み(T250でY)、変化量判定値X未満であるとき、流量変化なしとしてステップT110に戻る(T250でN)。
ステップT260では、短期流量変化フラグFsをセット(F←真)する。そして、ステップT110に戻る。以降は、上記処理を繰り返し実行する。
上述したステップT160が、請求項中の短期平均値算出手段に相当し、ステップT240が、請求項中の短期変化量算出手段に相当し、ステップT250が、短期流量変化判定手段に相当する。上記直近の短期流量取得期間Ts0が、請求項中の一の短期流量取得期間に相当し、上記直近の2つ前の短期流量取得期間Ts2が、請求項中の他の短期流量取得期間に相当する。
また、CPU30は、上述した流量変化判定処理と並行して、使用時間遮断処理を実行する。この使用時間遮断処理の一例を、図8のフローチャートを参照して説明する。
ガスメータ1が備えるマイコン20のCPU30は、ガスメータ1に電源が投入されると、所定の初期化処理を行ったのち、上述した流量変化判定処理及び短期流量変化判定処理と並行して、ステップU100に進む。
ステップU100では、直近の流量取得期間T0における流量平均値A0を、使用されている流量として、当該流量(即ち、所定の流量範囲ごとに区切られた流量区分)に対する継続使用時間を計測に用いられるタイマ60を初期化(リセット)した後、タイマ60による計測(計時)を開始する。そして、ステップU110に進む。
ステップU110では、ガスの流量に変化があったか否かを判定する。具体的には、流量変化フラグFが、「偽」から「真」に変化したか否かを判定し、「偽」から「真」に変化していたとき、流量変化があったものとして、ステップU100に戻り、再度、タイマ60をリセットするとともに、使用されている流量に応じた継続使用時間の計時を開始する(U110でY)。または、「偽」から「真」に変化していないとき、流量変化がなかったものとして、ステップU120に進む(U110でN)。
ステップU120では、タイマ60と、使用されている流量に対して予め定められた許容使用時間とを比較し、タイマ60が許容使用時間を超えていたときは、ステップU130に進み(U120でY)、タイマ60が許容使用時間以下のときは、ステップU110に戻り(U120でN)、再度、流量変化の判定を行う。
ステップU130では、遮断部12に対してガスを遮断するための制御信号を送信する。遮断部12は、この制御信号に基づき、駆動回路により遮断弁を駆動してガス管路を閉じて、ガスを遮断する。そして、本フローチャートの処理を終了する。
上述したステップU100が、請求項中の継続使用時間リセット手段に相当し、ステップU130が、請求項中のガス遮断手段に相当する。
次に、上述したガスメータ1の本発明に係る動作(流量変化判定処理、短期流量変化判定処理、使用時間遮断処理)の一例を以下に説明する。
ガスメータ1は、電源が投入されると流量変化判定処理のための各種初期化処理を実行する(S100)。そして、所定の流量取得期間Tにおける流量の平均値Aを取得して、直近、その1つ前、その2つ前の流量取得期間T0、T1、T2における流量平均値A0、A1、A2を記憶する(S110〜S130、S140〜S160)。また、これと平行して所定の流量取得期間Tにおける脈動を検出して、直近、その1つ前、その2つ前の流量取得期間T0、T1、T2における脈動の検出結果である脈動フラグW0、W1、W2を記憶する(S400、S170〜S200)。
そして、直近の2つ前の流量取得期間T2において脈動が検出されていたとき(S210でY)、直近の流量平均値A0とその2つ前の流量平均値A2との変化量Vを、第2変化量判定値X2と比較することにより流量変化を判定し(S220、S240、S250)、直近の2つ前の流量取得期間T2において脈動が検出されていなかったとき(S210でN)、直近の流量平均値A0とその2つ前の流量平均値A2との変化量Vを、第1変化量判定値X1と比較することにより流量変化を判定する(S230、S240、S250)。そして、流量変化ありと判定すると(S250でY)、流量変化フラグFをセットし(S260)、流量変化なしと判定すると(S250でN)、流量変化フラグFをリセットする(S270)。
また、ガスメータ1は、上記処理と平行して、電源が投入されると短期流量変化判定処理のための各種初期化処理を実行する(T100)。そして、第1期間B1と同一長さの短期流量取得期間Tsにおける流量の平均値Asを取得して、直近、その1つ前、その2つ前の流量取得期間T0、T1、T2における短期流量平均値As0、As1、As2を記憶する(T110〜T160)。
そして、直近の短期流量平均値As0とその2つ前の短期流量平均値As2との変化量Vsを、上記流量変化判定処理において設定された変化量判定値Xと比較することにより流量変化を判定する(T240、T250)そして、流量変化ありと判定すると(S250でY)、短期流量変化フラグFsをセットする(T260)。
また、ガスメータ1は、流量変化判定処理又は短期流量変化判定処理において流量変化ありと判定した場合(S510でY又はS520でY)、直近の流量取得期間T0における流量平均値A0が、予め定められた切替判定値ET以上か否かを判定して、切替判定値ET以上のとき(S530でY)、次回の流量取得期間Tの長さとして第1期間B1を設定し(S540)、切替判定値ET未満のとき(S530でN)、次回の流量取得期間Tの長さとして第1期間B1より長い第2期間B2を設定する(S550)。そして、流量変化フラグF及び短期流量変化フラグFsをリセットする(S560)。
また、ガスメータ1は、現在使用している流量に対して、タイマ60を用いて継続使用時間を計時し、流量変化フラグFが「偽」から「真」に変化したとき、タイマ60をリセットして、再度、継続使用時間の計時を開始する(U100、U110)。また、継続使用時間が許容使用時間を超えると、ガスを遮断する(U120、U130)。
次に、時系列的に連続する流量取得期間Tをそれぞれ区切る各時刻S0〜S6における流量変化について考察する。
図9は、本発明に係る動作を示しており、図10において、実線はガスの流量を模式的に示しており、これら図においては、途中時刻(時刻S3と時刻S4との間)で、瞬時流量が0[L/h]から8.3[L/h]に変化しており、時刻S0〜S3の流量平均値Aが0[L/h]、時刻S3〜S4の流量平均値Aが4[L/h]、時刻S4〜S6の流量平均値Aが8.3[L/h]となっている。図9、図10に示すガスの流量変化は同一である。
図9に示す本発明の動作では、直近の流量取得期間T0における流量平均値A0と直近の2つ前の流量取得期間T2における流量平均値A2の差分値を変化量V(=|A0−A2|)としているので、時刻S3では、変化量Vが0[L/h]となり、時刻S4では、変化量Vが4[L/h]となり、時刻S5では、変化量Vが8.3[L/h]となり、実際の流量の変化量を正確に計測することができることがわかる。
一方、図10に示す従来の構成の動作では、連続する流量取得期間Tにおける流量平均値の差分値を変化量V(=|A0−A1|)としているので、時刻S3では、変化量Vが0[L/h]となり、時刻S4では、変化量Vが4[L/h]となり、時刻S5では、変化量が4.3[L/h]となり、実際の流量の変化量を正確に計測することができないことがわかる。
以上より、本実施形態によれば、CPU30が、所定の流量取得期間T毎の周期的に検出されたガスの流量の平均値を算出して、直近の流量取得期間T0において算出された流量の平均値A0と、当該直近の流量取得期間T0より2つ前の流量取得期間T2において算出された流量の平均値A2と、の変化量V(即ち、流量取得期間Tの流量の平均値Aの変化量V)を算出する。また、CPU30が、流量取得期間T毎に流量の変動値Dに基づいて、流量の脈動を検出して、脈動が検出されないとき、変化量判定値Xとして第1変化量判定値X1を設定し、脈動が検出されたとき、変化量判定値Xとして第1変化量判定値X1より大きい第2変化量判定値X2を設定する。そして、CPU30が、流量取得期間Tの流量の平均値Aの変化量Vと変化量判定値Xとに基づいて、流量の変化(即ち、流量取得期間Tの流量の平均値Aの変化)を判定する。
つまり、1つの流量取得期間T1を間に挟む2つの流量取得期間T0、T2における流量の平均値の変化量Vを算出する。また、脈動がない状態では小さい値の第1変化量判定値X1を用いて変化量Vの判定を行い、脈動がある状態では大きい値の第2変化量判定値X2を用いて変化量の判定を行う。
また、CPU30が、第1期間B1と同一長さの短期流量取得期間Ts毎の周期的に検出された流量の平均値Asを算出して、直近の短期流量取得期間Ts0において算出された流量の平均値As0と、当該直近の短期流量取得期間Ts0より2つ前の短期流量取得期間Ts2において算出された流量の平均値As2と、の変化量Vs(即ち、短期流量取得期間Tsの流量の平均値Asの変化量Vs)を算出して、短期流量取得期間Tsの流量の平均値Asの変化量Vsと変化量判定値Xとに基づいて、流量の変化(即ち、短期流量取得期間Tsの流量の平均値Asの変化)を判定する。そして、CPU30が、流量取得期間Tの流量の平均値Aの変化があったことが判定された場合、又は、短期流量取得期間Tsの流量の平均値Asの変化があったことが判定された場合に、直近の流量取得期間T0に算出した流量の平均値A0が予め定められた切替判定値ET以上のとき、流量取得期間Tとして第1期間B1を用いて流量の平均値Aを算出し、直近の流量取得期間T0に算出した流量の平均値A0が切替判定値ET未満のとき、流量取得期間Tとして第1期間B1より長い第2期間B2を用いて前記流量の平均値Aを算出する。
つまり、第1期間B1と同一長さの短期流量取得期間Tsの流量の平均値Asの変化量Vsと変化量判定値Xに基づいて、流量の変化(即ち、短期流量取得期間Tsの流量の平均値Asの変化)を判定する。そして、流量取得期間Tの流量の平均値Aに変化があった場合、又は、短期流量取得期間Tsの流量の平均値Asに変化があった場合に、直近の流量取得期間T0に算出した流量の平均値A0が切替判定値ET以上のとき、流量取得期間Tとして短い第1期間B1を用いて流量の平均値Aを算出し、直近の流量取得期間T0に算出した流量の平均値A0が切替判定値ET未満のとき、流量取得期間Tとして長い第2期間B2を用いて流量の平均値Aを算出する。
以上説明したように、本発明によれば、1つの流量取得期間T1を間に挟む2つの流量取得期間T0、T1における流量の平均値Aの変化量Vを算出するので、流量取得期間T1の途中時点で流量変化が発生した場合でも、当該流量取得期間T1を間に挟む別の2つの流量取得期間T0、T1における流量の平均値A0、A2、即ち、流量の変化前と変化後を正しく示す流量の平均値A0、A2に基づいて、それらの変化量Vを算出することができ、このように算出された変化量Vを用いることで流量変化を正確に判定できる。
また、脈動がない状態では小さい値の第1変化量判定値X1を用いて変化量Vの判定を行い、脈動がある状態では大きい値の第2変化量判定値X2を用いて変化量Vの判定を行うので、脈動がない状態では、流量変化に対する感度を改善することができ、脈動がある状態では、脈動を流量変化と誤判定してしまうことを防止でき、このように脈動の検出に応じて変化量判定値Xを切り替えることで流量変化に対する感度を適切にできるとともに脈動の影響を回避して流量変化を正確に判定できる。
また、第1期間B1と同一長さの短期流量取得期間Tsの流量の平均値Tsの変化量Vsと変化量判定値Xに基づいて、流量の変化(即ち、短期流量取得期間Tsの流量の平均値Asの変化)を判定し、そして、流量取得期間Tの流量の平均値Aに変化があった場合、又は、短期流量取得期間Tsの流量の平均値Asに変化があった場合に、直近の流量取得期間T0に算出した流量の平均値A0が切替判定値ET以上のとき、流量取得期間Tとして短い第1期間B1を用いて流量の平均値Aを算出し、直近の流量取得期間T0に算出した流量の平均値A0が切替判定値ET未満のとき、流量取得期間Tとして長い第2期間B2を用いて流量の平均値Aを算出するので、流量取得期間Tの流量の平均値Aに変化があった場合又は短期流量取得期間Tsの流量の平均値Asの変化があった場合に切替判定値ET以上の高流量でガスが流動しているときには、流量取得期間Tを短くして(第1期間B1)、短い時間で流量の平均値Aを算出でき、また、流量取得期間Tの流量の平均値Aに変化があった場合又は短期流量取得期間Tsの流量の平均値Asの変化があった場合に切替判定値ET未満の低流量でガスが流動しているときには、流量取得期間Tを長くして(第2期間B2)、脈動の影響を低減でき、そのため、流量取得期間Tとして第2期間B2が用いられている場合においても、より短い第1期間B1と同一長さの短期流量取得期間Tsの流量の平均値Asの変化を監視して、急激な流量変化に対して応答性を向上させることができ、また、高流量域での実流量変化に対応した判定速度を確保することができるとともに、使用時間遮断機能の保安性能を確保できる。
上述した本実施形態においては、流量取得期間切替処理(S500)において、流量取得期間Tの流量の平均値Aに変化があった場合、又は、短期流量取得期間Tsの流量の平均値Asの変化があった場合に、直近の流量取得期間T0における流量の平均値A0が切替判定値ET以上か否かを判定するものであったが、これに限定されるものではない。例えば、上述した短期流量変化判定処理を備えずに、流量取得期間切替処理において、流量取得期間Tの流量の平均値Aに変化があった場合に、直近の流量取得期間T0における流量の平均値A0が切替判定値ET以上か否かを判定するものであってもよく、または、このような流量取得期間切替処理を備えないものであってもよい。
なお、前述した実施形態は本発明の代表的な形態を示したに過ぎず、本発明は、実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。