(57)【特許請求の範囲】
【請求項１】
複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムであって、
前記データ検出装置は、
検出対象における状態が第１状態である場合に、第１レベルの状態データを生成し、前記状態が前記第１状態と異なる第２状態である場合に、前記第１レベルと異なる第２レベルの状態データを生成するデータ生成部を備え、
前記サーバ装置は、
前記データ検出装置それぞれが生成している状態データを第１周期で繰り返し取得する状態データ取得部と、
前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、
前記検出情報を記憶する検出情報記憶部とを備え、
前記クライアント装置は、
前記サーバ装置の前記検出情報記憶部が記憶している検出情報を取得するための処理を、前記第１周期以上の周期である第２周期で繰り返し行う検出情報取得部を備え、
前記サーバ装置の前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成する
ことを特徴とする中央監視制御システム。
【請求項２】
前記クライアント装置と前記サーバ装置とはＣＳＭＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式により通信する
ことを特徴とする請求項１に記載の中央監視制御システム。
【請求項３】
前記サーバ装置の前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルから前記第２レベルに変わった場合であって、当該第２レベルの状態データを取得した時から第２期間経過後に取得した状態データのレベルが第２レベルである場合には、第２レベルに応じた検出情報を作成する
ことを特徴とする請求項１又は２に記載の中央監視制御システム。
【請求項４】
前記第１期間は、前記第２周期の１周期以上の期間である
ことを特徴とする請求項１乃至３のいずれか一項に記載の中央監視制御システム。
【請求項５】
前記サーバ装置の状態データ取得部は、更に、取得した状態データの検出対象を示す識別情報を取得し、
前記検出情報作成部は、前回検出した状態データのレベルと異なるレベルの状態データを検出した場合に、当該状態データの検出対象を示す識別情報と当該検出した時刻とを、前記検出情報記憶部に記憶させる
ことを特徴とする請求項１乃至４のいずれか一項に記載の中央監視制御システム。
【請求項６】
前記検出対象における前記第１状態は、当該検出対象の正常状態であり、前記第２状態は、当該検出対象の異常状態である
ことを特徴とする請求項１乃至５のいずれか一項に記載の中央監視制御システム。
【請求項７】
複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムで用いられる前記サーバ装置であって、
前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、第１周期で繰り返し取得する状態データ取得部と、
前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、
前記検出情報作成部が作成した検出情報であって、前記第１周期以上の周期である第２周期で繰り返し前記クライアント装置によって読み出される検出情報を記憶する検出情報記憶部とを備え、
前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成する
ことを特徴とするサーバ装置。
【請求項８】
複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムの前記サーバ装置であって、第２周期で繰り返し前記クライアント装置によって読み出される検出情報を記憶する検出情報記憶部を備える前記サーバ装置で用いられる検出情報作成方法あって、
前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、前記第２周期以下の周期である第１周期で繰り返し取得する状態データ取得ステップと、
前記状態データ取得ステップで取得した状態データに基づいて前記検出情報を作成する検出情報作成ステップとを備え、
前記検出情報作成ステップでは、前記状態データ取得ステップで繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルの応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成する
ことを特徴とする検出情報作成方法。
【請求項９】
複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムの前記サーバ装置で用いられる検出情報作成プログラムあって、
前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、第１周期で繰り返し取得する状態データ取得部と、
前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、
前記検出情報作成部が作成した検出情報であって、前記第１周期以上の周期である第２周期で繰り返し前記クライアント装置によって読み出される前記検出情報を記憶する検出情報記憶部として、前記サーバ装置のコンピュータを機能させ、
前記検出情報作成部は、前記状態データ取得部で繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成する
ことを特徴とする検出情報作成プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントの計装制御のシステムに関する。
【背景技術】
【０００２】
従来から、プラント等の計装制御には、分散型制御システム（ＤＣＳ：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）が用いられている。ＤＣＳとは、マイクロプロセッサを搭載した制御装置、例えば、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）を、プラント内の装置の機能ごとに分散配置し、これらの制御装置をネットワークによって結合することで、モニタ等によりプラントの集中監視及び操作を行うシステムである。
【０００３】
このようなＤＣＳにおいて、モニタによる集中監視及び操作が的確に行えるような様々な技術が提案されている。例えば、ＰＬＣのデータを表示するモニタ機器が、ＰＬＣに対してＲＳ２３２Ｃ等のシリアル通信またはネットワークを介して接続されていたとしても、ＰＬＣのサイクルタイムごとのデータが収集できる技術が提案されている（特許文献１参照）。
【０００４】
また、近年では、コンピュータ、通信ネットワークの高機能化に伴って、計装メーカがクローズドなシステムとして提供してきたＤＳＣのうち、ＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）やネットワークが、汎用のコンピュータと汎用のネットワークとを用いて構築されたクライアントサーバシステムによって置き換えられ、プラントの集中監視及び操作が行われるようになってきている。
【０００５】
例えば、このクライアントサーバシステムでは、サーバ装置が、複数のＰＬＣが検出している監視データを収集して管理し、複数のクライアント装置それぞれが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してサーバ装置から監視データを取得して各モニタに表示することが行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−１９９６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、プラントの規模が大きくなりクライアント装置等の数が多くなればなるほど、ネットワーク上を流れるトラフィック量が多くなり、データ遅延が発生する可能性が高くなる。また、各クライアント装置はＬＡＮを介して順次サーバ装置にアクセスすることになるので、サーバ装置からデータを取得するタイミングは、全てのクライアント装置で完全に同時ではない。従って、サーバ装置の監視データの収集のタイミングによっては、全てのクライアント装置が同じデータを取得することができない場合が生じ得る。
【０００８】
つまり、同じプラントを監視しているにも関わらず、あるクライアント装置のモニタに表示される監視データが、他のクライアント装置のモニタに表示される監視データと異なる場合が生じ得ることになる。例えば、サーバ装置が収集する監視データがアラーム信号である場合には、あるクライアント装置のモニタには、アラーム信号が検出されたこと自体が表示されない場合が生じ得る。
【０００９】
そこで、本発明は、計装制御のシステムにおいて、サーバ装置が収集した監視データを、漏れなく各クライアント装置が取得することを目的とする。
【課題を解決するための手段】
【００１０】
本発明にかかる一態様の中央監視制御システムは、複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムであって、前記データ検出装置は、検出対象における状態が第１状態である場合に、第１レベルの状態データを生成し、前記状態が前記第１状態と異なる第２状態である場合に、前記第１レベルと異なる第２レベルの状態データを生成するデータ生成部を備え、前記サーバ装置は、前記データ検出装置それぞれが生成している状態データを第１周期で繰り返し取得する状態データ取得部と、前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、前記検出情報を記憶する検出情報記憶部とを備え、前記クライアント装置は、前記サーバ装置の前記検出情報記憶部が記憶している検出情報を取得するための処理を、前記第１周期以上の周期である第２周期で繰り返し行う検出情報取得部を備え、前記サーバ装置の前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成することを特徴とする。
【００１１】
このような構成の中央監視制御システムによれば、サーバ装置は、状態データが第２レベルである期間を第１期間分長い期間であると擬制して検出情報を作成するので、全てのクライアント装置が同じ検出情報を取得できる可能性が高くなる。つまり、クライアント装置は、サーバ装置が状態データを取得する第１周期以上の周期である第２周期でサーバ装置から検出情報を取得するので、全てのクライアント装置がサーバ装置にアクセスする間に、サーバ装置は新たな状態データを取得することが発生し得る。このような場合、中央監視制御システムは、状態データが第２レベルである期間を第１期間（ＯＦＦディレイ期間）分長い期間であると擬制して検出情報を作成するので、全てのクライアント装置が同じ検出情報を取得できる可能性が高くなる。
【００１２】
また、上述の中央監視制御システムにおいて、前記クライアント装置と前記サーバ装置とはＣＳＭＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式により通信する。
【００１３】
この構成によれば、クライアント装置は、ＣＳＭＡ方式でサーバ装置にアクセスするので、データ遅延が発生する可能性が高くなるが、サーバ装置は、状態データが第２レベルである期間を第１期間分長い期間であると擬制して検出情報を作成するので、データが遅延したとしても、全てのクライアント装置が同じ検出情報を取得できる可能性が高くなる。
【００１４】
また、上述の中央監視制御システムにおいて、前記サーバ装置の前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルから前記第２レベルに変わった場合であって、当該第２レベルの状態データを取得した時から第２期間経過後に取得した状態データのレベルが第２レベルである場合には、第２レベルに応じた検出情報を作成することが好ましい。
【００１５】
この構成によれば、第２レベルの状態データを取得した場合であっても、第２期間（ＯＮディレイ期間）経過後に第２レベルでなければ、第２レベルの状態データであるとは扱わないので、チャタリングを第２レベルの状態データであると誤検出する可能性が低くなる。
【００１６】
また、上述の中央監視制御システムにおいて、前記第１期間は、前記第２周期の１周期以上の期間であることが好ましい。
【００１７】
この構成によれば、サーバ装置が、状態データが第２レベルである期間を、クライアント装置がサーバ装置にアクセスする第２周期の期間以上長いと擬制するので、全てのクライアント装置が同じ検出情報を取得できる可能性が高くなる。
【００１８】
また、上述の中央監視制御システムにおいて、前記サーバ装置の状態データ取得部は、更に、取得した状態データの検出対象を示す識別情報を取得し、前記検出情報作成部は、前回検出した状態データのレベルと異なるレベルの状態データを検出した場合に、当該状態データの検出対象を示す識別情報と当該検出した時刻とを、前記検出情報記憶部に記憶させることが好ましい。
【００１９】
この構成によれば、状態データのレベルが変わったことを示す、いわゆるログデータを記録するので、検出対象の状態を後に確認することが可能となる。
【００２０】
また、上述の中央監視制御システムにおいて、前記検出対象における前記第１状態は、当該検出対象の正常状態であり、前記第２状態は、当該検出対象の異常状態であることが好ましい。
【００２１】
この構成によれば、異常状態を示す第２レベルである期間が長いと擬制するので、全てのクライアント装置が、いわゆる、アラーム情報を取得できる可能性が高くなる。
【００２２】
また、他の一態様のサーバ装置は、複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムで用いられる前記サーバ装置であって、前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、第１周期で繰り返し取得する状態データ取得部と、前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、前記検出情報作成部が作成した検出情報であって、前記第１周期以上の周期である第２周期で繰り返し前記クライアント装置によって読み出される検出情報を記憶する検出情報記憶部とを備え、前記検出情報作成部は、前記状態データ取得部によって繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成することを特徴とする。
【００２３】
また、他の一態様のサーバ装置の検出情報作成方法は、複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムの前記サーバ装置であって、第２周期で繰り返し前記クライアント装置によって読み出される検出情報を記憶する検出情報記憶部を備える前記サーバ装置で用いられる検出情報作成方法あって、前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、前記第２周期以下の周期である第１周期で繰り返し取得する状態データ取得ステップと、前記状態データ取得ステップで取得した状態データに基づいて前記検出情報を作成する検出情報作成ステップとを備え、前記検出情報作成ステップでは、前記状態データ取得ステップで繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルの応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成することを特徴とする。
【００２４】
また、他の一態様のサーバ装置の検出情報作成プログラムは、複数のクライアント装置と、当該クライアント装置と通信可能に接続されたサーバ装置と、当該サーバ装置と通信可能に接続された複数のデータ検出装置とを有する中央監視制御システムの前記サーバ装置で用いられる検出情報作成プログラムあって、前記データ検出装置それぞれが生成している状態データであって、検出対象における状態が第１状態である場合に生成される第１レベルの状態データ、又は、前記状態が前記第１状態と異なる第２状態である場合に生成される前記第１レベルと異なる第２レベルの状態データを、第１周期で繰り返し取得する状態データ取得部と、前記状態データ取得部が取得した状態データに基づいて検出情報を作成する検出情報作成部と、前記検出情報作成部が作成した検出情報であって、前記第１周期以上の周期である第２周期で繰り返し前記クライアント装置によって読み出される前記検出情報を記憶する検出情報記憶部として、前記サーバ装置のコンピュータを機能させ、前記検出情報作成部は、前記状態データ取得部で繰り返し取得される状態データのレベルが前記第１レベルである場合には、前記第１レベルに応じた検出情報を作成し、前記第２レベルから前記第１レベルに変わった場合には、当該第１レベルの状態データを取得した時から第１期間経過するまでの間は第２レベルに応じた検出情報を作成することを特徴とする。
【００２５】
この構成のサーバ装置によれば、全てのクライアント装置が同じ検出情報を取得できる可能性が高い中央監視制御システムを作成することができる。
【発明の効果】
【００２６】
本発明にかかる中央監視制御システムでは、サーバ装置が収集した監視データを、漏れなく各クライアント装置が取得することができる。
【図面の簡単な説明】
【００２７】
【図１】実施形態にかかる中央監視制御システムの全体構成例を示す図である。
【図２】図１に示すクライアント装置、サーバ装置、及び、ＰＬＣの機能ブロック図である。
【図３】図１に示すクライアント装置のアラーム情報テーブルの構成及び内容例を示す図である。
【図４】図１に示すクライアント装置及びサーバ装置のアラーム履歴テーブルの構成及び内容例を示す図である。
【図５】図１に示すサーバ装置のアラーム変換情報テーブルの構成及び内容例を示す図である。
【図６】ＯＦＦディレイを説明するためのタイムチャートである。
【図７】ＯＦＦディレイを説明するためのタイムチャートである。
【図８】ＯＮディレイを説明するためのタイムチャートである。
【図９】ＯＮディレイを説明するためのタイムチャートである。
【図１０】ＯＦＦディレイを説明するためのタイムチャートである。
【図１１】ＯＦＦディレイを説明するためのタイムチャートである。
【図１２】ＯＦＦディレイを説明するためのタイムチャートである。
【図１３】ＯＮディレイを説明するためのタイムチャートである。
【図１４】図１に示すサーバ装置のアラーム信号処理のフローチャートである。
【図１５】図１に示すサーバ装置のＯＦＦディレイ処理のフローチャートである。
【図１６】図１に示すサーバ装置のＯＮディレイ処理のフローチャートである。
【発明を実施するための形態】
【００２８】
＜実施形態＞
以下、本発明にかかる実施の一形態を図面に基づいて説明する。
【００２９】
＜全体構成＞
図１は、中央監視制御システム１００の全体構成例を示す図である。
【００３０】
中央監視制御システム１００は、クライアント装置１０００Ａ、クライアント装置１０００Ｂ、クライアント装置１０００Ｃ、クライアント装置１０００Ｄ、サーバ装置２０００Ａ、サーバ装置２０００Ｂ、ＰＬＣ３０００Ａ、ＰＬＣ３０００Ｂ、ＰＬＣ３０００Ｃ、ＰＬＣ３０００Ｄ、ＩＯ機器４０００Ａ、ＩＯ機器４０００Ｂ、ＩＯ機器４０００Ｃ、ＩＯ機器４０００Ｄ、ネットワーク１０１、ネットワーク１０２、及び、ネットワーク１０３を備える。尚、本明細書において、総称する場合には添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。また、図１では、４つのクライアント装置１０００Ａ〜Ｄ、２つのサーバ装置２０００Ａ、Ｂ、４つのＰＬＣ３０００Ａ〜Ｄ、４つのＩＯ機器４０００Ａ〜Ｄを記載しているが、これらの個数に限られない。
【００３１】
各ＰＬＣ３０００（データ検出装置）は、プラント内の各制御対象機器に対して配置され、それぞれが専用ＬＡＮであるネットワーク１０３によって互いに接続されている。各ＰＬＣ３０００は、必要に応じて互いにデータを送受信して、プラントのシーケンス制御を行う。具体的には、各ＰＬＣ３０００には、制御対象機器の状態を検出するセンサ、アクチュエータ等であるＩＯ機器４０００が、制御対象機器に応じた数だけ接続されており、例えば、センサから入力された温度、圧力等の監視データに基づいて、制御データを生成して、アクチュエータ等に出力する。また、ＰＬＣ３０００は、ＩＯ機器４０００から入力されたデータに応じて、１以上のアラーム信号を生成する。例えば、ごみ焼却プラントであれば、アラーム信号として、温度の異常を通知するアラーム信号や、圧力の異常を通知するアラーム信号を生成する。
【００３２】
プラントの監視者は、クライアント装置１０００のモニタに表示される各ＰＬＣ３０００が検出した監視データ等を監視し、必要に応じて、ＰＬＣ３０００に対する命令をクライアント装置１０００に入力して制御対象機器の制御を行う。
【００３３】
各クライアント装置１０００は、各サーバ装置２０００とネットワーク１０１を介して接続され、サーバ装置２０００は、各ＰＬＣ３０００とネットワーク１０２を介して接続されている。このネットワーク１０１及びネットワーク１０２は、いわゆる汎用ＬＡＮであり、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、ＴＣＰ／ＩＰ又はＵＤＰ／ＩＰプロトコルによる通信ネットワークである。
【００３４】
サーバ装置２０００は、各ＰＬＣ３０００が検出した監視データ等を所定の周期で収集し、記憶しておき、クライアント装置１０００からの依頼に応じてデータをクライアント装置１０００に送信する。尚、サーバ装置２０００Ｂは、サーバ装置２０００Ａのミラーサーバである。
【００３５】
クライアント装置１０００は、所定の周期でサーバ装置２０００が記憶している監視データ等を取得して、モニタに表示する。
【００３６】
以下、中央監視制御システム１００の各ＰＬＣ３０００が検出する監視データのうち、アラーム信号の検出について説明する。アラーム信号は、監視対象機器に発生した異常を通知するものである為、異常が発生した事を示すアラーム情報を検出できないクライアント装置１０００があることは適切ではないからである。尚、信号により示される状態を、全てのクライアントが検出することが望ましい他の信号についても、本発明を適用することとしてもよい。
【００３７】
＜アラーム情報（検出情報）＞
中央監視制御システム１００のクライアント装置１０００が検出するアラーム情報について、図６〜１３のタイムチャートを用いて説明する。
【００３８】
図６、７は、クライアント装置１０００がアラーム情報を取得するタイミングを説明するためのタイムチャートである。図６は、アラーム情報を検出できないクライアント装置１０００がある場合の従来例を示す。図７は、中央監視制御システム１００におけるアラーム情報の検出例を示す。尚、図６〜１３それぞれにおいて、複数のグラフの横軸が示す時刻（時間軸）は同じであるとする。
【００３９】
図６、７の１番上のグラフは、クライアント装置１０００Ａが、サーバ装置２０００からアラーム情報を取得するタイミングを示し、２番上のグラフは、クライアント装置１０００Ｂが、サーバ装置２０００からアラーム情報を取得するタイミングを示す。下向きの矢印が、アラーム情報を取得するタイミングを示し、白抜き両端矢印が示す周期Ｔ（例えば、１ｓ）で、アラーム情報が繰り返し取得される。時間軸の上の数値は、サーバ装置２０００から取得されたアラーム情報を示す。アラーム情報「１」は、異常が発生していることを示し、「０」は正常状態であることを示す。
【００４０】
３番目のグラフは、サーバ装置２０００が、ＰＬＣ３０００からアラーム信号の値を取得するタイミングを示す。下向きの矢印が、アラーム信号の値を取得するタイミングを示し、白抜き両端矢印が示す周期Ｓ（例えば、５００ｍｓ）で、アラーム信号の値が繰り返し取得される。時間軸の上の数値は、ＰＬＣ３０００から取得され、記憶されているアラーム情報の生値（以下、「アラーム生値」という。）を示す。アラーム生値は、アラーム信号の値そのままの情報である。また、図７の時間軸上の括弧内の数値は、アラーム情報の変換値（以下、「アラーム変換値」という。）を示す。変換値については、後述する。
【００４１】
４番目のグラフは、ＰＬＣ３０００が生成するアラーム信号を示す。ＰＬＣ３０００は、正常時（第１状態）には値「０（ゼロ）」（Ｌｏｗレベル）（第１レベル）のアラーム信号を生成し、異常が発生（第２状態）すると値「１」（Ｈｉｇｈレベル）（第２レベル）のアラーム信号を生成し、正常状態に復帰すると値「０」のアラーム信号を生成する。
【００４２】
図６に示すように、ＰＬＣ３０００が出力するアラーム信号において、異常の発生期間（矢印１０参照）が短い場合には、クライアント装置１０００Ａは異常を示すアラーム情報を取得できるが（矢印１１参照）、クライアント装置１０００Ｂは取得できないという場合が生じ得る。サーバ装置２０００がアラーム生値「１」を記憶している期間（矢印１２参照）に、クライアント装置１０００Ｂがサーバ装置２０００にアクセスするタイミングが来ないからである（矢印１３参照）。つまり、サーバ装置２０００がＰＬＣ３０００からアラーム生値を取得する周期Ｓが、クライアント装置１０００がサーバ装置２０００からアラーム情報を取得する周期Ｔよりも短いので、クライアント装置１０００Ｂがサーバ装置２０００にアクセスする矢印１３が示すタイミングでは、サーバ装置２０００は次の周期で取得した「０」をアラーム情報として記憶しているからである。
【００４３】
そこで、実施形態の中央監視制御システム１００のサーバ装置２０００は、ＰＬＣ３０００が出力しているアラーム信号が「１」から「０」になったタイミングが、実際よりも所定期間遅かったものとして処理を行う。つまり、サーバ装置２０００は、アラーム信号に対してＯＦＦディレイ期間（第１期間）を設ける（付加する）。
【００４４】
例えば、図７に示すように、ＰＬＣ３０００が生成するアラーム信号において、異常の発生期間が、ハッチングの矩形が示す期間（ＯＦＦディレイ期間）長かったものと擬制する（矢印２０参照）。このＯＦＦディレイ期間は、クライアント装置１０００がサーバ装置２０００にアクセスする周期Ｔ以上の期間であり、クライアント装置１０００の数やネットワーク１０１に接続しているプリンタ等の他の機器に応じて決められる。
【００４５】
図７の例では、ＯＦＦディレイ期間は１周期Ｔとする（矢印２０参照）。１周期Ｔは１ｓであり、周期Ｓは５００ｍｓであるので、サーバ装置２０００は、ＰＬＣ３０００から取得したアラーム信号が「１」から「０」になったことを検出した時から２周期Ｓ経過後に、アラーム信号が「１」から「０」になったものとして処理を行う（矢印２１参照）。つまり、２周期Ｓの期間分、アラーム信号が「１」の期間を延長したことになる。この延長した周期（以下、「ＯＦＦディレイ周期」という。）におけるアラーム情報「１」を「変換値」という。
【００４６】
図７に示すように、ＯＦＦディレイ周期（矢印２１参照）では、サーバ装置２０００のアラーム生値は「０」であるが、カッコ内のアラーム変換値は「１」となる（矢印２２、２３参照）。サーバ装置２０００は、アラーム情報としてアラーム変換値を、クライアント装置１０００に渡す。従って、クライアント装置１０００Ｂがサーバ装置２０００にアクセスする矢印１３が示すタイミングでは、アラーム情報として「１」を取得することができる（矢印２４参照）。
【００４７】
このように、ＰＬＣ３０００が生成するアラーム信号の「１」の状態を、適切な期間延長すると擬制することで、全てのクライアント装置１０００が、異常を示すアラーム信号が生成されたことを漏れなく検出することが可能となる。
【００４８】
また、サーバ装置２０００では、上述のようにＯＦＦディレイを設けることに加え、ＯＮディレイ期間を設ける。アラーム信号のチャタリングが、異常を示すアラーム信号として検出されないようにである。
【００４９】
図８、９を用いて、ＯＮディレイについて説明する。
【００５０】
図８、９は、クライアント装置１０００が取得するアラーム情報を説明するためのタイムチャートである。図８は、サーバ装置２０００がＯＮディレイ期間を設けない場合の例を示し、図９は、ＯＮディレイ期間（第２期間）を設けた場合の例を示す。
【００５１】
図８、９の１番上のグラフは、クライアント装置１０００が、サーバ装置２０００からアラーム情報を取得するタイミングを示し、２番目のグラフは、サーバ装置２０００が、ＰＬＣ３０００からアラーム信号の値を取得するタイミングを示し、３番目のグラフは、ＰＬＣ３０００が生成するアラーム信号を示す。
【００５２】
図８に示すように、アラーム信号にチャタリングが生じると（矢印３０参照）、サーバ装置２０００は、ＰＬＣ３０００へのアクセスのタイミングによって、アラーム信号「１」を検出する（矢印３１参照）。そして、クライアント装置１０００は、実際には異常が発生していないにも関わらず、異常を検出することとなる（矢印３２参照）。
【００５３】
そこで、図９に示すように、サーバ装置２０００は、ＯＮディレイ期間（矢印４０参照）を設ける。ＯＮディレイ期間は、例えば、監視対象装置で用いているリレー機構やスイッチ機構等に応じて決められる。図９では、ＯＮディレイ期間は、１周期Ｓとする。従って、アラーム信号「１」を取得したとしても、アラーム信号が「１」であると判断されるのは、１周期Ｓ（ＯＮディレイ周期）経過後である。つまり、アラーム信号「１」が２回続けて取得された場合に、「１」が取得されたこととされ、１回目にアラーム信号「１」が取得された場合には「０」を取得したとされる。このＯＮディレイ周期における「０」を「変換値」という。
【００５４】
図９の矢印４１が示すように、サーバ装置２０００が最初に「１」を取得したときは、サーバ装置２０００のアラーム生値は「１」であるが、アラーム変換値は「０」とされる。そして、サーバ装置２０００が次の周期（ＯＮディレイ周期）で取得したアラーム生値が「０」である場合は、アラーム変換値は「０」とされる（矢印４２参照）。つまり、最初のアラーム生値は、チャタリングであったと推定される。
【００５５】
また、矢印４３が示すように、サーバ装置２０００が最初に「１」を取得したときは、サーバ装置２０００のアラーム生値は「１」であるが、アラーム変換値は「０」とされ、次の周期（ＯＮディレイ周期）で取得したアラーム生値が「１」である場合は、アラーム変換値は「１」とされる（矢印４４参照）。
【００５６】
このように、ＰＬＣ３０００が生成するアラーム信号の「１」の状態が適切な期間（ＯＮディレイ期間）継続している場合にのみ、「１」と判断することで、異常の発生をより精度良く検出することが可能となる。
【００５７】
上述の図６〜９を用いて説明した例は、サーバ装置２０００がＰＬＣ３０００からアラーム生値を取得する周期Ｓが、クライアント装置１０００がサーバ装置２０００からアラーム情報を取得する周期Ｔよりも短い場合である。次に、図１０〜１３を用いて、サーバ装置２０００がＰＬＣ３０００からアラーム生値を取得する周期Ｓが、クライアント装置１０００がサーバ装置２０００からアラーム情報を取得する周期Ｔと同じ場合を説明する。
【００５８】
図１０は、データ遅延が発生しない場合の例を示し、図１１は、データ遅延が発生する場合の例を示す。図１２は、ＯＦＦディレイ期間を設けた場合の例を示す。
【００５９】
図１０、１１、１２の１番上のグラフは、クライアント装置１０００が、サーバ装置２０００からアラーム情報を取得するタイミングを示し、２番目のグラフは、サーバ装置２０００が、ＰＬＣ３０００からアラーム信号の値を取得するタイミングを示し、３番目のグラフは、ＰＬＣ３０００が生成するアラーム信号を示す。
【００６０】
図１０に示すように、周期Ｔと周期Ｓとが同じ１秒（１ｓ）である場合は、基本的には、サーバ装置２０００が記憶しているアラーム情報（生値）と同じアラーム情報を、全てのクライアント装置１０００が取得できることになる。
【００６１】
しかし、クライアント装置１０００とサーバ装置２０００とが、いわゆる汎用ＬＡＮ、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、ＴＣＰ／ＩＰ又はＵＤＰ／ＩＰプロトコルによる通信ネットワークで接続されている場合には、ネットワーク１０１上に多量のトラフィックが発生し、データの遅延が発生する場合がある。Ｅｔｈｅｒｎｅｔの通信手順として多く採用されているＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ）では、クライアント装置１０００は、通信ケーブルの通信状況を監視し、ケーブルが空くと通信を開始し、衝突を検知すると、ランダムな時間待ってから送信を再開する。従って、クライアント装置１０００の数が多くなればなるほど、ケーブルの空きが見つけにくくなり、衝突も発生しやすくなるため、データの遅延が発生しやすくなる。また、ＣＳＭＡ／ＣＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ）では、クライアント装置１０００は、通信ケーブルが一定時間継続して空いていることを確認してからデータを送信するので、ＣＳＭＡ／ＣＤと同様に、データの遅延が発生しやすくなる。
【００６２】
図１１に示すように、データの遅延（矢印５０参照）が発生した場合には、サーバ装置２０００が記憶しているアラーム生値「１」を取得できずに、異常状態が発生した事を検出できないクライアント装置１０００が生じ得る（矢印５１参照）。
【００６３】
このようなデータ遅延が生じた場合であっても、図１２に示すように、実施形態のサーバ装置２０００は、ＯＦＦディレイ期間（矢印６０参照）を設け、ＯＦＦディレイ周期（矢印６１参照）の間は、変換値「１」をクライアント装置１０００に渡すことで、全てのクライアント装置１０００に異常が発生した事を通知することが可能となる。
【００６４】
図１３は、ＯＮディレイを設けた場合の例を示す。
【００６５】
図１３の１番上のグラフは、クライアント装置１０００が、サーバ装置２０００からアラーム情報を取得するタイミングを示し、２番目のグラフは、サーバ装置２０００が、ＰＬＣ３０００からアラーム信号の値を取得するタイミングを示し、３番目のグラフは、ＰＬＣ３０００が生成するアラーム信号を示す。
【００６６】
図１３に示すように、サーバ装置２０００は、ＯＮディレイ期間（矢印８０参照）を設け、最初に「１」を取得したときは、サーバ装置２０００のアラーム生値は「１」であるが、アラーム変換値は「０」とされ（矢印８１参照）、次の周期（ＯＮディレイ周期）で取得したアラーム生値が「０」である場合は、アラーム変換値は「０」とされる。また、最初に「１」を取得し、次の周期（ＯＮディレイ周期）で「１」を取得した場合には、アラーム変換値は「１」とされる（矢印８２参照）。
【００６７】
このように、サーバ装置２０００が、ＰＬＣ３０００から読み込んだアラーム生値をそのままクライアント装置１０００に渡さずに、ＯＦＦディレイ期間を設けて変換値をクライアント装置１０００に渡すことで、全てのクライアント装置１０００は、異常が発生した事を漏れなく検出することが可能となる。また、ＰＬＣ３０００が生成するアラーム信号の「１」の状態が適切な期間（ＯＮディレイ期間）継続している場合にのみ、「１」と判断することで、異常の発生をより精度良く検出することが可能となる。
【００６８】
通常、現状を把握し、異常状態に迅速に対処できるようにするために、クライアント装置１０００のモニタには、より最新の情報が表示されることが望ましい。サーバ装置２０００のデータ更新周期よりも短い周期で、クライアント装置１０００がサーバ装置２０００にアクセスすれば、全てのクライアント装置１０００がアラーム情報を検出することができる可能性は高くなる。しかし、ネットワーク１０１が汎用ＬＡＮである場合、プリンタや他の機器が接続される場合を考慮すると、ネットワーク１０１上のトラフィック量をできるだけ増やさないことが望まれる。従って、クライアント装置１０００は、サーバ装置２０００が保証しているデータ更新周期（例えば、１ｓ）で、サーバ装置２０００にアクセスすることが多くなる。一方、サーバ装置２０００は、ＰＬＣ３０００の台数が多い場合、データ更新周期を保証するために、保証している更新周期より短い周期でＰＬＣ３０００にアクセスすることが行われやすい。従って、上述のように、アラーム情報を検出できないクライアント装置１０００が発生する場合があり、実施形態の中央監視制御システム１００のサーバ装置２０００においてＯＦＦディレイを設けることにより、全てのクライアント装置１０００が、異常を示すアラーム情報を検出することができることになる。
【００６９】
＜構成＞
次に、クライアント装置１０００、サーバ装置２０００、及び、ＰＬＣ３０００の構成について、図２〜５を用いて説明する。
【００７０】
図２は、クライアント装置１０００、サーバ装置２０００、及びＰＬＣ３０００の機能ブロック図である。図２の矢印は、主なデータの流れを示す。
【００７１】
クライアント装置１０００は、通信部１１００、アラーム情報取得部１２００、アラーム処理部１３００、タイマー１４００、入出力部１５００、アラーム情報バッファ１６００、及び、アラームログ記憶部１７００を備える。
【００７２】
通信部１１００は、ネットワーク１０１を介して、サーバ装置２０００とデータの送受信を行う機能を有する。
【００７３】
アラーム情報取得部１２００は、所定の周期でサーバ装置２０００からアラーム情報を取得する機能を有する。アラーム情報は、制御対象機器の現状の状態を示すものである。アラーム情報取得部１２００がアラーム情報を取得するタイミングは、タイマー１４００からの割込みにより検知する。実施形態では、１秒周期で、アラーム情報を取得するものとする。
【００７４】
アラーム処理部１３００は、アラーム情報取得部１２００が取得したアラーム情報により、アラーム情報バッファ１６００に記憶されているアラーム情報を更新し、アラーム情報に基づいて、アラーム履歴をアラームログ記憶部１７００に記憶させる機能を有する。
【００７５】
タイマー１４００は、予め定められた周期、実施形態では、１秒周期で、アラーム情報取得部１２００に割り込みを掛ける機能を有する。
【００７６】
入出力部１５００は、入力部と出力部とを有する。入力部は、監視者が命令等をクライアント装置１０００に入力する機能を有し、例えば、キーボード、マウス、タッチパネル等を含む。出力部は、アラーム情報取得部１２００がサーバ装置２０００から取得したアラーム情報や、サーバ装置２０００を介して収集したＰＬＣ３０００の監視データ等を表示装置（モニタ）に出力する機能を有し、例えばＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等の表示装置を含む。入出力部１５００の出力部は、アラーム情報バッファ１６００が更新される都度、アラーム情報バッファ１６００に記憶されているアラーム情報を参照し、必要に応じて画像を作成し、作成した画像をモニタに表示する。従って、モニタに表示されているアラーム情報は、アラーム情報取得部１２００がサーバ装置２０００にアクセスする周期とほぼ同じ周期で、更新されることになる。
【００７７】
アラーム情報バッファ１６００は、アラーム情報取得部１２００がサーバ装置２０００から取得したアラーム情報を記憶しておく機能を有し、記憶されているアラーム情報は、アラーム情報取得部１２００がアラーム情報を取得する都度、アラーム処理部１３００によって更新される。
【００７８】
アラームログ記憶部１７００は、アラーム情報に基づいた異常状態の発生時刻、及び、復帰時刻などのアラーム履歴を記憶しておく機能を有する。アラーム履歴は、アラーム処理部１３００によって、適時、記憶される。
【００７９】
図３は、アラーム情報バッファ１６００に記憶されているアラーム情報テーブル１６１０の構成及び内容の例を示す図である。アラーム情報テーブル１６１０には、アラーム信号ごとに、１レコードが登録されている。アラーム情報テーブル１６１０は、信号ＩＤ１６１１、及び、アラーム情報１６１２を有する。
【００８０】
信号ＩＤ１６１１は、アラーム信号を特定するための識別子を示す。
【００８１】
アラーム情報１６１２は、信号ＩＤ１６１１が示すアラーム信号の直近の、つまり、現状の値を示す。「０」が正常状態を示し、「１」が異常状態を示す。
【００８２】
例えば、信号ＩＤ１６１１として「２」が設定されているレコードには、アラーム情報１６１２として「１」が設定されているので、信号ＩＤ１６１１が「２」のアラーム信号が、或る機器の内部温度に関するアラーム信号である場合には、その機器の内部は異常な温度となっていることになる。
【００８３】
図４は、アラームログ記憶部１７００に記憶されているアラーム履歴テーブル１７１０の構成及び内容の例を示す図である。アラーム履歴テーブル１７１０には、アラーム処理部１３００によって異常状態が発生した事が検出されると、そのアラーム信号の識別子と異常状態の発生時刻とを含む１レコードが追加され、正常状態に復帰したことが検出されると、そのアラーム信号の識別子と復帰時刻とを含む１レコードが追加される。
【００８４】
アラーム履歴テーブル１７１０は、信号ＩＤ１７１１、発生／復帰１７１２、及び、時刻１７１３を有する。
【００８５】
信号ＩＤ１７１１は、アラーム信号を特定するための識別子を示す。
【００８６】
発生／復帰１７１２は、異常状態が発生した事、又は、正常状態に復帰した事を示す。「発生」が、異常状態が発生した事を示し、「復帰」が、異常状態から正常状態に復帰した事を示す。アラーム処理部１３００は、アラーム情報取得部１２００が取得したアラーム情報が「０」から「１」に変わった場合に異常事態が発生したと判断し、アラーム情報が「１」から「０」に変わった場合に復帰したと判断する。
【００８７】
時刻１７１３は、発生／復帰１７１２が示す事象を検出した、つまり、事象が起こった時刻を示す。実施形態では、アラーム処理部１３００が、レコードを追加するときの時刻をタイマー１４００から取得して設定する。
【００８８】
例えば、信号ＩＤ１７１１として「１０」が設定され、発生／復帰１７１２として「発生」が設定され、時刻１７１３として「１０：１０：３２」が設定されているレコードは、信号ＩＤが「１０」のアラーム信号に、１０時１０分３２秒に、異常が発生したことを示す。
【００８９】
次に、図２のサーバ装置２０００は、通信部２１００、アラーム情報読出部２２００、アラーム変換処理部２３００、タイマー２４００、アラーム信号取得部２５００、アラーム情報バッファ２６００、及び、アラームログ記憶部２７００を備える。
【００９０】
通信部２１００は、ネットワーク１０１を介して、クライアント装置１０００とデータの送受信を行う機能を有する。
【００９１】
アラーム情報読出部２２００は、クライアント装置１０００からの依頼に応じて、アラーム情報バッファ２６００に記憶されているアラーム情報（変換値）を読み出して、クライアント装置１０００に送信する機能を有する。後述するように、アラーム情報バッファ２６００には、２種類のアラーム情報（アラーム生値、アラーム変換値）が記憶されており、アラーム情報読出部２２００は、変換値を読み出してアラーム情報としてクライアント装置１０００に送信する。
【００９２】
アラーム変換処理部２３００は、所定の周期で、アラーム情報バッファ２６００に記憶されているアラーム生値から、アラーム変換値を作成してアラーム情報バッファ２６００に記憶されているアラーム変換値を更新する機能を有する。また、アラーム変換処理部２３００は、アラーム変換値に基づいて、アラーム履歴をアラームログ記憶部２７００に記憶させる機能を有する。アラーム変換処理部２３００は、アラーム変換値を作成し更新するタイミングを、アラーム信号取得部２５００からの通知により検知する。
【００９３】
アラーム信号取得部２５００は、所定の周期で、ネットワーク１０２を介して、全ＰＬＣ３０００からアラーム信号の値を取得し、取得した値をアラーム生値としてアラーム情報バッファ２６００に記憶する機能を有する。アラーム信号取得部２５００は、アラーム信号を取得するタイミングを、タイマー２４００からの割込みにより検知する。実施形態では、５００ｍｓ（ミリ秒）周期で、アラーム信号取得部２５００に割り込みを掛けるものとする。
【００９４】
また、アラーム信号取得部２５００は、ＰＬＣ３０００から取得したアラーム信号の値をアラーム情報バッファ２６００に記憶させると、アラーム生値を更新した旨をアラーム変換処理部２３００に通知する。この通知を受けて、アラーム変換処理部２３００は、アラーム変換値を作成し、更新する。従って、アラーム変換処理部２３００も、概ね５００ｍｓ周期で動作することになる。
【００９５】
タイマー２４００は、予め定められた周期で、アラーム信号取得部２５００に割り込みを掛ける機能を有する。実施形態では、タイマー２４００は、５００ｍｓ周期で、アラーム変換処理部２３００に割込みを掛ける。尚、実施形態では、アラーム信号取得部２５００がアラーム変換処理部２３００に動作のタイミングを通知することとしているが、アラーム信号取得部２５００の処理に要する時間経過後に、タイマー２４００が変換処理部２３００に割り込みを掛けることとしてもよい。
【００９６】
アラーム情報バッファ２６００は、アラーム信号取得部２５００が各ＰＬＣ３０００から取得したアラーム信号の値をアラーム生値として記憶し、また、アラーム変換処理部２３００が作成したアラーム変換値を記憶しておく機能を有する。記憶されているアラーム生値は、アラーム信号取得部２５００がアラーム情報を取得する都度に更新され、アラーム変更値は、アラーム変換処理部２３００が変更値を作成する都度に更新される。
【００９７】
図５は、アラーム情報バッファ２６００に記憶されているアラーム変換情報テーブル２６１０の構成及び内容の例を示す図である。アラーム変換情報テーブル２６１０には、アラーム信号ごとに、１レコードが登録されている。アラーム変換情報テーブル２６１０は、信号ＩＤ２６１１、前生値２６１２、生値２６１３、変換値２６１４、ディレイ種類２６１５、及び、ディレイ周期２６１６を有する。
【００９８】
信号ＩＤ２６１１は、アラーム信号を特定するための識別子を示す。
【００９９】
前生値２６１２は、信号ＩＤ２６１１が示すアラーム信号の前回の値、つまり、生値２６１３が更新される際に生値２６１３として設定されていた値を示す。「０」が正常状態を示し、「１」が異常状態を示す。
【０１００】
生値２６１３は、信号ＩＤ２６１１が示すアラーム信号の直近の、つまり、現状の値を示す。生値２６１３には、アラーム信号取得部２５００がＰＬＣ３０００から取得したアラーム信号の値が、アラーム信号取得部２５００によって設定される。
【０１０１】
変換値２６１４は、アラーム変換処理部２３００によって作成され、設定される。この変換値２６１４として設定されているアラーム変換値が、アラーム情報としてクライアント装置１０００に渡される。
【０１０２】
ディレイ種類２６１５は、信号ＩＤ２６１１が示すアラーム信号について、ディレイの期間中か否かを示す。「−」は、ディレイ期間中ではないことを示し、「ＯＦＦ」は、ＯＦＦディレイ期間中であることを示し、「ＯＮ」は、ＯＮディレイ期間中であることを示す。
【０１０３】
ディレイ周期２６１５は、ディレイ期間の終了までの周期の回数を示す。実施形態では、ディレイ期間の計測は、アラーム信号取得部２５００がＰＬＣ３０００からアラーム信号の値を取得する（周期の）回数によって行うものとする。
【０１０４】
具体的には、アラーム信号取得部２５００が生値２６１３を設定し、その生値２６１３として設定されているアラーム生値に基づいて、アラーム変換処理部２３００は、ディレイ種類２６１５として設定されているディレイの種類に応じてアラーム変換値を作成し、変換値２６１４を更新する。そして、アラーム変換処理部２３００は、ディレイ周期２６１６として設定されている値を１減算し、その値が「０」となれば、ディレイ期間が終了したと判断し、ディレイ種類２６１５として「−」を設定する。
【０１０５】
アラームログ記憶部２７００は、アラーム情報に基づいた異常状態の発生時刻、及び、復帰時刻などのアラーム履歴を記憶しておく機能を有する。アラームログ記憶部２７００に記憶されているログは、図４に示すアラームログ記憶部１７００に記憶されているアラーム履歴テーブル１７１０と同様の構成であり、かつ、同じ内容のテーブルである。
【０１０６】
アラームログ記憶部２７００に記憶されるログは、アラーム変換処理部２３００によって記憶される。アラーム処理部１３００は、アラーム情報テーブル１６１０のアラーム情報１６１２を参照してアラーム履歴を作成したが、アラーム処理部２３００は、アラーム変換情報テーブル２６１０の変換値２６１４を参照してアラーム履歴を作成する。具体的には、アラーム変換処理部２３００は、変換値２６１４が「０」から「１」に変わった場合に異常事態が発生したと判断し、変換値２６１４が「１」から「０」に変わった場合に復帰したと判断して、発生／復帰１７１２として「発生」又は「復帰」を設定する。また、時刻１７１３として、アラーム処理部２３００が、レコードを追加するときの時刻をタイマー２４００から取得して設定する。
【０１０７】
次に、図２のＰＬＣ３０００は、アラーム信号検出部３１００を備え、ＩＯ機器４０００から制御対象機器の監視データを入力し、監視データに基づいて監視対象装置を制御する機能を有する。
【０１０８】
アラーム信号検出部３１００は、ＩＯ機器４０００から取得したデータに基づいて、１又は複数のアラーム信号を生成する機能を有する。アラーム信号検出部３１００は、例えば、温度のアラーム信号を生成する場合、所定のＩＯ機器４０００から温度のデータを取得し、その温度が閾値を超えていない場合には、正常を示す値「０（ゼロ）」のアラーム信号を生成し、閾値を超えた場合には、異常を示す値「１」のアラーム信号を生成する。アラーム信号検出部３１００は、サーバ装置２０００のアラーム信号取得部２５００から依頼を受けたときに、その時点のアラーム信号の値を、ネットワーク１０２を介して、アラーム信号取得部２５００に送信する。
【０１０９】
実施形態のクライアント装置１０００、及び、サーバ装置２０００は、上述のように、例えば、パーソナルコンピュータ等のコンピュータを用いて構成可能であり、ハードディスク等の記憶部（不図示）に格納されているアラーム処理方法等をプログラムしたソフトウェアを実行することによって上述のアラーム処理部１３００等がコンピュータに機能的に構成される。
【０１１０】
＜動作＞
次に、図１４〜１６を用いて、サーバ装置２０００のアラーム信号処理について説明する。図１４は、アラーム信号処理のフローチャートである。
【０１１１】
サーバ装置２０００のアラーム信号取得部２５００は、タイマー２４００から割込みを受けると（ステップＳ１０：Ｙｅｓ）、各ＰＬＣ３０００に、アラーム信号の値の送信を依頼する。依頼を受けたＰＬＣ３０００のアラーム信号検出部３１００は、各アラーム信号の現在の値を、アラーム信号取得部２５００に送信する。
【０１１２】
アラーム信号の値を受信したアラーム信号取得部２５００は、アラーム情報バッファ２６００に記憶されているアラーム変換情報テーブル２６１０を更新する（ステップＳ１１）。具体的には、アラーム信号取得部２５００は、受信したアラーム信号の識別子が信号ＩＤ２６１１として設定されているレコードの、生値２６１３として設定されている値を前生値２６１２として設定し、受信したアラーム信号の値を生値２６１３として設定する。アラーム信号取得部２５００は、全てのＰＬＣ３０００からアラーム信号の値を受信し、アラーム変換情報テーブル２６１０の生値２６１３を更新すると、アラーム変換処理部２３００に、生値２６１３を更新した旨を通知する。
【０１１３】
通知を受けたアラーム変換処理部２３００は、アラーム変換情報テーブル２６１０から順に１レコードを読み出し（ステップＳ１２：Ｎｏ）、そのレコードから生値２６１３として設定されているアラーム生値を読み出す（ステップＳ１３）。アラーム変換処理部２３００は、読み出したアラーム生値が「０」の場合（ステップＳ１４：「０」）、ＯＦＦディレイ処理を行い（ステップＳ１５）、アラーム生値が「１」の場合（ステップＳ１４：「１」）、ＯＮディレイ処理を行う（ステップＳ１６）。アラーム変換処理部２３００は、アラーム変換情報テーブル２６１０に登録されている全てのレコード、つまり、全アラーム信号について、ステップＳ１３〜ステップＳ１６までの処理を行うと（ステップＳ１２：Ｙｅｓ）、タイマー２４００からの割込みを待つ。
【０１１４】
図１４のフローチャートにおけるステップＳ１５のＯＦＦディレイ処理について、図１５を用いて説明する。図１５は、ＯＦＦディレイ処理のフローチャートである。
【０１１５】
アラーム変換処理部２３００は、まず、現在処理中のレコード（以下、「当該レコード」という。）からディレイ種類２６１５として設定されているディレイ種類を読み出す。ディレイ種類が「ＯＮ」である場合（ステップＳ２０：「ＯＮ」）、アラーム変換処理部２３００は、ＯＮディレイ期間中にアラーム信号の値が「０」となったと判断し、当該レコードのディレイ種類２６１５として「−」を設定し（ステップＳ３０）、変換値２６１４として「０」を設定し（ステップＳ３１）、処理を終了する。
【０１１６】
ステップＳ２０において、当該レコードにディレイ種類２６１５として設定されているディレイ種類が「−」である場合（ステップＳ２０：「−」）、アラーム変換処理部２３００は、ディレイ期間中でないと判断し、当該レコードに前生値２６１２として設定されている値を読み出す。
【０１１７】
読み出した値が「０」の場合（ステップＳ２１：「０」）、アラーム変換処理部２３００は、アラーム信号が「０」が続いていると判断し、当該レコードのディレイ種類２６１５として「−」を設定し（ステップＳ３０）、変換値２６１４として「０」を設定し（ステップＳ３１）、処理を終了する。尚、この場合、ディレイ種類２６１５として「−」が、変換値２６１４として「０」が既に設定されているので、ステップＳ３０、Ｓ３１の処理は行われなくても構わない。
【０１１８】
一方、読み出した値が「１」の場合（ステップＳ２１：「１」）、アラーム変換処理部２３００は、アラーム信号が「１」から「０」になったと判断し、当該レコードにディレイ種類２６１５として「ＯＦＦ」を設定し、ディレイ周期２６１６として「２」を設定する（ステップＳ２２）。また、アラーム変換処理部２３００は、当該レコードに変換値２６１４として「１」を設定し（ステップＳ２３）、処理を終了する。
【０１１９】
また、ステップＳ２０において、当該レコードにディレイ種類２６１５として設定されているディレイ種類が「ＯＦＦ」である場合（ステップＳ２０：「ＯＦＦ」）、アラーム変換処理部２３００は、ＯＦＦディレイ期間中であると判断し、当該レコードにディレイ周期２６１６として設定されている値から１を減算する（ステップＳ２４）。
【０１２０】
減算結果が０（ゼロ）でない場合（ステップＳ２５：Ｎｏ）、アラーム変換処理部２３００は、ＯＦＦでディレイ期間（周期）が残っていると判断し、当該レコードにディレイ周期２６１６として「１」を設定し（ステップＳ２９）、処理を終了する。尚、この場合、ディレイ周期２６１６として「１」が既に設定されているので、ステップＳ２９の処理は行われなくても構わない。
【０１２１】
減算結果が０（ゼロ）である場合（ステップＳ２５：Ｙｅｓ）、アラーム変換処理部２３００は、ＯＦＦディレイ期間が終了したと判断し、当該レコードにディレイ種類２６１５として「−」を設定し（ステップＳ２６）、変換値２６１４として「０」を設定する（ステップＳ２７）。そして、アラーム変換処理部２３００は、アラーム履歴をアラームログ記憶部２７００に記憶されているアラーム履歴テーブル１７１０に追加する（ステップＳ２８）。具体的には、アラーム変換処理部２３００は、当該レコードに信号ＩＤ２６１１として設定されている識別子を、信号ＩＤ１７１１として設定し、発生／復帰１７１２として「復帰」を設定し、現在時刻をタイマー２４００から取得して時刻１７１３として設定し、作成したレコードをアラーム履歴テーブル１７１０に追加する。
【０１２２】
アラーム履歴レコードを追加したアラーム変換処理部２３００は、処理を終了する。
【０１２３】
次に、図１４のステップＳ１６のＯＮディレイ処理について、図１６を用いて説明する。図１６は、ＯＮディレイ処理のフローチャートである。
【０１２４】
アラーム変換処理部２３００は、まず、当該レコードからディレイ種類２６１５として設定されているディレイ種類を読み出す。読み出したディレイ種類が「ＯＦＦ」である場合（ステップＳ４０：「ＯＦＦ」）、アラーム変換処理部２３００は、ＯＦＦディレイ期間中と判断し、当該レコードにディレイ種類２６１５として「−」を設定し（ステップＳ５０）、当該レコードの変換値２６１４として「１」を設定し（ステップＳ５１）、処理を終了する。つまり、ＯＦＦディレイ期間中に生値「１」を読み出した場合は、ＯＦＦディレイをリセットし、読み出した生値「１」を変換値とする。
【０１２５】
ステップＳ４０において、読み出したディレイ種類が「−」である場合（ステップＳ４０：「−」）、アラーム変換処理部２３００は、ディレイ期間中でないと判断し、当該レコードに前生値２６１２として設定されている値を読み出す。
【０１２６】
読み出した生値が「１」の場合（ステップＳ４１：「１」）、アラーム変換処理部２３００は、アラーム信号が「１」が続いていると判断し、当該レコードにディレイ種類２６１５として「−」を設定し（ステップＳ５０）、当該レコードの変換値２６１４として「１」を設定し（ステップＳ５１）、処理を終了する。尚、この場合、ディレイ種類２６１５として「−」が既に設定され、また、変換値２６１４として「１」が既に設定されているので、ステップＳ５０、Ｓ５１の処理は行われなくても構わない。
【０１２７】
一方、読み出した値が「０」の場合（ステップＳ４１：「０」）、アラーム変換処理部２３００は、アラーム信号が「０」から「１」になったと判断し、当該レコードにディレイ種類２６１５として「ＯＮ」を設定し、ディレイ周期２６１６として「１」を設定する（ステップＳ４２）。また、アラーム変換処理部２３００は、当該レコードに変換値２６１４として「０」を設定し（ステップＳ４３）、処理を終了する。
【０１２８】
また、ステップＳ４０において、当該レコードにディレイ種類２６１５として設定されているディレイ種類が「ＯＮ」である場合（ステップＳ４０：「ＯＮ」）、アラーム変換処理部２３００は、ＯＮディレイ期間中であると判断し、当該レコードにディレイ周期２６１６として設定されている値から１を減算する（ステップＳ４４）。
【０１２９】
減算結果が０（ゼロ）でない場合（ステップＳ４５：Ｎｏ）、アラーム変換処理部２３００は、ＯＮでディレイ期間（周期）が残っていると判断し、当該レコードに変換値２６１４として「０」を設定し（ステップＳ４９）、処理を終了する。尚、この場合、変換値２６１４として「０」が既に設定されているので、ステップＳ４９の処理は行われなくても構わない。また、このルートはディレイ周期２６１６として「２」以上を設定した場合に実行される。
【０１３０】
減算結果が０（ゼロ）である場合（ステップＳ４５：Ｙｅｓ）、アラーム変換処理部２３００は、ＯＮディレイ期間が終了したと判断し、当該レコードにディレイ種類２６１５として「−」を設定し（ステップＳ４６）、変換値２６１４として「１」を設定する（ステップＳ４７）。そして、アラーム変換処理部２３００は、アラーム履歴をアラームログ記憶部２７００に記憶されているアラーム履歴テーブル１７１０に追加する（ステップＳ４８）。具体的には、アラーム変換処理部２３００は、当該レコードに信号ＩＤ２６１１として設定されている識別子を、信号ＩＤ１７１１として設定し、発生／復帰１７１２として「発生」を設定し、現在時刻をタイマー２４００から取得して時刻１７１３として設定し、作成したレコードをアラーム履歴テーブル１７１０に追加する。
【０１３１】
アラーム履歴レコードを追加したアラーム変換処理部２３００は、処理を終了する。
【０１３２】
このように、サーバ装置２０００では、アラーム信号のＯＦＦディレイ期間を設けることで、クライアント装置１０００がアラーム信号を漏れなく検出できる可能性を上げ、ＯＮディレイ期間を設けることで、チャタリング等の影響をできるだけ少なくしている。
【０１３３】
尚、実施形態では、アラーム変換処理部２３００は、ディレイ期間が経過したか否かを、ＰＬＣ３０００へのアクセス周期の回数で判断しているが、他の方法を用いてもよい。例えば、アラーム変換情報テーブル２６１０のディレイ周期２６１６として、ディレイ期間の終了時刻を設定しておき、アラーム変換処理部２３００は、アラーム変換値を作成する時の時刻がその終了時刻を過ぎている場合にディレイ期間が経過したと判断する等である。
【０１３４】
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更及び／または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。
【符号の説明】
【０１３５】
１００  中央監視制御システム
１０００  クライアント装置
１２００  アラーム情報取得部
１３００  アラーム処理部
１４００  ２４００  タイマー
１５００  入出力部
１６００  ２６００  アラーム情報バッファ
１７００  ２７００  アラームログ記憶部
２０００  サーバ装置
２２００  アラーム情報読出部
２３００  アラーム変換処理部
２５００  アラーム信号取得部
３０００  ＰＬＣ（データ検出装置）
３１００  アラーム信号検出部
４０００  ＩＯ機器
【図１】
0006322122.tif 000002
【図２】
0006322122.tif 000003
【図３】
0006322122.tif 000004
【図４】
0006322122.tif 000005
【図５】
0006322122.tif 000006
【図６】
0006322122.tif 000007
【図７】
0006322122.tif 000008
【図８】
0006322122.tif 000009
【図９】
0006322122.tif 000010
【図１０】
0006322122.tif 000011
【図１１】
0006322122.tif 000012
【図１２】
0006322122.tif 000013
【図１３】
0006322122.tif 000014
【図１４】
0006322122.tif 000015
【図１５】
0006322122.tif 000016
【図１６】
0006322122.tif 000017