以下、図面を参照し、この発明の実施形態について説明する。
<第1実施形態>
図1はこの発明の第1実施形態であるデータ収集装置20を含む遠隔監視システム100の構成を示すブロック図である。この遠隔監視システム100において、制御システム10は、例えばプラントの遠隔監視および遠隔制御を行うシステムである。
図1には、制御システム10の制御ネットワークであるLAN11_1、11_2と、IOネットワークであるLAN11_3が例示されている。図1に示す例では、制御ネットワークであるLAN11_1および11_2にノード装置12_1_1〜12_1_6、12_2_1〜12_2_2が接続されている。これらのノード装置は、オペレータによって操作されるHMI(Human Machine Interface;人間−機械インタフェース)端末、DCS(Distributed Control System:分散型制御システム或いは分散型制御装置)やPLC(Programmable Logic Controller;プログラマブルロジックコントローラ)といったコントローラ等である。
また、図1に示す例では、IOネットワークであるLAN11_3にノード装置12_3_1〜12_3_3が接続されている。これらのノード装置はIO機器である。ここで、IO機器には、プラントを構成する各種の機械やプラントの各所に設置されたセンサが接続されている。
コントローラは、IO機器に接続されたセンサの出力信号をIOネットワークおよび制御ネットワークを介して収集することによりプラント内の遠隔監視を行う。また、コントローラは、制御ネットワークおよびIOネットワークを介してIO機器に接続された各種の機械に制御データを供給することにより遠隔制御を行う。
制御システム10の各ノード装置は、例えば各々のCPUの負荷率等、各々の動作状態を検出して、その動作状態を示す情報を生成する機能を備えている。
また、本実施形態では、制御システム10を構成するノード装置の全てまたは一部について、各ノード装置の周囲温度、湿度等の動作環境を検出するための各種のセンサが設けられている。図1には、このノード装置の動作環境を検出するためのセンサの例として、温度センサ12S_1、湿度センサ12S_2、腐食ガスセンサ12S_Nが示されている。これらのセンサは、環境データ収集用ネットワーク11Sに接続されている。
本実施形態における遠隔監視システム100は、制御システム10の制御対象であるプラント等ではなく、この制御システム10自体、具体的には、制御システム10を構成するHMI端末、データベース、コントローラ、IO機器といった各種のノード装置、制御ネットワーク、IOネットワーク、制御ネットワークおよびIOネットワークのための通信モジュール等の構成機器を遠隔監視の対象とするものである。
そして、遠隔監視システム100は、遠隔監視のための手段として、本実施形態によるデータ収集装置20を有する。このデータ収集装置20は、制御システム10の構成機器であるノード装置に関する稼働データKDを収集する装置である。ここで、稼働データKDには、ノード装置のCPUの負荷率等、ノード装置の動作状態を示すデータと、ノード装置の周囲温度等、ノード装置の動作環境を示すデータがある。データ収集装置20は、LAN11_1、11_2といった制御システム10の制御ネットワークと、LAN11_3といった制御システム10のIOネットワークを介して制御システム10の各ノード装置の動作状態を示す稼働データKDを収集するとともに、環境データ収集用ネットワーク11Sを介して制御システム10の各ノード装置の動作環境を示す稼働データKDを収集し、データ蓄積装置40等の外部記憶装置に格納する。
支援ツール30は、定義データをオペレータがデータ収集装置20に入力するために使用される手段であり、パーソナルコンピュータ等により構成されている。ここで、定義データとは、データ収集の対象であるLANの識別情報、当該LANにおけるデータ収集の対象ノードの識別情報、データ収集の対象である稼働データ(ノード装置の動作状態、動作環境を示すデータ)の識別情報、当該稼働データを対象ノードから読み出すのに使用するアドレス、当該稼働データのサイズ、当該稼働データの収集周期等を定義した情報である。データ収集装置20は、この支援ツール30により入力される定義データに従って、制御システム10から稼働データを収集し、データ蓄積装置40等の外部記憶装置に格納する。
本実施形態による遠隔監視システム100は、以上の各装置の他に、インターネットに接続されたクラウドサービス業者のサーバ61と、パーソナルコンピュータ等により構成された分析装置62を含む。このサーバ61と分析装置62は、ルータ50を介してデータ収集装置20およびデータ蓄積装置40に接続される。
データ収集装置20は、制御システム100の各ノード装置の稼働データの格納先として、データ蓄積装置40またはサーバ61を任意に選択することができる。データ収集装置20は、各ノード装置の稼働データをデータ蓄積装置40またはサーバ61の一方のみに記憶させてもよく、両方に重複して記憶させてもよい。あるいはデータ収集装置20は、ある種類の稼働データはデータ蓄積装置40に、残りの種類の稼働データはサーバ61に、という具合に稼働データの種類により格納先を選択してもよい。あるいは現時点までの短期間に収集した稼働データをデータ蓄積装置40に、長期間に亙る稼働データをサーバ61に格納してもよい。
分析装置62は、サーバ61またはデータ蓄積装置40に記憶された稼働データの分析を行う装置である。この分析装置62によれば、サーバ61またはデータ蓄積装置40に記憶された各種の稼働データの分析を行うことにより、各種の稼働データのトレンドを調べ、制御システム100における故障の予兆を捉えることができる。また、分析装置62によれば、制御システム100に何らかの故障が発生した場合に、サーバ61またはデータ蓄積装置40に記憶された各種の稼働データの分析を行うことにより、その故障の原因を調べることができる。
以上が遠隔監視システム100の構成である。
図2は本実施形態によるデータ収集装置20の構成を示すブロック図である。図2に示すように、データ収集装置20は、通信モジュール実装部21と、データ収集処理部22と、時計部23と、収集管理部24と、データ格納部25と、支援ツール接続部26とを有する。
通信モジュール実装部21には、制御システム10からデータ収集を行うための手段として、任意の個数の通信モジュールを実装可能である。図2に示す例では、N個(この例ではNは4以上の整数)の通信モジュール21_1〜21_Nが通信モジュール実装部21に実装されている。ここで、通信モジュール21_1〜21_3は図1のLAN11_1〜11_3に、通信モジュール21_Nは図1の環境データ収集用ネットワーク11Sに接続されている。各通信モジュール21_1〜21_Nは、各々の接続先であるネットワークを経由した通信を行う。本実施形態では、各通信モジュール21_1〜21_Nの出力端子は共通のバスに接続されており、このバスは、データ収集処理部22の入力端子に接続されている。各通信モジュール21_1〜21_Nは、各々の接続先であるネットワークを介してデータを受信した場合に、バスの使用権を獲得し、バスを介して受信データをデータ収集処理部22に供給する。
本実施形態における通信モジュール実装部21には任意の個数の通信モジュールを実装可能であるので、監視対象である制御システム10に合わせて、適切な個数の通信モジュールを組み合わせて通信モジュール実装部21に実装すればよい。
支援ツール接続部26には、外部の支援ツール30(図1参照)が接続される。支援ツール接続部26は、この支援ツール30を介して入力される定義データを収集管理部24に格納する。
時計部23は、図示しないNTP(Network Time Protocol)サーバとの通信を行うことにより、現在時刻を管理し、現在時刻を示すデータであるタイムスタンプをデータ収集処理部22に供給する装置である。
データ収集処理部22は、収集管理部24内の定義データに従って、制御システム10(図1参照)内のノード装置宛てに稼働データを要求するメッセージを送り、それに応じてメッセージの宛先であるノード装置から送信される稼働データを受信し、タイムスタンプを付加して出力する。具体的には、次の通りである。
まず、収集管理部24内に、ある稼働データについて、その稼働データを保持するノード装置が属するLANの識別情報、当該ノード装置の識別情報、当該稼働データの識別情報、当該稼働データのアドレス、当該稼働データのサイズ、当該稼働データの収集周期を示す定義データが格納されていたとする。
この場合、データ収集処理部22は、定義データが示す収集周期をタイマに設定し、タイマに収集周期の計時を繰り返し行わせる。そして、データ収集処理部22は、タイマが収集周期の計時を終える都度、定義データが示すLANの識別情報に基づいて、当該稼働データを保持するノード装置が属するLANに接続された通信モジュールを選択して使用し、定義データに定義されたノード装置の識別情報、当該稼働データの識別情報、当該稼働データのアドレス、当該稼働データのサイズを含むデータ要求メッセージを送信する。そして、データ収集処理部22は、データ要求メッセージの宛先であるノード装置から送られてくる稼働データを上記通信モジュールにより受信し、タイムスタンプを付加して出力するのである。
データ収集処理部22は、以上のようなデータ収集処理を収集管理部24内の各定義データについて実行する。
なお、以上では、データ収集処理部22が1種類のデータ収集処理のアプリケーションを実行する場合について説明した。しかし、稼働データの収集対象であるネットワークが複数ある場合、あるいはデータ収集のための手段(共有メモリ方式、メッセージ方式等)を複数種類利用する場合には、データ収集処理部22は、それらの各場合に対応した複数種類のデータ収集処理のアプリケーションを立ち上げることになる。
データ格納部25は、データ収集処理部22が出力する稼働データをデータ蓄積装置40またはクラウド上のサーバ61に格納する。稼働データの格納先については、支援ツール接続部26に接続された支援ツール30の操作により指定可能である。
以上がデータ収集装置20の構成である。
本実施形態によれば、制御システム10がプラントの遠隔監視および遠隔制御を行っている間、データ収集装置20により、制御システム10の各ノード装置の稼働データが自動的に収集され、データ蓄積装置40またはクラウド上のサーバ61に格納される。従って、本実施形態によれば、分析装置62がサーバ61またはデータ蓄積装置40に記憶された各種の稼働データの分析を行うことにより、各種の稼働データのトレンドを調べ、制御システム100における故障の予兆を捉えることができる。
また、本実施形態によれば、制御システム100に何らかの故障が発生した場合に、分析装置62がサーバ61またはデータ蓄積装置40に記憶された各種の稼働データの分析を行うことにより、その故障の原因を調べることができる。この場合、故障の前後における稼働データがサーバ61またはデータ蓄積装置40に記憶されているので、それらの稼働データを利用して、容易に故障原因を調べることができる。
また、本実施形態によれば、データ収集装置20に複数の通信モジュールを装着し得るようにしたので、制御システム10が複数のLANを有する場合に、それらのLANを対象とした稼働データの収集が可能となる。
また、本実施形態による遠隔監視システム100は、データ収集装置20、支援ツール30等を導入することにより、制御システム10が既に運転中である場合に、この制御システム10に変更を加えることなく構成することができ、容易に低コストでの導入を行うことができる。
なお、以上説明した実施形態では、1つの制御システム10に対して、1台のデータ収集装置20を設けたが、複数台のデータ収集装置20を設け、データ収集装置20の負荷分散を図ってもよい。また、以上説明した実施形態では、データ収集装置20は、環境データ収集用ネットワーク11Sを介してノード装置の動作環境を示す稼働データKDを収集した。しかし、この環境データ収集用ネットワーク11Sを設けず、その代わりに制御システム10の構成機器であるノード装置に当該ノード装置の動作環境を示す稼働データKDを生成する機能を設け、データ収集装置20が、ノード装置の動作状態を示す稼働データKDおよび動作環境を示す稼働データKDの両方を制御ネットワークやIOネットワークを介して収集するようにしてもよい。
<第2実施形態>
図3はこの発明の第2実施形態によるデータ収集装置20Aの構成を示すブロック図である。本実施形態によるデータ収集装置20Aは、上記第1実施形態における環境データ収集用ネットワーク11Sに相当するものを利用せず、制御システム10の構成機器であるノード装置自体から当該ノード装置の動作状態を示す稼働データKDや動作環境を示す稼働データKDを制御ネットワークやIOネットワークを介して収集する。
上記第1実施形態において、データ収集装置20は、支援ツール30等により作成された定義データにより定められた構成機器から同定義データにより定めされた収集条件で稼働データの収集を行った。この場合、制御システム10毎に定義データを作成する必要があるため、制御システム10に遠隔監視システム100を新規に導入する度に、定義データを作成するためのコストが発生する問題がある。また、既に遠隔監視システム100が導入されている制御システム10に新規に構成機器が導入された場合に、その機器も遠隔監視の対象とするために改めて定義データを作成する必要があり、そのためのコストが発生する。また、制御システム10の規模が大きく、複数台のデータ収集装置20を導入する場合には、個々のデータ収集装置20に固有の定義データを作成する必要があり、そのためのコストが発生する。本実施形態によるデータ収集装置20Aは、以上のような問題を解決すべく案出されたものである。
図3に示すように、本実施形態によるデータ収集装置20Aでは、上記第1実施形態における収集管理部24(図2参照)が構成機器検出部241および定義データ生成部242を備えた収集管理部24Aに置き換えられている。
ここで、構成機器検出部241は、通信モジュール21_1〜21_Nを介して制御システム10(図1参照)の各LANに接続されたノード装置を認識し、制御システム10を構成するノード装置を示す機器構成データを生成する手段である。また、定義データ生成部242は、構成機器検出部241が生成した機器構成データに基づいて、各種の稼働データについての定義データを生成する手段である。
データ収集処理部22等のデータ収集装置20A内の他の装置は、上記第1実施形態と同様である。
以上が本実施形態の構成である。
次に本実施形態の動作について説明する。本実施形態において、データ収集装置20Aの構成機器検出部241は、制御システム10の起動時に一定時間、通信モジュール21_1〜21_Nを介して制御システム10内の各ネットワークを監視し、各ネットワークに接続されたノード装置とその機種を検知する。この検知の方法はネットワークの種類に依存するが、例えば、制御システム10のネットワークがトークンパッシング方式のネットワークであれば、トークンを出すノード装置を一定周回監視する、等の方法が考えられる。構成機器検出部241は、このようにして検知したノード装置とその機種を示す機器構成データを生成する。定義データ生成部242は、この構成機器検出部241が生成した機器構成データに基づいて、各種の稼働データの定義データを生成する。そして、データ収集処理部22は、この定義データに従って、制御システム10内の各ノード装置の稼働データを収集するのである。構成機器検出部241は、制御システム10の運用中も常時ネットワークを監視し、構成する機器の増減があった場合には、機器構成データを随時変更する。これにより定義データも機器構成データに合わせて変更される。
次に本実施形態の第1の動作例を説明する。まず、制御システム10が例えば図4に示す構成を有しているものとすると、構成機器検出部241は、図5に示すような機器構成データを生成する。図5に示すように、機器構成データは、制御システム10を構成するノード装置とその機種のリストにより表すことができる。図5において、ネットワーク局番とは、当該ノード装置が属するネットワークにおいて当該ノード装置を一意に識別するための識別情報であり、機種は当該ノード装置の機種である。なお、機器構成データには、図5に示すものの他、当該ノード装置が属するネットワークの識別情報も含まれているが、図面が煩雑になるのを防ぐため、その図示が省略されている。
定義データ生成部242は、図6に示されるような制御システム10の構成機器の機種毎に稼働データの収集条件、具体的には収集対象である稼働データの種類と収集周期を定義した機種対応定義データを参照することにより、機器構成データ(図5)から定義データを生成する。図6によると、機種対応定義データは、機種がコントローラであるノード装置については、CPU温度を1分の収集周期で収集し、伝送エラー回数を5分の収集周期で収集することを示している。そこで、定義データ生成部242は、ネットワーク局番が1、2、3である各コントローラについて、当該コントローラが属するネットワークの識別情報、当該コントローラの局番と、CPU温度を示す識別情報と、1分の収集周期とを示す定義データを生成する。また、定義データ生成部242は、ネットワーク局番が1、2、3である各コントローラについて、当該コントローラが属するネットワークの識別情報、当該コントローラの局番と、伝送エラー回数を示す識別情報と、5分の収集周期とを示す定義データを生成する。
定義データ生成部242は、図5において機種がHMI端末であるノード装置、機種がDBであるノード装置についても同様に定義データを生成する。
また、構成機器検出部241は、常時、制御システム10のネットワークを監視し、機器の増減があった場合には図5の機器構成データを更新する。例えば、ネットワークに局番4のコントローラが追加されたとき、図5の機器構成データを更新する。そして、定義データ生成部242は、更新された機器構成データから定義データを生成する。
次に本実施形態の第2の動作例を説明する。制御システム10が多数のノード装置を備えていると、データ収集装置20Aの負荷が大きくなる。そこで、遠隔監視システムに設置するデータ収集装置20Aの台数を増やし、データ収集装置20Aの1台当たりの負荷を軽減することが必要になる。
図7に示す例では、制御システム10内に2台のデータ収集装置が設けられている。このような場合、本実施形態では、制御システム10の各ノード装置からの稼働データの収集処理を2台のデータ収集装置が分担して実行する。その際、2台のデータ収集装置は、重複や漏れがないように、各々がデータ収集処理を受け持つノード装置を決定する。すなわち、同一ネットワークに接続されたデータ収集装置以外の全てのノード装置の各々について、2台のデータ収集装置の一方のみがデータ収集を受け持つのである。
このようなデータ収集処理の分担を可能にするため、本実施形態によるデータ収集装置20Aは、次の各手順を実行する。
手順1:データ収集装置20Aの構成機器検出部241は、起動時に一定時間、データ収集装置20Aが接続されたネットワークを監視し、構成する機器とその機種を検知すると同時に、同ネットワーク内に存在するデータ収集装置を検知する。
手順2:データ収集装置20Aの定義データ生成部242は、ネットワーク内に存在しているデータ収集装置の台数に応じて、データ収集の対象機器を決定し、データ収集のための定義データを生成する。データ収集処理部22は、この定義データに従って稼働データの収集処理を実行する。
手順3:データ収集装置20Aの構成機器検出部241は、制御システム10の運用中も常時ネットワークを監視し、ネットワーク内のデータ収集装置の増減があった場合には、機器構成データを更新する。また、データ収集装置20Aの定義データ生成部242は、更新後の機器構成データに合わせて定義データを更新する。
以下、上記各手順の適用例について説明する。
まず、局番51のデータ収集装置が先に制御システム10のネットワーク上に存在しており、局番52のデータ収集装置が新たに同ネットワークに接続され、起動されたとする。
この場合、局番52のデータ収集装置20Aの構成機器検出部241は、ネットワークに接続された他のノード装置を検出し、図8に示す機器構成データを生成する(手順1)。図8に示すように、この局番52のデータ収集装置20Aにおいて生成される機器構成データは、局番51のデータ収集装置に関する情報を含んであり、局番52のデータ収集装置20Aの接続されたネットワークに当該データ収集装置20Aを含めて合計2台のデータ収集装置20Aが接続されていることを示している。
そこで、局番52のデータ収集装置20Aの定義データ生成部242は、機器構成データが示す局番51のデータ収集装置20A以外の全ノード装置の半分を収集対象とする定義データを生成し、データ収集処理部22にこの定義データに従って稼働データの収集を行わせる(手順2)。
同一ネットワークに接続された2台のデータ収集装置20Aへのデータ収集対象の割り当て方には、各種の方法があるが、例えば次の2つの方法が考えられる。
方法1:ネットワークに接続されたデータ収集装置以外のノード装置の局番を番号の小さい順に並べ、前半の局番のノード装置を元々ネットワークに接続されていたデータ収集装置が受け持ち、後半の局番のノード装置を新たにネットワークに接続されたデータ収集装置が受け持つ。
方法2:ネットワークに接続されたデータ収集装置以外のノード装置の局番を奇数と偶数に分け、奇数の局番のノード装置を元々ネットワークに接続されていたデータ収集装置が受け持ち、偶数の局番のノード装置を新たにネットワークに接続されたデータ収集装置が受け持つ。
この動作例において、ネットワークに新たに接続された局番52のデータ収集装置20Aの定義データ生成部242は、上記方法2に従って、当該データ収集装置20Aの収集対象とするノード装置を決定し、定義データを生成する。図9はこの局番52のデータ収集装置20Aの定義データ生成部242が生成した定義データの内容を示すものである。この図9において、TRUEは収集対象とするノード装置を示し、FALSEは収集対象から除外したノード装置を示している。このように新たにネットワークに接続された局番52のデータ収集装置20Aでは、偶数の局番2、32、64のノード装置を収集対象とする定義データが生成される。
一方、元々ネットワークに接続されていた局番51のデータ収集装置20Aの構成機器検出部241は、ネットワークを常時監視している。そして、局番52のデータ収集装置20Aがネットワークに接続されたとき、局番51のデータ収集装置20Aでは、構成機器検出部241が機器構成データを更新し、定義データ生成部242は、この機器構成データの更新に合わせて定義データを更新する。
ここで、更新後の機器構成データは、局番52のデータ収集装置20Aに関する情報を含んでいるので、局番51のデータ収集装置20Aの定義データ生成部242は、ネットワークに自装置を含めて2台のデータ収集装置20Aが接続されたことを検知する。
そこで、局番51のデータ収集装置20Aの定義データ生成部242は、上記方法2に従って、同データ収集装置20Aの収集対象とするノード装置を決定し、定義データを生成する。図10はこの局番51のデータ収集装置20Aの定義データ生成部242が生成した定義データの内容を示すものである。この図10に示すように、元々ネットワークに接続されていた局番51のデータ収集装置20Aでは、奇数の局番1、3、31のノード装置を収集対象とする定義データが生成される。
以上、同一ネットワークに2台のデータ収集装置20Aが接続された場合を例に第2の動作例を説明したが、同一ネットワークに接続可能なデータ収集装置20Aは2台以内に限定されるものではない。本実施形態では、同一ネットワークに接続されるデータ収集装置20Aの台数に応じて各データ収集装置20Aのデータ収集処理の分担方法を適切に定めることにより、3台以上のデータ収集装置20Aを同一ネットワークに接続し、データ収集処理を分担させることが可能である。
また、第2の動作例では、制御システム10が1つのネットワークを有する場合を例に動作を説明したが、制御システム10が複数のネットワークを有する場合には、それらのネットワーク毎に各データ収集装置20Aのデータ収集処理の分担を決定すればよい。
例えば第1のネットワークには、第1のデータ収集装置と第2のデータ収集装置が接続され、第2のネットワークには、第1のデータ収集装置のみが接続され、第3のネットワークには、第2のデータ収集装置のみが接続されていたとする。この場合、第2のネットワークのノード装置については、第1のデータ収集装置がデータ収集を行い、第3のネットワークのノード装置については、第2のデータ収集装置がデータ収集を行い、第1のネットワークのノード装置については、第1のデータ収集装置と第2のデータ収集装置とが分担してデータ収集を行う。そして、第1のネットワークのノード装置についてのデータ収集の分担方法は、上記第2の具体例において説明した通りである。
以上説明したように、本実施形態によれば、制御システム10毎に個別の定義データを作成する必要がなくなるので、その分だけ遠隔監視システムの導入コストを低減することができる。また、制御システム10において、稼働データの収集対象となるノード装置が増減した場合に、定義データが自動的に更新されるので、定義データの再作成の必要がなく、柔軟に収集対象を変更してデータ収集を継続的に実行することができる。また、データ収集装置を複数台導入した際に、自動的に負荷分散が行われ、この際の導入コストも削減することが可能となる。
<第3実施形態>
ネットワークの各ノード装置からのデータを1カ所に集めるデータ収集の態様として、共有メモリ方式と通信メッセージ方式とがある。共有メモリ方式とは、対象機器がネットワーク上の全機器に向けて送信するデータを、データ収集装置でも受信する方法である。この場合、対象機器の処理負荷やネットワークの通信負荷は、データ収集装置の有無により変化しない、という特徴がある。一方、メッセージ方式とは、データ収集装置が対象機器に対してデータ取得の要求メッセージを送信し、対象機器が送信する応答メッセージに収集データを載せる方式である。この場合、データ収集装置が送信する要求メッセージが増大すると、対象機器の処理負荷やネットワークの通信負荷も増大する、という特徴を有する。
上記第1実施形態または第2実施形態によるデータ収集装置のデータ収集の態様としてメッセージ方式を採用する場合、故障予知診断の精度向上のために要求メッセージの送信頻度を増加させたいという要求が発生する。しかしながら、ネットワーク負荷や対象機器の処理負荷を考慮すると、要求メッセージの送信頻度を減少させたいという先の要求と相反する要求が生じる。
また、メッセージ方式を採用した場合、制御システムの故障のリスクが低い状態でも高頻度でデータ収集を行うと、蓄積されるデータ量が必要以上に増大する問題がある。
そこで、本実施形態では、次のような手段によりこれらの問題に対処する。
(1)データ収集装置は、収集対象からの稼働データの収集を低頻度の一定周期(例:1回/1時間)でメッセージ方式により行う。
(2)データ収集装置は、収集対象のノード装置の周辺の環境情報を取得する。具体的には、前掲図1の環境データ取得用ネットワーク11Sを介して、温度、湿度、腐食性ガス濃度等のデータを取得する。なお、この際の収集手段は問わない。例えば環境データ取得用ネットワーク11Sを利用する代わりに、各ノード装置から制御ネットワークやIOネットワークを介して環境に関するデータを取得してもよい。
(3)データ収集装置は、収集対象のノード装置の稼働データとして累積稼働時間を示す情報を取得する。なお、この際の収集手段は問わない。収集対象のノード装置内で管理している累積稼働時間情報を取得してもよいし、データ収集装置にて収集対象のノード装置の稼働状況を定期的にチェックし累積稼働時間を得てもよい。
(4)データ収集装置は、収集対象であるノード装置の故障予兆と関係するデータを収集する。例えば通信のエラーリトライカウンタ等が考えられる。
(5)データ収集装置は、(2)(3)(4)で集めた情報を元に、稼働データの収集周期に関する判断を行う。これにより、収集対象のノード装置の故障のリスクが高くなった、と判断された場合には、稼働データの収集を高頻度(例:1回/5分)で行うように収集周期を変更する。
図11はこの稼働データの収集周期に関する判断のフローを示すフローチャートである。本実施形態によるデータ収集装置が例えば上記第2実施形態のデータ収集装置20Aのような構成を有するものとする。この場合、前掲図3の定義データ生成部242が定義データに定義された稼働データ毎に図11に示す判断処理を定期的に繰り返す。すなわち、定義データが示す1つの稼働データについて、その収集対象であるノード装置の累積稼働時間が5年以上か否かの判断(ステップS1)、環境温度が45℃以上か否かの判断(ステップS2)、環境湿度が70%以上か否かの判断(ステップS3)、腐食性ガスH2Sの濃度が1ppb以上か否かの判断(ステップS4)、通信リトライ回数が1回/日以上か否かの判断(ステップS5)を行い、全ての判断結果が「NO」である場合には、当該稼働データの収集周期を十分に長い標準周期(例えば1時間)とし(ステップS6)、いずれかの判断結果が「YES」となった場合には、当該稼働データの収集周期を標準周期よりも短い周期(例えば5分)とするのである(ステップS7)。
この図11の収集周期についての判断フローは、1つの稼働データについてのものである。制御システム全体の安全性を考慮すると、この判断フローに用いられている判断基準(ステップS1〜S6の内容)や閾値(例えばステップS1の5年)を稼働データの種類により変えることが好ましい場合がある。そこで、好ましい態様では、次のような判断基準や閾値の設定手段がデータ収集装置に設けられる。オペレータは、これらの設定手段のうち所望のものを選択可能である。
a.制御システム10を構成する全ノード装置について統一した判断基準や閾値を使用する。
b.収集対象であるノード装置の種別毎(コントローラかHMI端末か等)や、各種別の機種毎(コントローラの機種等)に使用する判断基準や閾値を支援ツール30(図1参照)等から設定する。
c.収集対象であるノード装置毎に使用する判断基準や閾値を支援ツール30(図1参照)等から設定する。すなわち、種別や機種が同じであっても、ノード装置が異なれば、各ノード装置について別個に判断基準や閾値を設定する。
このように、制御システム全体、構成機器(ノード装置)の種別毎、構成機器の機種毎、構成機器毎の各階層に対して、稼働データの収集周期を切り換えるための判断基準または閾値を設定可能であるので、制御システムの状況に応じた頻度でデータ収集を行うことが可能になり、より高精度な故障予知の診断を行うことが可能となる。
以上のように、本実施形態によれば、メッセージ方式を利用して稼働データの収集を行うデータ収集装置において、通常時のネットワーク負荷や収集対象のノード装置の処理負荷を低減しつつ、収集対象のノード装置の故障リスクが高まると考えられる条件においては、故障予知診断の精度を向上させることが可能となる十分な頻度で稼働データの収集を行うことができる、という効果が得られる。
<第4実施形態>
上記第1〜第3実施形態において、データ収集装置は、各ネットワークを経由して多数、大量の稼働データを集め、それを外部記憶装置(前掲図1ではデータ蓄積装置40またはサーバ61)に格納する。そして、分析装置62は、外部記憶装置に格納された稼働データを解析する場合に、同種別のデータを時系列に参照することが多い。このため、外部記憶装置にデータ種別毎のフォルダを設け、稼働データをデータ種別毎に各フォルダに格納するのが一般的である。従って、1つのフォルダには同種別の多数のデータファイルが格納されることになる。
一方、稼働データは、各々のデータ種別に応じて決められた周期により収集する必要がある。そして、外部記憶装置へのファイル書込み時間により、このデータ収集周期が影響を受けないようにする必要がある。このため、データ収集処理から外部記憶装置への書込み処理の間にデータキューを用いる方法(例えば前掲図2または図3のデータ収集処理部22内にデータキューを設ける方法)が一般的に使用される。
しかしながら、各ネットワークからのデータ収集性能に比べ、一般的に外部記憶装置へのデータ格納は低速である。従って、ある限度を越えたレートで各ネットワークからのデータ収集が行われると、データキューがオーバフローし、データ欠落が発生する。このようなデータ欠落を防ごうとすると、データキューへのデータ書き込み速度が外部記憶装置への格納性能を越えないように、データ収集性能を制限する必要が生じるという問題がある。この問題への対処法として、データキューの格納データを外部記憶装置へ書き込む手段を複数設けることも考えられる。しかし、組込み装置であるデータ収集装置ではリソースの制限などによりこの対処法の適用に制限が存在する。
また、遠隔監視システムで収集対象とする稼働データは、多くの種類があるものの、各データ種別毎のサイズは小さく数ワードから1キロワード位が一般的である。そして、最終的に外部記憶装置上の1つのフォルダに同一データ種別の稼働データがファイルとして格納される。この場合、収集時のサイズで1ファイルを格納することになる。従って、長時間に亙って稼働データの収集・格納をした場合、極端に多いファイル数の小さなファイルが外部記憶装置に格納されることになる。この状況で、分析装置62などから外部記憶装置を参照すると操作応答性が極端に悪化するという問題がある。一方、実用的なファイル数とするならば、データの収集・蓄積期間の制約が生じる。
本実施形態は、稼働データの収集に関する次の特徴を利用して、以上の問題の解決を図ったものである。
(1)1つのデータ種別に属する稼働データのデータサイズは一定で変化するものではない。
(2)外部記憶装置へのデータ書込み時間は、稼働データのデータサイズに比例しない。
上記特徴(2)について、外部記憶装置にNAS(Network Attached Storage;ネットワーク接続ストレージ)を用いた場合のデータ書込み性能を測定した結果の一例を図12に示す。図12は、外部記憶装置に対して格納データサイズ毎のデータ格納時間を測定した結果であるが、データサイズが10倍になっても格納時間が10倍になるわけではないことが分かる。どの機種の場合においとも、100wordのデータを格納する時間と、サイズが1000倍である100kwordのデータを格納する時間を比べても10%ほどの増加に過ぎない。すなわち、外部記憶装置への格納において、データサイズを大きくすることが有利であることが分かる。よって、複数個の稼働データをまとめて1つの大きなファイルとして外部記憶装置に書き込むことが有効である。
そこで、本実施形態では、収集した稼働テータを種別毎にまとめて管理し、1回の書込み処理で外部記憶装置に格納するファイルサイズを自動的にチューニングすることで、外部記憶装置に対しての書込み性能を向上させる。
図13は本実施形態によるデータ収集装置20Bの構成を示すブロック図である。なお、この図13において、上記第1実施形態の収集管理部24に相当するもの等、データ収集処理部22Aおよびデータ格納部25以外の要素は、図面が煩雑になるのを防止するため、図示が省略されている。
本実施形態によるデータ収集装置20Bは、データ収集処理部22Aを有する。このデータ収集処理部22Aは、入力処理部221と、データキュー222とを有する。データキュー222は、データ格納部25に供給する稼働データを一時的に記憶する手段である。入力処理部221は、通信モジュール21_1〜21_Nを介して収集される稼働データを含むデータブロックをデータキュー222に格納する手段である。さらに詳述すると、入力処理部221は、通信モジュールを介して収集された稼働データをデータキュー222に格納する際に、同一データ種別の稼働データを含むデータブロックがデータ格納部25に供給されずにデータキュー222内に残存しているか否かを確認し、残存していた場合には、その残存しているデータブロックに格納対象の稼働データを追加する。このとき新しい稼働データをデータブロック内の既存の稼働データの後ろに格納することにより時系列性を保持する。
なお、以上では、データ収集処理部22Aが実行する1種類のデータ収集処理のアプリケーションの内容について説明したが、稼働データの収集対象であるネットワークが複数ある場合、あるいはデータ収集処理のアプリケーション(共有メモリ方式、メッセージ方式等)を複数種類利用する場合には、データ収集処理部22Aは、それらの各場合に対応して、複数のデータキュー222を使用し、複数のデータ収集処理のアプリケーションを立ち上げることになる。
図14はデータキュー222に格納されるデータブロックの構成を示す図である。図14に示すように、データブロックは、リンク情報部と、収集データ管理部と、収集データ付随情報部と、収集データ本体とにより構成されている。
ここで、リンク情報部は、一般的なキューイング情報であり、自データブロックの前後のデータブロックアドレスなどを示す情報である。
収集データ管理部は、自データブロックに格納される稼働データに関する管理情報であり、データ種別番号と、データ長と、データ数の各情報を含む。
データ種別番号は、自データブロックに格納される稼働データを一意に特定する番号であり、一般的には支援ツール30からの定義により決定される。本実施形態では、このデータ種別番号により以下の情報が定まるようになっている。
・稼働データの収集先である収集対象ネットワーク
・稼働データを収集するための手段(共有メモリ通信、メッセージ通信など)
・稼働データの収集対象である構成機器
・収集対象である構成機器のメモリにおける稼働データのアドレス、サイズ、名称
・自データブロックを格納する外部記憶装置内のフォルダ
データ長は、収集データ付随情報部と収集データ本体を合わせたデータ長を示す情報である。また、データ数は、収集データ付随情報部と収集データ本体のセットの格納数を示す情報である。
収集データ付随情報部と収集データ本体の組は、稼働データがネットワークから収集される都度、データブロックに格納される情報である。これらのうち収集データ本体は、ネットワークから収集された稼働データそのものである。また、収集データ付随情報部は、収集データ本体となった稼働データがネットワークから収集された時刻を示すタイムスタンプ等を含む。
以下、図14に示すデータブロックの構成を踏まえて、データ収集処理部22Aの動作を詳細に説明する。
入力処理部221は、新たに収集された稼働データをデータキュー222にキューイングする場合、データキュー222に残存する各データブロックの収集データ管理部を参照し、同一データ種別の稼働データ(収集データ本体)を含むデータブロックがデータキュー222内に残存しているか否かを判断する。
そして、同一データ種別の稼働データ(収集データ本体)を含むデータブロックがデータキュー222内に残存していない場合、入力処理部221は、新たに収集された稼働データからなる収集本体と、その収集データ本体についての収集データ付随情報部と、リンク情報部と、収集データ管理部と、収集データ付随情報部とを生成する。そして、入力処理部221は、これらの生成した情報からなるデータブロックをデータキュー222に格納する。
これに対し、同一データ種別の稼働データ(収集データ本体)を含むデータブロックがデータキュー222内に残存している場合、入力処理部221は、新たに収集された稼働データからなる収集データ本体と、その収集データ本体についての収集データ付随情報部とを生成する。そして、入力処理部221は、この生成した収集データ付随情報部と収集データ本体のセットをデータキュー222内の同一データ種別の稼働データを含むデータブロックに追加する。その際、入力処理部221は、当該データブロック内の既存の収集データ付随情報部と収集データ本体のセットのうち最後尾のものの後に新たな収集データ付随情報部と収集データ本体のセットを追加する。また、入力処理部221は、当該データブロックの収集データ管理部のデータ数を1だけインクリメントし、追加した収集データ付随情報部と収集データ本体のセットのデータ長だけ収集データ管理部のデータ長を増加させる。
なお、以上のように収集データ付随情報部と収集データ本体のセットをデータブロック内に格納する代わりに、収集データ本体についてはデータキュー222内の空き領域に格納し、その空き領域のアドレスを当該収集データ本体とセットを構成する収集データ付随情報部内に格納するようにしてもよい。
データ格納部25は、外部記憶装置が利用可能な状態(外部記憶装置への書き込みが行われていない状態)になるのに応じて、データキュー222の中からデータブロックを取り出し、そのデータブロックの収集データ管理部以降の情報を同一データ構造のままに外部記憶装置内のデータ種別番号で特定されるフォルダにファイルとして格納する。
ここで、データキュー222の中に複数のデータブロックが残存している場合、データ格納部25は、例えば次のような基準に従ってデータキュー222から取り出すデータブロックを選択する。
a.全てのデータブロックについて、各々に含まれる収集データ付随情報部が示す稼働データの収集時刻が現時点から所定範囲内に収まっている場合には、データ数の最も多いデータブロックをデータキュー222から取り出す。
b.各データブロックの中に、収集データ付随情報部が示す稼働データの収集時刻が現時点から所定範囲内に収まっていないデータブロックがある場合、それらのデータブロックの中で収集時刻が最も古い稼働データを含むデータブロックをデータキュー222から取り出す。
図15は本実施形態における外部記憶装置の記憶状態を例示する図である。図15に示すように、外部記憶装置には、稼働データのデータ種別毎にフォルダFDが設けられている。そして、各フォルダFDには、同一種別の稼働データのファイルFLが1または複数格納される。ここで、各ファイルFDは、図14に示すデータブロックからリンク情報部を取り除いた内容となっている。
本実施形態において、分析装置62(図1参照)は、分析対象の稼働データを外部記憶装置から読み込む。この際、分析装置62は、分析対象の稼働データのデータ種別に対応するフォルダFDを特定し、そのフォルダFD内の多数のファイルFLを読み込む。図15に例示するように、フォルダFD内には収集データ本体(稼働データ)を1つのみを格納したファイルFD、複数の収集データ本体を格納したファイルFDが存在する。しかし、ファイル先頭の収集データ管理部に収集データ本体のデータ数など必要な情報があるため、分析装置62は、フォルダFD内の各ファイルFLの収集データ本体を同一の手順により読み込んで容易に展開することができる。
以上のように、本実施形態によれば、高速なデータ収集処理と低速なデータ格納処理の速度差をバッファリングすることが可能となり、この速度差によるデータ蓄積の欠落を抑制することができる。従って、収集データの増加、収集周期の高速化に貢献することができる。また、外部記憶装置に格納されるファイルには複数の稼働データがまとめて格納されるので、該当フォルダ下のファイル数を削減することができる。従って、分析装置から稼働データを参照・操作応答性が向上する。逆の観点から言えば、分析装置からの参照・操作応答性を維持しながら稼働データの収集および蓄積を行う期間を長くすることが可能となる。
<他の実施形態>
以上、この発明の各実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば、以下の通りである。
(1)上記第2実施形態において、データ収集装置20Aは、上記第1実施形態における環境データ収集用ネットワーク11Sを利用して、制御システム10の構成機器であるノード装置の動作環境を示す稼働データKDを収集してもよい。
この場合、データ収集装置20Aでは、環境データ収集用ネットワーク11Sを介して収集した稼働データKDが制御ネットワークまたはIOネットワークに接続されたノード装置のいずれに帰属するものであるかを識別する必要がある。そのような識別を可能にするための手段として例えば次のものが考えられる。すなわち、環境データ収集用ネットワーク11Sに接続されたセンサが、あるノード装置の動作環境を示す稼働データKDを生成するものである場合、データ収集装置20Aの構成機器検出部241がネットワーク上の構成機器を認識するために当該センサに識別情報等の送信を要求してきたときに、当該センサは自身の識別情報とともに当該ノード装置の識別情報を送信するのである。このようにすることで、データ収集装置20A側では、当該センサから収集される稼働データKDを当該ノード装置に帰属するものとして取り扱うことが可能になる。
(2)上記第4実施形態では、制御システムの構成機器の稼働データをデータ種別毎にまとめて外部記憶装置に格納した。しかし、稼働データ以外のデータ、例えば制御システムのコントローラがIOネットワークを介して収集するデータや制御ネットワークを介して制御対象の機器に供給する制御データ等のアプリケーションデータを収集し、このアプリケーションデータをデータ種別毎にまとめて外部記憶装置に格納するようにしてもよい。
(3)上記第1〜第4実施形態において、データ収集装置は、制御システム内の1またはネットワークを介して稼働データを収集したが、複数の制御システムに接続されたネットワークを介して各制御システムの稼働データを収集し、制御システム毎に外部記憶装置に稼働データを格納するようにしてもよい。