(57)【要約】      （修正有）【課題】過去のデータを収集している場合であっても、データの現在値を参照できるデータ収集システム及びデータ収集方法を提供する。【解決手段】データ収集システムは、ネットワークＮＷ１を介して互いに接続されているサーバ装置と、クライアント装置２００と、を備える。クライアント装置２００は、現在値を示すデータを記憶するサーバ装置のＤＢから、ネットワークＮＷ１を介して現在値を示すデータを収集する第１収集部と、第１収集部が収集したデータを、ＤＢに書き込み、ＤＢを更新するデータ管理部と、現在値を示すデータについてＤＢが更新されていない期間に関する情報を取得する状態取得部と、状態取得部によって取得された情報に基づいて、その期間の現在値を示すデータを過去の値を示すデータとして、ＤＢから収集する第２収集部と、を有する。【選択図】図３
2020181533.tif 000002
【特許請求の範囲】
【請求項１】
第１ネットワークを介して互いに接続されている第１収集装置と第２収集装置とを備えるデータ収集システムであって、
前記第１収集装置は、
機器の制御を行うコントローラが取得している現在値を示す第１データを、第２ネットワークを介して逐次に収集するように構成された第１現在データ収集部と、
前記第１現在データ収集部が収集した前記第１データを記憶するように構成された第１データベースと、
を有し、
前記第２収集装置は、
前記第１データベースから前記第１ネットワークを介して前記第１データを収集するように構成された第２現在データ収集部と、
前記第２現在データ収集部が収集した前記第１データを、第２データベースに書き込み、前記第２データベースを更新するように構成されたデータ管理部と、
前記第１データについて前記第２データベースが更新されていない期間に関する情報を取得するように構成された状態取得部と、
前記状態取得部によって取得された前記情報に基づいて、前記期間の前記第１データを過去の値を示す第２データとして、前記第１データベースから収集するように構成された過去データ収集部と
を有する
ことを特徴とするデータ収集システム。
【請求項２】
請求項１に記載のデータ収集システムにおいて、
前記過去データ収集部は、前記期間の前記第１データのうち最も古いデータから順に設定された時間単位で収集し、
前記データ管理部は、前記過去データ収集部が収集した前記第２データを、前記第２データベースに書き込む
ことを特徴とするデータ収集システム。
【請求項３】
請求項１または請求項２に記載のデータ収集システムにおいて、
前記過去データ収集部は、前記状態取得部が取得した前記期間が設定された長さ以上である場合に、前記第２データを収集することを特徴とするデータ収集システム。
【請求項４】
請求項１から３のいずれか１項に記載のデータ収集システムにおいて、
前記状態取得部は、前記第１ネットワークにおいて異常が発生した時刻と、前記第１ネットワークが復旧した時刻とを取得することを特徴とするデータ収集システム。
【請求項５】
請求項１から４のいずれか１項に記載のデータ収集システムにおいて、
前記データ管理部は、前記第２データベースに既に書き込まれた前記第１データが存在する場合には、重複するデータの書き込みを行わないことを特徴とするデータ収集システム。
【請求項６】
請求項１から５のいずれか１項に記載のデータ収集システムにおいて、
前記第１ネットワークは、ＯＰＣ  ＵＡプロトコルを使用して接続されることを特徴とするデータ収集システム。
【請求項７】
第１ネットワークを介して互いに接続されている第１収集装置と第２収集装置とを備えるデータ収集システムによって実行されるデータ収集方法であって、
機器の制御を行うコントローラが取得している現在値を示す第１データを、第２ネットワークを介して逐次に収集する第１現在データ収集ステップと、
前記第１現在データ収集ステップで収集された前記第１データを第１データベースに記憶する第１記憶ステップと、
前記第１データベースから前記第１ネットワークを介して前記第１データを収集する第２現在データ収集ステップと、
前記第２現在データ収集ステップで収集した前記第１データを、第２データベースに書き込み、前記第２データベースを更新するように構成されたデータ管理ステップと、
前記第１データについて前記第２データベースが更新されていない期間に関する情報を取得する状態取得ステップと、
前記状態取得ステップで取得された前記情報に基づいて、前記期間の前記第１データを過去の値を示す第２データとして、前記第１データベースから収集する過去データ収集ステップと
を備えるデータ収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ収集システムおよびデータ収集方法に関し、特にプラントなどの設備における機器の制御に関するデータを収集する技術に関する。
【背景技術】
【０００２】
従来から、フィールド機器で測定された時系列のプロセスデータを蓄積し、蓄積された過去のプロセスデータを一定の周期で読み出して、仮想のリアルタイムデータとして提供する技術が知られている（例えば、特許文献１参照）。
【０００３】
また、従来からマルチベンダー製品間でのデータの転送や相互運用を可能とする国際標準のデータ交換通信プロトコルとしてＯＰＣ  ＵＡ（ＯＰＣ  Ｕｎｉｆｉｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）が用いられている。ＯＰＣ  ＵＡ規格によるＯＰＣクライアントでは、ノード名と期間を指定して、ＯＰＣ  Ｈｉｓｔｏｒｉｃａｌ  Ｄａｔａ  Ａｃｃｅｓｓ（ＨＤＡ）規格によるＯＰＣサーバに要求を出すと、その指定期間に含まれる指定ノードの過去のデータを読み込む（ＲｅａｄＲａｗ）機能がある。
【０００４】
このＲｅａｄＲａｗ機能を用いて、過去のデータをメモリに書き込んでコピーすることができる。例えば、図１０に示すような制御ネットワーク、情報系のネットワーク、および基幹系のネットワークで構成される従来の管理システムにおいて、制御ネットワークのプロセスデータ（以下、単に「データ」という。）を基幹系にコピーする場合を考える。図１０に示すように、フィールド機器に関するデータその他のデータは、コントローラから情報系のサーバ等に常にヒストリカルデータとして送出され、記憶されている場合が多い。
【０００５】
情報系のサーバにおいて取得された過去のデータを基幹系のクライアントのデータベースにコピーする場合、過去のデータの量が多い場合には、情報系のサーバは、一定の時間単位でデータを分割して基幹系にデータのコピーを行う。具体的には、情報系のサーバは、最も古いデータから順にデータを取得する。
【０００６】
しかし、このような従来の技術において、古いデータから順にデータを取得する場合、基幹系のクライアントのデータベースにすべてのデータのコピーが作成されるのに時間がかかってしまう場合がある。基幹系においてデータの最新値をリアルタイムで参照することが必要な場合に最新値を参照することができない場合も考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−５８９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した課題を解決するためになされたものであり、過去のデータを収集している場合であっても、データの現在値を参照できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明に係るデータ収集システムは、第１ネットワークを介して互いに接続されている第１収集装置と第２収集装置とを備えるデータ収集システムであって、前記第１収集装置は、機器の制御を行うコントローラが取得している現在値を示す第１データを、第２ネットワークを介して逐次に収集するように構成された第１現在データ収集部と、前記第１現在データ収集部が収集した前記第１データを記憶するように構成された第１データベースと、を有し、前記第２収集装置は、前記第１データベースから前記第１ネットワークを介して前記第１データを収集するように構成された第２現在データ収集部と、前記第２現在データ収集部が収集した前記第１データを、第２データベースに書き込み、前記第２データベースを更新するように構成されたデータ管理部と、前記第１データについて前記第２データベースが更新されていない期間に関する情報を取得するように構成された状態取得部と、前記状態取得部によって取得された前記情報に基づいて、前記期間の前記第１データを過去の値を示す第２データとして、前記第１データベースから収集するように構成された過去データ収集部とを有することを特徴とする。
【００１０】
また、本発明に係るデータ収集システムにおいて、前記過去データ収集部は、前記期間の前記第１データのうち最も古いデータから順に設定された時間単位で収集し、前記データ管理部は、前記過去データ収集部が収集した前記第２データを、前記第２データベースに書き込んでもよい。
【００１１】
また、本発明に係るデータ収集システムにおいて、前記過去データ収集部は、前記状態取得部が取得した前記期間が設定された長さ以上である場合に、前記第２データを収集してもよい。
【００１２】
また、本発明に係るデータ収集システムにおいて、前記状態取得部は、前記第１ネットワークにおいて異常が発生した時刻と、前記第１ネットワークが復旧した時刻とを取得してもよい。
【００１３】
また、本発明に係るデータ収集システムにおいて、前記データ管理部は、前記第２データベースに既に書き込まれた前記第１データが存在する場合には、重複するデータの書き込みを行わなくてもよい。
【００１４】
また、本発明に係るデータ収集システムにおいて、前記第１ネットワークは、ＯＰＣ  ＵＡプロトコルを使用して接続されていてもよい。
【００１５】
上述した課題を解決するために、本発明に係るデータ収集方法は、第１ネットワークを介して互いに接続されている第１収集装置と第２収集装置とを備えるデータ収集システムによって実行されるデータ収集方法であって、機器の制御を行うコントローラが取得している現在値を示す第１データを、第２ネットワークを介して逐次に収集する第１現在データ収集ステップと、前記第１現在データ収集ステップで収集された前記第１データを第１データベースに記憶する第１記憶ステップと、前記第１データベースから前記第１ネットワークを介して前記第１データを収集する第２現在データ収集ステップと、前記第２現在データ収集ステップで収集した前記第１データを、第２データベースに書き込み、前記第２データベースを更新するように構成されたデータ管理ステップと、前記第１データについて前記第２データベースが更新されていない期間に関する情報を取得する状態取得ステップと、前記状態取得ステップで取得された前記情報に基づいて、前記期間の前記第１データを過去の値を示す第２データとして、前記第１データベースから収集する過去データ収集ステップとを備える。
【発明の効果】
【００１６】
本発明によれば、現在値を示す第１データを逐次に収集して第２データベースを更新し、かつ、第２データベースが更新されていない期間の第１データを過去の値を示す第２データとして収集するので、過去のデータを収集している場合であっても、データの現在値を参照することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態に係るデータ収集システムの概要を説明するためのブロック図である。
【図２】図２は、本発明の実施の形態に係るサーバ装置の機能構成を示すブロック図である。
【図３】図３は、本発明の実施の形態に係るクライアント装置の機能構成を示すブロック図である。
【図４】図４は、本実施の形態に係るコントローラの機能構成を示すブロック図である。
【図５】図５は、本実施の形態に係るクライアント装置のハードウェア構成の一例を示すブロック図である。
【図６】図６は、本実施の形態に係るデータ収集システムの動作を説明するフローチャートである。
【図７Ａ】図７Ａは、本実施の形態に係る第１収集部および第２収集部の動作を説明するための図である。
【図７Ｂ】図７Ｂは、本実施の形態に係る第１収集部および第２収集部の動作を説明するための図である。
【図８】図８は、本実施の形態に係る第１収集部および第２収集部の動作を説明するための図である。
【図９】図９は、本実施の形態に係る第１収集部および第２収集部の動作を説明するための図である。
【図１０】図１０は、従来例の管理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の好適な実施の形態について、図１から図９を参照して詳細に説明する。
【００１９】
［発明の概要］
はじめに、本実施の形態に係るデータ収集システムの概要について説明する。図１は、制御ネットワークＮＷ３、情報系のネットワーク（第２ネットワーク）ＮＷ２、および基幹系のネットワーク（第１ネットワーク）ＮＷ１を有するデータ収集システムの構成を示している。データ収集システムは、例えば、プラントなどの管理システムに設けられる。
【００２０】
本実施の形態に係るデータ収集システムは、サーバ装置（第１収集装置）１００と、クライアント装置（第２収集装置）２００と、ＯＰＣサーバ３００と、コントローラ４００と、フィールド機器５００とを備える。基幹系のネットワークＮＷ１には、クライアント装置２００が接続されている。情報系のネットワークＮＷ２には、サーバ装置１００とＯＰＣサーバ３００とが接続されている。制御ネットワークＮＷ３には、コントローラ４００とフィールド機器５００とが接続されている。
【００２１】
サーバ装置１００およびＯＰＣサーバ３００は、例えば、図示されないファイアウォールを介して制御ネットワークＮＷ３のコントローラ４００と接続されている。クライアント装置２００は、例えば、サーバ装置１００およびＯＰＣサーバ３００と図示されないファイアウォールを介して接続される。
【００２２】
サーバ装置１００は、コントローラ４００がフィールド機器５００の制御を行う際のプロセスデータなどの現在値を示すデータ（第１データ）をＯＰＣサーバ３００を介して収集し、連続ヒストリデータとしてデータベース（第１データベース）ＤＢ１１３に格納する。クライアント装置２００は、ＯＰＣ  ＵＡ通信によりネットワークＮＷ１を介して、現在値を示すデータをＤＢ１１３から収集する。ネットワークＮＷ１は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）などの汎用通信ネットワークを用いることができる。
【００２３】
本実施の形態では、コントローラ４００は、制御対象のフィールド機器５００の制御に関するプロセスデータや測定データなどのデータ（第１データ）を時系列に取得している。データにはタイムスタンプが付されている。
【００２４】
例えば、ネットワークが正常な状態においては、ユーザが基幹系のネットワークＮＷ１上のＯＰＣ  ＵＡ規格の仕様に適合するクライアント装置２００を操作することで、ユーザは現在値を示すデータが格納されたデータベースを参照することができる。
【００２５】
しかし、通信障害などの発生によりネットワークＮＷ１を介して基幹系のクライアント装置２００と情報系のサーバ装置１００およびＯＰＣサーバ３００との間でデータ通信ができない状況が生ずる場合がある。このような状況では、基幹系のクライアント装置２００が、サーバ装置１００によってコントローラ４００から収集された現在値を示すデータを収集しコピーを作成することができない。そのため、クライアント装置２００では、連続ヒストリデータの一部において、現在値を示すデータのコピーが欠損した状態となる。
【００２６】
ネットワークＮＷ１で発生した通信障害などが復旧した場合、クライアント装置２００は、通信障害が発生していた期間にクライアント装置２００においてコピーが作成されなかった過去の現在値のデータ（以下、「過去のデータ」ということがある。）について、過去にさかのぼって、設定された時間単位でデータを順に収集する。そして、クライアント装置２００において、収集した過去のデータ（第２データ）を後述のデータベースＤＢ２１６に書き込んでコピーを作成する。これと並行して、クライアント装置２００は、現在値を示すデータを通常通り収集し、データベースＤＢ２１６に書き込んでコピーを作成する。
【００２７】
これにより、クライアント装置２００は、過去のデータを収集している際にも、現在値を示すデータを参照することができる。
【００２８】
［サーバ装置の機能ブロック］
図２に示すように、サーバ装置１００は、送受信部１１０、計時部１１１、第１収集部（第１現在データ収集部）１１２、およびデータベース（ＤＢ）１１３を備える。
【００２９】
送受信部１１０は、予め設定された通信規格による通信を行い、ＯＰＣサーバ３００を経由してコントローラ４００からのデータの受信などを行う。より詳細には、送受信部１１０は、ＯＰＣサーバ３００を経由してコントローラ４００からプロセスデータなどのデータを受信する。
計時部１１１は、時刻を計時する。
【００３０】
第１収集部１１２は、フィールド機器５００の制御を行うコントローラ４００が時系列に取得しているプロセスデータなど現在値を示すデータを逐次に収集する。より詳細には、第１収集部１１２は、情報系のネットワークＮＷ２を介してＯＰＣサーバ３００経由で、コントローラ４００からデータを収集する。本実施の形態では、データ収集部１１３がコントローラ４００から収集するデータは、例えば、１分周期の値を示すデータである。
【００３１】
第１収集部１１２は、基幹系のネットワークＮＷ１において通信障害などが発生したか否かに関わらず、現在値を示すデータをネットワークＮＷ２を介してＯＰＣサーバ３００経由でコントローラ４００から収集する。第１収集部１１２によって収集された現在値を示すデータは、ＤＢ１１３に記憶される。
【００３２】
ＤＢ１１３は、第１収集部１１２がＯＰＣサーバ３００を介して収集した、制御系でタイムスタンプが付された現在値を示すデータを蓄積する。第１収集部１１２によって新たに現在値を示すデータが収集される度に、ＤＢ１１３は更新される。ＤＢ１１３は、例えば、バイナリファイルのセットを用いて現在値を示す連続ヒストリデータを保管することができる。
【００３３】
［クライアント装置の機能ブロック］
次に、基幹系のネットワークＮＷ１に接続されているクライアント装置２００の構成について、図３を用いて説明する。
【００３４】
クライアント装置２００は、送受信部２１０、計時部２１１、状態取得部２１２、第１収集部（第２現在データ収集部）２１３、第２収集部（過去データ収集部）２１４、データ管理部２１５、ＤＢ（第２データベース）２１６、表示部２１７、および入力部２１８を備える。
【００３５】
送受信部２１０は、ネットワークＮＷ１を介して、サーバ装置１００やＯＰＣサーバ３００とのＯＰＣ  ＵＡ通信など所定の通信規格による通信を行う。より詳細には、送受信部２１０から、サーバ装置１００に対して、データの公開を要求するメッセージを送信することができる。
計時部２１１は、時刻を計時する。
【００３６】
状態取得部２１２は、後述のＤＢ２１６において、現在値を示すデータの更新がされていない期間に関する情報を取得する。より詳細には、状態取得部２１２は、第１収集部２１３が、現在値を示すデータを、ネットワークＮＷ１を介してＤＢ１１３から収集することができなくなった時刻および再び収集できるようになった時刻を取得する。
【００３７】
具体的には、状態取得部２１２は、クライアント装置２００が接続されているネットワークＮＷ１の状態を監視して、通信障害が発生した時刻と復旧した時刻とを取得してもよい。あるいは、状態取得部２１２は、ＤＢ２１６に現在値を示すデータの書き込みができずコピーが作成されないことで、エラーが返ってきた時刻と、一定の時間を経て再び書き込みが可能となった時刻とを取得する構成としてもよい。状態取得部２１２によって取得された期間に関する情報は、データ管理部２１５に入力される。
【００３８】
第２収集部２１４は、状態取得部２１２が取得した情報に基づいて、ＤＢ２１６に現在値を示すデータのコピーが作成されなかった期間のデータのうち、最も古いデータから順に過去のデータをＤＢ１１３から収集する。より詳細には、第２収集部２１４は、ＤＢ２１６において現在値を示すデータのコピーが作成できなくなった時刻から、１時間単位など、予め設定された時間単位で、ＤＢ１１３に記憶されているデータをＯＰＣサーバ３００を介して読み出す。
【００３９】
具体的には、第２収集部２１４は、ＯＰＣサーバ３００を介して、１時間単位のデータを順にＤＢ１１３から収集する。このように、クライアント装置２００において現在値を示すデータのコピーが作成できない期間が生じた場合には、第１収集部２１３による現在値を示すデータの収集に加え、第２収集部２１４によって過去のデータが一定の時間単位で順に収集される。第２収集部２１４によって収集されたデータは、データ管理部２１５によってＤＢ２１６に記憶される。
【００４０】
データ管理部２１５は、第１収集部２１３が収集した現在値を示すデータを、ＤＢ２１６に書き込み、ＤＢ２１６を更新する。また、データ管理部２１５は、第２収集部２１４が収集した過去のデータを、ＤＢ２１６に書き込む。
【００４１】
データ管理部２１５は、ＤＢ１１３に記憶されている過去のデータの複製をＤＢ２１６に書き込んでコピーを作成する。このように、ＤＢ２１６にデータが書き込まれることによりコピーが完了する。
【００４２】
ＤＢ２１６には、第１収集部２１３によってＤＢ１１３から収集されて、データ管理部２１５が書き込んだ現在値を示すデータのコピーが記憶されている。前述したように、基幹系のネットワークＮＷ１が正常である場合には、ＤＢ２１６には、サーバ装置１００がＯＰＣサーバ３００を介してコントローラ４００から収集して、ＤＢ１１３に記憶している現在値を示すデータと同じ連続ヒストリデータがコピーとして記憶されている。
【００４３】
また、ＤＢ２１６には、第１収集部２１３がＤＢ１１３から収集して、データ管理部２１５が書き込んだ過去のデータのコピーが記憶される。具体的には、ＤＢ２１６には、第２収集部２１４によって収集された過去のデータについて、古いデータから順に、例えば１時間単位などの時間単位ごとに記憶されていく。ＤＢ２１６は、第２収集部２１４が新たに設定時間単位の過去のデータを収集する度に更新される。
【００４４】
表示部２１７は、ＤＢ２１６に記憶されているデータを表示する。
入力部２１８は、外部からの入力を受け付けて、入力に応じた信号を出力する。例えば、入力部２１８は、ユーザの操作に応じたデータの公開要求を示す信号を生成し、送受信部２１０からＯＰＣサーバ３００を経由してサーバ装置１００に送信する。
【００４５】
［コントローラの機能ブロック］
次に、コントローラ４００の機能構成について、図４のブロック図を用いて説明する。
コントローラ４００は、送受信部４１０、制御部４１１、データベース（ＤＢ）４１２、および計時部４１３を備える。コントローラ４００は、制御ネットワークＮＷ３を介してフィールド機器５００の制御を行う。フィールド機器５００は、バルブ、センサなどの機器である。
【００４６】
送受信部４１０は、コントローラ４００が、例えば、フィールド機器５００から取得した、測定データやプロセスデータなどのデータを情報系のネットワークＮＷ２を介して、ＯＰＣサーバ３００に送信する。
【００４７】
制御部４１１は、自装置およびフィールド機器５００、並びにＤＢ４１２の制御を行う。制御部４１１は、フィールド機器５００からプロセスデータや測定データを取得する。
ＤＢ４１２は、制御部４１１が取得したプロセスデータなどの時系列データを記憶する。プロセスデータなどのデータには、タイムスタンプが付されている。
【００４８】
計時部４１３は、時刻を計時する。計時部４１３によって計時された時刻情報に基づいて、制御部４１１がフィールド機器５００から取得するプロセスデータなどのデータのタイムスタンプが付される。
【００４９】
［クライアント装置のハードウェア構成］
次に、上述した機能構成を有するクライアント装置２００のハードウェア構成の一例について、図５を参照して説明する。
【００５０】
図５に示すように、クライアント装置２００は、例えば、バス２０１を介して接続されるプロセッサ２０２、主記憶装置２０３、通信Ｉ／Ｆ２０４、補助記憶装置２０５、入出力Ｉ／Ｏ２０６、時計２０７、入力装置２０８を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
【００５１】
主記憶装置２０３には、プロセッサ２０２が各種制御や演算を行うためのプログラムが予め格納されている。プロセッサ２０２と主記憶装置２０３とによって、図３に示した状態取得部２１２、第１収集部２１３、第２収集部２１４、データ管理部２１５など、クライアント装置２００の各機能が実現される。
【００５２】
通信Ｉ／Ｆ２０４は、図３に示した送受信部２１０を実現するインターフェース回路である。
【００５３】
補助記憶装置２０５は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。補助記憶装置２０５には、記憶媒体としてハードディスクやフラッシュメモリなどの半導体メモリを使用することができる。
【００５４】
補助記憶装置２０５は、第１収集部２１３および第２収集部２１４がデータの収集処理を実行するためのプログラムを格納するプログラム格納領域を有する。また、補助記憶装置２０５によって、図２で説明したＤＢ２１６が実現される。さらには、例えば、上述したデータやプログラムなどをバックアップするためのバックアップ領域などを有していてもよい。
【００５５】
入出力Ｉ／Ｏ２０６は、外部機器からの信号を入力したり、外部機器へ信号を出力したりするＩ／Ｏ端子により構成される。
【００５６】
時計２０７は、クライアント装置２００の内蔵時計などで構成され、タイムサーバから時刻を取得する構成であってもよい。時計２０７は、図３の計時部２１１を実現する。
【００５７】
入力装置２０８は、タッチパネルやキーボード、物理ボタンなどで構成され、タッチパネルによるタッチ操作、キーの押下、または物理ボタンの押下に応じた信号を出力する。入力装置２０８は図３で説明した入力部２１８を実現する。
【００５８】
表示装置２０９は、液晶ディスプレイなどで構成され、図３で説明した表示部２１７を実現する。
【００５９】
なお、図１から図４に示すサーバ装置１００、ＯＰＣサーバ３００、コントローラ４００についても図５に示すハードウェア構成と同様の構成によって実現することができる。
【００６０】
［データ収集方法］
次に、上述した構成を有するデータ収集システムの動作について、図６のフローチャートを参照して説明する。以下、基幹系のネットワークＮＷ１で通信障害が発生し、クライアント装置２００と、ＯＰＣサーバ３００およびサーバ装置１００との通信が一時的に遮断され、その後復旧した場合を例に挙げて説明する。また、情報系のネットワークＮＷ２および制御ネットワークＮＷ３は常に正常な通信が行えることを前提とする。
【００６１】
すなわち、基幹系のネットワークＮＷ１で通信障害が発生するか否かにかかわらず、サーバ装置１００が備える第１収集部１１２は、ＯＰＣサーバ３００を経由してコントローラ４００における現在値を示すデータを収集している。
【００６２】
まず、状態取得部２１２は、ネットワークＮＷ１を監視して、ネットワークＮＷ１で通信障害が発生した時刻および復旧した時刻を取得する（ステップＳ１０）。次に、通信障害が発生した時刻と復旧した時刻とが一定時間離れている場合には（ステップＳ１１：ＹＥＳ）、第２収集部２１４は、通信障害が発生した時刻から設定された時間単位で順にデータをＤＢ１１３から取得する（ステップＳ１２）。第２収集部２１４は、ＯＰＣ  ＵＡ通信により、例えば、ＯＰＣ  ＵＡの機能の１つであるヒストリカルアクセス（Ｈｉｓｔｏｒｉｃａｌ  Ａｃｃｅｓｓ：ＨＡ）を利用して過去のデータを収集することができる。
【００６３】
例えば、第２収集部２１４は、１時間単位で過去のデータを順に取得することができる。この場合、第２収集部２１４は、通信障害が発生した時刻と復旧した時刻とが１時間以上の場合に、第２収集部２１４が過去のデータを収集する構成としてもよい。なお、状態取得部２１２が取得した期間の長さが１時間未満の場合には、第１収集部２１３にデータを収集させる構成とすることができる。
【００６４】
次に、第１収集部２１３は、ＯＰＣ  ＵＡ通信により現在値を示すデータをＤＢ１１３から収集する（ステップＳ１３）。
【００６５】
その後、データ管理部２１５は、ステップＳ１２およびステップＳ１３で収集された過去のデータと現在値を示すデータのコピーを作成する（ステップＳ１４）。より詳細には、データ管理部２１５は、過去のデータおよび現在値を示すデータをＤＢ２１６に書き込む。
【００６６】
次に、ステップＳ１４でコピーが作成された過去のデータに付されたタイムスタンプの時刻が現在時刻に到達するまで（ステップＳ１５：ＮＯ）、ステップＳ１２からステップＳ１４を繰り返す。その後、コピーが作成された過去のデータに付与されているタイムスタンプの時刻が現在時刻に到達すると（ステップＳ１５：ＹＥＳ）、処理は終了する。
【００６７】
ここで、図７Ａから図８を参照して、ステップＳ１３における第１収集部２１３による現在値を示すデータの収集、および、ステップＳ１２における第２収集部２１４による過去のデータの収集について説明する。
【００６８】
図７Ａに示すように、サーバ装置１００のＤＢ１１３には、コントローラ４００によって制御されているノード「ＰＩ１０１」における１分周期のプロセスデータにタイムスタンプが付され時系列データとして蓄積されている。図７Ａの例では、現在時刻が１６：００であり、１０：００から１６：００までの期間にクライアント装置２００のＤＢ２１６に復旧されていないデータが存在する。
【００６９】
第１収集部２１３は、現在値を示すプロセスデータをＤＢ１１３から収集する（図６および図７ＡのステップＳ１３）。具体的には、図７Ａに示すように、例えば、現在時刻１６：００を含む直近２分間のデータを現在値を示すデータとしてＤＢ１１３から収集することができる。
【００７０】
一方、第２収集部２１４は、最も古い過去のデータである１０：００から１０：５９までの１時間単位のデータをＤＢ１１３から収集する（図６および図７ＡのステップＳ１４）。
【００７１】
第１収集部２１３および第２収集部２１４のそれぞれによって収集された現在値を示すデータおよび過去のデータは、データ管理部２１５によってＤＢ２１６に書き込まれてコピーが作成される（図６および図７ＡのステップＳ１４）。すなわち、クライアント装置２００には、現在値を示すデータとして１６：００から１５：５８までのデータと、過去のデータとして、１０：００から１０：５９までのデータのコピーが作成される。
【００７２】
図７Ｂは、現在時刻が１６：０１となったときの第１収集部２１３および第２収集部２１４によるデータが収集される様子を示している。第１収集部２１３は、図７Ｂに示すように、第１収集部２１３によって収集された現在時刻１６：０１のデータは、データ管理部２１５によってＤＢ２１６に格納され現在値を示すデータが更新される（図６および図７ＢのステップＳ１３、ステップＳ１４）。
【００７３】
一方、第２収集部２１４は、１１：００から１１：５９までの過去のデータをＤＢ１１３から収集する（図６および図７ＢのステップＳ１２）。
【００７４】
第１収集部２１３および第２収集部２１４のそれぞれによって収集された現在値を示すデータおよび過去のデータは、データ管理部２１５によってＤＢ２１２に書き込まれ、コピーが作成される（図６および図７ＢのステップＳ１４）。すなわち、クライアント装置２００には、現在値を示すデータとして１６：０１のデータと、過去のデータとして、１１：００から１１：５９までのデータのコピーが作成される。
【００７５】
このように、過去のデータのタイムスタンプが示す時刻が現在時刻に到達するまで第２収集部２１４および第１収集部２１３はデータを収集する。
【００７６】
図８は、第１収集部２１３および第２収集部２１４の動作を説明する図である。図８の横棒は上段から下段に時間が経過するにしたがって、サーバ装置１００によって取得されている未復旧のデータが第１収集部２１３および第２収集部２１４によって収集され、最終的に全て復旧される様子を表している。
【００７７】
図８の横軸は現在時刻を示し、縦軸はデータのコピーの作成が完了した時刻を示している。データａ１は未復旧のデータ、データａ２は収集されるデータ、およびデータａ３はコピーの作成が完了した収集済みのデータを示している。現在時刻１６：００の時点では、１０：００から１６：００までの期間のデータａ１が未復旧である。
【００７８】
第１収集部２１３は、現在時刻１６：００を含むデータを現在値を示すデータとして新たに収集する（コピー完了時刻１０：５９のデータａ２）。一方、第２収集部２１４は、現在時刻１６：００の時点で未復旧のデータａ１のうち最も古い過去のデータを１時間単位で収集する（コピー完了時刻１０：５９の１０：００から１０：５９までのデータａ２）。
【００７９】
このように、第１収集部２１３および第２収集部２１４は、現在値を示すデータおよび１時間単位の過去のデータを収集してコピーの作成を繰り返す。その後、現在時刻１６：１０とデータのコピーの作成が完了した時刻１６：１０とが一致しているので、データの復旧は完了している。
【００８０】
なお、第２収集部２１４が収集した過去のデータと第１収集部２１３が収集した現在値を示すデータとが重複する場合には、データ管理部２１５はデータの上書きをしない構成とすることができる。
【００８１】
図９は、図８と同様に時刻が１６：００の時点では、１０：００から１６：００までのデータが未復旧であり、第１収集部２１３および第２収集部２１４は、それぞれ現在値を示すデータおよび１時間単位の過去のデータを繰り返し収集している様子を示している。
【００８２】
図９では、１６：０５の時点で再びネットワークＮＷ１で通信障害が発生し、１６：３０にネットワークＮＷ１が復旧している。現在時刻が１６：３０の時点で、新たに１６：０５から１６：２９までの期間のデータのコピーが作成されていない未復旧のデータａ１として発生する。
【００８３】
図９に示すように、ネットワークＮＷ１が復旧した時刻１６：３０から再び第１収集部２１３および第２収集部２１４はデータの収集を再開する。例えば、図９において期間ｂでは、第１収集部２１３が現在値を示すデータとしてすでに収集してコピーの作成が完了しているデータを含む。この場合、第２収集部２１４が期間ｂに含まれる１時間単位の過去のデータとして収集したデータのうち書き込みが重複するデータに関しては、データ管理部２１５は上書きをしない。
【００８４】
このような構成とすることで、計算量を減少させ処理をより高速化することが可能となる。
【００８５】
以上説明したように、本実施の形態に係るデータ収集システムによれば、未復旧のデータのうち最も古い過去のデータを設定された時間単位で順に収集し、これと並行して、現在値を示すデータの収集を行うので、過去のデータを収集している場合であっても現在値を示すデータを参照することができる。
【００８６】
また、時刻情報に基づいてデータの収集を行うので、より確実に未復旧のデータを収集することができる。
【００８７】
なお、説明した実施の形態において、第１収集部２１３および第２収集部２１４によって実行されるデータの収集は同時に行う必要はない。
【００８８】
以上、本発明のデータ収集システムおよびデータ収集方法における実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
【符号の説明】
【００８９】
１００…サーバ装置、１１０，２１０，４１０…送受信部、１１１，２１１，４１３…計時部、１１２，２１３…第１収集部、１１３，２１６，４１２…ＤＢ、２００…クライアント装置、２１２…状態取得部、２１４…第２収集部、２１５…データ管理部、２１７…表示部、２１８…入力部、３００…ＯＰＣサーバ、４００…コントローラ、４１１…制御部、５００…フィールド機器、ＮＷ１、ＮＷ２…ネットワーク、ＮＷ３…制御ネットワーク、２０１…バス、２０２…プロセッサ、２０３…主記憶装置、２０５…補助記憶装置、２０６…入出力Ｉ／Ｏ、２０７…時計、２０８…入力装置、２０９…表示装置。
【図１】
2020181533.tif 000003
【図２】
2020181533.tif 000004
【図３】
2020181533.tif 000005
【図４】
2020181533.tif 000006
【図５】
2020181533.tif 000007
【図６】
2020181533.tif 000008
【図７Ａ】
2020181533.tif 000009
【図７Ｂ】
2020181533.tif 000010
【図８】
2020181533.tif 000011
【図９】
2020181533.tif 000012
【図１０】
2020181533.tif 000013