(57)【特許請求の範囲】
【請求項１】
機器からデータを収集するデータ収集処理の機能を実現するためのプログラムのモジュールを含む収集実行手段と、
予め設定された時点で前記モジュールについて求められた第１エラー検出符号と、前記データ収集処理の開始が指示された時点で前記モジュールについて求められた第２エラー検出符号とが一致する場合に前記収集実行手段が適正であると判別し、前記収集実行手段が適正であると判別すると、前記収集実行手段に前記データ収集処理を開始させる制御手段と、
を備える、
データ収集装置。
【請求項２】
前記制御手段は、前記第１エラー検出符号と、前記データ収集処理を開始させる指示の後に前記収集実行手段に含まれる前記モジュールについて求めた前記第２エラー検出符号と、が一致するか否かに応じて、前記収集実行手段が適正であるか否かを判別する、
請求項１に記載のデータ収集装置。
【請求項３】
前記制御手段は、前記第２エラー検出符号と前記第１エラー検出符号とが一致しない場合、前記収集実行手段が不適正であると判別し、前記収集実行手段に前記データ収集処理を開始させない、
請求項１または２に記載のデータ収集装置。
【請求項４】
前記第１エラー検出符号を記憶する個別情報記憶手段、
をさらに備える、
請求項１から３のいずれか１項に記載のデータ収集装置。
【請求項５】
複数の前記収集実行手段と、
前記収集実行手段それぞれに対応する複数の前記個別情報記憶手段と、
を備え、
前記個別情報記憶手段は、対応する前記収集実行手段に含まれる前記モジュールについて予め求められた前記第１エラー検出符号を記憶し、
前記制御手段は、ユーザにより前記データ収集処理の開始が指示された後であって、前記収集実行手段に前記データ収集処理を開始させる前に、前記収集実行手段に含まれる前記モジュールについて前記第２エラー検出符号を求め、前記第２エラー検出符号と、予め求められた前記第１エラー検出符号とが一致するか否かに応じて、前記収集実行手段が適正であるか否かを判別する、
請求項４に記載のデータ収集装置。
【請求項６】
前記第１エラー検出符号は、前記データ収集処理の機能を実現するための前記プログラムの実行ファイルが作成されたときに、その実行ファイルから生成された冗長符号であり、
前記制御手段は、前記データ収集処理を開始させる前に、前記第２エラー検出符号として前記プログラムの前記実行ファイルから冗長符号を生成し、算出した前記第２エラー検出符号と前記第１エラー検出符号とが一致するか否かに応じて、前記収集実行手段が適正であるか否かを判別する、
請求項１から５のいずれか１項に記載のデータ収集装置。
【請求項７】
前記制御手段は、前記収集実行手段が適正である場合に前記実行ファイルを実行する、
請求項６に記載のデータ収集装置。
【請求項８】
前記制御手段は、前記収集実行手段が適正であると判別した場合、前記データ収集処理についての設定内容を示す設定データを前記収集実行手段に供給し、
前記設定データは、前記機器を特定する情報を含み、
前記収集実行手段は、前記機器を特定する情報が示す前記機器からデータを収集する、
請求項１から７のいずれか１項に記載のデータ収集装置。
【請求項９】
前記設定データは、さらに、データを収集する間隔を示す時間間隔情報を含み、
前記収集実行手段は、前記時間間隔情報が示す収集間隔で前記機器からデータを収集する、
請求項８に記載のデータ収集装置。
【請求項１０】
前記設定データは、さらに、前記データ収集処理の終了のタイミングを示す終了タイミング情報を含み、
前記収集実行手段は、前記終了タイミング情報が示すタイミングで前記データ収集処理を終了する、
請求項８又は９のいずれか１項に記載のデータ収集装置。
【請求項１１】
前記機器はＦＡ機器を含む、
請求項１から１０のいずれか１項に記載のデータ収集装置。
【請求項１２】
機器からデータを収集するデータ収集処理を実行するための収集プログラムの実行ファイルについて、予め設定された時点で求められた第１エラー検出符号と、前記実行ファイルについて前記データ収集処理の開始が指示された時点で求められた第２エラー検出符号と、が一致するか否かに応じて、前記実行ファイルが適正であるか否かを判別するステップと、
前記実行ファイルが適正である場合に、前記収集プログラムを実行するステップと、
を備える方法。
【請求項１３】
コンピュータに、
機器からデータを収集するデータ収集処理を実行するための収集プログラムの実行ファイルについて、予め設定された時点で求められた第１エラー検出符号と、前記実行ファイルについて前記データ収集処理の開始が指示された時点で求められた第２エラー検出符号と、が一致するか否かに応じて、前記実行ファイルが適正であるか否かを判別させ、
前記実行ファイルが適正である場合に、前記収集プログラムを実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ収集装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、入力モジュールがＦＡ機器からデータを収集するデータ収集実行手段として動作し、ＦＡ機器を制御するコントローラに収集したデータを送信することが記載されている。入力モジュールは通信に必要な情報を定義した定義情報を有している。コントローラは、入力モジュールと同一の定義情報を有している。コントローラは、入力モジュールとコントローラとがそれぞれ保持する定義情報が一致している場合のみ、入力モジュールからデータを受け付ける。一方、コントローラは、入力モジュールとコントローラとがそれぞれ保持する定義情報が一致していない場合、異常が発生したと判別して、入力モジュールからデータを受け付けない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１４１６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、定義情報が破損することにより、異常が発生した場合に、入力モジュールとコントローラとの通信が中止されることが記載されている。しかしながら、定義情報に異常がない場合でも、入力モジュール自体が破損する可能性もある。あるいは、入力モジュールが不正なモジュールに差し替えられる可能性もある。このような場合、入力モジュール自体が適正なものではないため、特許文献１に記載されている構成を採用して、コントローラが定義情報を照合したとしても、入力モジュールが誤動作すると考えられる。【０００５】
本発明は、上記実情に鑑みてなされたものであり、機器からデータを収集する処理を実行するデータ収集実行手段自体がデータ収集の実行時に不適正なものとなってしまっている場合に、データ収集実行手段が誤動作することを防止することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るデータ収集装置が備える収集実行手段は、機器からデータを収集するデータ収集処理の機能を実現するためのプログラムのモジュールを含む。データ収集装置が備える制御手段は、予め設定された時点でモジュールについて求められた第１エラー検出符号と、データ収集処理の開始が指示された時点でモジュールについて求められた第２エラー検出符号とが一致する場合に収集実行手段が適正であると判別し、収集実行手段が適正であると判別すると、収集実行手段にデータ収集処理を開始させる。
【発明の効果】
【０００７】
本発明に係るデータ収集装置は、収集実行手段に含まれるデータ収集処理の機能を実現するためのプログラムのモジュールについて、予め設定された時点で求められた第１エラー検出符号と、データ収集処理の開始が指示された時点で求められた第２エラー検出符号とが一致する場合に、収集実行手段が適正であると判別し、収集実行手段が適正であると判別すると、収集実行手段にデータ収集処理を開始させる。このような構成を備えることで、収集実行手段が不適正なものである場合には、収集実行手段はデータ収集処理を開始しない。よって、収集実行手段が誤動作することを防止することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態に係るデータ収集装置及びメンテナンスツールの機能構成を示すブロック図
【図２】実施の形態に係るデータ収集装置及びメンテナンスツールのハードウェア構成を示す図
【図３Ａ】実施の形態に係る収集プログラムの構成を示す図
【図３Ｂ】実施の形態に係る収集プログラムの例を示す図
【図４】実施の形態に係る収集設定記憶部に格納されるデータの一例を示す図
【図５】実施の形態に係るメンテナンスツールのメニュー画面の一例を示す図
【図６Ａ】実施の形態に係るメンテナンスツールのアクセス先機器の入力画面の一例を示す図
【図６Ｂ】実施の形態に係るメンテナンスツールの収集データの設定の入力画面の一例を示す図
【図６Ｃ】実施の形態に係るメンテナンスツールの収集間隔の入力画面の一例を示す図
【図７】実施の形態に係るデータ収集装置の設定登録処理のフローチャート
【図８Ａ】実施の形態に係るメンテナンスツールのデータ収集画面の一例を示す図
【図８Ｂ】実施の形態に係るメンテナンスツールのデータ収集画面の他の例を示す図
【図９】実施の形態に係るデータ収集装置の適正確認処理のフローチャート
【図１０】実施の形態に係るデータ収集装置のデータ収集処理のフローチャート
【図１１】変形例に係るデータ収集装置及びメンテナンスツールの機能構成を示すブロック図
【図１２】変形例に係るデータ収集装置の設定登録処理のフローチャート
【発明を実施するための形態】
【０００９】
（実施の形態）
以下、本発明の実施の形態に係るデータ収集装置について、図面を参照しつつ詳細に説明する。
【００１０】
図１に示すデータ収集装置１００は、ＦＡ機器６０１、６０２及び６０３が出力するデータを収集する。データ収集装置１００として、例えば、産業用ＰＣ（Industrial Personal Computer：ＩＰＣ）が使用される。ＦＡ機器６０１、６０２及び６０３は、例えば、工場内の生産ラインで使用される機械装置である。プログラマブルロジックコントローラ６０４（以下、ＰＬＣ６０４）は、ＦＡ機器６０１及び６０２を制御する制御装置である。プログラマブルロジックコントローラ６０５（以下、ＰＬＣ６０５）は、ＦＡ機器６０３を制御する制御装置である。
【００１１】
データ収集装置１００は、ＰＬＣ６０４及び６０５を介して、ＦＡ機器６０１、６０２及び６０３に設けられたセンサが取得したデータを収集する。ＦＡ機器６０１、６０２及び６０３に設けられたセンサは、例えば、振動センサ、温度センサ、圧力センサ、流量センサである。ＦＡ機器６０１及び６０２に設けられたセンサの出力値はＰＬＣ６０４に供給される。ＦＡ機器６０３に設けられたセンサの出力値はＰＬＣ６０５に供給される。データ収集装置１００は、ＰＬＣ６０４を介して、ＦＡ機器６０１及び６０２に設けられたセンサの出力値のデータを収集する。データ収集装置１００は、ＰＬＣ６０５を介して、ＦＡ機器６０３に設けられたセンサの出力値のデータを収集する。
【００１２】
実施の形態において、データ収集装置１００は、データ収集処理に先立って、データ収集処理を実行する収集実行手段が適正であるか否かを判別し、収集実行手段が適正である場合に、データ収集処理を開始するよう収集実行手段を制御する。一方、データ収集装置１００は、収集実行手段が不適正であると判別すると、データ収集処理を実行しない。これは、不適正な実行手段がデータ収集処理を実行した場合、誤動作する可能性があり、このような事態の発生を予防するためである。収集実行手段は、例えば、データ収集装置１００内においてデータ収集処理を実行するモジュールである。
【００１３】
データ収集装置１００は、データ収集についてユーザが指定する事項である設定内容に従って、データを収集する。例えば、データ収集装置１００は、指定された周期で指定された対象から指定されたデータを収集する。
【００１４】
さらに、データ収集装置１００は、収集したデータを解析装置８００に送信する。解析装置８００は、ＦＡ機器６０１、６０２及び６０３についての予防保全、予知保全等を目的として、データ収集装置１００から供給されたデータを解析する。
【００１５】
メンテナンスツール５００は、ユーザの操作指示に従って、収集処理についての設定内容を示すデータをデータ収集装置１００に供給する。さらに、メンテナンスツール５００は、ユーザの操作指示に従って、収集処理の開始を指示する信号をデータ収集装置１００に送信する。メンテナンスツール５００は、例えば、パーソナルコンピュータに専用のアプリケーションをインストールした装置である。
【００１６】
図２に示すように、データ収集装置１００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ１１と、ネットワーク７０１を介して他の装置と通信するフィールドバスインタフェース１２と、ネットワーク７０２を介して他の装置と通信するツールインタフェース１３と、データ収集装置１００全体を制御するＣＰＵ（Central Processing Unit）１４とを有する。メモリ１１とフィールドバスインタフェース１２とツールインタフェース１３とは、バス１９を介してＣＰＵ１４に接続されており、それぞれＣＰＵ１４と通信する。
【００１７】
メモリ１１は、揮発性メモリと不揮発性メモリとを含む。メモリ１１は、データ収集装置１００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ１１は、収集プログラム１１１と、収集制御プログラム１１２と、設定プログラム１１３と、データ処理プログラム１１４とを記憶する。さらに、メモリ１１はＣＰＵ１４のワークメモリとして用いられる。
【００１８】
収集プログラム１１１は、データ収集装置１００に、ＰＬＣ６０４及び６０５からデータを収集する機能を実現させるためのプログラムである。収集プログラム１１１は、図３Ａに示すように、実行ファイル１１１ａと実行ファイル１１１ａのエラー検出符号である冗長符号１１１ｂとを含む。例えば、プログラムの作成者が実行ファイル１１１ａを作成したときに、実行ファイル１１１ａから冗長符号１１１ｂを生成し、冗長符号１１１ｂを実行ファイル１１１ａに付加する。冗長符号１１１ｂの詳細については後述する。実施の形態において、データ収集装置１００は、複数のデータ収集処理を並列して実行する。このため、図３Ｂに示すように、収集プログラムは複数の実行ファイル１１１ａを含む。データ収集装置１００のＣＰＵ１４は、ユーザの指示に応じて、複数の実行ファイル１１１ａを並行して実行する。
【００１９】
図２に示すように、収集制御プログラム１１２は、データ収集装置１００に、収集処理の開始を制御する機能を実現させるためのプログラムである。設定プログラム１１３は、データ収集装置１００に、メンテナンスツール５００から供給されたデータ収集についての設定内容を示すデータをメモリ１１に登録する機能を実現させるためのプログラムである。データ処理プログラム１１４は、データ収集装置１００に、データ収集装置１００が収集したデータに予め決められたデータ処理を実行する機能を実現させるためのプログラムである。予め決められたデータ処理とは、例えば、欠損値処理、外れ値処理等である。
【００２０】
フィールドバスインタフェース１２は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０１を介して、ＦＡ機器６０１〜６０３と、ＰＬＣ６０４〜６０５と通信する。ネットワーク７０１は、フィールドバス規格に則ったネットワークである。
【００２１】
ツールインタフェース１３は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０２を介してメンテナンスツール５００及び解析装置８００と通信する。ネットワーク７０２は、例えば、１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−Ｔといった規格に則ったネットワークである。
【００２２】
ＣＰＵ１４は、メモリ１１に記憶されている各種プログラムを実行して、データ収集装置１００の各種機能を実現する。具体的には、ＣＰＵ１４は、収集プログラム１１１を実行することにより、ＰＬＣ６０４及び６０５からデータを収集する。ＣＰＵ１４は、収集制御プログラム１１２を実行することにより、収集プログラム１１１が適正であるか否かに応じて、収集処理を開始するか否かを判別し、収集処理の開始を制御する。ＣＰＵ１４は、データ処理プログラム１１４を実行することにより、ＰＬＣ６０４から収集したデータに予め決められたデータ処理を施す。ＣＰＵ１４は、設定プログラム１１３を実行することにより、メンテナンスツール５００から供給された収集処理についての設定内容を示すデータをメモリ１１に格納する。
【００２３】
メンテナンスツール５００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ５１と、ネットワーク７０２を介して他の装置と通信する通信インタフェース５２と、ユーザの入力操作を検出する入力装置５３と、画像を出力する表示装置５４と、メンテナンスツール５００全体を制御するＣＰＵ５５とを有する。メモリ５１と通信インタフェース５２と入力装置５３と表示装置５４とは、バス５９を介してＣＰＵ５５に接続され、それぞれＣＰＵ５５と通信する。
【００２４】
メモリ５１は、揮発性メモリと不揮発性メモリとを含む。メモリ５１は、メンテナンスツール５００の各種機能を実現するためのプログラムを格納する。また、メモリ５１は、ＣＰＵ５５のワークメモリとして用いられる。具体的には、メモリ５１は、メンテナンスプログラム５１１を格納する。
【００２５】
メンテナンスプログラム５１１は、メンテナンスツール５００に、ユーザが入力した収集処理についての設定内容を示すデータをデータ収集装置１００に送信する機能と、ユーザの操作指示に従ってデータ収集の開始指示をデータ収集装置１００に送信する機能とを実現させるためのプログラムである。
【００２６】
通信インタフェース５２は、ネットワークインタフェース回路を含み、ＣＰＵ５５の制御の下、ネットワーク７０２を介してデータ収集装置１００と通信する。入力装置５３は、マウス、操作キー等を含み、ユーザからの操作入力を受け付け、ユーザの操作入力を示す信号をＣＰＵ５５に出力する。表示装置５４は、ディスプレイを含み、ＣＰＵ５５から供給される信号に基づく画像をディスプレイに表示する。
【００２７】
ＣＰＵ５５は、メモリ５１に記憶されている各種プログラムを実行して、メンテナンスツール５００の各種機能を実現する。具体的には、ＣＰＵ５５は、メンテナンスプログラム５１１を実行することにより、ユーザが入力した収集処理についての設定内容を示すデータをデータ収集装置１００に送信する。また、ＣＰＵ５５は、メンテナンスプログラム５１１を実行することにより、データ収集の開始を指示する信号をデータ収集装置１００に送信する。
【００２８】
次に、図１を参照して、データ収集装置１００の機能構成を説明する。データ収集装置１００は、機能的には、指定された収集対象からデータを収集するデータ収集部１Ａ及び１Ｂと、データ収集部１Ａ及び１Ｂを制御するデータ処理制御部２とを含む。
【００２９】
データ収集部１Ａは、収集処理を実行する収集実行部１１０と収集実行部１１０のエラー検出符号を記憶するエラー検出符号記憶部１２０とを含む。以下、データ収集部１Ａを例に説明するが、データ収集部１Ｂも同様の構成を備える。また、データ収集部１Ａ、１Ｂをまとめてデータ収集部１と称することがある。
【００３０】
収集実行部１１０は、制御部１５０から収集処理の開始を指示する信号を受信すると、収集処理を開始し、収集設定記憶部１３０に格納されている収集処理についての設定内容に従った収集処理を実行する。収集実行部１１０は、収集したデータを制御部１５０に出力する。収集実行部１１０の機能は、図２に示すＣＰＵ１４が、図３Ｂに示す収集プログラム１１１の実行ファイル１１１ａを実行することにより実現される。収集実行部１１０は、本発明の収集実行手段の一例である。
【００３１】
エラー検出符号記憶部１２０は、収集実行部１１０について予め算出されたエラー検出符号を記憶する。エラー検出符号記憶部１２０が記憶するエラー検出符号は、収集実行部１１０が適正であるか否かを制御部１５０が判別するために使用される。例えば、エラー検出符号として、ＣＲＣ（Cyclic Redundancy Check）３２、ＣＲＣ１６、ＣＲＣ８、ＭＤ（Message Digest Algorithm）５により出力されたハッシュ値等を使用することができる。実施の形態においてはＣＲＣ３２を使用する例を説明する。
【００３２】
具体的には、プログラム作成者が、収集実行部１１０として機能を実現するための図３Ｂに示す実行ファイル１１１ａを作成したときに、その実行ファイル１１１ａからＣＲＣ３２を生成する。プログラム作成者は、図３Ａに示すように生成したＣＲＣ３２を冗長符号１１１ｂとして実行ファイル１１１ａに付加して、メモリ１１に格納する。実行ファイル１１１ａから予め生成された冗長符号１１１ｂが実行ファイル１１１ａのエラー検出符号となる。このエラー検出符号が本発明の第１エラー検出符号の一例である。
【００３３】
プログラム作成者は、図３Ｂに示すように、実行ファイル１１１ａを複数作成した場合、それぞれの実行ファイル１１１ａからＣＲＣ３２を生成する必要がある。図１に示すエラー検出符号記憶部１２０の機能は、図２に示すメモリ１１により実現される。エラー検出符号記憶部１２０は、本発明の個別情報記憶手段の一例である。
【００３４】
図１に示すように、データ処理制御部２は、データ収集についての設定内容を示すデータを記憶する収集設定記憶部１３０と、収集実行部１１０を制御する制御部１５０と、データ収集についての設定内容を示すデータをデータ収集装置１００に設定する設定部１４０と、メンテナンスツール５００と通信する通信部１６０とを含む。
【００３５】
収集設定記憶部１３０は、データ収集装置１００が実行するデータ収集についての設定内容を示すデータを収集実行部１１０毎に記憶する。データ収集装置１００が実行するデータ収集についての設定内容を示すデータを設定データと称することがある。設定データは、ユーザが指定した、収集の対象を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔とを含む。さらに、設定データは、収集実行部１１０として機能を実現するための収集プログラム１１１を特定するための情報と、そのプログラムのエラー検出符号とを含む。設定データに含まれる収集間隔は、本発明の時間間隔情報の一例である。
【００３６】
図４に収集設定記憶部１３０に格納されるデータの例を示す。図示する例では、収集対象となる機器を示す機器名と、データ名と、設定内容と、データ収集を実行する実行ファイル名及びパスと、プログラムについて予め算出されたエラー検出符号とが格納されている。機器名と設定内容は、ユーザにより指定される。設定内容には、収集対象の機器のＩＰ（Internet Protocol）アドレス及びポート番号と、収集対象となるデータのロケーションと、収集対象となるデータのデータ型及びデータ長とが含まれている。
【００３７】
収集対象となるデータのロケーションとは、ＰＬＣ６０４又はＰＬＣ６０５のメモリ領域において対象となるデータが保存されているロケーションを示す。ＰＬＣ６０４及び６０５はそれぞれＦＡ機器から供給されたデータをデバイスメモリと呼ばれるメモリ領域に格納する。ＰＬＣ６０４が有するデバイスメモリには、ＰＬＣ６０４の制御対象であるＦＡ機器６０１及び６０２に設けられたセンサが出力したデータが格納される。ＰＬＣ６０５が有するデバイスメモリには、ＰＬＣ６０５の制御対象であるＦＡ機器６０３に設けられたセンサが出力したデータが格納される。例えば、デバイスメモリの一定の範囲のデータを収集対象とする場合、ロケーションには、その範囲内の最初のデータの位置を示す値と、最後のデータの位置を示す値とが含まれることになる。
【００３８】
設定データに含まれる実行ファイル名及びパスは、図１に示す収集実行部１１０としての機能を実現するプログラムを識別するための名前及びパスである。具体的には、実行ファイル名として、収集実行部１１０として機能を実現するための図３Ｂに示す収集プログラム１１１の実行ファイル１１１ａのファイル名及びパスが、実行ファイル名及びパスとして、収集設定記憶部１３０に格納されている。
【００３９】
実施の形態においては、収集対象のデータ毎に割り当てられた収集実行部１１０が、指定されたデータを収集する。例えば、ＰＬＣ６０４のデバイスメモリに格納されているＦＡ機器６０１の振動データを１００ミリ秒毎に収集するために、ある収集実行部１１０が動作する。ＰＬＣ６０４のデバイスメモリに格納されているＦＡ機器６０２の振動データを１００ミリ秒毎に収集するために、他の収集実行部１１０が動作する。ＰＬＣ６０５のデバイスメモリに格納されているＦＡ機器６０３の振動データを１００ミリ秒毎に収集するために、さらに他の収集実行部１１０が動作する。このため、収集対象のデータ毎に異なる収集プログラム１１１の実行ファイル１１１ａが指定される。
【００４０】
図４に示すエラー検出符号は、図１に示す収集実行部１１０としての機能を実現するプログラムの実行ファイルから、予め生成された冗長符号である。例えば、エラー検出符号として、実行ファイルの作成時に、実行ファイルから生成された冗長符号を使用する。具体的には、図３Ａに示す収集プログラム１１１の実行ファイル１１１ａに付加された冗長符号１１１ｂと同じ値が、エラー検出符号として、収集設定記憶部１３０に格納されている。収集設定記憶部１３０の機能は、図２に示すメモリ１１により実現される。
【００４１】
図１に示す設定部１４０は、設定データを収集設定記憶部１３０に格納する。具体的には、設定部１４０は、メンテナンスツール５００から供給されたデータ収集についての設定内容を示すデータと、データ収集を実行するプログラムを特定する情報及びエラー検出符号とを対応付けて収集設定記憶部１３０に格納する。
【００４２】
前述のように、収集設定記憶部１３０は、収集対象のデータ毎に、収集実行部１１０の機能を実現する収集プログラム１１１の実行ファイル１１１ａを特定する情報を格納する。設定部１４０は、データ収集を実行するプログラムとして、予め決められたルールで収集プログラム１１１から実行ファイル１１１ａを選択し、選択した実行ファイル１１１ａを特定するための実行ファイル名とパスとを、図４に示すように、収集設定記憶部１３０に格納する。例えば、設定部１４０は、実行ファイル１１１ａのファイル名の昇順で実行ファイル１１１ａを選択する。さらに、設定部１４０は、選択した実行ファイル１１１ａに付加された冗長符号１１１ｂをエラー検出符号として収集設定記憶部１３０に格納する。このため、収集設定記憶部１３０に格納されているエラー検出符号は、図３Ｂに示す収集プログラム１１１の実行ファイル１１１ａに付加された冗長符号１１１ｂと同じ値である。設定部１４０の機能は、図２に示すＣＰＵ１４が設定プログラム１１３を実行することにより実現される。
【００４３】
図１に示す制御部１５０は、ユーザからデータ収集を開始するよう指示されると、収集実行部１１０が適正であるか否かを判別する。制御部１５０は、収集実行部１１０が適正であると判別した場合に、収集実行部１１０にデータ収集処理を開始させる。
【００４４】
制御部１５０は、収集実行部１１０が適正であるか否かを次のように判別する。制御部１５０は、収集実行部１１０からエラー検出符号を生成する。具体的には、制御部１５０は、図３Ｂに示す収集プログラム１１１の実行ファイル１１１ａからＣＲＣ３２を算出する。制御部１５０は算出したＣＲＣ３２と、収集設定記憶部１３０に格納されているエラー検出符号とが一致するか否かに応じて、収集実行部１１０が適正であるか否かを判別する。制御部１５０が収集実行部１１０から生成したエラー検出符号が、本発明の第２エラー検出符号の一例である。制御部１５０は、本発明の制御手段の一例である。
【００４５】
前述のように、実行ファイル１１１ａから予め生成された冗長符号１１１ｂが実行ファイル１１１ａのエラー検出符号である。例えば、実行ファイル１１１ａがデータ収集装置１００に格納された後であってデータ収集処理が開始されるまでの間に破損した場合、破損前の実行ファイル１１１ａと破損後の実行ファイル１１１ａとは異なる。よって、予め実行ファイル１１１ａから生成されたＣＲＣ３２と、データ収集処理の開始が指示されたタイミングでの実行ファイル１１１ａから生成されたＣＲＣ３２とは異なる値となる。実行ファイル１１１ａが差し替えられた場合にも同様のことが言える。
【００４６】
制御部１５０は、２つのエラー検出符号が一致する場合、収集実行部１１０が適正であると判別する。この場合、制御部１５０は、データを供給する前に、収集実行部１１０を起動し、収集実行部１１０に、収集処理に必要なデータを供給する。具体的には、制御部１５０は、収集実行部１１０の機能を実現する収集プログラム１１１、ここでは、収集設定記憶部１３０に格納されている実行ファイル名及びパスから特定される収集プログラム１１１の実行ファイル１１１ａを起動する。制御部１５０は、起動したプログラムに、収集設定記憶部１３０に格納されている収集の対象を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔とを含むデータとを提供する。よって、収集実行部１１０は、指定されたデータを指定された対象の機器から指定された収集間隔で収集し、収集したデータを制御部１５０に供給する。さらに、制御部１５０は通信部１６０を介して解析装置８００に収集実行部１１０が収集したデータを送信する。
【００４７】
一方、２つのエラー検出符号が一致しない場合、制御部１５０は収集実行部１１０が不適正であると判別する。この場合、制御部１５０は、収集実行部１１０に収集処理を開始させない。さらに、制御部１５０は、通信部１６０を介してメンテナンスツール５００に収集処理を実行することができないことを通知する。制御部１５０の機能は、図２に示すＣＰＵ１４が収集制御プログラム１１２を実行することにより実現される。
【００４８】
図１に示す通信部１６０は、メンテナンスツール５００及び解析装置８００と通信する。通信部１６０は、メンテナンスツール５００から受信した収集処理についての設定内容を示すデータを設定部１４０に出力する。通信部１６０は、メンテナンスツール５００から受信した収集処理の開始を指示する信号を制御部１５０に出力する。通信部１６０は、制御部１５０が出力した収集処理を実行することができないことを示す通知をメンテナンスツール５００に送信する。通信部１６０は、制御部１５０から出力された収集実行部１１０が収集したデータを解析装置８００に送信する。通信部１６０の機能は、図２に示すＣＰＵ１４及びツールインタフェース１３により実現される。
【００４９】
図１に示すように、メンテナンスツール５００は、機能的には、入力受付部５１０を含む。入力受付部５１０は、ユーザから受け付けた収集処理についての設定内容を示すデータをデータ収集装置１００に送信する。さらに、入力受付部５１０は、ユーザから受け付けた収集処理の開始指示をデータ収集装置１００に送信する。入力受付部５１０の機能は、図２に示すＣＰＵ５５がメンテナンスプログラム５１１を実行することにより実現される。
【００５０】
続いて、ユーザが、メンテナンスツール５００を使用してデータ収集装置１００に収集処理についての設定内容を示すデータを格納する方法を説明する。
【００５１】
収集設定記憶部１３０に格納されるデータは、データ収集に先立って登録されている必要がある。このため、ユーザは、データ収集処理の開始を指示する前に、メンテナンスツール５００を使用して、下記の手順で収集処理についての設定内容を示すデータをデータ収集装置１００に格納する。
【００５２】
まず、ユーザは、図２に示す入力装置５３を操作して、メンテナンスプログラム５１１を起動する。入力受付部５１０は、ユーザの操作に応答して図５に示すようなメニュー画面を表示装置５４に表示する。ユーザが、入力装置５３を操作してメニュー画面上の「収集設定」ボタンを押したものとする。入力受付部５１０は、ユーザの操作に応答して図６Ａに示すアクセス先の機器の入力画面を表示装置５４に表示する。ユーザが、入力装置５３を操作してアクセス先の機器の入力画面上で、機器名とＩＰアドレスとポート番号とを入力し、「登録」ボタンを押したものとする。
【００５３】
入力受付部５１０は、ユーザの操作に応答して、入力された機器名とＩＰアドレスとポート番号とをメモリ５１に一時的に格納する。続いて、入力受付部５１０は、図６Ｂに示す収集データの入力画面を表示装置５４に表示する。入力受付部５１０は、収集データの入力画面上で、ユーザがアクセス先の機器の入力画面で入力した機器名を表示する。ユーザが収集データの入力画面で各項目を入力し、さらに、「収集間隔」タブを押したものとする。入力受付部５１０は、ユーザの操作に応答して、入力された各値をメモリ５１に一時的に格納し、図６Ｃに示す収集間隔の入力画面を表示装置５４に表示する。その後、ユーザが「登録」ボタンを押したものとする。入力受付部５１０は、ユーザの操作に応答して、図６Ａ〜図６Ｃの各画面でユーザが入力した内容を示すデータをデータ収集装置１００に送信する。
【００５４】
データ収集装置１００の設定部１４０は、メンテナンスツール５００から収集処理についての設定内容を示すデータを受信すると、以下のように機能する。設定部１４０の機能は、図２に示すＣＰＵ１４が設定プログラム１１３を実行することにより実現される。ここでは、収集設定記憶部１３０には、設定データが全く登録されていないものとする。
【００５５】
設定部１４０は、メンテナンスツール５００から収集処理についての設定内容を示すデータを受信すると、図７に示す設定登録処理を開始する。設定部１４０は、まず、図１に示すデータ収集部１のエラー検出符号記憶部１２０からエラー検出符号を読み出す（ステップＳ１１）。例えば、図３Ｂに示すような実行ファイル１１１ａのファイル名を昇順にソートした場合、「実行ファイル００１」という名前の実行ファイル１１１ａが先頭となったとする。この場合、設定部１４０は、「実行ファイル００１」を選択し、選択した「実行ファイル００１」の実行ファイル１１１ａに付加されているエラー検出符号である冗長符号１１１ｂを読み出す。なお、収集設定記憶部１３０には、設定データが登録されている場合、設定部１４０は、収集設定記憶部１３０にまだ登録されていない実行ファイル１１１ａのファイル名を昇順にソートし、先頭にくる実行ファイル１１１ａを新たな設定データに割り当てる実行ファイルとして選択すればよい。
【００５６】
続いて、図７に示すように、設定部１４０は、メンテナンスツール５００から受信した収集処理についての設定内容を示すデータと、実行ファイル名及びパスと、ステップＳ１１で読み出したエラー検出符号とを、設定データとして、図４に示す収集設定記憶部１３０に格納する（ステップＳ１２）。以上が設定登録処理である。
【００５７】
ユーザは、データ収集装置１００に設定データを登録した後、以下のような手順で、メンテナンスツール５００を使用してデータ収集の開始をデータ収集装置１００に指示する。まず、ユーザは、図５に示すメニュー画面上において、図２に示す入力装置５３を操作して「データ収集」ボタンを押す。入力受付部５１０は、収集設定記憶部１３０に格納されているデータをデータ収集装置１００に要求する。この要求に応答して、データ収集装置１００は、図４に示す収集設定記憶部１３０に格納されているデータをメンテナンスツール５００に送信する。入力受付部５１０は、図８Ａに示すように、データ収集装置１００から受信したデータを含む収集画面を表示装置５４に表示する。
【００５８】
この画面上でユーザが入力装置５３を操作して所望する収集設定の「開始」ボタンを押したものとする。入力受付部５１０は、選択された収集設定を特定する情報とともに、収集開始が指示されたことを示す信号をデータ収集装置１００に送信する。
【００５９】
メンテナンスツール５００から収集開始の指示を示す信号を受信した場合、データ収集装置１００は、まず、収集実行部１１０が適正であるか否かを確認するため下記の適正確認処理を実行する。
【００６０】
図９に示すように、制御部１５０は、メンテナンスツール５００からユーザが選択した収集設定を特定する情報と、収集開始が指示されたことを示す信号とを受信すると（ステップＳ２１；Ｙｅｓ）、収集設定記憶部１３０から該当する設定データを読み出す（ステップＳ２２）。制御部１５０は、収集設定記憶部１３０から読み出した設定データからエラー検出符号を取得する（ステップＳ２３）。
【００６１】
続いて、制御部１５０は、ユーザが選択した収集設定が割り当てられている収集実行部１１０からエラー検出符号を算出する（ステップＳ２４）。具体的には、制御部１５０は、ステップＳ２２で読み出した設定データに含まれる実行ファイル名及びパスにより特定される実行ファイル１１１ａからＣＲＣ３２を算出する。
【００６２】
制御部１５０は、ステップＳ２３で取得したエラー検出符号と、ステップＳ２４で算出したエラー検出符号とが一致するか否かを判別する（ステップＳ２５）。２つのエラー検出符号が一致する場合（ステップＳ２５；Ｙｅｓ）、制御部１５０は、収集実行部１１０にデータ収集処理の開始を指示する信号を出力する（ステップＳ２６）。併せて、制御部１５０は開始を指示する信号と設定内容を示すデータとを収集実行部１１０に出力する。さらに、このとき、制御部１５０は、メンテナンスツール５００にデータ収集を開始する旨を通知してもよい。その後、制御部１５０は、適正確認処理を終了する。よって、後述するように収集実行部１１０がデータ収集処理を開始する。
【００６３】
一方、２つのエラー検出符号が一致しない場合（ステップＳ２５；Ｎｏ）、制御部１５０は、メンテナンスツール５００にデータ収集を開始することができない旨を通知し（ステップＳ２７）、適正確認処理を終了する。
【００６４】
メンテナンスツール５００は、データ収集装置からデータ収集を開始することができない旨を受信した場合、例えば、図８Ｂに示すようなメッセージを収集画面に表示する。
【００６５】
収集実行部１１０は、制御部１５０からデータ収集処理の開始を指示する信号を受信すると、図１０に示すデータ収集処理を実行する。収集実行部１１０の機能は、図２に示すＣＰＵ１４が収集制御プログラム１１２を実行することにより実現される。
【００６６】
収集実行部１１０は、制御部１５０から供給された設定内容を示すデータに含まれる収集間隔として設定された値に基づいて、収集のタイミングであるか否かを判別する（ステップＳ３１）。例えば、収集実行部１１０は、制御部１５０からデータ収集処理の開始を指示する信号を受信してから、指定された収集間隔が示す時間が経過したときに、最初のデータ収集を実行し、以降は、指定された収集間隔が示す時間が経過するたびにデータ収集を実行する。
【００６７】
収集実行部１１０は、収集のタイミングであると判別すると（ステップＳ３１；Ｙｅｓ）、設定内容を示すデータに含まれる対象のＰＬＣ６０４又は６０５から、指定されたデータを収集し（ステップＳ３２）、収集したデータを制御部１５０に出力する。制御部１５０は、収集実行部１１０から供給されたデータを、通信部１６０を介して、解析装置８００に送信する（ステップＳ３３）。
【００６８】
実施の形態に係るデータ収集装置１００において、制御部１５０は、収集実行部１１０が適正であるか否かを判別し、収集実行部１１０が適正であると判別した場合に、収集実行部１１０にデータ収集処理を開始させる。このため、不適正な収集実行部１１０はデータ収集処理を開始することがなく、収集実行部１１０が誤動作することを防止することができる。
【００６９】
制御部１５０は、収集実行部１１０が適正であるか否かを、収集実行部１１０の機能を実現する収集プログラム１１１の実行ファイル１１１ａから予め生成されたエラー検出符号と、データ収集処理の開始のタイミングで実行ファイル１１１ａから生成されたエラー検出符号とが一致するか否かに応じて判別する。このように、データ収集処理を開始する前に、実行ファイル１１１ａが適正であるか否かを判別するので、実行ファイル１１１ａが作成された後であってデータ収集処理が開始されるまでの間に破損した場合、実行ファイル１１１ａが実行されることがなく、収集実行部１１０の誤動作を防止することができる。また、実行ファイル１１１ａが作成された後であってデータ収集処理が開始されるまでの間に、実行ファイル１１１ａが不正なファイルに差し替えられた場合も、同様の効果が期待できる。
【００７０】
制御部１５０は、収集実行部１１０が適正であると判別した場合、データ収集処理についての設定内容を示す設定データを収集実行部１１０に供給する。よって、収集実行部１１０が不適正であると判別された場合、収集実行部１１０に設定データが供給されず、収集実行部１１０はデータ収集処理を実行することができない。よって、収集実行部１１０が誤動作することを防止することができる。
【００７１】
（変形例）
実施の形態では、図１に示すように、データ収集部１が、予め算出されたエラー検出符号を記憶するエラー検出符号記憶部１２０を備える例を説明したが、データ収集部１は、エラー検出符号記憶部１２０を備えなくてもよい。例えば、図１１に示すように、データ収集部１は、エラー検出符号を算出するエラー検出符号算出部１２０Ａを備えていてもよい。この場合、設定登録処理で、算出部は、設定部１４０に、算出したエラー検出符号を渡すようにすればよい。
【００７２】
この場合、設定部１４０は、メンテナンスツール５００から収集処理についての設定内容を示すデータを受信すると、図１２に示すような設定登録処理を開始する。設定部１４０は、まず、図１１に示すデータ収集部１のエラー検出符号算出部１２０Ａにエラー検出符号を要求する（ステップＳ４１）。これに応答して、エラー検出符号算出部１２０Ａはエラー検出符号を求める。設定部１４０は、エラー検出符号算出部１２０Ａからエラー検出符号を取得する（ステップＳ４２）。続いて、設定部１４０は、メンテナンスツール５００から受信した収集処理についての設定内容を示すデータと、実行ファイル名及びパスと、ステップＳ４２で読み出したエラー検出符号とを、設定データとして、図４に示す収集設定記憶部１３０に格納する（ステップＳ４３）。
【００７３】
実施の形態においては、図４に示すようにデータ収集についての設定内容における収集対象の機器を特定する情報としてＩＰアドレスおよびポート番号を使用する例を説明したが、これに限られない。例えば、収集対象の機器を特定する情報としてネットワーク上における局番を使用してもよい。
【００７４】
実施の形態においては、データ収集装置１００が、ＰＬＣ６０４を介してＦＡ機器６０１及び６０２からデータを収集し、ＰＬＣ６０５を介してＦＡ機器６０３からデータを収集する例を説明したが、これに限られない。例えば、データ収集装置１００はＦＡ機器６０１、６０２及び６０３から直接データを収集してもよい。
【００７５】
また、データ収集装置１００は、収集したデータを解析装置８００に送信する前に、予め決められたデータ処理を実行してもよい。例えば、データ収集装置１００は、収集したデータに、欠損値処理、外れ値処理等を施してもよい。
【００７６】
また、図４に示す収集設定記憶部１３０に格納される設定データは、データ収集処理を終了するタイミングを示す終了タイミング情報を含んでいてもよい。例えば、データ収集処理を終了する日付及び時刻が収集設定記憶部１３０に登録されていてもよい。この場合、データ収集装置１００は、指定された日付及び時刻になるとデータ収集処理を終了する。あるいは、データ収集処理を終了する条件を示すデータ件数が収集設定記憶部１３０に登録されていてもよい。この場合、データ収集装置１００は、指定されたデータ件数のデータを収集するとデータ収集処理を終了する。
【００７７】
上記の実施の形態では、データ収集装置１００と解析装置８００とが異なる装置である例を説明したが、これに限られない。例えば、同一の装置が、データ収集装置１００の機能と、解析装置８００の機能とを有しており、この装置がデータを収集し、収集したデータを解析してもよい。
【００７８】
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【００７９】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００８０】
１００  データ収集装置、１，１Ａ，１Ｂ  データ収集部、２  データ処理制御部、１１，５１  メモリ、１２  フィールドバスインタフェース、１３  ツールインタフェース、１４，５５  ＣＰＵ、１９，５９  バス、５２  通信インタフェース、５３  入力装置、５４  表示装置、１１０  収集実行部、１１１  収集プログラム、１１１ａ  実行ファイル、１１１ｂ  冗長符号、１１２  収集制御プログラム、１１３  設定プログラム、１１４  データ処理プログラム、１２０  エラー検出符号記憶部、１２０Ａ  エラー検出符号算出部、１３０  収集設定記憶部、１４０  設定部、１５０  制御部、１６０  通信部、５００  メンテナンスツール、５１０  入力受付部、５１１  メンテナンスプログラム、６０１，６０２，６０３  ＦＡ機器、６０４，６０５  ＰＬＣ、７０１，７０２  ネットワーク、８００  解析装置
【要約】
データ収集装置（１００）が備える収集実行部（１１０）は、ＰＬＣ（６０４、６０５）からデータを収集するデータ収集処理を実行する。データ収集装置（１００）が備える制御部（１５０）は、データ収集処理の開始が指示された時点での収集実行部（１１０）が、予め設定された時点での収集実行部（１１０）と一致するか否かに応じて、収集実行部（１１０）が適正であるか否かを判別し、収集実行部（１１０）が適正である場合に、収集実行部（１１０）にデータ収集処理を開始させる。【図１】
0006641536.tif 000002
【図２】
0006641536.tif 000003
【図３Ａ】
0006641536.tif 000004
【図３Ｂ】
0006641536.tif 000005
【図４】
0006641536.tif 000006
【図５】
0006641536.tif 000007
【図６Ａ】
0006641536.tif 000008
【図６Ｂ】
0006641536.tif 000009
【図６Ｃ】
0006641536.tif 000010
【図７】
0006641536.tif 000011
【図８Ａ】
0006641536.tif 000012
【図８Ｂ】
0006641536.tif 000013
【図９】
0006641536.tif 000014
【図１０】
0006641536.tif 000015
【図１１】
0006641536.tif 000016
【図１２】
0006641536.tif 000017