JP2022161488A - ビル管理システムおよび制御方法 - Google Patents

ビル管理システムおよび制御方法 Download PDF

Info

Publication number
JP2022161488A
JP2022161488A JP2021066353A JP2021066353A JP2022161488A JP 2022161488 A JP2022161488 A JP 2022161488A JP 2021066353 A JP2021066353 A JP 2021066353A JP 2021066353 A JP2021066353 A JP 2021066353A JP 2022161488 A JP2022161488 A JP 2022161488A
Authority
JP
Japan
Prior art keywords
value
counter value
local
time
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021066353A
Other languages
English (en)
Inventor
和也 有村
Kazuya Arimura
治夫 大津
Haruo Otsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Building Solutions Corp
Original Assignee
Mitsubishi Electric Building Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Building Solutions Corp filed Critical Mitsubishi Electric Building Solutions Corp
Priority to JP2021066353A priority Critical patent/JP2022161488A/ja
Publication of JP2022161488A publication Critical patent/JP2022161488A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Arrangements For Transmission Of Measured Signals (AREA)
  • Selective Calling Equipment (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】第1装置に関する異常があっても第2装置からサーバに送信される値が不正に大きくなることを極力防ぐことができるビル管理システムおよび制御方法を提供することである。【解決手段】メインコントローラ100は、算出されたローカルカウンタ値をローカルコントローラ200から定期的に受信し、当該ローカルカウンタ値に基づきメインカウンタ値を算出する。サーバ10は、算出されたメインカウンタ値をメインコントローラ100から受信する。メインコントローラ100は、算出されたメインカウンタ値をサーバ10に対して送信するための送信処理を行う。メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合、当該異常を判断してから時間Taが経過するまで送信処理を行わない。【選択図】図3

Description

本開示は、ビル管理システムおよび制御方法に関する。
ビル管理システムでは、ビル内に設置された各種設備機器における計測値に基づくデータを中央監視装置で収集し、収集したデータを表示させて計測値の確認作業(検針)を行うことができる。たとえば、特開2007-129425号公報(特許文献1)には、空調設備や電力設備などの各種設備機器から収集したデータを、ローカル監視装置を介して中央監視装置に送信するビル管理システムが記載されている。
特開2007-129425号公報
このようなビル管理システムとして、各種設備機器と、設備機器に接続されたローカルコントローラとしての第1装置と、第1装置と通信可能なメインコントローラとしての第2装置と、第2装置と通信可能な中央監視装置としてのサーバを備えるものがある。このような構成において、設備機器で計測された信号に基づく値は、第1装置および第2装置を介してサーバに送信される。
しかしながら、第1装置側で異常等が発生したときに、第2装置へ送信する値が一時的に意図しない不正な値となることがある。この場合、最終的にサーバにおいて受信した値(検針値)が不正に大きくなってしまう虞があった。
本開示は、上述の課題を解決するためになされたものであって、その目的は、第1装置に関する異常があっても第2装置からサーバに送信される値が不正に大きくなることを極力防ぐことができるビル管理システムおよびその制御方法を提供することである。
本開示に係るビル管理システムは、第1装置と、第2装置と、サーバとを備える。第1装置は、ビル設備において定期的に計測される信号に基づき第1値を算出する。第2装置は、第1装置と通信可能であって、算出された第1値を第1装置から定期的に受信し、当該第1値に基づき第2値を算出する。サーバは、第2装置と通信可能であって、算出された第2値を第2装置から受信する。第2装置は、算出された第2値をサーバに対して送信するための送信処理を行う。第2装置は、第1値が異常であると判断した場合、当該異常を判断してから第1時間が経過するまで送信処理を行わない。
本開示に係る制御方法は、第1装置と、第1装置と通信可能な第2装置と、第2装置と通信可能なサーバとを備えるビル管理システムの制御方法である。制御方法は、ビル設備において定期的に計測される信号に基づき第1値を第1装置が算出するステップと、算出された第1値を第1装置から受信し、当該第1値に基づき第2値を第2装置が算出するステップと、算出された第2値をサーバに対して送信するための送信処理を第2装置が行うステップと、第1値が異常であると第2装置が判断した場合、当該異常を判断してから第1時間が経過するまで送信処理を第2装置が停止するステップとを備える。
本開示によれば、第1装置に関する異常があっても第2装置からサーバに送信される値が不正に大きくなることを極力防ぐことができるビル管理システムおよび制御方法を提供することである。
本実施の形態に係るビル管理システムの全体構成の一例を示す図である。 ビル管理システムにおける信号およびデータの流れを示す図である。 ローカルカウンタおよびメインカウンタを説明するための図である。 メインコントローラが実行するメイン処理のフローチャートである。 異常判定処理のフローチャートである。 メインカウンタ更新・送信処理のフローチャートである。 判定値更新処理のフローチャートである。
以下、図面を参照しつつ、実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
[ビル管理システム1]
まず、本実施の形態に係るビル管理システム1について説明する。図1は、本実施の形態に係るビル管理システム1の全体構成の一例を示す図である。
図1に示すように、ビル管理システム1は、サーバ10と、メインコントローラ100と、ローカルコントローラ200,300,400と、計測機器251~253,351~353,451~453とを備える。
ビル管理システム1においては、各計測機器での計測値に基づくデータが最終的にサーバ10に収集され、収集されたデータ(たとえば、電力量)を監視することができる。ビル管理システム1の各装置はビル内に設置されているが、サーバ10は、当該ビルとは異なる建物に設置されるものであってもよい。
サーバ10は、メインコントローラ100と通信可能に構成されている。メインコントローラ100は、ローカルコントローラ200,300,400のそれぞれと通信可能に構成されている。
ローカルコントローラ200は、計測機器251~253のそれぞれと通信可能に構成されている。ローカルコントローラ300は、計測機器351~353のそれぞれと通信可能に構成されている。ローカルコントローラ400は、計測機器451~453のそれぞれと通信可能に構成されている。
本実施の形態において、メインコントローラ100は、PLC(programmable logic controller)である。メインコントローラ100は、CPU(Central Processing Unit)111と、ROM(Read Only Memory)112と、RAM(Random Access Memory)113と、通信インターフェイス114とを備える。これらは、バスを介して相互に通信可能に接続されている。
CPU111は、ROM112に保存されているプログラムをRAM113に読み込んで実行し、メインコントローラ100の各種機能を実現する。ROM112は、メインコントローラ100の処理手順が記されたプログラムを格納する。
RAM113は、CPU111がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。また、メインコントローラ100は、不揮発性の記憶装置を備えてもよい。記憶装置は、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等である。
メインコントローラ100は、通信インターフェイス114を介して、サーバ10およびローカルコントローラ200,300,400と通信する。
本実施の形態において、ローカルコントローラ200,300,400は、PLCである。ローカルコントローラ200は、CPU211と、ROM212と、RAM213と、通信インターフェイス214と、I/Oインターフェイス215とを備える。これらは、バスを介して相互に通信可能に接続されている。
CPU211は、ROM212に保存されているプログラムをRAM213に読み込んで実行し、ローカルコントローラ200の各種機能を実現する。ROM212は、ローカルコントローラ200の処理手順が記されたプログラムを格納する。
RAM213は、CPU211がプログラムを実行する際の作業領域となるものであり、プログラムやプログラムを実行する際のデータ等を一時的に記憶する。また、ローカルコントローラ200は、不揮発性の記憶装置を備えてもよい。記憶装置は、たとえば、HDDやSSD等である。
ローカルコントローラ200は、通信インターフェイス214を介して、メインコントローラ100と通信する。ローカルコントローラ200には、I/Oインターフェイス215を介して、計測機器251~253が出力する各信号が入力される。
また、図示しないが、ローカルコントローラ300,400も、ローカルコントローラ200と同様の構成であり、CPUと、ROMと、RAMと、通信インターフェイスと、I/Oインターフェイスとを備える。
[ビル管理システム1における信号およびデータの流れ]
図2は、ビル管理システム1における信号およびデータの流れを示す図である。本例においては、計測機器251で計測された信号に基づき、ローカルコントローラ200においてローカルカウンタ値を算出し、さらにメインコントローラ100において算出したメインカウンタ値をサーバ10に送る流れを説明する。
ローカルコントローラ200は、ビル設備において定期的に計測される信号に基づきローカルカウンタの値(ローカルカウンタ値)を算出する。以下、具体的に説明する。計測機器251において計測される値は、パルス信号としてローカルコントローラ200に送信される。たとえば、計測機器251は電力計である。計測機器251は、定期的にパルス信号を出力する。そして、計測機器251から送信されるパルス信号をカウントすることで、計測機器251で計測された電力量を特定することができる。
計測機器251~253,351~353,451~453は、それぞれ電力計や電力計と接続される装置であって電力量を特定可能な信号を出力する装置、あるいは、ガスや水道の使用量を特定可能な信号を出力する装置などである。
計測機器251から入力されるパルス信号は、I/Oインターフェイス215を経由してローカルコントローラ200に入力される。
ローカルコントローラ200は、計測機器251からのパルス信号をカウントアップすることでローカルカウンタ値を算出する。ローカルコントローラ200は、RAM213にローカルカウンタ値を記憶している。
ローカルカウンタ値は、計測機器251からパルス信号を受信するたびに、1ずつカウントアップされる。ローカルカウンタは、0から32767までの値を保持することができる。ローカルカウンタ値が32767である状態で、パルス信号を受信した場合は、0にリセットされる。
メインコントローラ100は、算出されたローカルカウンタ値をローカルコントローラ200から定期的に受信し、当該ローカルカウンタ値に基づきメインカウンタの値(メインカウンタ値)を算出する。具体的には、メインコントローラ100は、今回受信したローカルカウンタ値から前回受信したローカルカウンタ値を減じた値を、前回算出したメインカウンタ値に加算することで、今回のメインカウンタ値を算出する。
メインコントローラ100は、RAM113にメインカウンタ値を記憶している。ローカルカウンタは32767(0x7FFF、2バイトデータ)までの値しか保持できないのに対して、メインカウンタはこれよりも大きい値(たとえば、0x7FFFFFFF、4バイトデータ)を保持可能である。
ローカルカウンタ値とメインカウンタ値は共に電力量を特定するための値であるが、本例では、時刻T1(単に「T1」とも表記する)において、ローカルカウンタ値は40である。一方で、T1において、メインカウンタ値は1040である。上述のように、ローカルカウンタは、32767の次に0でリセットされるため、ローカルカウンタ値とメインカウンタ値は必ずしも一致しない。
また、仮に、ローカルカウンタ値とメインカウンタ値とが一致していた場合であっても、たとえば、ノイズの影響でローカルカウンタ値が消去されて0になるような場合には、両者が一致しなくなる。
ローカルカウンタ値およびメインカウンタ値は、時間とともに増加する値である。ただし、上述のように、ローカルカウンタ値は最大値(32767)に到達すると、次は0に減少する。
また、たとえば、ローカルコントローラの内部処理の異常(たとえば、動作するソフトウェアの不具合)により、ローカルカウンタ値が不正な値(大きすぎる値、前回よりも小さい値、0)になる可能性もある。また、ノイズの影響により、メインコントローラ100が保持するローカルカウンタ値、あるいは、メインコントローラ100が受信したローカルカウンタ値が不正な値になる可能性もある。
メインコントローラ100は、送信処理を行う。送信処理は、算出されたメインカウンタ値をサーバ10に対して送信するための処理である。本実施の形態においては、メインコントローラ100は、メインカウンタ値が算出されると、算出されたメインカウンタ値をサーバ10に対して送信する(図6のS36が送信処理)。サーバ10は、算出されたメインカウンタ値(たとえば、T1における1040)をメインコントローラ100から受信する。
次に、T2において、ローカルカウンタ値が70になったとする。つまり、T1~T2の間に、ローカルコントローラ200は、計測機器251からパルス信号を30回(=70-40)受信している。
T2のタイミングでメインコントローラ100に対してローカルカウンタ値が送信されたとする。メインコントローラ100は、ローカルカウンタ値「70」とともにこれに対応づけられたタイムスタンプ「T2」を受信する。
メインコントローラ100は、今回受信したローカルカウンタ値(70)から前回受信したローカルカウンタ値(40)を減じた値(30=70-40)を、前回算出したメインカウンタ値(1040)に加算することで、今回のメインカウンタ値(1070=1040+30)を算出する。
次に、T3において、ローカルカウンタ値が80になり、メインコントローラ100に対してローカルカウンタ値が送信されたとする。メインコントローラ100は、ローカルカウンタ値の差分(10=80-70)を加算して今回のメインカウンタ値(1080=1070+10)を算出する。
その後、Tnにおいて、ローカルカウンタ値が32767となり、メインカウンタ値が33767になったとする。
本例においては、メインコントローラ100がローカルカウンタ値を受信したT1~Tnにおいて、受信した全てのローカルカウンタ値が正常であったとする。この場合、メインコントローラ100は、T1~Tnのそれぞれのタイミングにおいて、サーバ10に対して、タイムスタンプとともにメインカウンタ値を送信する。
サーバ10は、メインコントローラ100から受信したタイムスタンプおよびメインカウンタ値をサーバ10の記憶装置(図示せず)に記憶する。そして、記憶したメインカウンタ値に基づき電力量を算出し(電力量=メインカウンタ値×1パルスあたりの電力量)、電力量をプロットしたグラフを表示装置20に表示可能である。表示装置20は、サーバ10が備える液晶ディスプレイなどの表示装置であってもよく、サーバと通信可能な端末が備える表示装置であってもよい。
ここで、本実施の形態において、メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合、当該異常を判断してから時間Taが経過するまで送信処理を行わない。ローカルカウンタ値が異常であると判断する条件は、以下の通りである。
メインコントローラ100は、前回受信したローカルカウンタ値よりも今回受信したローカルカウンタ値の方が小さい場合に、今回受信したローカルカウンタ値が異常であると判断する。ローカルカウンタ値は、時間経過により増加する値だからである。この場合、メインコントローラ100は、エラーコードE1をセットする。
メインコントローラ100は、今回受信したローカルカウンタ値が0である場合に、今回受信したローカルカウンタ値が異常であると判断する。ローカルカウンタ値は、時間経過により増加する値だからである。この場合、この場合、メインコントローラ100は、エラーコードE2をセットする。
メインコントローラ100は、今回受信したローカルカウンタ値から前回受信したローカルカウンタ値を減じた差分値が、予め定めされた判定値K(本実施の形態においては、200)より大きい場合に、今回受信したローカルカウンタ値が異常であると判断する。上述したノイズ等の理由により、不正に大きい値が混入する可能性があるためである。この場合、メインコントローラ100は、エラーコードE3をセットする。
図2の説明に戻り、Tnでのローカルカウンタ値が32767(最大値)である状態から、パルス信号が1回入力されたとする。この場合、ローカルカウンタ値はリセットされて0に戻る。さらに、Tn+1においてパルス信号が1回入力されると、ローカルカウンタ値は1になる。そして、Tn+1においてローカルカウンタ値(1)がメインコントローラ100に送信されたとする。
メインコントローラ100は、前回受信したローカルカウンタ値(32767)よりも今回受信したローカルカウンタ値(1)の方が小さいため、今回受信したローカルカウンタ値が異常であると判断し、エラーコードE1をセットする。
ローカルカウンタ値が異常であると判断した場合、つまり、エラーコードE1~E3のうちのいずれかが設定された場合、それ以降、メインコントローラ100は、時間Taが経過するまで送信処理を行わない。このため、Tn+1において、サーバ10に対して、メインカウンタ値の送信(送信処理)が行われない。
本実施の形態においては、送信処理が行われない場合、メインカウンタ値の更新処理(メインカウンタ値に差分値を加算する処理)も行われない。なお、送信処理が行われない場合でも、メインカウンタ値の更新処理を行うように構成してもよい。ただし、この場合、更新されたメインカウンタ値はサーバ10に対して送信しないようにする。
なお、送信処理(算出されたメインカウンタ値をサーバ10に対して送信するための処理)は、算出されたメインカウンタ値をサーバ10に対して送信する処理に限らず、次のような処理であってよい。たとえば、送信処理は、メインカウンタ値が更新されるたびに、更新されたメインカウンタ値を送信用バッファに書き込む(送信用バッファを更新する)処理であってもよい。そして、送信用バッファに書き込まれたメインカウンタ値は、定期的にサーバ10に対して送信されるよう構成する。この場合、ローカルカウンタ値が異常であると判断してから時間Taが経過するまでは、メインカウンタ値を更新しても、送信用バッファを更新しないよう構成する。
次に、Tn+2においてローカルカウンタ値が2となり、この値がメインコントローラ100に送信されたとする。また、この時点で時間Taが経過していたものとする。この場合、現在のメインカウンタ値(33776)に、今回のローカルカウンタ値(2)と前回のローカルカウンタ値(1)との差分値(1)を加算して、メインカウンタ値を更新する(33767+1=33768)。そして、この値はサーバ10に対して送信される。
以上のように構成したことで、ローカルカウンタ側で最大値を超えてカウンタがリセットされた場合であっても、メインカウンタ側ではこの影響を受けず値を増加させることができる。
なお、Tn+2において、Taが経過していない場合には、メインカウンタ値は更新されず、サーバ10に対する送信処理も行われない。たとえば、次の、Tn+3において、Taが経過し、かつ、メインコントローラ100は、ローカルカウンタ値として3を受信した場合には、Tn+3とTn+2との差分値(3-2=1)を算出し、これによりメインカウンタ値を更新(33767+1=33768)してサーバ10に送信する。なお、Tn+3(今回の値:3)とTn+1(異常が検出されなくなったときの値:1)との差分(3-1=2)を差分値として使用してもよい。
さらに、図3を用いて別の例を説明する。図3は、ローカルカウンタおよびメインカウンタを説明するための図である。
図のように、ローカルカウンタ値は、T1で40、T2で70、T3で100であり、メインカウンタ値は、T1で1040、T2で1070、T3で1100であったとする。そして、T4においてローカルカウンタ値として2000がメインコントローラ100に送信されたとする。
今回受信したローカルカウンタ値(2000)から前回受信したローカルカウンタ値(100)を減じた差分値(1900)が、判定値K(200)より大きいため、今回受信したローカルカウンタ値が異常であると判断され、エラーコードE3がセットされる。
メインコントローラ100は、T4で受信したローカルカウンタ値がE3の異常であると判断したため、サーバ10に対してメインカウンタ値の送信処理も行わず、メインカウンタ値の更新も行わない。
上記ローカルカウンタ値「2000」は、メインコントローラ100が受信したローカルカウンタ値がノイズにより不正な値に変化したものであったとする。その後、T5、T6において、正常な値として100が送信されたとする。T5、T6においては、異常値を検出してからTaが経過していないため、メインカウンタ値の送信処理および更新処理は行われない。
次に、Taが経過したT7において、ローカルカウンタ値として110が送信されたとする。このとき、メインコントローラ100は、差分値(110-100=10)に基づき、メインカウンタ値を更新する(1100+10=1110)とともにサーバ10に対してメインカウンタ値を送信する。
その後、ローカルカウンタ値は、T8で120、T9で130になり、メインカウンタ値は、T8で1120、T9で1130になったとする。
その後、ローカルカウンタ値は正常にカウントアップを続けるが、なんらかの事情によりメインコントローラ100側でこれを受信できない状態が続いたとする。そして、T10においてローカルカウンタ値が330まで増加し、この値をメインコントローラ100が受信したとする。
この場合、ローカルカウンタ値自体は正常であるものの、ローカルカウンタの差分値が300(330-30)となって、判定値K(200)より大きくなるため、E3の異常が検出されることになる。
ただし、メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合であっても、それ以降の時間Tbにおいてローカルコントローラ200から受信したローカルカウンタ値に変化がない場合は、当該ローカルカウンタ値を正常であると判断する。そして、当該ローカルカウンタ値に基づき算出されたメインカウンタ値の送信処理を行う。
本例においては、T11、T12、T13においても同一値(330)がメインコントローラ100に対して送信されている。T13においては、同一値のままTbが経過し、かつ、Taが経過したものとする。
この場合、メインコントローラ100は、T10で受信したローカルカウンタ値330が正常であると判断して、差分値300(330-30)をメインカウンタに加算して1430(1130+300)とする。そして、メインコントローラ100は、この値をサーバ10に対して送信する。
次に、T14でローカルカウンタ値が340、メインカウンタ値が1440になったとする。その後、ローカルコントローラ200において異常(ローカルコントローラ異常)が発生したとする。ローカルコントローラ異常は、ローカルコントローラ200とメインコントローラ100との間に発生した通信異常を含む。当該通信異常は、メインコントローラ100側で検出可能である。
また、ローカルコントローラ異常は、ローカルコントローラ200において発生した、ハードウェア上あるいはソフトウェア上のなんらかの異常(たとえば、ソフトウェアの一部処理が停止している等)を含む。ローカルコントローラ200は、このような異常を検出した場合は、メインコントローラ100に対してその旨の通知を行う。
メインコントローラ100は、ローカルコントローラ200において異常が発生した場合、送信処理を停止する。メインコントローラ100は、ローカルコントローラ200における異常から復旧してから時間Tcの経過後に、送信処理を再開する。
本例では、T15においてローカルコントローラ異常が発生したとする。このとき、メインコントローラ100は、エラーコードE4をセットする。ローカルコントローラ異常中において、メインコントローラ100は、メインカウンタ値を更新しない。また、この場合、メインコントローラ100は、サーバ10に対してメインカウンタ値の送信処理も行わない。
そして、T17においてローカルコントローラ異常が解消したとする。この場合、異常から復旧したT17から時間Tcが経過したT20に、メインカウンタ値の更新および送信処理および再開する。
本例では、T15において、ローカルコントローラ200に何らかの処理異常が生じて、ローカルカウンタ値が一時的にリセットされてしまったとする。このリセットにより、T14において340であったローカルカウンタ値は、T15において0になっている。そして、T17に当該異常から復旧した際には、ローカルカウンタ値は、異常発生前の340に戻っている。ローカルカウンタ値は、T18において340であり、T19において340であり、T20において350となったとする。
異常から復旧したT17から時間Tcが経過したT20において、ローカルカウンタ値は350になっており、ローカルカウンタ値として記憶されていた値340から10増加している。このため、メインコントローラ100は、1440に差分値である10を加えた値「1450」をメインカウンタ値として算出し、これをサーバ10に対して送信する。本実施の形態において、異常復旧からTcが経過するまで送信処理を再開させないのは、ローカルカウンタ値が正常に更新するまでにタイムラグが生じる可能性があるためである。たとえば、異常から復旧したものの、復旧時の初期化処理の実行等により、その間、ローカルカウンタ値が更新できないようなケースが考えられる。
また、メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合に、当該異常が発生した日時および当該異常が発生した条件を記録する。
本例においては、T4においてE3によるローカルカウンタ値の異常が発生した旨のエラーログを記録している。T10においてE3によるローカルカウンタ値の異常が発生した旨のエラーログを記録している。T15においてE4による異常が発生した旨のエラーログを記録している。なお、これとともに、ローカルカウンタの異常値などその他の情報も併せて記憶するようにしてもよい。このようにエラーログを記録することで、ローカルカウンタ値の異常による不具合発生原因を分析したり、不具合に対して迅速かつ適切な対処が可能となる。
[フローチャート]
以下、フローチャートを用いて、メインコントローラ100のCPU111が実行するメイン処理を説明する。メイン処置は、メインコントローラ100がローカルカウンタ値を取得してからメインカウンタ値をサーバ10に送信するまでの一連の処理、および、判定値Kを更新する処理である。
図4は、メインコントローラ100が実行するメイン処理のフローチャートである。以下、「ステップ」を単に「S」とも称する。たとえば、メイン処理は、メインコントローラ100がローカルコントローラ200からローカルカウンタ値を取得するたびに起動する。
図4に示すように、メイン処理が開始すると、CPU111は、S1において、ローカルカウンタの今回値(ローカルコントローラ200から受信した最新のローカルカウンタ値)を取得し、処理をS2に進める。
CPU111は、S2において、差分値=ローカルカウンタの今回値-ローカルカウンタの前回値(ローカルコントローラ200から前回受信したローカルカウンタ値)とし、処理をS3に進める。
CPU111は、S3において、異常判定処理(図5参照)を実行し、処理をS4に進める。異常判定処理は、ローカルコントローラ異常またはローカルカウンタ値の異常を判定してエラーコードを設定するとともに、エラーログを生成する処理である。
CPU111は、S4において、メインカウンタ更新・送信処理(図6参照)を実行し、処理をS5に進める。メインカウンタ更新・送信処理においては、メインカウンタ値の更新を行うとともに、メインカウンタ値をサーバ10に送信する処理を行う。
CPU111は、S5において、判定値更新タイミングであるか否かを判定する。CPU111は、S5において、判定値更新タイミングであると判定した場合(S5でYES)、処理をS6に進める。一方、CPU111は、S5において、判定値更新タイミングであると判定しなかった場合(S5でNO)、メイン処理を終了する。
判定値更新タイミングは、判定値を更新するタイミングである。たとえば、数日に1度、判定値更新タイミングとなり、判定値が更新されるようにしてもよい。
CPU111は、S6において、判定値更新処理(図6参照)を実行し、メイン処理を終了する。判定値更新処理は、直近10日間の差分値群に基づいて判定値を決定し、これを自動設定する処理である。
図5は、異常判定処理のフローチャートである。図5に示すように、異常判定処理が開始すると、CPU111は、S21において、ローカルコントローラ異常発生中であるか否かを判定する。CPU111は、S21において、ローカルコントローラ異常発生中であると判定した場合(S21でYES)、処理をS25に進める。一方、CPU111は、S21において、ローカルコントローラ異常発生中であると判定しなかった場合(S21でNO)、処理をS22に進める。
CPU111は、S22において、今回値(ローカルカウンタの今回値)>前回値(ローカルカウンタの前回値)であるか否かを判定する。CPU111は、S22において、今回値>前回値であると判定した場合(S22でYES)、処理をS6に進める。一方、CPU111は、S22において、今回値>前回値であると判定しなかった場合(S22でNO)、処理をS23に進める。
CPU111は、S23において、今回値=0であるか否かを判定する。CPU111は、S23において、今回値=0であると判定した場合(S23でYES)、処理をS7に進める。一方、CPU111は、S23において、今回値=0であると判定しなかった場合(S23でNO)、処理をS24に進める。
CPU111は、S24において、差分値>判定値Kであるか否かを判定する。CPU111は、S24において、差分値>判定値Kであると判定した場合(S24でYES)、処理をS8に進める。一方、CPU111は、S24において、差分値>判定値Kであると判定しなかった場合(S24でNO)、処理をS29に進める。
CPU111は、S25において、エラーコードE4を設定し、処理をS29に進める。たとえば、図3の例では、T15においてE4が設定されている。
CPU111は、S26において、エラーコードE1を設定し、処理をS29に進める。たとえば、図2の例では、Tn+1においてE1が設定されている。
CPU111は、S27において、エラーコードE2を設定し、処理をS29に進める。たとえば、図3の例では、T4において、ローカルカウンタ値が2000になっているが、これがノイズにより0になったような場合にE2が設定される。
CPU111は、S28において、エラーコードE3を設定し、処理をS29に進める。たとえば、図3の例では、T4,T10においてE3が設定されている。
CPU111は、S29において、エラーログを生成し、異常判定処理を終了する。たとえば、図3の例では、T4でE3が発生し、T10でE3が発生し、T15でE3が発生した旨のエラーログが生成されている。
図6は、メインカウンタ更新・送信処理のフローチャートである。図6に示すように、メインカウンタ更新・送信処理が開始すると、CPU111は、S31において、E1~E3のいずれかの発生から規定時間Taが経過していないか否かを判定する。CPU111は、S31において、E1~E3のいずれかの発生から規定時間Taが経過していないと判定した場合(S31でYES)、メインカウンタ更新・送信処理を終了する。一方、CPU111は、S31において、E1~E3のいずれかの発生から規定時間Taが経過していないと判定しなかった場合(S31でNO)、処理をS32に進める。
CPU111は、S32において、E4中またはE4解消から規定期間Tcが経過していないか否かを判定する。CPU111は、S32において、E4中またはE4解消から規定期間Tcが経過していないと判定した場合(S32でYES)、メインカウンタ更新・送信処理を終了する。一方、CPU111は、S32において、E4中またはE4解消から規定期間Tcが経過していないと判定しなかった場合(S32でNO)、処理をS33に進める。
CPU111は、S33において、E3発生から規定時間Tbの経過まで、ローカルカウンタ値に変化がなかったか否かを判定する。CPU111は、S33において、E3発生から規定時間Tbの経過まで、ローカルカウンタ値に変化がなかったと判定した場合(S33でYES)、処理をS35に進める。一方、CPU111は、S33において、E3発生から規定時間Tbの経過まで、ローカルカウンタ値に変化がなかったと判定しなかった場合(S33でNO)、処理をS34に進める。
CPU111は、S34において、現在のメインカウンタ値に差分値(ローカルカウンタの今回値-ローカルカウンタの前回値)を加えたものを新たなメインカウンタ値として更新し、処理をS36に進める。たとえば、図3の例では、T2においては、差分値が30(=70-40)であり、メインカウンタ値は1070(=1040+30)に更新されている。
CPU111は、S35において、現在のメインカウンタ値にメインカウンタ値にE3を検出したときの差分値を加えたものを新たなメインカウンタ値として更新し、処理をS36に進める。たとえば、図3の例では、T13においては、E3が発生したT10での差分値が300(=330-130)であり、メインカウンタ値は1430(=1130+300)に更新されている。
CPU111は、S36において、メインカウンタ値をサーバ10に対して送信し、メインカウンタ更新・送信処理を終了する。本実施の形態では、S36の処理を「送信処理」と称する。
以上のように構成することで、CPU111は、E1~E3のいずれかの発生(ローカルカウンタ値の異常検出)からTa経過まで、送信処理を行わない。CPU111は、E4(ローカルコントローラ異常)中およびE4解消からTc経過まで、送信処理を行わない。また、CPU111は、E3が発生したがTc経過までローカルカウンタ値が変化しなかった場合には、当該ローカルカウンタ値を正常な値として扱う。
図7は、判定値更新処理のフローチャートである。本実施の携帯では、メインコントローラ100は、直近の10日間における差分値の最大値に基づき、判定値を決定する。
図7に示すように、判定値更新処理が開始すると、CPU111は、S41において、エラーコードが設定されていない直近10日間の差分値群を取得し、処理をS42に進める。つまり、CPU111は、E1~E3の異常と判定されたローカルカウンタ値を除外した直近10日分の全ての差分値を取得する。
CPU111は、S42において、上記差分値群のうち最大値を取得し、処理をS43に進める。CPU111は、S43において、判定値K=最大値×2に設定し、判定値更新処理を終了する。
なお、直近10日間の差分値群を取得するものに限らず、その他の期間(たとえば、5日間)の差分値群を取得するものであってもよい。最大値に2を乗じたものを判定値Kとするものに限らず、その他の数値(たとえば、1.5や3)を乗じるものであってもよい。
ローカルカウンタ値が単位時間あたりどの程度増加するものであるのか、その傾向は、ビルによっても設備によっても異なる。このため、適切な判定値を設定しようとすると、ビルや設備ごとに、ローカルカウンタ値の推移を作業員が観察する必要がある。上記のように自動的に判定値が決定されることで、煩雑な判定値の設定作業を省略することができる。
以上説明したように、本実施の形態におけるビル管理システム1は、ローカルコントローラ200と、メインコントローラ100と、サーバ10とを備える。ローカルコントローラ200は、ビル設備において定期的に計測される信号に基づきローカルカウンタ値を算出する。メインコントローラ100は、ローカルコントローラ200と通信可能であって、算出されたローカルカウンタ値をローカルコントローラ200から定期的に受信し、当該ローカルカウンタ値に基づきメインカウンタ値を算出する。サーバ10は、メインコントローラ100と通信可能であって、算出されたメインカウンタ値をメインコントローラ100から受信する。メインコントローラ100は、算出されたメインカウンタ値をサーバ10に対して送信するための送信処理を行う。メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合、当該異常を判断してから時間Taが経過するまで送信処理を行わない。これにより、ローカルコントローラ200に関する異常があってもメインコントローラ100からサーバ10に送信されるメインカウンタ値(たとえば、テナントが使用した電力、ガス、水道等の検針値)が不正に大きくなることを防ぐことができる。
[主な構成および効果]
以下、前述した実施の形態の主な構成および効果を説明する。
(1) ビル管理システム1は、ローカルコントローラ200と、メインコントローラ100と、サーバ10とを備える。ローカルコントローラ200は、ビル設備において定期的に計測される信号に基づきローカルカウンタ値を算出する。メインコントローラ100は、ローカルコントローラ200と通信可能であって、算出されたローカルカウンタ値をローカルコントローラ200から定期的に受信し、当該ローカルカウンタ値に基づきメインカウンタ値を算出する。サーバ10は、メインコントローラ100と通信可能であって、算出されたメインカウンタ値をメインコントローラ100から受信する。メインコントローラ100は、算出されたメインカウンタ値をサーバ10に対して送信するための送信処理を行う。メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合、当該異常を判断してから時間Taが経過するまで送信処理を行わない。これにより、ローカルコントローラ200に関する異常があってもメインコントローラ100からサーバ10に送信されるメインカウンタ値が不正に大きくなることが極力防ぐことができる。
(2) ローカルコントローラ200は、ビル設備において定期的に計測されるパルス信号をカウントアップすることでローカルカウンタ値を算出する。メインコントローラ100は、今回受信したローカルカウンタ値から前回受信したローカルカウンタ値を減じた値を、前回算出したメインカウンタ値に加算することで、今回のメインカウンタ値を算出する。これにより、ローカルコントローラ200に関する異常があってもメインコントローラ100からサーバ10に送信されるメインカウンタ値が不正に大きくなることが極力防ぐことができる。
(3) メインコントローラ100は、ローカルコントローラ200において異常が発生した場合、送信処理を停止する。メインコントローラ100は、ローカルコントローラ200における異常から復旧してから時間Tcの経過後に送信処理を再開する。これにより、ローカルコントローラ200が正常に動作するタイミングを待って送信処理を再開するため、メインカウンタ値が不正に大きくなる可能性をより低減することができる。
(4) メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合であっても、それ以降の時間Tbにおいてローカルコントローラ200から受信したローカルカウンタ値に変化がない場合は、当該ローカルカウンタ値を正常であると判断して、当該ローカルカウンタ値に基づき算出されたメインカウンタ値の送信処理を行う。たとえば、ローカルカウンタが32767から0にリセットされたり、一時的にローカルコントローラ200からの送信処理ができなかった場合には差分値が判定値を超えることがある。これらの場合には、ローカルカウンタ値が正常であっても、ローカルカウンタ値の異常が検出されてしまう。上記のように構成することで、ローカルカウンタ値の異常判定を精度よく行うことができる。
(5) メインコントローラ100は、前回受信したローカルカウンタ値よりも今回受信したローカルカウンタ値の方が小さい場合に、今回受信したローカルカウンタ値が異常であると判断する。これにより、ローカルカウンタのリセット時、あるいは、プログラムの不具合やノイズ等により、ローカルカウンタ値が小さくなるような場合を異常として検出することができる。
(6) メインコントローラ100は、今回受信したローカルカウンタ値が0である場合に、今回受信したローカルカウンタ値が異常であると判断する。これにより、ローカルカウンタのリセット時、あるいは、プログラムの不具合やノイズ等により、ローカルカウンタ値が0になるような場合を異常として検出することができる。
(7) メインコントローラ100は、今回受信したローカルカウンタ値から前回受信したローカルカウンタ値を減じた差分値が、予め定めされた判定値より大きい場合に、今回受信したローカルカウンタ値が異常であると判断する。これにより、プログラムの不具合やノイズ等により、ローカルカウンタ値が不正に大きくなるような場合を異常として検出することができる。
(8) メインコントローラ100は、直近の10日間における差分値の最大値に基づき、判定値を決定する。判定値は、物件ごと、計測機器ごとにその増加速度が異なる。自動的に判定値が決定されることで、煩雑な判定値の設定作業を省略することができる。
(9) メインコントローラ100は、ローカルカウンタ値が異常であると判断した場合に、当該異常が発生した日時および当該異常が発生した条件を記録する。これにより、ローカルカウンタ値の異常による不具合発生原因を分析したり、不具合に対して迅速かつ適切な対処が可能となる。
(10) 制御方法は、ローカルコントローラ200と、ローカルコントローラ200と通信可能なメインコントローラ100と、メインコントローラ100と通信可能なサーバ10とを備えるビル管理システム1の制御方法である。制御方法は、ビル設備において定期的に計測される信号に基づきローカルカウンタ値をローカルコントローラ200が算出するステップと、算出されたローカルカウンタ値をローカルコントローラ200から受信し、当該ローカルカウンタ値に基づきメインカウンタ値をメインコントローラ100が算出するステップと、算出されたメインカウンタ値をサーバ10に対して送信するための送信処理をメインコントローラ100が行うステップと、ローカルカウンタ値が異常であるとメインコントローラ100が判断した場合、当該異常を判断してから時間Taが経過するまで送信処理をメインコントローラ100が停止するステップとを備える。これにより、ローカルコントローラ200に関する異常があってもメインコントローラ100からサーバ10に送信されるメインカウンタ値が不正に大きくなることが極力防ぐことができる。
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ビル管理システム、10 サーバ、20 表示部、100 メインコントローラ、111,211 CPU、112,212 ROM、113,213 RAM、114,214 通信インターフェイス、200,300,400 ローカルコントローラ、215 I/Oインターフェイス、251~253,351~353,451~453 計測機器。

Claims (10)

  1. ビル設備において定期的に計測される信号に基づき第1値を算出する第1装置と、
    前記第1装置と通信可能であって、算出された前記第1値を前記第1装置から定期的に受信し、当該第1値に基づき第2値を算出する第2装置と、
    前記第2装置と通信可能であって、算出された前記第2値を前記第2装置から受信するサーバとを備え、
    前記第2装置は、
    算出された前記第2値を前記サーバに対して送信するための送信処理を行い、
    前記第1値が異常であると判断した場合、当該異常を判断してから第1時間が経過するまで前記送信処理を行わない、ビル管理システム。
  2. 前記第1装置は、前記ビル設備において定期的に計測されるパルス信号をカウントアップすることで前記第1値を算出し、
    前記第2装置は、今回受信した前記第1値から前回受信した前記第1値を減じた値を、前回算出した前記第2値に加算することで、今回の前記第2値を算出する、請求項1に記載のビル管理システム。
  3. 前記第2装置は、
    前記第1装置において異常が発生した場合、前記送信処理を停止し、
    前記第1装置における異常から復旧してから第2時間の経過後に前記送信処理を再開する、請求項1または請求項2に記載のビル管理システム。
  4. 前記第2装置は、前記第1値が異常であると判断した場合であっても、それ以降の第3時間において前記第1装置から受信した前記第1値に変化がない場合は、当該第1値を正常であると判断して、当該第1値に基づき算出された前記第2値の前記送信処理を行う、請求項1~請求項3のいずれか1項に記載のビル管理システム。
  5. 前記第2装置は、前回受信した前記第1値よりも今回受信した前記第1値の方が小さい場合に、今回受信した前記第1値が異常であると判断する、請求項1~請求項4のいずれか1項に記載のビル管理システム。
  6. 前記第2装置は、今回受信した前記第1値が0である場合に、今回受信した前記第1値が異常であると判断する、請求項1~請求項4のいずれか1項に記載のビル管理システム。
  7. 前記第2装置は、今回受信した前記第1値から前回受信した前記第1値を減じた差分値が、予め定めされた判定値より大きい場合に、今回受信した前記第1値が異常であると判断する、請求項1~請求項4のいずれか1項に記載のビル管理システム。
  8. 前記第2装置は、直近の所定期間における前記差分値の最大値に基づき、前記判定値を決定する、請求項7に記載のビル管理システム。
  9. 前記第2装置は、前記第1値が異常であると判断した場合に、当該異常が発生した日時および当該異常が発生した条件を記録する、請求項1~請求項8のいずれか1項に記載のビル管理システム。
  10. 第1装置と、前記第1装置と通信可能な第2装置と、前記第2装置と通信可能なサーバとを備えるビル管理システムの制御方法であって、
    ビル設備において定期的に計測される信号に基づき第1値を前記第1装置が算出するステップと、
    算出された前記第1値を前記第1装置から受信し、当該第1値に基づき第2値を前記第2装置が算出するステップと、
    算出された前記第2値を前記サーバに対して送信するための送信処理を前記第2装置が行うステップと、
    前記第1値が異常であると前記第2装置が判断した場合、当該異常を判断してから第1時間が経過するまで前記第2装置が前記送信処理を停止するステップとを備える、制御方法。
JP2021066353A 2021-04-09 2021-04-09 ビル管理システムおよび制御方法 Pending JP2022161488A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021066353A JP2022161488A (ja) 2021-04-09 2021-04-09 ビル管理システムおよび制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021066353A JP2022161488A (ja) 2021-04-09 2021-04-09 ビル管理システムおよび制御方法

Publications (1)

Publication Number Publication Date
JP2022161488A true JP2022161488A (ja) 2022-10-21

Family

ID=83658584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021066353A Pending JP2022161488A (ja) 2021-04-09 2021-04-09 ビル管理システムおよび制御方法

Country Status (1)

Country Link
JP (1) JP2022161488A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024105993A1 (ja) * 2022-11-18 2024-05-23 キヤノントッキ株式会社 成膜装置及び成膜方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024105993A1 (ja) * 2022-11-18 2024-05-23 キヤノントッキ株式会社 成膜装置及び成膜方法

Similar Documents

Publication Publication Date Title
JP6015178B2 (ja) 安全システム
CN104320308A (zh) 一种服务器异常检测的方法及装置
US8189283B2 (en) Disk drive with state-information data buffer
EP3608784B1 (en) Control system and control apparatus
JP2022161488A (ja) ビル管理システムおよび制御方法
JP6794805B2 (ja) 故障情報管理プログラム、起動試験方法及び並列処理装置
US9256486B2 (en) Information processing apparatus detecting sign of abnormality, fault tolerant information processing system, method for detecting sign of abnormality in information processing apparatus and recording medium
JP2014021577A (ja) 故障予測装置、故障予測システム、故障予測方法、及び、故障予測プログラム
JP5529686B2 (ja) コンピュータ装置の異常検査方法及びそれを用いたコンピュータ装置
WO2016174958A1 (ja) 漏水発生位置推定装置、システムおよび方法
WO2020162603A1 (ja) 異常検出装置、シミュレータ、プラント監視システム、異常検出方法及びプログラム
CN113917385A (zh) 一种面向电能表的自检测方法及***
JP5958987B2 (ja) 情報処理装置、故障診断制御装置、故障判定方法、故障判定プログラム
JP6096397B1 (ja) 分析システム、及び、分析方法
JP6062768B2 (ja) メモリ検査装置、メモリ検査方法、およびメモリ検査プログラム
CN106991028B (zh) 一种计算机的温度异常处理方法及***
KR100937098B1 (ko) 운영시스템의 장애 발생 판단방법
CN216749321U (zh) 坏点自检测装置及芯片
JP5788358B2 (ja) 電子機器、および、電子機器の異常検出方法
US20230315028A1 (en) Estimation device and estimation method
CN117540240A (zh) 一种用水异常检测方法、装置、电子设备及存储介质
CN117149490A (zh) 一种服务器内存故障预警方法、装置、设备及存储介质
JP2024022826A (ja) レスポンス設定システム、ストレージおよびレスポンス設定方法
CN116841374A (zh) 一种电源在位状态修正方法、装置、设备及可读存储介质
CN113758519A (zh) 故障检测方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231115