(57)【要約】【課題】監視装置の操作性の悪化を抑制する。【解決手段】  監視装置１０は、コントローラ５０から信号を受信する受信部３１と、受信部３１で受信した信号に対応するイベントの処理優先度を判別する判別部３３と、判別部３３による判別結果に応じて、信号に対応するイベントをイベントキュー２４又はバッファ２６に格納する格納部３４とを備える。【選択図】図２
2020197943.tif 000002
【特許請求の範囲】
【請求項１】
コントローラから信号を受信する受信部と、
前記受信部で受信した信号に対応するイベントの処理優先度を判別する判別部と、
前記判別部による判別結果に応じて、当該信号に対応するイベントをイベントキュー又はバッファに格納する格納部と、
を備えたことを特徴とする監視装置。
【請求項２】
前記格納部は、前記判別部により処理優先度が高いと判別されたイベントを前記イベントキューに格納し、前記判別部により処理優先度が低いと判別されたイベントを前記バッファに格納することを特徴とする請求項１記載の監視装置。
【請求項３】
前記判別部は、ＣＯＶイベントを処理優先度が低いイベントであると判別することを特徴とする請求項２記載の監視装置。
【請求項４】
前記イベントキューに格納されているイベントの件数を確認する確認部を備え、
前記判別部は、前記イベントキューに格納されているイベントの件数が閾値以上である場合、前記受信部で受信した信号に対応するイベントの処理優先度を判別することを特徴とする請求項１から請求項３のうちいずれか１項に記載の監視装置。
【請求項５】
前記イベントキューに格納されているイベントの件数を確認する確認部と、
前記イベントキューに格納されているイベントの件数が閾値以下のとき、前記バッファに格納されているイベントを前記イベントキューに移動させる移動部と、
を備えたことを特徴とする請求項１から請求項４のうちいずれか１項に記載の監視装置。
【請求項６】
前記閾値は可変であることを特徴とする請求項４又は請求項５に記載の監視装置。
【請求項７】
複数の監視ポイントのうち同一の監視ポイントに関する同種のイベントが前記バッファに複数格納されているとき、当該複数のイベントのうち最新のイベントを当該バッファから前記イベントキューに移動させる移動部を備えたことを特徴とする請求項１から請求項４のうちいずれか１項に記載の監視装置。
【請求項８】
監視装置による監視方法であって、
受信部が、コントローラから信号を受信するステップと、
判別部が、前記受信部で受信した信号に対応するイベントの処理優先度を判別するステップと、
格納部が、前記判別部による判別結果に応じて、当該信号に対応するイベントを前記イベントキュー又はバッファに格納するステップと、
を有することを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ビル等の施設内に設置されている監視対象機器を監視する監視装置及び監視方法に関する。
【背景技術】
【０００２】
従来、ビル等の施設内に設置されている複数の監視対象機器（以下「監視ポイント」という。）を監視する施設監視システムが知られている。この施設監視システムは、例えばビルの各フロアに設置された複数の監視ポイントと、これらの監視ポイントの監視及び監視ポイントからのデータ収集等を行うコントローラ（中央制御装置）と、コントローラが収集したデータを含む監視ポイントの運転状態を表示する表示部を備えた監視装置とが、専用のネットワークを介して接続された構成をとる。
【０００３】
一般的に、施設監視システムでは、コントローラが監視ポイントの運転状態の変化を検知すると、監視装置に対して状態変化通知を行う。この状態変化通知は、監視ポイントの運転状態の変化を監視装置へ通知するためのメッセージであり、ＣＯＶ（Change Of Value）とも呼ばれる。ＣＯＶは、例えば運転モード、設定温度、風量、室内温度、異常信号等の種々の情報から構成されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０３３２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
コントローラが監視装置に対して状態変化通知（ＣＯＶ）を行うと、監視装置はＣＯＶに基づいて、表示部に表示された監視画面の内容を更新するので、ユーザ（管理者）は監視ポイントの状態をリアルタイムで監視することができる。一方、状態変化する監視ポイントが大量にあり、ＣＯＶが多発した場合、従来の監視装置では、ＣＯＶに基づく表示の更新が完了するまで他の処理が待たされてしまうという課題があった。
【０００６】
例えば、図６は従来の監視装置の処理の概要を模式的に示している。この監視装置１００は、監視画面がイベント駆動型のアーキテクチャにより構成されている。すなわち、監視装置１００は、受信部１２０が図外のコントローラからＣＯＶを受信すると（符号（１））、当該ＣＯＶに基づいて監視画面の表示内容を更新するイベントをＦＩＦＯ型（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のイベントキュー１４０に格納する（符号（２））。そして、処理部１６０がイベントキュー１４０から当該イベントを取り出し、対応するアプリケーションを用いて監視画面の表示内容を更新する（符号（３））。
【０００７】
ＣＯＶが多発すると、監視装置１００のイベントキュー１４０にはＣＯＶに基づいて監視画面の表示内容を更新するイベント（表示更新イベント）が多数蓄積される。この状態で、例えばユーザが監視装置１００の監視画面に対して何らかの操作をすると、当該操作に対応するイベント（画面操作イベント）はイベントキュー１４０の最後尾に格納される（符号（４））。そのため、画面操作イベントは、それ以前に蓄積されている多数の表示更新イベントが処理されるまで待たされる。したがって、ユーザによる画面操作の内容が監視画面に表示（反映）されるまで時間がかかり、ユーザは操作性が悪いと感じてしまうという課題があった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、監視装置の操作性の悪化を抑制することを目的としている。
【課題を解決するための手段】
【０００９】
この発明に係る監視装置は、コントローラから信号を受信する受信部と、受信部で受信した信号に対応するイベントの処理優先度を判別する判別部と、判別部による判別結果に応じて、当該信号に対応するイベントをイベントキュー又はバッファに格納する格納部と、を備えることを特徴とする。
【発明の効果】
【００１０】
この発明によれば、上記のように構成したので、監視装置の操作性の悪化を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る監視装置を備えた施設監視システムの構成例を示す図である。
【図２】実施の形態１に係る監視装置の構成例を示す図である。
【図３】実施の形態１に係る監視装置の処理の概要を示す図である。
【図４】実施の形態１に係る監視装置のサブスレッド実行部による処理の流れを示すフローチャートである。
【図５】実施の形態１に係る監視装置のメインスレッド実行部による処理の流れを示すフローチャートである。
【図６】従来の監視装置の処理の概要を示す図である。
【発明を実施するための形態】
【００１２】
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態１．
図１は、この発明の実施の形態１に係る監視装置を備えた施設監視システムの構成例を示している。施設監視システムは、監視装置１０と、コントローラ５０と、複数の監視ポイント８０とを含んで構成されている。監視装置１０と、コントローラ５０と、各監視ポイント８０とは、システムバス７０を介して通信可能に接続されている。
【００１３】
監視装置１０は、モニタなどの表示部４０（図２参照）を備えている。表示部４０には、各監視ポイント８０の運転状態を示す監視画面が表示される。
【００１４】
監視装置１０の監視画面は、イベント駆動型のアーキテクチャで構成されている。すなわち、監視装置１０は、コントローラ５０からＣＯＶ等の信号を受信すると、当該信号に対応するイベントをイベントキュー又はバッファ（いずれも後述）に格納する。監視装置１０は、イベントキュー又はバッファからイベントを取り出し、対応するアプリケーションを用いて当該イベントを処理することにより、監視画面の表示の更新などを行う。ここでは、説明を容易にするために、はじめに実施の形態１で例示する各種イベントについて簡単に説明する。
【００１５】
＜ＣＯＶイベント＞
コントローラ５０は、一定周期毎（例えば１分毎）に各監視ポイント８０からデータ収集を行い、収集したデータを記録するとともに、各監視ポイント８０の運転状態の変化を監視している。コントローラ５０は、監視ポイント８０の運転状態の変化を検知すると、監視装置１０に対して状態変化通知（ＣＯＶ）を行い、監視ポイント８０の運転状態の変化を監視装置１０へ通知する。
【００１６】
監視装置１０は、コントローラ５０からＣＯＶを受信すると、当該ＣＯＶに基づいて、監視画面の表示内容を状態変化後の内容に更新するイベントをイベントキュー又はバッファに格納する。監視装置１０は、イベントキュー又はバッファから当該イベントを取り出し、対応するアプリケーションを用いて当該イベントを処理することで、監視画面の表示内容を更新する。ここでは、監視装置１０がＣＯＶに基づいて監視画面の表示内容を更新するイベントを単に「ＣＯＶイベント」と称する。
【００１７】
＜死活監視要求イベント＞
監視装置１０とコントローラ５０とは、互いに信号を送受信し合うことで、互いの稼働状態を随時確認し合っている。例えば、コントローラ５０は、監視装置１０が正常に稼働しているかを確認するための信号（死活監視要求信号）を送信する。
【００１８】
監視装置１０は、コントローラ５０から死活監視要求信号を受信すると、当該信号に対して自身の稼働状態に応じた応答信号をコントローラ５０に返信するイベントをイベントキューに格納する。監視装置１０は、イベントキューから当該イベントを取り出し、対応するアプリケーションを用いて当該イベントを処理することで、自身の稼働状態に応じた応答信号を生成し、コントローラ５０に返信する。ここでは、監視装置１０が受信した死活監視要求信号に対して応答信号を返信するイベントを単に「死活監視要求イベント」と称する。
【００１９】
＜属性返信イベント＞
監視装置１０は、監視画面の表示に際し、各監視ポイント８０の名称、属性等の情報は保持していないため、コントローラ５０に対し、監視画面に表示する監視ポイント８０の名称、属性等の情報の読み出しを要求する。コントローラ５０は、要求のあった監視ポイント８０の名称、属性等の情報を監視装置１０に返信する。
【００２０】
監視装置１０は、コントローラ５０から監視ポイント８０の名称、属性等の情報を受信すると、当該情報を監視画面に表示するイベントをイベントキュー又はバッファに格納する。監視装置１０は、イベントキュー又はバッファから当該イベントを取り出し、対応するアプリケーションを用いて当該イベントを処理することで、監視ポイント８０の名称、属性等の情報を監視画面に表示する。ここでは、監視装置１０がコントローラ５０からの返信を受けて、監視ポイント８０の名称、属性等の情報を監視画面に表示するイベントを単に「属性返信イベント」と称する。
【００２１】
＜画面操作イベント＞
監視装置１０のユーザ（管理者）が監視装置１０の監視画面に対し、例えばマウスポインタを動かす操作をすると、監視装置１０は、当該操作を監視画面に反映させるイベントをイベントキューに格納する。監視装置１０は、イベントキューから当該イベントを取り出し、対応するアプリケーションを用いて当該イベントを処理することで、ユーザの当該操作を監視画面に反映させる。ここでは、監視装置１０がユーザの操作を監視画面に反映させるイベントを単に「画面操作イベント」と称する。
【００２２】
次に、監視装置１０の構成例及び処理の概要について、図２及び図３を参照して説明する。監視装置１０は、図２に示すように、メモリ２０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０、及び表示部４０を備えている。
【００２３】
このほか、監視装置１０は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ハードディスクドライブ装置などの記録装置（いずれも不図示）を備えていてもよい。また、ここでは、監視装置１０が表示部４０を備える例を説明するが、表示部４０は監視装置１０の外部に備えられていてもよい。
【００２４】
メモリ２０には、設定部２２、イベントキュー２４、バッファ２６が構成される。設定部２２は、上記した各イベントについて、処理をどの程度優先するかを示す優先度に関する情報を記憶している。
【００２５】
例えば、死活監視要求イベントは、監視装置１０の稼働状態をできるだけ早くコントローラ５０に応答することが求められるため、処理優先度が高く設定されている。一方、ＣＯＶイベント、属性返信イベントは、死活監視要求イベントほどの即時性は要求されないため、処理優先度が低く設定されている。なお、これらの処理優先度の設定はあくまで一例であり、監視装置１０の設計等に応じて適宜変更可能である。
【００２６】
イベントキュー２４は、イベントを格納するＦＩＦＯ型のキューである。イベントキュー２４に格納されたイベントの単位時間あたりの処理件数は、監視装置１０のＣＰＵ又はＧＰＵの性能に依存する。バッファ２６は、処理優先度が低く設定されたイベントを一時的に格納（退避）する予備領域である。
【００２７】
ＣＰＵ３０は、予めメモリ２０に展開された所定のプログラムを実行することにより、受信部３１、確認部３２、判別部３３、格納部３４、処理部３５、移動部３６として機能する。受信部３１、確認部３２、判別部３３及び格納部３４は、サブスレッド実行部Ｔｈ１を構成する。確認部３２、処理部３５及び移動部３６は、メインスレッド実行部Ｔｈ２を構成する。以下、サブスレッド実行部Ｔｈ１が実行する処理、メインスレッド実行部Ｔｈ２が実行する処理について説明する。
【００２８】
＜サブスレッド実行部Ｔｈ１の処理＞
受信部３１は、コントローラ５０からＣＯＶ、死活監視要求信号等の信号を受信する（図３の符号（１））。確認部３２は、イベントキュー２４に格納されているイベントの件数を確認するとともに、イベントキュー２４に格納されているイベントの件数が閾値以上であるか否かを確認する。イベントキュー２４に格納されているイベントの件数が閾値以上でなければ、格納部３４は、受信部３１で受信した信号に対応するイベントをイベントキュー２４に格納する（符号（２））。
【００２９】
イベントキュー２４に格納されているイベントの件数が閾値以上であれば、判別部３３は、設定部２２に記憶されている処理優先度に関する情報を参照し、受信部３１で受信した信号に対応するイベントの処理優先度を判別する。
【００３０】
判別部３３により、受信部３１で受信した信号に対応するイベントの処理優先度が高いと判別された場合、格納部３４は、当該イベントをイベントキュー２４に格納する（符号（３））。また、判別部３３により、受信部３１で受信した信号に対応するイベントの処理優先度が低いと判別された場合、格納部３４は、当該イベントをバッファ２６に格納する（符号（４））。
【００３１】
すなわち、格納部３４は、イベントキュー２４に格納されているイベントの件数が閾値以上でなければ、受信部３１で受信した信号に対応するイベントをそのままイベントキュー２４に格納するが、イベントキュー２４内のイベントの件数が閾値以上であれば、判別部３３による判別結果に応じて、当該信号に対応するイベントをイベントキュー２４又はバッファ２６に格納する。
【００３２】
また、格納部３４は、ユーザにより監視装置１０の監視画面に何らかの操作が行われると、画面操作イベントをイベントキュー２４に格納する（符号（５））。画面操作イベントは、監視装置１０の操作性の悪化を抑制する観点から、処理優先度の高いイベントとみなし、イベントキュー２４内のイベントの件数に関わらずイベントキュー２４に格納する。
【００３３】
＜メインスレッド実行部Ｔｈ２の処理＞
処理部３５は、イベントキュー２４からイベントを順次取り出し、取り出したイベントに対応するアプリケーションを用いて当該イベントを処理する（符号（６））。例えば、処理部３５は、イベントキュー２４からＣＯＶイベントを取り出すと、対応するアプリケーションを用いて、当該ＣＯＶの内容に基づき監視画面の表示内容を更新する。
【００３４】
また、処理部３５は、イベントキュー２４から死活監視要求イベントを取り出すと、対応するアプリケーションを用いて監視装置１０の稼働状態に応じた応答信号を生成し、コントローラ５０へ返信する。応答信号は、例えば監視装置１０が正常に稼働していることを通知する信号、あるいは監視装置１０に異常が発生していることを通知する信号である。
【００３５】
移動部３６は、イベントキュー２４に格納されているイベントの件数が前述した閾値以下であれば、バッファ２６に格納されている処理優先度の低いイベントをイベントキュー２４に移動させる（符号（７））。このとき、移動部３６は、バッファ２６に格納されている処理優先度の低いイベントを一度にイベントキュー２４に移動させてもよいし、複数回に分けてイベントキュー２４に移動させてもよい。
【００３６】
なお、サブスレッド実行部Ｔｈ１による上記の処理、及びメインスレッド実行部Ｔｈ２による上記の処理は、それぞれ独立して実行可能である。
【００３７】
次に、サブスレッド実行部Ｔｈ１による処理の流れについて、図４のフローチャートを参照しながら説明する。
【００３８】
まず、受信部３１は、コントローラ５０からＣＯＶ等の信号を受信する（ステップＳＴ１）。次に、確認部３２は、イベントキュー２４に格納されているイベントの件数を確認する（ステップＳＴ２）。
【００３９】
次に、確認部３２は、イベントキュー２４に格納されているイベントの件数が閾値以上であるか否かを確認する（ステップＳＴ３）。その結果、イベントキュー２４に格納されているイベントの件数が閾値以上でなければ（ステップＳＴ３；ＮＯ）、格納部３４は、受信部３１で受信した信号に対応するイベントをイベントキュー２４に格納する（ステップＳＴ４）。
【００４０】
一方、イベントキュー２４に格納されているイベントの件数が閾値以上であれば（ステップＳＴ３；ＹＥＳ）、判別部３３は、設定部２２に記憶されている優先度情報を参照し、受信部３１で受信した信号に対応するイベントの処理優先度を判別する（ステップＳＴ５）。
【００４１】
その結果、判別部３３により当該イベントの処理優先度が低いと判別された場合、格納部３４は、当該イベントをバッファ２６に格納する（ステップＳＴ６）。例えば、ＣＯＶイベント、属性返信イベントは、いずれも処理優先度が低く設定されているので、格納部３４はこれらのイベントをバッファ２６に格納する。
【００４２】
一方、判別部３３により当該イベントの処理優先度が高いと判別された場合、格納部３４は、当該イベントをイベントキュー２４に格納する（ステップＳＴ７）。例えば、死活監視要求イベントは、処理優先度が高く設定されているので、格納部３４は当該イベントをイベントキュー２４に格納する。
【００４３】
ステップＳＴ４、ＳＴ６、ＳＴ７において、格納部３４がイベントをイベントキュー２４又はバッファ２６に格納した後、処理はステップＳＴ１に戻り、受信部３１はコントローラ５０から信号を受信する。以下、ステップＳＴ１〜ＳＴ７を繰り返す。
【００４４】
次に、メインスレッド実行部Ｔｈ２による処理の流れについて、図５のフローチャートを参照しながら説明する。
【００４５】
まず、処理部３５は、イベントキュー２４からイベントを１件取り出す（ステップＳＴ１１）。そして、処理部３５は、取り出したイベントに対応するアプリケーションを用いて、当該取り出したイベントを処理する（ステップＳＴ１２）。
【００４６】
次に、確認部３２は、イベントキュー２４に格納されているイベントの件数を確認する（ステップＳＴ１３）。そして、確認部３２は、イベントキュー２４に格納されているイベントの件数が、前述した閾値以下であるか否かを確認する（ステップＳＴ１４）。
【００４７】
その結果、イベントキュー２４に格納されているイベントの件数が閾値以下であれば（ステップＳＴ１４；ＹＥＳ）、移動部３６は、バッファ２６に格納されている処理優先度の低いイベントをイベントキュー２４に移動させる（ステップＳＴ１５）。その後、処理はステップＳＴ１１に戻り、処理部３５はイベントキュー２４からイベントを取り出し、対応するアプリケーションを用いて当該イベントを処理する。
【００４８】
一方、イベントキュー２４内のイベントの件数が閾値以下でなければ（ステップＳＴ１４；ＮＯ）、移動部３６はバッファ２６からイベントを移動させず、処理はステップＳＴ１１に戻る。以下、監視装置１０は、ステップＳＴ１１〜ＳＴ１５の処理を、イベントキュー２４内のイベントがなくなるまで繰り返す。
【００４９】
以上のように、実施の形態１によれば、監視装置１０は、イベントキュー２４に格納されているイベントの件数を確認し、イベントキュー２４に既に閾値以上のイベントが格納されていた場合、ＣＯＶイベントなどの処理優先度の低いイベントはイベントキュー２４には格納せず、別途設けたバッファ２６に格納する。
【００５０】
一方、画面操作イベントなどの処理優先度の高いイベントは、イベントキュー２４内のイベントの件数に関わらず、イベントキュー２４に格納する。イベントキュー２４に格納できるイベントの上限数はイベントキュー２４の容量等により予め決められているため、当該上限数分のイベントが処理されるまでの時間が、画面操作イベントの最大の待ち時間となる。バッファ２６に格納された処理優先度の低いイベントは、イベントキュー２４内のイベントの件数が閾値以下となった時点、すなわちイベントキュー２４が空いてきた時点でイベントキュー２４へ移動させ、順次処理する。
【００５１】
このように、監視装置１０は、イベントに対して処理優先度を設定し、画面操作イベントの処理優先度をＣＯＶイベントより高くするとともに、イベントの格納先を処理優先度に応じて振り分ける。これにより、監視装置１０は、ＣＯＶが多発した場合でも、画面操作イベントなどの処理優先度の高いイベントを優先的に処理し、操作性の悪化を抑制することができる。
【００５２】
また、コントローラ５０は、電流、電圧などが頻繁に変化する監視ポイント８０の状態を１秒周期で検出可能としている。また、複数のコントローラ５０を統合し、統合したコントローラをさらに上位のコントローラで監視することもできる。したがって、各コントローラ５０について、１秒周期で状態を検出する監視ポイント８０があった場合、監視装置１０は常に多数のＣＯＶイベントによる負荷を受け続けることになる。このような場合でも、監視装置１０は、画面操作イベントなどの処理優先度の高いイベントを優先的に処理することで、操作性の悪化を抑制することができる。
【００５３】
監視装置１０のこのような構成は、画面操作イベント、死活監視要求イベントの発生頻度に比べて、ＣＯＶイベントの発生頻度が圧倒的に大きいために実現できる。例えば、ＣＯＶイベントの発生頻度は１秒間に最大２，０００件であるのに対し、画面操作イベント、死活監視要求イベントの発生頻度は１秒間に約０．２件である。したがって、発生頻度の大きいＣＯＶイベントはバッファ２６に格納しておき、発生頻度の小さい画面操作イベント、死活監視要求イベントはイベントキュー２４に格納することでこれらのイベントを待たせることなく処理し、操作性の悪化を効果的に抑制することができる。
【００５４】
なお、監視装置１０は、前述した閾値を可変としてもよい。閾値は、イベントキュー２４に格納するイベントの件数に大きく影響する。
【００５５】
例えば、監視装置１０は、操作性の悪化を抑制する観点から、画面操作イベントはできるだけ早く処理することが望まれる。そのため、閾値はできるだけ小さくし、イベントキュー２４に格納されるイベントの件数を減らして、画面操作イベントが発生したら当該イベントをイベントキュー２４に格納して速やかに処理するのが望ましい。その反面、閾値を小さくすると、処理優先度の低いイベントはバッファ２６に格納されやすくなる。
【００５６】
このとき、処理能力（性能）の高い監視装置１０であれば、このように閾値を小さくしても、イベントキュー２４に格納されたイベント、バッファ２６に格納されたイベントのいずれのイベントも効率的に処理できる。しかし、処理能力がそれほど高くない監視装置１０では、処理優先度の低いイベントをバッファ２６に格納しすぎると、それらをバッファ２６からイベントキュー２４に移動する必要があることなどから、処理効率が低下するおそれがある。
【００５７】
したがって、処理能力がそれほど高くない監視装置１０では、閾値をやや大きめに取り、処理優先度の低いイベントであっても、ある程度はイベントキュー２４に格納して処理した方がよい場合もある。このような場合、閾値を可変とすることにより、監視装置１０は、処理能力に応じてイベントキュー２４及びバッファ２６に格納するイベントの件数を調整しつつ、操作性の悪化を抑制することができる。
【００５８】
また、上記では、移動部３６は、イベントキュー２４に格納されているイベントの件数が閾値以下となった時点で、バッファ２６からイベントキュー２４へイベントを移動させる例を説明したが、移動部３６によるイベントの移動処理はこれに限られない。
【００５９】
例えば、ある監視ポイント８０の状態が短時間で複数回変化した場合、当該監視ポイント８０に関するＣＯＶイベントがバッファ２６に複数格納されることがある。この場合、ユーザは、当該監視ポイント８０の最新の状態さえ確認できれば、変化している途中の状態は必ずしも確認しなくともよい場合がある。この場合、監視装置１０は、当該監視ポイント８０に関する複数のＣＯＶイベントのすべてを処理する必要はなく、最新のＣＯＶイベントに基づいて監視画面の表示内容を更新すれば足りる。
【００６０】
そこで、確認部３２は、バッファ２６に格納されているイベントについて、同一の監視ポイント８０に関する同種のイベントが複数格納されているか否かを確認する。該当するイベントがバッファ２６に複数格納されていた場合、移動部３６は、当該複数のイベントのうち最新のイベントのみをバッファ２６からイベントキュー２４に移動させる。なお、最新以外のイベントは破棄してもよい。
【００６１】
これにより、監視装置１０は、移動部３６がバッファ２６からイベントキュー２４に移動させるイベントの件数を低減できるとともに、処理部３５が処理するイベントの件数も低減でき、複数件のイベントを処理する場合に比して処理負荷を低減することができる。
【００６２】
なお、移動部３６は、上記のような最新のイベントのみの移動を任意の時点で行ってもよいが、イベントキュー２４に格納されているイベントの件数が前述した閾値以下となった時点で行うようにしてもよい。
【００６３】
以上のように、実施の形態１によれば、監視装置１０は、コントローラ５０から信号を受信する受信部３１と、受信部３１で受信した信号に対応するイベントの処理優先度を判別する判別部３３と、判別部３３による判別結果に応じて、信号に対応するイベントをイベントキュー２４又はバッファ２６に格納する格納部３４とを備える。これにより、監視装置１０は、操作性の悪化を抑制することができる。
【００６４】
また、格納部３４は、判別部３３により処理優先度が高いと判別されたイベントをイベントキュー２４に格納し、判別部３３により処理優先度が低いと判別されたイベントをバッファ２６に格納する。これにより、監視装置１０は、処理優先度が低いと判別されたイベントをバッファ２６に格納し、処理優先度の高いイベントをイベントキュー２４に格納して優先的に処理することで、操作性の悪化を抑制することができる。
【００６５】
また、判別部３３は、ＣＯＶイベントを処理優先度が低いイベントであると判別する。これにより、監視装置１０は、ＣＯＶイベントをバッファ２６に格納することができ、操作性の悪化を抑制することができる。
【００６６】
また、監視装置１０は、イベントキュー２４に格納されているイベントの件数を確認する確認部３２を備え、判別部３３は、イベントキュー２４に格納されているイベントの件数が閾値以上である場合、受信部３１で受信した信号に対応するイベントの処理優先度を判別する。これにより、監視装置１０は、イベントキュー２４に閾値以上のイベントが格納されている場合に、受信部３１で受信した信号に対応するイベントの処理優先度を判別し、当該処理優先度に応じてイベントの格納先を振り分けることができる。
【００６７】
また、監視装置１０は、イベントキュー２４に格納されているイベントの件数を確認する確認部３２と、イベントキュー２４に格納されているイベントの件数が閾値以下のとき、バッファ２６に格納されているイベントをイベントキュー２４に移動させる移動部３６とを備える。これにより、監視装置１０は、適切なタイミングでバッファ２６に格納されているイベントをイベントキュー２４に移動させることができる。
【００６８】
また、監視装置１０は、閾値が可変である。これにより、監視装置１０は、監視装置１０の処理能力に応じてイベントキュー２４又はバッファ２６に格納するイベントの件数を調整しつつ、操作性の悪化を抑制することができる。
【００６９】
また、監視装置１０は、複数の監視ポイントのうち同一の監視ポイントに関する同種のイベントが前記バッファに複数格納されているとき、当該複数のイベントのうち最新のイベントを当該バッファから前記イベントキューに移動させる移動部３６を備える。これにより、監視装置１０は、移動部３６がバッファ２６からイベントキュー２４に移動させるイベントの件数及び処理部３５が処理するイベントの件数を低減でき、当該イベントに関する処理負荷を低減することができる。
【００７０】
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
【００７１】
例えば、実施の形態１では、イベントキュー２４に格納されているイベントの件数が閾値以上である場合に、判別部３３が、受信部３１で受信した信号に対応するイベントの処理優先度を判別し、格納部３４が、判別結果に応じてイベントをイベントキュー２４又はバッファ２６に格納する例を説明した。しかしながら、判別部３３は、イベントキュー２４に格納されているイベントの件数に関わらず、受信部３１で受信した信号に対応するイベントの処理優先度を判別し、格納部３４が判別結果に応じてイベントをイベントキュー２４又はバッファ２６に格納するするようにしてもよい。
【符号の説明】
【００７２】
１０  監視装置
２０  メモリ
２２  設定部
２４  イベントキュー
２６  バッファ
３０  ＣＰＵ
３１  受信部
３２  確認部
３３  判別部
３４  格納部
３５  処理部
３６  移動部
４０  表示部
５０  コントローラ
７０  システムバス
８０  監視ポイント
【図１】
2020197943.tif 000003
【図２】
2020197943.tif 000004
【図３】
2020197943.tif 000005
【図４】
2020197943.tif 000006
【図５】
2020197943.tif 000007
【図６】
2020197943.tif 000008