以下に、本願の開示するセンサの正常性判定方法、正常性判定プログラム及びシステムの実施例を図面に基づいて詳細に説明する。なお、実施例は開示の技術を限定するものではない。
[システム構成]
実施例に係るセンサの正常性判定方法、システムについて説明する。図1は、実施例に係るシステムの構成の一例を示す図である。図1に示すように、システム1は、複数の機器21〜2N、センサ31〜3N、通信装置4、サーバ5及び端末6を有する。
複数の機器21〜2Nは、例えば、ビル内に設置された発電機、空調機、冷凍機などの機器であり、稼働時間が所定時間(例えば10000時間)に達するなどの交換時期が来ても使用が継続された機器である。また、複数の機器21〜2Nの台数は、例えば、100台(N=100)である。以下では、機器21〜2Nを区別せずに説明する場合には、単に「機器2」と表記する場合がある。機器2は、通信装置4に接続される。
図2は、実施例に係る機器の機能構成の一例を示す図である。図2に示すように、機器2は、検知部2a及び送信部2bを有する。
検知部2aは、所定時間間隔、例えば、1時間間隔で、装置の稼働状態を検知する。例えば、検知部2aは、電源がオンされて稼働中である場合には、稼働中であること(電源がオンであること)を検知する。また、検知部2aは、電源がオフされて停止中である場合には、停止中であること(電源がオフであること)を検知する。
送信部2bは、検知部2aにより稼働状態が検知されるたびに、次の処理を行う。すなわち、送信部2bは、検知部2aにより検知された稼働状態を示す稼働情報に、検知部2aにより稼働状態が検知された日時と、機器2を識別するためのID(Identification)とを含め、日時及びIDが含まれた稼働情報を通信装置4に送信する。図3A及び図3Bは、実施例に係る機器が実行する処理の一例を説明するための図である。例えば、検知部2aにより稼働中であることが「2012年11月15日19時00分00秒」に検知された場合には、IDが「mm」である機器2が有する送信部2bは、次の処理を行う。すなわち、送信部2bは、図3Aに示すように、ID「mm」を稼働情報10の「機器ID」の項目に登録し、稼働中であることを示す「1」を「稼働状態」の項目に登録し、「2012年11月15日19時00分00秒」を「日時」の項目に登録する。上述したようにして、送信部2bは、各種の内容が登録された稼働情報10を生成する。そして、送信部2bは、生成した稼働情報10を通信装置4に送信する。
また、検知部2aにより停止中であることが「2012年11月16日18時00分00秒」に検知された場合には、IDが「mm」である機器2が有する送信部2bは、次の処理を行う。すなわち、送信部2bは、図3Bに示すように、ID「mm」を稼働情報10の「機器ID」の項目に登録し、停止中であることを示す「0」を「稼働状態」の項目に登録し、「2012年11月16日18時00分00秒」を「日時」の項目に登録する。上述したようにして、送信部2bは、各種の内容が登録された稼働情報10を生成する。そして、送信部2bは、生成した稼働情報10を通信装置4に送信する。
図1の説明に戻り、複数のセンサ31〜3Nのそれぞれは、予め定められた機器とセンサとの対応関係にしたがって、システム1の管理者などによって機器21〜2Nのそれぞれに取り付けられる。以下では、センサ31〜3Nを区別せずに説明する場合には、単に「センサ3」と表記する場合がある。本実施例では、管理者のミスなどによって、予め定められた機器とセンサとの対応関係にしたがって、所定の機器2に対して所定のセンサ3が取り付けられるはずが、所定の機器2に別のセンサ3が取り付けられるような事象が発生する場合がある。
センサ3は、通信装置4に接続される。以下では、センサ3が、機器2に取り付けられた場合に、機器2の振動の大きさを検知し、検知した振動の大きさをアナログ値で出力する振動センサである場合について説明する。
図4は、実施例に係るセンサの機能構成の一例を示す図である。図4に示すように、センサ3は、検知部3a及び出力部3bを有する。
検知部3aは、所定時間間隔、例えば、1時間間隔で、取り付けられた機器2の振動の大きさを検知する。
出力部3bは、検知部3aにより振動の大きさが検知されるたびに、次の処理を行う。すなわち、出力部3bは、検知部3aにより検知された振動の大きさが大きくなるほど大きくなるようなアナログ値に、検知部3aにより振動の大きさが検知された日時とセンサ3を識別するためのIDとを付加して検知結果を示すデータを生成する。そして、出力部3bは、検知結果を示すデータが生成されるたびに、生成されたデータを通信装置4に出力する。
図5は、実施例に係るセンサが実行する処理の一例を説明するための図である。例えば、検知部3bによりアナログ値「50」に対応する振動の大きさが「2012年11月15日19時00分00秒」に検知された場合には、IDが「n」であるセンサ3が有する出力部3bは、次の処理を行う。すなわち、出力部3bは、図5に示すように、検知結果を示すデータ11の「センサID」の項目にID「n」を登録し、「アナログ値」の項目にアナログ値「50」を登録し、「日時」の項目に日時「2012年11月15日19時00分00秒」を登録する。上述したようにして、出力部3bは、データ11を生成する。そして、出力部3bは、生成したデータ11を通信装置4に出力する。
図1の説明に戻り、通信装置4は、機器2、センサ3及びサーバ5に接続される。通信装置4は、機器2から送信された稼働情報10を受信するたびに、受信した稼働情報10をサーバ5に送信する。また、通信装置4は、センサ3から出力されたデータ11を受信するたびに、受信したデータ11をサーバ5に送信する。
サーバ5は、通信装置4を介して、機器2から送信された稼働情報10、及び、センサ3から出力されたデータ11を用いて、次の処理を行う。例えば、サーバ5は、稼働情報10が示す機器2の稼働状態の変化と、データ11が示すアナログ値の変化との間の相関関係に基づいて、センサ3とセンサ3が取り付けられた機器2との関係が、予め定められた上述の対応関係に基づいた関係であるかを判定する。このようにして、サーバ5は、センサ3の正常性を判定する。
図6は、実施例に係るサーバの機能構成の一例を示す図である。図6の例に示すように、サーバ5は、通信部12、記憶部13及び制御部14を有する。
通信部12は、サーバ5と通信装置4との通信を行う。また、通信部12は、サーバ5と端末6との通信を行う。例えば、通信部12は、通信装置4から送信された稼働情報10を受信すると、受信した稼働情報10を制御部14に送信する。また、通信部12は、通信装置4から送信されたデータ11を受信すると、受信したデータ11を制御部14に送信する。また、通信部12は、後述の判定処理を実行するための指示を受信すると、受信した指示を制御部14に送信する。
記憶部13は、各種情報を記憶する。例えば、記憶部13は、N個の検知結果テーブル13a1〜13aN、N個の稼働情報テーブル13b1〜13bN、名称テーブル13cを記憶する。
検知結果テーブル13a1〜13aNのそれぞれには、センサ31〜3Nのそれぞれの検知結果が後述の登録部14aにより登録される。すなわち、検知結果テーブル13ap(p=1,2,・・・N)には、センサ3pの検知結果が後述の登録部14aにより登録される。以下では、検知結果テーブル13a1〜13aNを区別せずに説明する場合には、単に「検知結果テーブル13a」と表記する場合がある。
図7は、検知結果テーブルのデータ構造の一例を示す図である。図7の例に示すように、検知結果テーブル13aは、「センサID」、「日時」、「アナログ値」の各項目を有する。「センサID」の項目には、検知結果が登録されるセンサ3のIDが予め登録される。「日時」の項目には、「センサID」の項目に登録されたIDによって識別されるセンサ3が振動を検知した日時が後述の登録部14aにより登録される。「アナログ値」の項目には、「センサID」の項目に登録されたIDによって識別されるセンサ3が、「日時」の項目に登録された日時において検知した振動の大きさを示すアナログ値が後述の登録部14aにより登録される。図7の例は、IDが「n」であるセンサ3が、「2012年11月15日19時00分00秒」に、アナログ値「50」に対応する大きさの振動を検知したことを示す。また、図7の例は、IDが「n」であるセンサ3が、「2012年11月15日20時00分00秒」に、アナログ値「0」に対応する大きさの振動を検知したことを示す。
図6の説明に戻り、稼働情報テーブル13b1〜13bNのそれぞれには、機器21〜2Nのそれぞれの稼働情報10が後述の登録部14aにより登録される。すなわち、稼働情報テーブル13bp(p=1,2,・・・N)には、機器2pの稼働情報10が後述の登録部14aにより登録される。以下では、稼働情報テーブル13b1〜13bNを区別せずに説明する場合には、単に「稼働情報テーブル13b」と表記する場合がある。
図8は、稼働情報テーブルのデータ構造の一例を示す図である。図8の例に示すように、稼働情報テーブル13bは、「機器ID」、「日時」、「稼働状態」の各項目を有する。「機器ID」の項目には、稼働情報10が登録される機器2のIDが予め登録される。「日時」の項目には、「機器ID」の項目に登録されたIDによって識別される機器2が稼働状態を検知した日時が後述の登録部14aにより登録される。「稼働状態」の項目には、「機器ID」の項目に登録されたIDによって識別される機器2が、「日時」の項目に登録された日時において検知した稼働状態を示すデジタル値「0」または「1」が後述の登録部14aにより登録される。図8の例は、IDが「mm」である機器2が、「2012年11月15日19時00分00秒」に、稼働中であることを検知したことを示す。また、図8の例は、IDが「mm」である機器2が、「2012年11月15日20時00分00秒」に、停止中であることを検知したことを示す。
図6の説明に戻り、名称テーブル13cは、システム1の管理者などが用いるセンサ3の名称と、センサ3のIDとを対応付けて記憶する。これに加えて、名称テーブル13cは、システム1の管理者などが用いる機器2の名称と、機器2のIDとを対応付けて記憶する。図9は、名称テーブルのデータ構造の一例を示す図である。図9の例に示すように、名称テーブル13cは、「センサ名称」、「センサID」、「機器名称」、「機器ID」の各項目を有する。「センサ名称」の項目には、システム1の管理者などが用いるセンサ3の名称が予め登録される。「センサID」の項目には、「センサ名称」の項目に登録された名称のセンサ3のIDが予め登録される。「機器名称」の項目には、システム1の管理者などが用いる機器2の名称が予め登録される。「機器ID」の項目には、「機器名称」の項目に登録された名称の機器のIDが予め登録される。図9の例は、システム1の管理者などが用いる名称が「追加振動センサ」であるセンサ3のIDが「n」であることを示す。また、図9の例は、システム1の管理者などが用いる名称が「一号発電機」である機器2のIDが「mm」であることを示す。
図6の説明に戻り、記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
制御部14は、登録部14a、取得部14b、判定部14cを有する。登録部14aは、各種の情報を登録する。例えば、登録部14aは、通信部12から送信された稼働情報10を受信するたびに、受信した稼働情報10の「機器ID」の項目に登録された機器2のIDを取得する。また、登録部14aは、受信した稼働情報10の「稼働状態」及び「日時」の各項目の登録内容を取得する。そして、登録部14aは、取得した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する。そして、登録部14aは、特定した稼働情報テーブル13bの「稼働状態」の項目に、受信した稼働情報10の「稼働状態」の項目から取得した内容を登録する。また、登録部14aは、特定した稼働情報テーブル13bの「日時」の項目に、受信した稼働情報10の「日時」の項目から取得した日時を登録する。
また、登録部14aは、通信部12から送信されたデータ11を受信するたびに、受信したデータ11の「センサID」の項目に登録されたセンサ3のIDを取得する。また、登録部14aは、受信したデータ11の「アナログ値」及び「日時」の各項目の登録内容を取得する。そして、登録部14aは、取得したセンサ3のIDが「センサID」の項目に登録された検知結果テーブル13aをN個の検知結果テーブル13a1〜13aNの中から特定する。そして、登録部14aは、特定した検知結果テーブル13aの「アナログ値」の項目に、受信したデータ11の「アナログ値」の項目から取得した内容を登録する。また、登録部14aは、特定した検知結果テーブル13aの「日時」の項目に、受信したデータ11の「日時」の項目から取得した日時を登録する。
上述したようにして、登録部14aは、検知結果テーブル13a、稼働情報テーブル13bの各テーブルに各種の内容を登録する。
取得部14bは、各種の情報を取得する。取得部14bの一態様について説明する。取得部14bは、通信部12fから送信されたセンサ3の正常性を判定する判定処理を実行するための指示を受信すると、まず、システム1の管理者などから、判定処理で用いられる各種の情報の指定を受け付けるための受付画面を表示するように端末6に指示を送信する。これにより、端末6では、かかる受付画面が表示される。
図10は、受付画面の一例を示す図である。図10の例に示すように、受付画面20は、テキストボックス20a〜20e,20g〜20j、ボタン20k,20lを有する。テキストボックス20aには、センサ3との正常性が判定される対象の機器2の名称の後に、文字1つ分のスペースが挿入された後に、正常性を判定するセンサ3の名称がシステム1の管理者によって入力される。これにより、センサ3との正常性が判定される対象の機器2の指定、及び、正常性を判定するセンサ3の指定が受け付けられる。また、テキストボックス20b〜20eには、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の期間の始点となる日時(最初の日時)が管理者により入力される。これにより、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の最初の日時の指定が受け付けられる。また、テキストボックス20g〜20jには、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の期間の終点となる日時(最後の日時)が管理者により入力される。これにより、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の最後の日時の指定が受け付けられる。また、ボタン20kが、図示しないキーボードやマウスなどの操作受付装置が管理者によって操作されることにより押下されると、端末6は、テキストボックス20a〜20e,20g〜20jの入力内容をサーバ5に送信するとともに受付画面20を閉じる。また、ボタン20lが、管理者によって操作受付装置が操作されることにより押下されると、端末6は、受付画面20を閉じる。
そして、取得部14bは、ボタン20kが押下された場合には、端末6から送信されたセンサ3との正常性が判定される対象の機器2の名称を取得し、取得した名称に対応する機器2のIDを名称テーブル13cから取得する。また、取得部14bは、端末6から送信された正常性を判定するセンサ3の名称を取得し、取得した名称に対応するセンサ3のIDを名称テーブル13cから取得する。
そして、取得部14bは、取得した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する。また、取得部14bは、取得したセンサ3のIDが「センサID」の項目に登録された検知結果テーブル13aをN個の検知結果テーブル13a1〜13aNの中から特定する。
そして、取得部14bは、端末6から送信された、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の期間の最初の日時及び最後の日時を取得する。そして、取得部14bは、特定した稼働情報テーブル13bの登録内容の中から、最初の日時から最後の日時までの「稼働状態」の項目に登録された稼働状態を示す情報を取得する。また、取得部14bは、特定した検知結果テーブル13aの登録内容の中から、最初の日時から最後の日時までの「アナログ値」の項目に登録されたアナログ値を取得する。
判定部14cは、各種の判定を行う。判定部14cの一態様について説明する。例えば、判定部14cは、取得部14bにより稼働状態を示す情報及びアナログ値が取得された場合に、次の処理を行う。すなわち、判定部14cは、取得部14bにより取得された稼働状態を示す情報とアナログ値との相関値を算出する。例えば、判定部14cは、下記の式を用いて、相関値Cを算出する。
nは、取得部14bにより取得された稼働状態を示す情報の個数であり、取得部14bにより取得されたアナログ値の個数である。
ここで、図11〜図18を参照して、相関値の算出結果の一例について説明する。図11〜図18は、相関値の算出結果の一例について説明するための図である。図11〜図15、図17、図18の例は、ある日の1時から24時までの24個の稼働状態を示す情報と24個のアナログ値(センサ値)とが取得部14bにより取得された場合を示す。図11に示す稼働状態を示す情報は、8時から17時までが稼働中であり、1時から7時及び18時から24時までが停止中であることを示す。また、図11に示すアナログ値は、稼働中である場合には、「50」であり、停止中である場合には、「0」である。このように、機器2が稼働中である場合には、センサ3が一定の値を出力し、機器2が停止中である場合には、センサ3が出力する値が「0」となるときには、判定部14cは、相関値「1」を算出する。この値は、相関の度合いが著しく強いことを示す。
図12の例は、図11の例に示すアナログ値を出力するセンサよりも少しノイズの影響を受けやすいセンサから出力したアナログ値を示す。図12の例に示す稼働状態を示す情報、及び、アナログ値を用いた場合には、判定部14cは、相関値「0.995」を算出する。この値は、相関の度合いが強いことを示す。
図13の例は、図11の例に示すアナログ値を出力するセンサ3を、図11の例に示す稼働状態を検知した機器2とは異なる機器2に取り付けた場合を示す。図13の例に示す稼働状態を示す情報、及び、アナログ値を用いた場合には、判定部14cは、相関値「0.3143」を算出する。この値は、相関の度合いが弱いことを示す。
図14の例は、図12の例に示すアナログ値を出力するセンサよりも少しノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ小)を示す。また、図14の例は、図12の例に示すアナログ値を出力するセンサよりも中程度ノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ中)を示す。また、図14の例は、図12の例に示すアナログ値を出力するセンサよりも大きくノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ大)を示す。図14の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ小)との相関値「0.960」を算出する。また、図14の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ中)との相関値「0.924」を算出する。また、図14の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ大)との相関値「0.901」を算出する。したがって、図14の例では、ノイズが大きくとも相関値0.9を下回ることはなく、相関の度合いは強い。
図15の例は、図11の例に示すアナログ値を出力するセンサ3よりもノイズの影響を受けやすいセンサ3を、図11の例に示す稼働状態を検知した機器2とは異なる機器2に取り付けた場合を示す。図15の例は、図11の例に示すアナログ値を出力するセンサよりも少しノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ小)を示す。また、図15の例は、図11の例に示すアナログ値を出力するセンサよりも中程度ノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ中)を示す。また、図15の例は、図11の例に示すアナログ値を出力するセンサよりも大きくノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ大)を示す。図15の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ小)との相関値「0.314」を算出する。また、図15の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ中)との相関値「0.284」を算出する。また、図15の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ大)との相関値「0.265」を算出する。したがって、図15の例では、機器2とセンサ3との関係が予め定められた対応関係を満たさない場合には、ノイズが大きくなっても相関値が所定値、例えば、0.9を超えるようなことはなく、相関の度合いは弱い。
次に、図16を参照して、図13の例に示すアナログ値(センサ値)の時間軸を異ならせた3つのアナログ値のパターンのそれぞれと図13の例に示す稼働状態を示す情報との相関値を算出する場合について説明する。図16の例の場合、一番上のアナログ値のパターンと稼働状態を示す情報との相関値は「0.200」となる。また、図16の例の場合、二番目のアナログ値のパターンと稼働状態を示す情報との相関値は「0.207」となる。また、図16の例の場合、三番目のアナログ値のパターンと稼働状態を示す情報との相関値は「0.279」となる。図16の例の場合において、いずれのアナログ値のパターンも稼働状態を示す情報との相関の度合いが弱いことが分かる。
図17に示す稼働状態を示す情報は、3時から4時、8時から17時、22時から23時までが稼働中であり、1時から2時、5時から7時及び18時から21時まで、並びに、24時が停止中であることを示す。また、図17の例は、図12の例に示すアナログ値を出力するセンサよりも少しノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ小)を示す。また、図17の例は、図12の例に示すアナログ値を出力するセンサよりも中程度ノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ中)を示す。また、図17の例は、図12の例に示すアナログ値を出力するセンサよりも大きくノイズの影響を受けやすいセンサから出力したアナログ値(ノイズ大)を示す。図17の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ小)との相関値「0.961」を算出する。また、図17の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ中)との相関値「0.913」を算出する。また、図17の例において、判定部14cは、稼働状態を示す情報とアナログ値(ノイズ大)との相関値「0.908」を算出する。したがって、図14の例では、ノイズが大きくとも相関値0.9を下回ることはなく、いずれの場合も相関の度合いが強い。
図18の例は、センサ3がまったく動かない場合(故障している場合)のアナログ値のパターンと、まったく動かないがノイズの影響を少し受けやすいセンサから出力されるアナログ値のパターンと、まったく動かないが中程度ノイズの影響を受けやすいセンサから出力されるアナログ値(ノイズ中)のパターンを示す。図18の例において、判定部14cは、稼働状態を示す情報と、センサがまったく動かない場合(故障している場合)のアナログ値のパターンとの相関度を算出することができない。この場合、上述した式(1)の分母の値が「0」となるからである。また、図18の例において、判定部14cは、稼働状態を示す情報と、まったく動かないがノイズの影響を少し受けやすいセンサから出力されるアナログ値のパターンとの相関度「0.000」を算出する。また、図18の例において、稼働状態を示す情報と、まったく動かないが中程度ノイズの影響を受けやすいセンサから出力されるアナログ値のパターンとの相関度「0.154」を算出する。したがって、図18の例では、センサ3がまったく動かない場合に、センサ3がノイズの影響を受けたからといって、相関値が所定値、例えば、0.9を上回ることはない。
図6の説明に戻り、判定部14cは、式(1)を用いて、相関値Cを算出すると、相関値Cと所定値とを比較し、相関値Cが所定値以上であるか否かを判定する。ここで、相関値Cと比較される所定値の一例としては、例えば、0.9が挙げられる。
相関値Cが所定値以上である場合には、判定部14cは、相関値Cとともに、センサ3の正常性を肯定する旨のメッセージを表示する指示を端末6に送信する。これにより、端末6では、相関値Cとともに、センサ3の正常性を肯定する旨のメッセージが表示される。図19は、相関値Cとともに、端末に表示されるセンサの正常性を肯定する旨のメッセージの一例を示す図である。図19の例は、名称が「一号発電機」である機器2に対して取り付けた、名称が「追加振動センサ」であるセンサ3が、名称が「一号発電機」である機器2を正常に監視していることを示すメッセージ「正常に監視しています。」が端末6に表示された場合を示す。また、図19の例は、相関値「0.98」が端末6に表示された場合を示す。なお、図19の例に示す「OK」という表記がされたボタンが押下されると、図19の例に示す画面30が閉じる。
一方、相関値Cが所定値以上でない場合には、判定部14cは、相関値Cとともに、センサ3の正常性を否定する旨のメッセージを表示する指示を端末6に送信する。これにより、端末6では、相関値Cとともに、センサ3の正常性を否定する旨のメッセージが表示される。図20は、相関値Cとともに、端末に表示されるセンサの正常性を否定する旨のメッセージの一例を示す図である。図20の例では、名称が「一号発電機」である機器2に対して取り付けた、名称が「追加振動センサ」であるセンサ3が、名称が「一号発電機」である機器2を正常に監視していないことを示すメッセージ「正常に監視できていません。」が端末6に表示された場合を示す。また、図20の例は、相関値「0.32」も端末6に表示された場合を示す。なお、図20の例に示す「OK」という表記がされたボタンが押下されると、図20の例に示す画面31が閉じる。
そして、図20の例に示す「OK」という表記がされたボタンが押下されて図20の例に示す画面31が閉じた場合には、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、未選択の機器2があるか否かを判定する。未選択の機器2がある場合には、未選択の機器2を1つ選択する。そして、判定部14cは、選択した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する。
そして、判定部14cは、特定した稼働情報テーブル13bの登録内容の中から、管理者により指定済みの最初の日時から最後の日時までの期間における「稼働状態」の項目に登録された稼働状態を示す情報を取得する。そして、判定部14cは、上記の式(1)を用いて、取得した稼働状態を示す情報と、取得部14bにより取得されたアナログ値との相関値を算出する。
そして、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、未選択の機器2がなくなるまで、未選択の機器2を1つずつ選択する。また、判定部14cは、未選択の機器2を1つ選択するたびに、選択した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する上述した処理を行う。そして、判定部14cは、特定した稼働情報テーブル13bの登録内容の中から、管理者により指定済みの最初の日時から最後の日時までの期間における「稼働状態」の項目に登録された稼働状態を示す情報を取得する上述した処理を行う。そして、判定部14cは、上記の式(1)を用いて、取得した稼働状態を示す情報と、取得部14bにより取得されたアナログ値との相関値を算出する上述した処理を行う。このようにして、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の全ての機器2の稼働情報10と、管理者が受付画面20に名称を入力したセンサ3が出力するアナログ値との相関値Cを算出する。
一方、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、未選択の機器2がなくなった場合には、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、次のような機器2があるか否かを判定する処理を行う。すなわち、判定部14cは、相関値Cの値が所定値(例えば、0.9)以上となる場合の稼働情報10を検知した機器2があるか否かを判定する。相関値Cの値が所定値以上となる場合の稼働情報10を検知した機器2があるときには、判定部14cは、あると判定した機器2のIDを用いて、名称テーブル13cから、あると判定した機器2の名称を取得する。そして、判定部14cは、取得した名称の機器2を、管理者が受付画面20に入力した名称のセンサ3が監視している可能性があることを示すメッセージを表示する指示を端末6に送信する。図21は、取得した名称の機器を、管理者が受付画面に入力した名称のセンサが監視している可能性があることを示すメッセージの一例を示す図である。図21の例では、名称が「一号発電機」である機器2に対して取り付けたはずの名称が「追加振動センサ」であるセンサ3が、名称が「二号発電機」である機器2を監視している可能性があることを示すメッセージ「追加振動センサは、以下を監視している可能性があります。候補 二号発電機」が端末6に表示された場合を示す。また、図21の例は、相関値「0.95」も端末6に表示された場合を示す。なお、図21の例に示す「OK」という表記がされたボタンが押下されると、図21の例に示す画面32が閉じる。
制御部14は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの回路である。
図6の説明に戻り、端末6は、システム1の管理者によって操作される端末である。端末6は、図示しない表示部、図示しない操作受付部を有する。端末6の表示部には、上述した受付画面20や、上述した画面21〜23が表示され、管理者は表示された画面の内容を確認することができる。また、端末6は、操作受付部によって管理者からセンサ3の正常性を判定する判定処理を実行するための指示が受け付けられると、受け付けられた指示をサーバ5に送信する。
[処理の流れ]
次に、本実施例に係るサーバ5の処理の流れについて説明する。図22は、実施例に係る判定処理の手順を示すフローチャートである。実施例に係る判定処理は、例えば、端末6から送信されたセンサ3の正常性を判定する判定処理を実行するための指示を制御部14が受け付けたタイミングで、実行される。
図22に示すように、取得部14bは、システム1の管理者などから、判定処理で用いられる各種の情報の指定を受け付けるための受付画面20を表示するように端末6に指示を送信する(S101)。これにより、端末6では、かかる受付画面が表示される。
そして、取得部14bは、ボタン(「OK」のボタン)20kが押下されたか否かを判定する(S102)。押下されていない場合(S102;No)には、取得部14bは、再び、S102の処理を行う。一方、押下された場合(S102;Yes)には、取得部14bは、端末6から送信されたセンサ3との正常性が判定される対象の機器2の名称を取得し、取得した名称に対応する機器2のIDを名称テーブル13cから取得する。また、取得部14bは、端末6から送信された正常性を判定するセンサ3の名称を取得し、取得した名称に対応するセンサ3のIDを名称テーブル13cから取得する(S103)。
そして、取得部14bは、取得した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する。また、取得部14bは、取得したセンサ3のIDが「センサID」の項目に登録された検知結果テーブル13aをN個の検知結果テーブル13a1〜13aNの中から特定する(S104)。
そして、取得部14bは、端末6から送信された、センサ3の正常性を判定する際に用いられる稼働情報10及びデータ11の期間の最初の日時及び最後の日時を取得する(S105)。そして、取得部14bは、特定した稼働情報テーブル13bの登録内容の中から、最初の日時から最後の日時までの期間における「稼働状態」の項目に登録された稼働状態を示す情報を取得する。また、取得部14bは、特定した検知結果テーブル13aの登録内容の中から、最初の日時から最後の日時までの期間における「アナログ値」の項目に登録されたアナログ値を取得する(S106)。
続いて、判定部14cは、取得部14bにより取得された稼働状態を示す情報とアナログ値との相関値を算出する(S107)。そして、判定部14cは、相関値と所定値(例えば、0.9)とを比較し、相関値が所定値以上であるか否かを判定する(S108)。
相関値が所定値以上である場合(S108;Yes)には、判定部14cは、相関値とともに、センサ3の正常性を肯定する旨のメッセージを表示する指示を端末6に送信し(S109)、処理を終了する。
一方、相関値が所定値以上でない場合(S108;No)には、判定部14cは、相関値とともに、センサ3の正常性を否定する旨のメッセージを表示する指示を端末6に送信する(S110)。そして、判定部14cは、図20の例に示すような「OK」という表記がされたボタンが押下されたか否かを判定する(S111)。押下されていない場合(S111;No)には、判定部14cは、再び、S111の処理を行う。一方、押下された場合(S111;Yes)には、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、未選択の機器2があるか否かを判定する(S112)。未選択の機器2がある場合(S112;Yes)には、判定部14cは、未選択の機器2を1つ選択する(S113)。そして、判定部14cは、選択した機器2のIDが「機器ID」の項目に登録された稼働情報テーブル13bをN個の稼働情報テーブル13b1〜13bNの中から特定する(S114)。
そして、判定部14cは、特定した稼働情報テーブル13bの登録内容の中から、管理者により指定済みの最初の日時から最後の日時までの期間における「稼働状態」の項目に登録された稼働状態を示す情報を取得する(S115)。そして、判定部14cは、上記の式(1)を用いて、取得した稼働状態を示す情報と、取得部14bにより取得されたアナログ値との相関値を算出し(S116)、S112に戻る。
一方、未選択の機器2がない場合(S112;No)には、判定部14cは、管理者が受付画面20に入力した名称の機器2以外の機器2の中に、次のような機器2があるか否かを判定する処理を行う。すなわち、判定部14cは、相関値の値が所定値(例えば、0.9)以上となる場合の稼働情報10を検知した機器2があるか否かを判定する(S117)。ない場合(S117;No)には、判定部14cは、処理を終了する。一方、ある場合(S117;Yes)には、判定部14cは、あると判定した機器2のIDを用いて、名称テーブル13cから、あると判定した機器2の名称を取得する(S118)。そして、判定部14cは、取得した名称の機器2を、管理者が受付画面20に入力した名称のセンサ3が監視している可能性があることを示すメッセージを表示する指示を端末6に送信し(S119)、処理を終了する。
上述してきたように、実施例に係るサーバ5は、機器2の稼働情報と、機器2に関する情報を検知するセンサ3の出力と、を取得する。そして、サーバ5は、取得したセンサ3の出力と、機器2の稼働情報が示す稼働状態の変化との間の相関関係に基づいて、センサ3の正常性を判定する。このように、サーバ5によれば、取得したセンサ3の出力と、機器2の稼働情報が示す稼働状態の変化との間の相関関係に基づいて、センサ3の正常性を判定する。このため、サーバ5は、相関関係というセンサ3の正常性を判定する際に精度良く判定を行うことができる情報を用いて、センサ3の正常性を判定する。したがって、サーバ5によれば、機器の稼働情報とセンサの出力とが同調しているかどうかの判定を精度良く行うことができる。
また、サーバ5は、管理者が指定したセンサ3の正常性を否定する判定をした場合に、管理者が指定したセンサ3とは異なる他のセンサ3の出力と、機器2の稼働情報が示す稼働状態の変化との間の相関関係に基づいて、他のセンサ3の正常性を判定する。これにより、管理者が指定したセンサ3以外のセンサ3についても正常性を判定することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、上述した実施例では、センサ3が、機器2の振動を検知する振動センサである場合について説明したが、開示の装置は、これに限定されない。例えば、センサ3が、機器2に取り付けられて機器2の音を検知する音センサであってもよいし、機器2に流れる電流を検知する電流センサであってもよい。また、センサ3が、機器2に取り付けられて、機器2が発する光を検知する光センサであってもよい。
また、上述した実施例では、管理人が指定した期間の稼働情報10及びデータ11を取得する場合について例示したが、開示の装置は、これに限定されない。例えば、サーバ5の取得部14bは、稼働情報10において「0」及び「1」の両方を含む期間、すなわち、機器2が稼働中及び停止中の両方の稼働状態を含む期間の稼働情報10及びデータ11を取得することもできる。判定部14cは、上述したような稼働中及び停止中の両状態を含む期間の稼働情報10及びデータ11を用いて、上述した式(1)により、相関値Cを算出する場合には、式(1)の特性上、次のような効果を奏する。すなわち、両方の稼働状態を含まない期間の稼働情報10及びデータ11を用いて、上述した式(1)により、相関値Cを算出する場合と比較して、算出される相関値の精度が高くなる。
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[判定プログラム]
また、上記の実施例で説明したサーバ5の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図23を用いて、上記の実施例で説明したサーバ5と同様の機能を有する判定プログラムを実行するコンピュータの一例を説明する。図23は、判定プログラムを実行するコンピュータを示す図である。
図23に示すように、コンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら各機器310〜340は、バス350を介して接続されている。
ROM320には、OSなどの基本プログラムが記憶されている。また、HDD330には、上記の実施例で示す登録部14a、取得部14b、判定部14cと同様の機能を発揮する判定プログラム330aが予め記憶される。なお、判定プログラム330aについては、適宜分離しても良い。また、HDD330には、検知結果テーブル、稼働情報テーブル、名称テーブルが設けられる。検知結果テーブルは、上述した検知結果テーブル13a、稼働情報テーブルは、上述した稼働情報テーブル13b、名称テーブルは、上述した名称テーブル13cに対応する。
そして、CPU310が、判定プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、検知結果テーブル、稼働情報テーブル、名称テーブルを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された検知結果テーブル、稼働情報テーブル、名称テーブルを用いて、判定プログラム330aを実行する。なお、RAM340に格納されるデータは、常に全てのデータがRAM340に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記した判定プログラム330aについては、必ずしも最初からHDD330に記憶させておく必要はない。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に判定プログラム330aを記憶させておく。そして、コンピュータ300がこれらから判定プログラム330aを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などに判定プログラム330aを記憶させておく。そして、コンピュータ300がこれらから判定プログラム330aを読み出して実行するようにしてもよい。