(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下に添付図面を参照しながら、本発明の実施形態の態様について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0015】
(第1実施形態)
図1は、第1実施形態によるメータ10の構成を示す概略図である。メータ10は、例えば、スマートメータの一例であるガスメータである。メータ10は、計量部12、バッファ部14、第1メモリ領域16、第2メモリ領域18、不揮発性メモリ20、表示部22およびメータ制御部24を含む。
【0016】
計量部12は、計量対象を計量する。計量対象は、例えば、導管を流れる都市ガスなどのガスである。具体的には、計量部12は、所定時間当たり(例えば、2秒当たり)のガスの流量を所定時間毎(例えば、2秒毎)に計量する。
【0017】
バッファ部14は、計量部12で計量された所定時間当たりの計量データを所定時間毎に取得する。バッファ部14は、所定時間毎に取得された計量データを逐次積算して一時的に保持する。バッファ部14は、計量データの積算値が所定の一定値(例えば、1リットル)に達すると、その一定値を示す定量データを第1積算部30および第2積算部32に送信し、一定値(1リットル)以上の桁をクリアする。つまり、バッファ部14では、積算値として一定値以下の桁しか残らない。
【0018】
第1メモリ領域16は、例えば、RAMなどの揮発性メモリに形成された記憶領域である。第1メモリ領域16には、メータ10の指針値が格納される。指針値は、計量データの積算値を示し、バッファ部14の一定値(1リットル)以上の桁で表現される。
【0019】
第2メモリ領域18は、例えば、RAMなどの揮発性メモリに形成された記憶領域である。第2メモリ領域18は、第1メモリ領域16から区分されている。第2メモリ領域18には、指針値とは独立して導出される内部積算値が格納される。内部積算値は、指針値と同様に、計量データの積算値を示し、バッファ部14の一定値(1リットル)以上の桁で表現される。
【0020】
不揮発性メモリ20は、メータ10の電源がオフされても(不揮発性メモリ20への電力の供給が途絶えても)、記憶したデータを保持する。不揮発性メモリ20は、例えば、電気的に書き込みが可能なEEPROMなどである。不揮発性メモリ20には、第1メモリ領域16内の指針値が所定のタイミングで書き込まれる。つまり、不揮発性メモリ20は、指針値のバックアップに用いられる。
【0021】
表示部22は、例えば、液晶ディスプレイなどである。表示部22には、第1メモリ領域16に格納されている指針値が表示される。
【0022】
メータ制御部24は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。メータ制御部24は、プログラムを実行することで、第1積算部30、第2積算部32および異常判断部34として機能する。
【0023】
図2は、第1積算部30の処理を説明するフローチャートである。第1積算部30は、所定制御周期で発生する割り込みタイミングごとに
図2の一連の処理を繰り返す。ここでの所定制御周期は、例えば、計量部12の計量周期未満とする。
【0024】
まず、第1積算部30は、バッファ部14から定量データを受信したか否かを判断する(S100)。定量データを受信した場合(S100におけるYES)、第1積算部30は、第1メモリ領域16の指針値に定量データが示す一定値(1リットル)を加算して新たな指針値を導出する(S110)。そして、第1積算部30は、導出された指針値を第1メモリ領域16に格納する(S120)。具体的には、第1積算部30は、第1メモリ領域16内の現在の指針値を読み出し、現在の指針値を示すビット列に定量データが示すビット列を加算し、加算後のビット列を更新後の指針値として第1メモリ領域16に格納する。次に、第1積算部30は、第1メモリ領域16内の更新された指針値を表示部22に表示させ(S130)、一連の処理を終了する。
【0025】
定量データを受信しなかった場合(S100におけるNO)、第1積算部30は、ステップS130に進み、第1メモリ領域16内の現在の指針値を表示部22に表示させ(S130)、一連の処理を終了する。
【0026】
このように、第1積算部30は、一定値を加算していくことで、結果的に、計量部12で取得された計量データを積算して指針値を導出している。そして、第1積算部30は、導出された指針値を第1メモリ領域16に格納している。
【0027】
図3は、第2積算部32の処理を説明するフローチャートである。第2積算部32は、所定制御周期で発生する割り込みタイミングごとに
図3の一連の処理を繰り返す。ここでの割り込みタイミングは、第1積算部30の割り込みタイミングと大凡共通のタイミングに設定される。
【0028】
まず、第2積算部32は、バッファ部14から定量データを受信したか否かを判断する(S200)。定量データを受信しなかった場合(S200におけるNO)、第2積算部32は、一連の処理を終了する。
【0029】
定量データを受信した場合(S200におけるYES)、第2積算部32は、第2メモリ領域18の内部積算値に定量データが示す一定値(1リットル)を加算して新たな内部積算値を導出する(S210)。そして、第2積算部32は、導出された内部積算値を第2メモリ領域18に格納し(S220)、一連の処理を終了する。具体的には、第2積算部32は、第2メモリ領域18内の現在の内部積算値を読み出し、現在の内部積算値を示すビット列に定量データが示すビット列を加算し、加算後のビット列を更新後の内部積算値として第2メモリ領域18に格納する。
【0030】
このように、第2積算部32は、第1積算部30とは独立して計量データを積算して内部積算値を導出している。そして、第2積算部32は、導出された内部積算値を、第1メモリ領域16とは区別される第2メモリ領域18に格納している。
【0031】
ここで、第1メモリ領域16の指針値および第2メモリ領域18の内部積算値は、共通のバッファ部14から送信される定量データに応じて並行して更新されるため、基本的には、等しい値となる。
【0032】
しかし、例えば、第1メモリ領域16の指針値を更新する際などの外乱ノイズなどによって、第1メモリ領域16内の指針値を示すビット列にビット化けが生じることが想定し得る。指針値にビット化けが生じると、正規とは異なるガス料金の請求が行われてしまうおそれがある。また、指針値を示すビット列に定量データを示すビット列が加算され、加算後のビット列が最新の指針値として第1メモリ領域16に格納されるため、一度ビット化けが生じると、以後、指針値を正常な値に戻すことは困難である。
【0033】
そこで、異常判断部34は、第1メモリ領域16の指針値と第2メモリ領域18の内部積算値とを比較して、メータ10の異常の有無を判断する。
【0034】
図4は、異常判断部34の処理を説明するフローチャートである。異常判断部34は、所定制御周期で発生する割り込みタイミングごとに
図4の一連の処理を繰り返す。ここでの割り込みタイミングは、例えば、24時間(1日)毎に訪れる所定時刻とする。
【0035】
まず、異常判断部34は、第1メモリ領域16から現在の指針値を取得する(S300)。次に、異常判断部34は、第2メモリ領域18から現在の内部積算値を取得する(S310)。
【0036】
次に、異常判断部34は、現在の指針値と現在の内部積算値とが等しいか否かを判断する(S320)。例えば、異常判断部34は、現在の指針値の各桁の値と、現在の内部指針値の各桁の値とが全桁に亘って一致している場合、現在の指針値と現在の内部積算値とが等しいと判断する。なお、異常判断部34は、全桁に亘って比較する態様に限らず、例えば、指針値および内部積算値の少なくとも一部の桁(例えば、下位4桁など)について比較してもよい。
【0037】
現在の指針値と現在の内部積算値とが等しい場合(S320におけるYES)、異常判断部34は、現在の指針値が正常値であるため、メータ10に異常が生じていないとして、第1メモリ領域16の指針値(現在の指針値)を複製して不揮発性メモリ20に書き込み(S330)、一連の処理を終了する。不揮発性メモリ20に指針値を書き込むことで、例えば、メータ10の電池切れが生じたとしても、指針値の履歴を保持することができる。
【0038】
現在の指針値と現在の内部積算値とが異なる場合(S320におけるNO)、異常判断部34は、現在の指針値および現在の内部積算値のいずれか一方または双方が正常値ではないため、メータ10に異常が生じたとして、異常が生じたことを報知する(S340)。例えば、異常判断部34は、異常ランプの点灯や点滅などによってメータ10の異常を報知する。異常が報知されたメータ10は、メンテナンス作業者などによって後に交換される。
【0039】
異常の報知に伴い、異常判断部34は、第1メモリ領域16の指針値を複製して不揮発性メモリに書き込み(S330)、一連の処理を終了する。異常が生じた場合にも指針値を不揮発性メモリ20に書き込むことで、異常が生じた履歴を確実に残すことができる。
【0040】
以上のように、第1実施形態のメータ10では、指針値の他に内部積算値が導出され、指針値と内部積算値とを比較することでメータ10の異常の有無が判断される。
【0041】
したがって、第1実施形態のメータ10によれば、指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0042】
なお、第1実施形態では、不揮発性メモリ20に内部積算値が書き込まれない例を挙げていた。しかし、異常判断部34は、指針値とともに内部積算値を不揮発性メモリ20に書き込むようにしてもよい。
【0043】
(第2実施形態)
第1実施形態では、内部積算値の積算が指針値と同じ期間だけ行われていた。これに対し、第2実施形態では、内部積算値の積算が指針値の積算期間よりも短い期間で区切られる。以後、内部積算値の積算期間を、内部積算期間と呼ぶ場合がある。内部積算期間は、指針値の積算期間よりも短い所定期間(例えば、24時間(1日))とする。また、現在の内部積算期間が終了されると、次の内部積算期間が開始され、内部積算期間が繰り返される。
【0044】
図5は、第2実施形態における第2積算部32の処理を説明するフローチャートである。第2積算部32は、第1実施形態と同様に、所定の割り込みタイミングごとに
図5の処理を繰り返す。内部積算期間の開始時には、第2メモリ領域18の内部積算値がゼロにリセットされている。
【0045】
まず、第2積算部32は、現在の内部積算期間が終了したか否かを判断する(S400)。現在の内部積算期間が終了していない場合(S400におけるNO)、第2積算部32は、第1実施形態のステップS200〜ステップS220の処理を行う。つまり、第2積算部32は、定量データを受信した場合に(S200におけるYES)、新たな内部積算値を導出し(S210)、導出された内部積算値を第2メモリ領域18に格納する(S220)。この際、内部積算期間の開始時の内部積算値がゼロであるため、現在の内部積算期間を対象とした内部積算値は、定量データの受信に応じて、ゼロから積算されていくこととなる。
【0046】
現在の内部積算期間が終了した場合(S400におけるYES)、第2積算部32は、第2メモリ領域18内の現在の内部積算値を異常判断部34に送信する(S410)。その後、第2積算部32は、第2メモリ領域にゼロを格納し(S420)一連の処理を終了する。これにより、内部積算値がゼロにリセットされる。このように、第2実施形態では、ゼロにリセットされる直前の第2メモリ領域18内の内部積算値(すなわち、現在の内部積算期間における内部積算値)が異常判断部34に送信される。
【0047】
そして、第2積算部32は、ゼロとされた内部積算値を第2メモリ領域18に格納し(S220)、一連の処理を終了する。これにより、次の内部積算期間において、内部積算値をゼロから積算することができる。
【0048】
図6は、第2実施形態における異常判断部34の処理を説明するフローチャートである。異常判断部34は、例えば、第2積算部32と同様の制御周期で発生する割り込みタイミングごとに
図6の処理を繰り返す。
【0049】
まず、異常判断部34は、第2積算部32から内部積算値を受信したか否かを判断する(S500)。内部積算値を受信しなかった場合(S500におけるNO)、異常判断部34は、一連の処理を終了する。
【0050】
内部積算値を受信した場合(S500におけるYES)、異常判断部34は、第1メモリ領域16から現在の指針値を取得する(S510)。取得された指針値は、今回の内部積算期間の終了時点の指針値に相当する。なお、異常判断部34は、取得した現在の指針値を、次回の内部積算値の受信時まで保持する。
【0051】
次に、異常判断部34は、現在(今回)の指針値から、前回の内部積算値の受信時に取得された指針値(前回の内部積算期間の終了時点の指針値)を減算して、今回の内部積算期間において増加された指針値を示す差分値を導出する(S520)。
【0052】
次に、異常判断部34は、導出された差分値が、現在の内部積算期間における内部積算値に等しいか否かを判断する(S530)。
【0053】
差分値が内部積算値に等しい場合(S530におけるYES)、異常判断部34は、現在の指針値が正常値であるため、メータ10に異常が生じていないとして、第1メモリ領域16の指針値(現在の指針値)を複製して不揮発性メモリ20に書き込み(S540)、一連の処理を終了する。
【0054】
差分値と内部積算値とが異なる場合(S530におけるNO)、異常判断部34は、現在の指針値および現在の内部積算値のいずれか一方または双方が正常値ではないため、メータ10に異常が生じたとして、異常が生じたことを報知する(S550)。そして、異常判断部34は、第1メモリ領域16の指針値を複製して不揮発性メモリ20に書き込み(S540)、一連の処理を終了する。
【0055】
以上のように、第2実施形態では、内部積算期間における指針値の差分値と、内部積算期間における内部積算値とを比較して、メータ10の異常の有無の判断が行われる。
【0056】
したがって、第2実施形態のメータ10によれば、第1実施形態と同様に、指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0057】
また、第2実施形態では、内部積算値を内部積算期間ごとにゼロにリセットするため、指針値と比べ内部積算値を小さくすることができる。このため、第2実施形態では、内部積算値のビット数が長くなることを回避でき、第2メモリ領域18のリソースを抑制することが可能となる。その結果、第2実施形態では、内部積算値の保持に要する消費電力や内部積算値の比較に要する消費電力を抑えることができる。
【0058】
(第3実施形態)
第1実施形態では、比較対象が指針値および内部積算値の合計2個であった。これに対し、第3実施形態では、比較対象を、指針値を含め合計3個以上とする。以下では、1個の指針値および2個の内部積算値(第1内部積算値および第2内部積算値)を比較対象とする例を挙げて説明する。第3実施形態における第1積算部30は、第1実施形態と同様、定量データの受信に応じて指針値を導出し、導出された指針値を第1メモリ領域16に格納する。
【0059】
図7は、第3実施形態における第2積算部32の処理を説明するフローチャートである。第2積算部32は、第1実施形態と同様に、所定の割り込みタイミングごとに
図7の処理を繰り返す。ここで、第3実施形態の第2メモリ領域18では、内部積算値が格納される記憶領域が内部積算値ごと区分されている。例えば、第1内部積算値は、第2メモリ領域18における第1内部積算値用の記憶領域に格納され、第2内部積算値は、第2メモリ領域18における第2内部積算値用の記憶領域に格納される。
【0060】
まず、第2積算部32は、バッファ部14から定量データを受信したか否かを判断し(S200)、定量データを受信しなかった場合(S200におけるNO)、一連の処理を終了する。
【0061】
定量データを受信した場合(S200におけるYES)、第2積算部32は、第2メモリ領域18における第1内部積算値用の記憶領域の第1内部積算値に一定値(1リットル)を加算して新たな第1内部積算値を導出する(S610)。次に、第2積算部32は、第2メモリ領域18における第2内部積算値用の記憶領域の第2内部積算値に一定値(1リットル)を加算して新たな第2内部積算値を導出する(S620)。このように、第2積算部32は、定量データの受信に応じて、第1内部積算値および第2内部積算値を独立して導出する。
【0062】
次に、第2積算部32は、導出された第1内部積算値および第2内部積算値をそれぞれ第2メモリ領域18に格納し(S220)、一連の処理を終了する。具体的には、第2積算部32は、導出された第1内部積算値を第2メモリ領域18における第1内部積算値用の記憶領域に格納し、導出された第2内部積算値を第2メモリ領域18における第2内部積算値用の記憶領域に格納する。
【0063】
このように、第1内部積算値および第2内部積算値は、共通の定量データに応じて導出されるが、実際には、書き込まれる領域が異なる。このため、第1内部積算値および第2内部積算値を格納して更新する際、外乱ノイズなどによって第1内部積算値および第2内部積算値のいずれか一方または双方にビット化けが生じることが想定し得る。また、第1内部積算値および第2内部積算値の双方にビット化けが生じる場合、第1内部積算値用の記憶領域と第2内部積算値用の記憶領域とが区分されているため、ビット化け後の第1内部積算値とビット化け後の第2内部積算値とが一致する可能性は低い。
【0064】
図8は、第3実施形態の異常判断部34の処理を説明するフローチャートである。異常判断部34は、第1実施形態と同様に、例えば、24時間(1日)毎の割り込みタイミングごとに
図8の一連の処理を繰り返す。
【0065】
まず、異常判断部34は、第1メモリ領域16から現在の指針値を取得する(S300)。次に、異常判断部34は、第2メモリ領域18から現在の第1内部積算値を取得するとともに(S710)、現在の第2内部積算値を取得する(S720)。
【0066】
次に、異常判断部34は、現在の指針値、現在の第1内部積算値および現在の第2内部積算値がすべて等しいか否かを判断する(S730)。
【0067】
現在の指針値、現在の第1内部積算値および現在の第2内部積算値がすべて等しい場合(S730におけるYES)、異常判断部34は、現在の指針値が正常値であるため、メータ10に異常が生じていないとして、第1メモリ領域16の指針値(現在の指針値)を複製して不揮発性メモリ20に書き込み(S330)、一連の処理を終了する。
【0068】
現在の指針値、現在の第1内部積算値および現在の第2内部積算値の少なくとも1個以上が異なる場合(S730におけるNO)、異常判断部34は、現在の指針値、現在の第1内部積算値および現在の第2内部積算値の少なくともいずれかが正常値ではないため、メータ10に異常が生じたとして、真値(正常値)の導出を行う(S740)。具体的には、異常判断部34は、指針値および複数の内部積算値(第1内部積算値および第2内部積算値)のうち、値が等しい個数が最も多い指針値または内部積算値の値を指針値の真値とする。つまり、異常判断部34は、現在の指針値、現在の第1の内部積算値および現在の第2の内部積算値について、所謂、多数決を実行し、多数決で決定された値を指針値の真値とする。
【0069】
真値の導出後、異常判断部34は、異常が生じたことを報知する(S340)。そして、異常判断部34は、第1メモリ領域16の指針値を複製して不揮発性メモリ20に書き込み(S330)、一連の処理を終了する。なお、異常判断部34は、導出された真値が第1内部積算値または第2内部積算値であったとしても、その値を新たな指針値として第1メモリ領域16および不揮発性メモリ20に書き込んでもよい。
【0070】
以上のように、第3実施形態では、指針値、第1内部積算値および第2内部積算値を比較することでメータ10の異常の有無が判断される。
【0071】
したがって、第3実施形態のメータ10によれば、第1実施形態と同様に、指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0072】
また、第3実施形態では、指針値、第1内部積算値および第2内部積算値のいずれかにビット化けが生じたとしても、指針値の真値を導出することができる。
【0073】
なお、第3実施形態では、内部積算値が2個(第1内部積算値および第2内部積算値)導出される例を挙げていた。しかし、内部積算値は、2個に限らず、3個以上導出されてもよい。この場合、指針値および3個以上の内部積算値のいずれかが異なる場合、指針値および3個以上の内部積算値について多数決を実行し、真値を導出してもよい。
【0074】
(第4実施形態)
第1実施形態では、メータ10内の第2メモリ領域18に内部積算値が格納され、メータ10自体が自装置の異常を判断していた。これに対し、第4実施形態では、メータ10に接続される通信端末装置120に内部積算値が保持され、メータ10の異常を通信センタ130で判断させる。
【0075】
図9は、第4実施形態による検針システム100の構成を示す概略図である。検針システム100は、複数のメータ10、複数の通信端末装置120、通信センタ130を含む。第4実施形態のメータ10は、第2メモリ領域18および異常判断部34が省略されている。
図9では、複数のメータ10のうち1のメータ10を例示しているが、検針システム100では、任意の数のメータ10を設けることが可能である。
【0076】
通信端末装置120は、メータ10と同数だけ設けられ、メータ10に接続される。通信端末装置120は、通信センタ130との間で通信を確立することができる。すなわち、メータ10は、通信端末装置120を通じて通信センタ130と通信することができる。なお、通信端末装置120と通信センタ130との間の通信は、無線通信であってもよいし、有線通信であってもよい。
【0077】
通信端末装置120は、例えば、RAMなどの揮発性メモリに端末メモリ領域122が形成される。端末メモリ領域122には、メータ10で導出される内部積算値が格納される。
【0078】
通信センタ130は、通信部132、記憶部134およびセンタ制御部136を含む。通信部132は、各通信端末装置120を通じて各メータ10と通信することができる。通信センタ130は、各メータ10で導出された指針値および内部積算値を通信によって取得することができる。通信センタ130は、例えば、1日毎に各メータ10の指針値および内部積算値を取得することができる。記憶部134は、取得された指針値および内部積算値を記憶する。
【0079】
センタ制御部136は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。センタ制御部136は、プログラムを実行することで、異常判断部140として機能する。
【0080】
図10は、メータ10の第2積算部32の処理を説明するフローチャートである。第2積算部32は、第1実施形態と同様に、所定の割り込みタイミングごとに
図10の処理を繰り返す。
【0081】
第2積算部32は、バッファ部14から定量データを受信しなかった場合(S200におけるNO)、一連の処理を終了する。バッファ部14から定量データを受信した場合(S200におけるYES)、第2積算部32は、通信端末装置120の端末メモリ領域122の内部積算値に一定値(1リットル)を加算して新たな内部積算値を導出する(S210)。第2積算部32は、導出された内部積算値を端末メモリ領域122に格納し(S820)、一連の処理を終了する。
【0082】
図11は、通信センタ130の異常判断部140の処理を説明するフローチャートである。通信センタ130の異常判断部140は、例えば、24時間(1日)ごとに
図11の一連の処理を繰り返す。
【0083】
まず、異常判断部140は、通信端末装置120を経由してメータ10の第1メモリ領域16から指針値を取得する(S900)。メータ10から取得された指針値は、記憶部134に記憶される。次に、異常判断部140は、今回のタイミングで取得された指針値から前回のタイミングで取得された指針値を減算して、所定期間(例えば、1日)における指針値の差分値を導出する(S910)。
【0084】
次に、異常判断部140は、通信端末装置120の端末メモリ領域122から内部積算値を取得する(S920)。メータ10から取得された指針値は、記憶部134に記憶される。次に、異常判断部140は、今回のタイミングで取得された内部積算値から前回のタイミングで取得された内部積算値を減算して、所定期間(例えば、1日)における内部積算値の差分値を導出する(S930)。
【0085】
次に、異常判断部140は、指針値の差分値と内部積算値の差分値とが等しいか否かを判断する(S940)。
【0086】
指針値の差分値と内部積算値の差分値とが等しい場合(S940におけるYES)、異常判断部140は、現在の指針値が正常値であるため、メータ10に異常が生じていないとして、一連の処理を終了する。
【0087】
指針値の差分値と内部積算値の差分値とが異なる場合(S940におけるNO)、異常判断部140は、現在の指針値および現在の内部積算値のいずれか一方または双方が正常値ではないため、指針値の取得元のメータ10において異常が生じたとして、異常が生じたことを報知し(S950)、一連の処理を終了する。
【0088】
以上のように、第4実施形態の検針システム100では、通信センタ130において、指針値と内部積算値とを比較することでメータ10の異常の有無が判断される。
【0089】
したがって、第4実施形態の検針システム100によれば、第1実施形態と同様に、指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0090】
また、第4実施形態の検針システム100では、指針値が格納される第1メモリ領域16と内部積算値が格納される端末メモリ領域122とが物理的に明確に分かれるため、ノイズによるビット化けが指針値と内部積算値との両方に同タイミングで生じることを回避することができる。
【0091】
また、第4実施形態の検針システム100では、端末メモリ領域122に内部積算値が格納されるため、メータ10に第2メモリ領域18を設けなくてよく、メータ10のリソースを抑えることができる。その結果、第4実施形態では、少なくとも第2メモリ領域18だけ占有体積を抑えることができ、メータ10を小型化することが可能となる。
【0092】
また、第4実施形態の検針システム100では、通信センタ130でメータ10の異常が判断されるため、メータ10側で異常の判断を行わなくてよく、メータ制御部24の処理負荷を抑えることができる。その結果、第4実施形態では、異常の判断に要する消費電力を抑えることができる。
【0093】
なお、第4実施形態では、通信センタ130の異常判断部140が1日ごとにメータ10の異常を判断する例を挙げていた。しかし、異常を判断するタイミングは、1日ごとに限らない。例えば、通信センタ130の異常判断部140は、メータ10と通信するごとに不定期にメータ10の異常を判断してもよい。
【0094】
また、第4実施形態では、通信センタ130の異常判断部140がメータ10の異常を判断する例を挙げていた。しかし、異常の判断をメータ10側で行ってもよい。つまり、メータ制御部24は、第1メモリ領域16の指針値と端末メモリ領域122の内部積算値とを比較することで、メータ10の異常の有無を判断してもよい。
【0095】
(第5実施形態)
第4実施形態では、メータ10の内部積算値が通信端末装置120に保持されていた。これに対し、第5実施形態では、1のメータ10の内部積算値を、ネットワーク内の他のメータ10に保持させる。
【0096】
図12は、第5実施形態による検針システム200の構成を示す概略図である。検針システム200は、複数のメータ10、複数の通信端末装置120およびネットワーク250を含む。メータ10は、例えば、第1実施形態と同様のメータ10であるとする。ネットワーク250は、無線ネットワークであってもよいし、有線ネットワークであってもよい。ネットワーク250は、例えば、1のネットワーク250内に最大50台のメータ10を接続可能なメータネットワークである。以下では、複数のメータ10のうち2台のメータ10A、10Bを例に挙げて説明する。
【0097】
メータ10Aの第1積算部30は、第1実施形態と同様に、自装置(メータ10A)の指針値を自装置の第1メモリ領域16に格納する。一方、メータ10Aの第2積算部32は、自装置(メータ10A)の内部積算値を、通信端末装置120およびネットワーク250を通じて他のメータ10(例えば、メータ10B)の第2メモリ領域18に格納させる。
【0098】
図13は、メータ10Aの第2積算部32の処理を説明するフローチャートである。メータ10Aの第2積算部32は、所定の割り込みタイミングごとに
図13の一連の処理を繰り返す。
【0099】
メータ10Aの第2積算部32は、自装置のバッファ部14から定量データを受信しなかった場合(S200におけるNO)、一連の処理を終了する。自装置のバッファ部14から定量データを受信した場合(S200におけるYES)、メータ10Aの第2積算部32は、自装置の内部積算値を格納させているメータ10Bの第2メモリ領域18内の内部積算値を受信し、受信した内部積算値に一定値(1リットル)を加算して新たな内部積算値を導出する(S210)。メータ10Aの第2積算部32は、導出された内部積算値をメータ10Bに送信し、メータ10Bの第2メモリ領域18に格納させ(S1020)、一連の処理を終了する。これにより、内部積算値が他のメータ10に保持される。
【0100】
図14は、メータ10Aの異常判断部34の処理を説明するフローチャートである。メータ10Aの異常判断部34は、例えば、24時間(1日)ごとに
図14の一連の処理を繰り返す。
【0101】
まず、メータ10Aの異常判断部34は、自装置の第1メモリ領域16から自装置の指針値を取得する(S1100)。次に、メータ10の異常判断部34は、今回の指針値から前回の指針値を減算して、所定期間(24時間)における指針値の差分値を導出する(S1110)。
【0102】
次に、メータ10Aの異常判断部34は、通信端末装置120を通じて他のメータ10Bの第2メモリ領域18から自装置の内部積算値を取得する(S1120)。次に、メータ10Aの異常判断部34は、今回の内部積算値から前回の内部積算値を減算して、所定期間(24時間)における内部積算値の差分値を導出する(S1130)。
【0103】
次に、メータ10Aの異常判断部34は、導出された指針値の差分値(第1差分値)と内部積算値の差分値(第2差分値)とが等しいか否かを判断する(S1140)。
【0104】
指針値の差分値と内部積算値の差分値とが等しい場合(S1140におけるYES)、メータ10Aの異常判断部34は、現在の指針値が正常値であるため、メータ10に異常が生じていないとして、第1メモリ領域16の指針値を自装置の不揮発性メモリ20に格納し(S1150)、一連の処理を終了する。
【0105】
指針値の差分値と内部積算値の差分値とが異なる場合(S1140におけるNO)、メータ10Aの異常判断部34は、現在の指針値および現在の内部積算値のいずれか一方または双方が正常値ではないため、メータ10Aに異常が生じたとして、異常が生じたことを報知する(S1160)。そして、メータ10Aの異常判断部34は、第1メモリ領域16の指針値を自装置の不揮発性メモリに格納し(S1150)、一連の処理を終了する。
【0106】
以上のように、第5実施形態の検針システム200では、自装置の指針値と、他のメータ10に保持させた自装置の内部積算値とを比較することで、メータ10の異常の有無が判断される。
【0107】
したがって、第5実施形態の検針システム200によれば、第1実施形態と同様に、指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0108】
また、第5実施形態の検針システム200では、自装置の内部積算値を他のメータ10に保持させることで、ノイズによるビット化けが指針値と内部積算値との両方に同タイミングで生じることを回避することができる。
【0109】
なお、第5実施形態ではメータ10Aについて例示したが、ネットワーク250に接続される他のメータ10(例えば、メータ10Bなど)についても同様に、自装置の指針値と他装置に保持させた内部積算値とを用いてメータ10の異常を判断してもよい。例えば、メータ10Bは、メータ10Bの第1メモリ領域16に指針値を格納するとともに、メータ10Aの第2メモリ領域18にメータ10Bの内部積算値を格納してもよい。そして、メータ10Bは、自装置の第1メモリ領域16の指針値と、メータ10Aに保持されている自装置の内部積算値とを比較して、自装置の異常を判断してもよい。つまり、複数のメータ10間同士で、互いに他のメータ10の内部積算値を保持し合い、メータ10の異常を相互に判断してもよい。
【0110】
(第6実施形態)
第3実施形態では、指針値の真値をメータ10で導出していた。これに対し、第6実施形態では、メータと通信可能な通信センタにおいて、指針値が異常値であるか否かを推定する。
【0111】
図15は、第6実施形態による検針システム300の構成を示す概略図である。検針システム300は、複数のメータ10、複数の通信端末装置320および通信センタ330を含む。メータ10は、例えば、第2実施形態と同様のメータ10であるとする。
図15では、複数のメータ10のうち1のメータ10を例示しているが、検針システム300では、任意の数のメータ10を設けることが可能である。
【0112】
通信端末装置320は、端末メモリ領域122が省略されている他については、第4実施形態の通信端末装置120と共通している。
【0113】
センタ制御部136は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含む半導体集積回路から構成される。センタ制御部136は、プログラムを実行することで、推定部342として機能する。通信センタ330は、センタ制御部136が推定部342として機能する点について第4実施形態と異なり、他の構成については、第4実施形態の通信センタ130と共通する。
【0114】
図16は、推定部342の処理を説明するフローチャートである。推定部342は、所定制御周期で発生する割り込みタイミングごとに
図16の一連の処理を繰り返す。
【0115】
ここで、メータ10の異常判断部34は、異常が生じたことを報知する際、異常が生じたことを示す異常情報を、通信端末装置320を通じて通信センタ330に送信する。異常情報には、例えば、異常が生じた旨の通知とともに、異常が生じた時点が属する内部積算期間に関連付けられた指針値の差分値、および、その内部積算期間に関連付けられた内部積算値が含まれる。
【0116】
まず、推定部342は、異常情報を受信したか否かを判断する(S1200)。異常情報を受信しなかった場合(S1200におけるNO)、推定部342は、一連の処理を終了する。
【0117】
異常情報を受信した場合(S1200におけるYES)、推定部342は、対象となる過去の指針値を記憶部134から読み出す(S1210)。例えば、異常が生じた今回の内部積算期間に対応する前月(丁度1カ月前)の内部積算期間を対象期間とする。推定部342は、対象期間における指針値と、対象期間に対して1回前の内部積算期間における指針値(対象期間に対して前回の指針値)とを読み出す。
【0118】
次に、推定部342は、対象期間における指針値から、対象期間に対して前回の指針値を減算して、対象期間における指針値の差分値を導出する(S1220)。
【0119】
次に、対象期間における指針値の差分値を中心とし、月などの季節要素を考慮して差分値の誤差範囲を導出する(S1230)。
【0120】
次に、推定部342は、異常情報に含まれる今回の指針値の差分値が、導出された誤差範囲内であるか否かを判断する(S1240)。
【0121】
今回の指針値の差分値が誤差範囲内に収まる場合(S1240におけるYES)、推定部342は、今回の指針値の差分値は正常値とし(S1250)、一連の処理を終了する。この場合、指針値は正常値であると推定される。
【0122】
今回の指針値の差分値が誤差範囲内に収まらない場合(S1240におけるNO)、指針値が異常値であると推定され、推定部342は、異常情報に含まれる今回の内部積算期間における内部積算値が、導出された誤差範囲内であるか否かを判断する(S1260)。
【0123】
今回の内部積算値が誤差範囲内に収まる場合(S1260におけるYES)、推定部342は、今回の内部積算期間における内部積算値は正常値とし(S1270)、一連の処理を終了する。
【0124】
今回の内部積算値が誤差範囲内に収まらない場合(S1260におけるNO)、推定部342は、今回の指針値の差分値および今回の内部積算期間における内部積算値の両方とも異常値であるとし(S1280)、一連の処理を終了する。
【0125】
以上のように、第6実施形態の検針システム300では、第2実施形態と同様に、メータ10において指針値と内部積算値とを比較してメータ10の異常の有無が判断される。このため、第6実施形態では、第2実施形態と同様に、メータ10の指針値にビット化けが生じたとしても、指針値のビット化けに関する異常を発見することが可能となる。
【0126】
また、第6実施形態の検針システム300では、メータ10の異常が判断された場合、通信センタ330の推定部342が、メータ10の過去の指針値に基づいて、メータ10における現在の指針値が異常値であるか否かを推定する。このため、第6実施形態では、メータ10の異常が、指針値のビット化けに関する異常であるかを確認することが可能となる。
【0127】
なお、第6実施形態では、異常が生じた内部積算期間の丁度1カ月前の指針値の差分値に基づいて指針値が異常値であるか否かを推定する例を挙げていた。しかし、指針値が異常値であるか否かの推定に利用する過去の指針値は、丁度1カ月前の指針値の差分値に限らない。例えば、推定部342は、異常が生じた今回の内部積算期間の丁度1年前の内部積算期間における指針値の差分値に基づいて、現在の指針値が異常値であるか否かを推定してもよい。
【0128】
以上、添付図面を参照しながら本発明の実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0129】
例えば、上記各実施形態のメータ10は、ガスメータに適用される例を挙げていた。しかし、上記各実施形態のメータ10は、電力メータに適用されてもよい。その場合、計量部の計量対象は、単位時間当たりの電力量であってもよいし、指針値および内部積算値は、単位時間当たりの電力量を積算した積算電力量であってもよい。
【解決手段】メータ10は、計量対象を計量する計量部と、計量部で取得された計量データを積算して指針値を導出し、導出された指針値を第1メモリ領域16に格納する第1積算部30と、第1積算部30とは独立して計量データを積算して内部積算値を導出し、導出された内部積算値を第2メモリ領域18に格納する第2積算部32と、指針値と内部積算値とを比較して異常の有無を判断する異常判断部34と、を備える。