(57)【特許請求の範囲】
【請求項１】
機器から収集されたデータに付加された収集時刻情報が示す収集時刻が、予め設定されたデータ処理の流れであるデータフローを開始した時刻を示す起点時刻以降であるか否かに応じて、前記データが有効であるか否かを判別する有効性判別手段と、
前記データが有効であると前記有効性判別手段が判別すると、前記データフローを定義したデータフロー設定に従って、前記データを配送する配送手段と、
を備えるデータ配送制御装置。
【請求項２】
前記有効性判別手段は、前記収集時刻が前記起点時刻以降である場合、前記データが有効であると判別し、前記データフロー設定に従った配送先を示す配送先情報とともに前記データを前記配送手段に供給する、
請求項１に記載のデータ配送制御装置。
【請求項３】
前記有効性判別手段は、前記収集時刻が前記起点時刻より前である場合、前記データが無効であると判別し、前記データを前記配送手段に供給しない、
請求項１又は２に記載のデータ配送制御装置。
【請求項４】
前記有効性判別手段は、前記データが無効であると判別すると、前記データを破棄する、
請求項３に記載のデータ配送制御装置。
【請求項５】
前記データに予め設定された処理を実行するデータ処理手段と、前記機器からデータを収集し、前記収集時刻情報を付加した前記データを前記配送手段に出力する収集手段と、をさらに備え、
前記配送手段は、前記収集手段が出力した前記データを前記有効性判別手段に配送し、
前記有効性判別手段は、前記データが有効であるか否かを判別し、前記データが有効であると判別すると、前記データフロー設定に従った配送先を示す配送先情報とともに前記データを前記配送手段に供給し、
前記配送手段は、前記配送先情報が示す配送先が前記データ処理手段である場合、前記有効性判別手段が出力した前記データを前記データ処理手段に配送する、
請求項１から４のいずれか１項に記載のデータ配送制御装置。
【請求項６】
前記配送手段は、前記データ処理手段が出力したデータを前記有効性判別手段に配送し、
前記有効性判別手段は、前記データが有効であるか否かを判別し、前記データが有効であると判別すると、前記配送先情報とともに前記データを前記配送手段に出力し、
前記配送手段は、前記配送先情報が示す配送先が前記機器である場合、前記有効性判別手段が出力した前記データを前記機器に配送する、
請求項５に記載のデータ配送制御装置。
【請求項７】
データ配送制御装置が、
機器からデータが収集された収集時刻が、データフローを開始した時刻を示す起点時刻以降であるか否かに応じて、前記データが有効であるか否かを判別するステップと、
前記データが有効であると判別すると、予め設定されたデータ処理の流れを示すデータフロー設定に従って、前記データを配送するステップと、
を含む方法。
【請求項８】
コンピュータに、
機器からデータが収集された収集時刻が、データフローを開始した時刻を示す起点時刻以降であるか否かに応じて、前記データが有効であるか否かを判別させ、
前記データが有効である場合、予め設定されたデータ処理の流れを示すデータフロー設定に従って、前記データを配送させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ配送制御装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ある事象の発生を検知するため、ファイルに順次蓄積されていく時系列データを解析するデータ処理装置が開示されている。このデータ処理装置は、処理を停止した後、処理を再び開始する場合には、ファイルに蓄積されているデータを削除してから、処理を再び開始する。これは、データ処理装置が停止している間に、ファイルにデータ処理装置が処理すべきでないデータが蓄積されている場合があり、この場合に、データ処理装置がそのデータを処理してしまい、データ処理装置の動作に不具合が発生することを防止するためである。例えば、データ処理装置が停止している間に、異常があるデータがファイルに蓄積される、ファイルに蓄積されたデータに異常が発生する等の理由により、ファイルにデータ処理装置が処理すべきでないデータが蓄積されることがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７４７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、データ処理装置の１つのアプリケーションが、入力されたデータを処理し、結果を出力することが記載されているが、処理の内容が複雑である場合には、処理を複数の工程に分け、複数の装置又は同一の装置が有する複数のアプリケーションが、複数の工程を分担することがある。例えば、工場内の生産ラインで使用されるＦＡ機器の故障の発生を検出するため、ＦＡ機器から収集したデータを使用してＦＡ機器を診断することがある。この場合、ＦＡ機器から収集したデータに解析処理の前処理を施す前処理の工程と、ＦＡ機器から収集したデータを解析する解析処理の工程と、解析結果に応じてＦＡ機器を診断する診断処理の工程とが必要である。【０００５】
図８に、複数の工程を複数の処理部が分担する例を示す。図示する例では、診断対象Ｔから収集されたデータがファイルＦに格納されており、データ処理部１０１は、ファイルＦに格納されたデータに前処理を施す。データ処理部１０２は、データ処理部１０１が出力したデータを解析し、解析結果を出力する。データ処理部１０３は、データ処理部１０２が出力した解析結果に基づいて診断処理を行う。データ処理部１０１、データ処理部１０２、データ処理部１０３の機能は、それぞれ異なるアプリケーションにより実現されるものとする。【０００６】
図示するように、複数のデータ処理部が一連の処理を行う場合、各工程の内容、工程の順序等を示すデータフローが予め定義され、定義されたデータが、各データ処理部を実現する装置それぞれに、あるいはデータフローを制御する装置に格納される。データ処理部はそれぞれデータフローに従って処理を実行する。ユーザが、データフローとして定義した内容を変更するため、データ処理部１０１〜１０３を停止することなく、データフローを一旦停止することがある。特許文献１に記載された方法を採用して、処理を再度開始する前にファイルＦに蓄積されているデータを削除したとしても、図８に示す構成では、データが各データ処理部に順次流れていくため、ユーザがデータ処理部１０１〜１０３の処理を一旦停止したときに、データ処理部１０２及び１０３に処理が未完了のデータが残留していることがある。【０００７】
ここで、処理を再度開始すると、データ処理部１０２及び１０３はそれぞれ残留したデータをまず処理してしまう。データフローとして定義された内容が変更されることにより、データ処理部１０２及び１０３に残留したデータが処理すべきでないデータ、即ち、無効なデータとなっていることがある。データ処理部１０２及び１０３が無効なデータを処理することにより、データ処理部１０３が誤った診断結果を診断対象Ｔにフィードバックすることも想定される。このような状況の発生を防ぐためには、処理を再開した時点より前のデータを処理しないよう、それぞれのデータ処理部へのデータの配送を制御する必要があると言える。【０００８】
本発明は上記実情に鑑みてなされたものであり、データの配送を制御して、データ処理部が処理すべきでないデータ、即ち無効なデータを処理することを防止することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るデータ配送制御装置において、有効性判別手段は、機器から収集されたデータに付加された収集時刻情報が示す収集時刻が、予め設定されたデータ処理の流れであるデータフローを開始した時刻を示す起点時刻以降であるか否かに応じて、データが有効であるか否かを判別する。配送手段は、データが有効であると有効性判別手段が判別すると、データフローを定義したデータフロー設定に従って、データを配送する。
【発明の効果】
【００１０】
本発明に係るデータ配送制御装置は、機器からデータを収集した収集時刻が、予め設定されたデータ処理の流れであるデータフローを開始した時刻以降であるか否かに応じて、データが有効であるか否かを判別する。データ配送制御装置は、データが有効であると判別すると、データフローを定義したデータフロー設定に従って、データを配送する。このようにデータの配送を制御することで、データ処理部が無効なデータを処理することを防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る診断システムに含まれる各装置の機能構成を示すブロック図
【図２】実施の形態に係る診断システムに含まれる各装置のハードウェア構成を示す図
【図３】実施の形態に係る収集設定記憶部に格納されるデータの一例を示す図
【図４】実施の形態に係るデータフロー設定記憶部に格納されるデータの一例を示す図
【図５】実施の形態に係る有効判別処理のデータフローチャート
【図６】実施の形態に係るデータの流れの一例を示す図
【図７】実施の形態に係るデータの流れの他の例を示す図
【図８】従来の課題を説明するための図
【発明を実施するための形態】
【００１２】
（実施の形態）
以下、本発明の実施の形態に係るデータ配送制御装置について、図面を参照しつつ詳細に説明する。
【００１３】
図１に示すデータ配送制御装置１００は、工場内の機器についての予防保全、予知保全等を目的として、工場内の機器を診断する診断システム１に含まれる装置である。まず、診断システム１の概要を説明する。
【００１４】
診断システム１は、工場内のＦＡ機器６０１及び６０２からデータを収集し、収集したデータから、ＦＡ機器６０１及び６０２を診断して、診断結果を、ＦＡ機器６０１及び６０２にフィードバックする。
【００１５】
診断システム１は、工場内のＦＡ機器６０１及び６０２が出力するデータを収集し、収集したデータの配送を制御するデータ配送制御装置１００と、データ配送制御装置１００から供給されたデータの解析処理及び診断処理を行うデータ処理装置４００と、ユーザがデータ配送制御装置１００を操作するためのメンテナンスツール５００とを含む。例えば、データ配送制御装置１００として、ＦＡ機器６０１及び６０２と同じ工場内に設けられている産業用ＰＣ（Industrial Personal Computer：ＩＰＣ）が使用される。データ処理装置４００として、工場外に設けられているサーバコンピュータが使用される。メンテナンスツール５００として、ＦＡ機器６０１及び６０２と同じ工場内に設けられている専用のアプリケーションをインストールしたパーソナルコンピュータが使用される。
【００１６】
診断システム１が診断する診断対象であるＦＡ機器６０１及び６０２は、工場内の生産ラインで使用される機械装置である。ＦＡ機器６０１及び６０２は、振動センサ、温度センサ、圧力センサ、流量センサ等を含む各種のセンサを有する。プログラマブルロジックコントローラ６０３（以下、ＰＬＣ６０３）は、ＦＡ機器６０１を制御する制御装置である。プログラマブルロジックコントローラ６０４（以下、ＰＬＣ６０４）は、ＦＡ機器６０２を制御する制御装置である。ＦＡ機器６０１に設けられたセンサの出力値はＰＬＣ６０３に供給される。ＦＡ機器６０２に設けられたセンサの出力値はＰＬＣ６０４に供給される。
【００１７】
データ配送制御装置１００は、ネットワーク７０１を介して、ＦＡ機器６０１〜６０２と、ＰＬＣ６０３から６０４と通信可能である。ネットワーク７０１は、フィールドバス規格に則ったネットワークである。データ配送制御装置１００は、ＰＬＣ６０３を介して、ＦＡ機器６０１に設けられたセンサの出力値のデータを収集する。データ配送制御装置１００は、ＰＬＣ６０４を介して、ＦＡ機器６０２に設けられたセンサの出力値のデータを収集する。
【００１８】
データ配送制御装置１００は、ネットワーク７０２を介して、データ処理装置４００と通信する。ネットワーク７０２は、例えば、１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−Ｔといった規格に則ったネットワークである。データ配送制御装置１００は、ＦＡ機器６０１及び６０２から収集したデータをデータ処理装置４００に配送する。さらに、データ配送制御装置１００は、ＦＡ機器６０１及び６０２から収集したデータをデータ処理装置４００に配送する前に、収集したデータにデータ処理装置４００が実行する解析処理及び診断処理に必要な前処理を施す。
【００１９】
データ処理装置４００は、データ配送制御装置１００から供給されたデータの解析処理及び診断処理を行い、ＦＡ機器６０１及び６０２についての診断結果をデータ配送制御装置１００に送信する。診断結果は、例えば、ＦＡ機器６０１及び６０２が劣化しており、故障が発生する前にメンテナンスを行う必要があることを示すアラート情報を含む。データ配送制御装置１００は、データ処理装置４００から受信した診断結果をＰＬＣ６０３及び６０４に送信する。
【００２０】
このように、データ配送制御装置１００は、ＰＬＣ６０３及び６０４と、データ処理装置４００との間におけるデータの配送を制御する役割を果たす。ＦＡ機器６０１及び６０２から収集されたデータは、複数の工程において処理される。このため、データ配送制御装置１００は、各工程の内容、工程の流れ等について予め定義されたデータフローの設定を示すデータを有している。ここで、データフローとは、予め設定されたデータ処理の流れのことである。データ配送制御装置１００は、データフローの設定が示す配送先にデータを配送する。
【００２１】
メンテナンスツール５００は、ユーザがデータ配送制御装置１００を操作するためのツールである。ユーザは、メンテナンスツール５００を使用して、データフローの設定をデータ配送制御装置１００に登録し、データ配送制御装置１００に登録されているデータフローの設定を示すデータを変更する。ここで、ユーザは、例えば、診断システム１の管理者である。
【００２２】
例えば、収集するデータの仕様が変更されたことにより、データ配送制御装置１００が実行する前処理を変更する必要が生じ、データフローの設定を変更する必要が生じることがある。ユーザは、データフローの設定を変更するため、まず、データ配送制御装置１００の処理を停止する。ユーザは、データ配送制御装置１００が備えるデータフローの設定を変更した後にデータ配送制御装置１００の配送処理を再び開始する。この場合、データ処理装置４００には、データフローの設定が変更される前にデータ配送制御装置１００から配送されたデータが蓄積していることがある。データ処理装置４００が他の工場にある、データ処理装置４００がクラウド上のサーバーである、等の理由により、ユーザが、データ処理装置４００からデータフローの設定の変更前に配送されたデータを削除できない場合、データフローの設定の変更後であっても、データ処理装置４００は、データフローの設定の変更前のデータを処理し、診断結果をデータ配送制御装置１００に送信してしまう。これにより、ＰＬＣ６０３及び６０４が誤動作する可能性がある。
【００２３】
このため、実施の形態においては、データ配送制御装置１００は、下記のような特徴を備える。データ配送制御装置１００は、ＰＬＣ６０３及び６０４から収集したデータであって、データ処理装置４００が処理すべきでないデータをデータ処理装置４００に送信しないように制御する。さらに、データ配送制御装置１００は、データ処理装置４００から受信したデータであって、ＰＬＣ６０３及び６０４が受信すべきでないデータをＰＬＣ６０３及び６０４に送信しないように制御する。
【００２４】
具体的には、データ配送制御装置１００は、ユーザの指示に応答して、収集処理及び配送処理を開始した時刻より前に収集されたデータについては、処理の対象とするべきでない無効なデータであるとみなし、該当するデータを破棄する。一方、データ配送制御装置１００は、収集処理及び配送処理を開始した時刻以降に収集されたデータについては、処理の対象とするべき有効なデータであるとみなし、そのデータを設定された配送先に配送する。実施の形態においては、このデータ配送制御装置１００が収集処理及び配送処理を開始した時刻を開始時刻と称するものとする。以下、データ配送制御装置１００が実行する収集処理及び配送処理の一連の処理をフローと称することがある。データ配送制御装置１００がフローを開始したタイミングは、本発明の起点の一例である。
【００２５】
続いて、診断システム１に含まれる各装置のハードウェア構成を説明する。図２に示すように、データ配送制御装置１００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ１１と、ネットワーク７０１を介して他の装置と通信するフィールドバスインタフェース１２と、ネットワーク７０２を介して他の装置と通信する情報系ネットワークインタフェース１３と、データ配送制御装置１００全体を制御するＣＰＵ（Central Processing Unit）１４とを有する。メモリ１１とフィールドバスインタフェース１２と情報系ネットワークインタフェース１３とは、バス１９を介してＣＰＵ１４に接続されており、それぞれＣＰＵ１４と通信する。
【００２６】
メモリ１１は、揮発性メモリと不揮発性メモリとを含む。メモリ１１は、データ配送制御装置１００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ１１は、収集プログラム１１１と、配送制御プログラム１１２と、配送プログラム１１３と、加工プログラム１１４とを記憶する。さらに、メモリ１１はＣＰＵ１４のワークメモリとして用いられる。
【００２７】
収集プログラム１１１は、データ配送制御装置１００に、ＰＬＣ６０３及び６０４からデータを収集する機能を実現させるためのプログラムである。配送制御プログラム１１２は、データ配送制御装置１００に、配送を制御する機能を実現させるためのプログラムである。配送プログラム１１３は、データ配送制御装置１００に、データを指定された配送先に配送する機能を実現するためのプログラムである。加工プログラム１１４は、データ配送制御装置１００に、データに予め決められた加工処理を実行する機能を実現させるためのプログラムである。予め決められた加工処理とは、欠損値処理、外れ値処理等である。
【００２８】
フィールドバスインタフェース１２は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０１を介してＰＬＣ６０３及び６０４と通信する。
【００２９】
情報系ネットワークインタフェース１３は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０２を介してデータ処理装置４００及びメンテナンスツール５００と通信する。
【００３０】
ＣＰＵ１４は、メモリ１１に記憶されている各種プログラムを実行して、データ配送制御装置１００の各種機能を実現する。具体的には、ＣＰＵ１４は、収集プログラム１１１を実行することにより、ＰＬＣ６０３及び６０４からデータを収集する。ＣＰＵ１４は、配送制御プログラム１１２を実行することにより、データ処理装置４００とＰＬＣ６０３及び６０４との間におけるデータの配送を制御する。ＣＰＵ１４は配送プログラム１１３を実行することにより、データを配送する。ＣＰＵ１４は、加工プログラム１１４を実行することにより、データを加工する。
【００３１】
データ処理装置４００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ４１と、ネットワーク７０２を介して他の装置と通信する通信インタフェース４２と、データ処理装置４００全体を制御するＣＰＵ４３とを有する。メモリ４１と通信インタフェース４２とは、バス４９を介してＣＰＵ４３に接続され、それぞれＣＰＵ４３と通信する。
【００３２】
メモリ４１は、揮発性メモリと不揮発性メモリとを含む。メモリ４１は、データ処理装置４００の各種機能を実現するためのプログラムを格納する。また、メモリ４１は、ＣＰＵ４３のワークメモリとして用いられる。具体的には、メモリ４１は、解析診断プログラム４１１を格納する。解析診断プログラム４１１は、データ処理装置４００に、データ配送制御装置１００から供給されたデータの解析処理と診断処理とを実行する機能を実現するためのプログラムである。
【００３３】
通信インタフェース４２は、ネットワークインタフェース回路を含み、ＣＰＵ４３の制御の下、ネットワーク７０２を介してデータ配送制御装置１００及びメンテナンスツール５００と通信する。
【００３４】
ＣＰＵ４３は、メモリ４１に記憶されている各種プログラムを実行して、データ処理装置４００の各種機能を実現する。具体的には、ＣＰＵ４３は、解析診断プログラム４１１を実行することにより、データ配送制御装置１００から供給されたデータを解析し、解析結果に基づいてＦＡ機器６０１及び６０２を診断する。
【００３５】
メンテナンスツール５００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ５１と、ネットワーク７０２を介して他の装置と通信する通信インタフェース５２と、ユーザの入力操作を検出する入力装置５３と、画像を出力する表示装置５４と、メンテナンスツール５００全体を制御するＣＰＵ５５とを有する。メモリ５１と通信インタフェース５２と入力装置５３と表示装置５４とは、バス５９を介してＣＰＵ５５に接続され、それぞれＣＰＵ５５と通信する。
【００３６】
メモリ５１は、揮発性メモリと不揮発性メモリとを含む。メモリ５１は、メンテナンスツール５００の各種機能を実現するためのプログラムを格納する。具体的には、メモリ５１は、メンテナンスプログラム５１１を格納する。また、メモリ５１は、ＣＰＵ５５のワークメモリとして用いられる。
【００３７】
メンテナンスプログラム５１１は、ユーザの操作指示に従って、データ収集及び配送の制御に係る処理の開始指示をデータ配送制御装置１００に送信する機能と、データ配送制御装置１００にデータフローの設定を示すデータを登録する機能とを実現させるためのプログラムである。
【００３８】
通信インタフェース５２は、ネットワークインタフェース回路を含み、ＣＰＵ５５の制御の下、ネットワーク７０２を介してデータ配送制御装置１００及びデータ処理装置４００と通信する。入力装置５３は、マウス、操作キー等を含み、ユーザからの操作入力を受け付け、ユーザの操作入力を示す信号をＣＰＵ５５に出力する。表示装置５４は、ディスプレイを含み、ＣＰＵ５５から供給される信号に基づく画像をディスプレイに表示する。
【００３９】
ＣＰＵ５５は、メモリ５１に記憶されている各種プログラムを実行して、メンテナンスツール５００の各種機能を実現する。
【００４０】
次に、図１を参照して、データ配送制御装置１００の機能構成を説明する。図１において、実線で表した矢印はデータの流れを示し、破線及び一点鎖線で表した矢印は制御信号の流れを示すものとする。
【００４１】
データ配送制御装置１００は、機能的には、指定された収集対象からデータを収集する収集部１１０と、データ収集についての設定内容を示すデータを記憶する収集設定記憶部１２０と、指定された配送先にデータを配送する配送部１３０と、データ配送制御装置１００を流れるデータの有効性を判別する有効性判別部１４０と、データフローについての設定内容を示すデータを記憶するデータフロー設定記憶部１５０と、決められたデータ処理を行うデータ処理部１６０と、ユーザの指示に応答してデータ配送制御装置１００の各部の実行を制御する実行制御部１７０とを含む。
【００４２】
収集部１１０は、ＰＬＣ６０３及び６０４から、ＦＡ機器６０１及び６０２に設けられたセンサが取得したデータを収集する。収集部１１０は、データを収集した時刻を示す時刻情報を収集したデータに付加し、時刻情報を付加したデータを配送部１３０に送信する。収集部１１０は、実行制御部１７０から収集処理の開始を指示する信号を受信すると、収集処理を開始し、収集設定記憶部１２０に格納されている収集処理についての設定に従い、指定された対象から指定された収集間隔でデータを収集する。例えば、収集部１１０は、実行制御部１７０からデータ収集処理の開始を指示する信号を受信してから、指定された収集間隔が示す時間が経過したときに、最初のデータ収集を実行し、以降は、指定された収集間隔が示す時間が経過するたびにデータ収集を実行する。収集部１１０の機能は、図２に示すＣＰＵ１４が収集プログラム１１１を実行することにより実現される。収集部１１０は本発明の収集手段の一例である。
【００４３】
図１に示す収集設定記憶部１２０は、収集部１１０が実行するデータ収集処理についての設定の内容を示すデータを記憶する。このデータを収集設定データと称することがある。収集設定データは、ユーザが指定した、収集の対象を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔と、収集処理を実行するための収集プログラム１１１を特定するための情報とを含む。ユーザが、メンテナンスツール５００を使用して、収集設定データを、収集設定記憶部１２０に格納する。
【００４４】
図３に収集設定記憶部１２０に格納されるデータの例を示す。図示する例では、収集対象となる機器を示す機器名と、データ名と、設定内容と、実行ファイル名及びパスとが格納されている。機器名と設定内容は、ユーザにより指定される。設定内容には、収集するデータを識別するデータ名と、収集対象の機器を特定するためのＩＰ（Internet Protocol）アドレス及びポート番号と、収集対象となるデータのロケーションと、収集対象となるデータのデータ型及びデータ長とが含まれている。
【００４５】
収集対象となるデータのロケーションとは、ＰＬＣ６０３又はＰＬＣ６０４のメモリ領域において対象となるデータが格納されている領域を特定する情報を含む。メモリ領域内の一定の範囲のデータを収集対象とする場合、ロケーションには、その範囲内の最初のデータの位置を示す値と、最後のデータの位置を示す値とが含まれる。収集設定データに含まれる実行ファイル名及びパスは、図１に示す収集部１１０の機能を実現するプログラムを識別するため情報であり、ここでは、図２に示す収集プログラム１１１の実行ファイルのファイル名及びパスである。収集設定記憶部１２０の機能は、図２に示すメモリ１１により実現される。
【００４６】
図１に示す配送部１３０は、データを指定された配送先に配送する。具体的には、配送部１３０は、収集部１１０及びデータ処理装置４００から受信したデータを有効性判別部１４０に送信する。さらに、配送部１３０は、有効性判別部１４０から供給されたデータを、指定された配送先に配送する。有効性判別部１４０は、データの有効性を判別し、有効であると判別したデータを、配送先を示す配送先情報とともに配送部１３０に供給するからである。有効性判別部１４０が指定する配送先は、データ処理装置４００と、ＰＬＣ６０３及び６０４とを含む。配送部１３０の機能は、図２に示すＣＰＵ１４が配送プログラム１１３を実行することにより実現される。配送部１３０は、本発明の配送手段の一例である。
【００４７】
有効性判別部１４０は、配送部１３０から供給されたデータが有効であるか否かを判別し、有効であると判別したデータを次の配送先に配送部１３０を介して送る。有効性判別部１４０の機能は、図２に示すＣＰＵ１４が配送制御プログラム１１２を実行することにより実現される。有効性判別部１４０は、本発明の有効性判別手段の一例である。
【００４８】
以下、有効性判別部１４０の詳細を説明する。図１に示す有効性判別部１４０は、データを変換する変換部１４１と、配送に関する制御を行う配送制御部１４２と、データに付加された時刻情報について確認する時刻確認部１４３とを含む。
【００４９】
変換部１４１は、データ配送制御装置１００の外部からデータ配送制御装置１００に届いたデータと、データ配送制御装置１００から外部に送り出すデータとを変換する。
【００５０】
具体的には、変換部１４１は、配送部１３０から供給されたデータが、ＰＬＣ６０３及び６０４から受信したデータである場合、そのデータをデータ配送制御装置１００内部用の決められたフォーマットに変換し、変換したデータを配送制御部１４２に出力する。これは次のような理由による。データ配送制御装置１００とＰＬＣ６０３及び６０４とはネットワーク７０１を介してデータをやり取りする。このため、配送部１３０がＰＬＣ６０３及び６０４から受信したデータは、ネットワーク７０１を介したデータ交換用のフォーマットに変換されたデータである。変換部１４１がＰＬＣ及び６０４からの受信データをデータ配送制御装置１００内部用の決められたフォーマットに変換しなければ、データ配送制御装置１００は、データを処理することができないからである。
【００５１】
変換部１４１は、配送部１３０から供給されたデータが、データ処理装置４００から受信したデータである場合、そのデータをデータ配送制御装置１００内部用の決められたフォーマットに変換し、変換したデータを配送制御部１４２に出力する。これは次のような理由による。データ配送制御装置１００とデータ処理装置４００とはネットワーク７０２を介してデータをやり取りする。このため、配送部１３０がデータ処理装置４００から受信したデータは、ネットワーク７０２を介したデータ交換用のフォーマットに変換されたデータである。変換部１４１がＰＬＣ及び６０４からの受信データをデータ配送制御装置１００内部用の決められたフォーマットに変換しなければ、データ配送制御装置１００は、データを処理することができないからである。
【００５２】
変換部１４１は、配送制御部１４２から供給されたデータが、ＰＬＣ６０３及び６０４に宛てたデータであるなら、そのデータを、ＰＬＣ６０３及び６０４内部用の決められたフォーマットに変換し、変換したデータを配送部１３０に出力する。
【００５３】
変換部１４１は、配送制御部１４２から供給されたデータが、データ処理装置４００に宛てたデータであるなら、そのデータをデータ交換用のフォーマットに変換し、変換したデータを配送部１３０に出力する。
【００５４】
配送制御部１４２は、変換部１４１から供給されたデータが有効であるか否かを判別する。具体的には、配送制御部１４２は、変換部１４１から供給されたデータの収集時刻が、開始時刻以降であるか否かを確認するため、そのデータを時刻確認部１４３に出力する。開始時刻は後述の実行制御部１７０により予めメモリ１１に格納されている。
【００５５】
配送制御部１４２は、時刻確認部１４３が出力した確認結果がデータの収集時刻が開始時刻以降であることを示す場合、そのデータが有効であると判別する。配送制御部１４２は、時刻確認部１４３が出力した確認結果がデータの収集時刻が開始時刻より前であることを示す場合、そのデータが無効であると判別する。実施の形態においては、データ配送制御装置１００は、開始時刻前に収集されたデータを無効なデータとして取り扱うからである。
【００５６】
配送制御部１４２は、データが有効であると判別すると、データフロー設定記憶部１５０に格納されているデータフローについての設定内容に従って、配送部１３０を介してあるいは直接、そのデータを次の送信先に配送する。次の送信先には、データ配送制御装置１００のデータ処理部１６０、データ処理装置４００、ＰＬＣ６０３及び６０４が含まれる。一方、配送制御部１４２は、データが無効であると判別すると、そのデータをどこにも配送せず、破棄する。
【００５７】
時刻確認部１４３は、配送制御部１４２から供給されたデータに付加された収集時刻情報が示す収集時刻が、今回のデータフローを開始した開始時刻以降であるかを確認し、確認結果を配送制御部１４２に出力する。時刻確認部１４３は出力する確認結果は、例えば、収集時刻は開始時刻以降であることを示す値と、収集時刻は開始時刻より前であることを示す値とを含む２値により表される。
【００５８】
データフロー設定記憶部１５０は、収集されたデータに行うべきデータ処理の内容とデータ処理の順序とが定義されたデータフローについての設定内容を記憶する。このデータをデータフロー設定データと称することがある。データフロー設定データは、ユーザが指定した、収集対象と、各工程を実行する主体とを示す情報を含む。ユーザは、メンテナンスツール５００を使用して、データフロー設定データを、データフロー設定記憶部１５０に格納する。
【００５９】
図４にデータフロー設定記憶部１５０に格納されるデータの例を示す。図示する例では、収集対象と、収集データと、加工処理と、解析処理と、診断処理と、フィードバック先とをそれぞれ示す情報が格納されている。収集対象として、収集対象となる機器を示す機器を特定する情報が格納されている。収集データとして、データを収集する工程を実行する主体を特定する情報が格納されている。加工処理として、収集されたデータを加工する工程を実行する主体を特定する情報が格納されている。解析処理として、収集されたデータを解析する工程を実行する主体を特定する情報が格納されている。診断処理として、解析結果から診断対象を診断する工程を実行する主体を特定する情報が格納されている。データフロー設定記憶部１５０の機能は図２に示すメモリ１１により実現される。
【００６０】
実施の形態においては、図４に示すように、加工処理、解析処理、診断処理の順で処理が実行されるものとする。図示する例では、Ｎｏ．１の設定として、ＰＬＣ６０４から収集された振動データ００１をデータ処理部１６０が加工し、データ処理装置４００のデータ処理部４１０が加工後のデータを解析し、データ処理部４１０が解析結果に基づいて診断し、診断結果をＰＬＣ６０４にフィードバックすることが設定されている。
【００６１】
図１に示すデータ処理部１６０は、配送制御部１４２から供給されたデータに、予め決められた加工処理を施し、加工したデータを配送制御部１４２に供給する。加工処理は、解析処理の前処理である欠損値処理、外れ値処理等を含む。データ処理部１６０の機能は、図２に示すＣＰＵ１４が加工プログラム１１４を実行することにより実現される。
【００６２】
図１に示す実行制御部１７０は、データ配送制御装置１００の各部の起動を制御する。実行制御部１７０は、メンテナンスツール５００の操作受付部５１０から、一点鎖線の矢印Aで示すように、起動の指示を受信すると、破線の矢印Ｂで示すように、収集部１１０と、配送部１３０と、有効性判別部１４０と、データ処理部１６０とに起動指示を送信し、各部を起動する。実行制御部１７０は、収集部１１０を起動する際に、データフロー設定記憶部１５０に格納されているデータフローの設定を示すデータを、収集部１１０に供給する。実行制御部１７０は、データ配送制御装置１００の各部を起動すると、そのときの時刻を開始時刻として、メモリ１１に格納する。また、実行制御部１７０は、メンテナンスツール５００の操作受付部５１０から停止の指示を受信すると、収集部１１０と、配送部１３０と、有効性判別部１４０と、データ処理部１６０とを停止する。
【００６３】
さらに、実行制御部１７０は、メンテナンスツール５００の操作受付部５１０から、ユーザが入力したデータフローの設定の内容を示すデータを受信すると、受信したデータをデータフロー設定記憶部１５０に格納する。実行制御部１７０の機能は、図２に示すＣＰＵ１４により実現される。
【００６４】
次に、データ処理装置４００の機能構成を説明する。図１に示すように、データ処理装置４００は、機能的には、解析処理及び診断処理を実行するデータ処理部４１０を含む。
【００６５】
データ処理部４１０は、データ配送制御装置１００から供給されたデータを解析し、解析結果に基づいて、ＦＡ機器６０１及び６０２を診断し、診断結果を出力する。データ配送制御装置１００から供給されたデータはＰＬＣ６０４及び６０５から収集されたデータであり、このデータには収集時刻情報が付加されている。データ処理部４１０は、この収集時刻情報を、データ配送制御装置１００から供給されたデータを識別する情報として、診断結果に付加する。
【００６６】
データ処理部４１０は、上記のような診断結果を示すデータをデータ配送制御装置１００に送信する。実施の形態においては、データ処理部４１０は、データ配送制御装置１００から受信したデータの解析処理及び診断処理を順次実行し、診断結果をデータ配送制御装置１００に戻すようプログラムされている。また、データ処理部４１０は、必ずしも、データ配送制御装置１００の各部の起動のタイミングと同じタイミングで起動されるとは限らない。データ処理部４１０は、ユーザから収集処理及び配送処理の開始が指示されたときに起動されていればよい。データ処理部４１０の機能は、図２に示すＣＰＵ４３が解析診断プログラム４１１を実行することにより実現される。データ処理部４１０は、本発明のデータ処理手段の一例である。
【００６７】
図１に示すように、メンテナンスツール５００は、機能的には、操作受付部５１０を含む。操作受付部５１０は、ユーザから受け付けた操作を示す信号及びユーザが入力したデータをデータ配送制御装置１００に送信する。具体的には、操作受付部５１０は、ユーザから受け付けたデータ収集及び配送の制御に係る処理の開始指示を、一点鎖線の矢印Aで示すように、データ配送制御装置１００に送信する。さらに、操作受付部５１０は、ユーザが入力したデータフローの設定の内容を示すデータをデータ配送制御装置１００に送信する。操作受付部５１０の機能は、図２に示すＣＰＵ５５により実現される。
【００６８】
続いて、データ配送制御装置１００の有効性判別部１４０が実行する有効性の判別処理の流れを説明する。ユーザがメンテナンスツール５００を介して収集処理及び配送処理の開始を指示したと仮定する。ユーザの指示に応答して、図１に示す実行制御部１７０により、収集部１１０と、配送部１３０と、有効性判別部１４０と、データ処理部１６０とはそれぞれ起動されたものとする。実行制御部１７０は、ユーザから開始指示を受け付けたときに、そのときの時刻を開始時刻としてメモリ１１に格納する。データ処理装置４００のデータ処理部４１０もすでに起動されているものとする。収集部１１０は指定された収集間隔でＰＬＣ６０３及び６０４からデータを収集し、収集したデータを配送部１３０に送信しているものとする。
【００６９】
有効性判別部１４０は、配送部１３０からデータを受信すると、データが有効であるか否かを判別するため、図５に示す有効判別処理を実行する。
【００７０】
有効性判別部１４０の変換部１４１は、配送部１３０からデータを受信すると（ステップＳ１１；Ｙｅｓ）、受信したデータを変換し（ステップＳ１２）、変換したデータを配送制御部１４２に供給する。変換部１４１は、配送部１３０から受信したデータが、データ処理装置４００から受信したデータである場合、そのデータをデータ配送制御装置１００内部用の決められたフォーマットに変換する。また、変換部１４１は、配送部１３０から受信したデータがＰＬＣ６０３及び６０４に宛てたデータである場合、そのデータを、ＰＬＣ６０３及び６０４内部用の決められたフォーマットに変換する。
【００７１】
配送制御部１４２は、変換部１４１から供給されたデータに付加された収集時刻情報から収集時刻を取得する（ステップＳ１３）。配送制御部１４２は、収集時刻を示す情報を時刻確認部１４３に出力する。時刻確認部１４３は、配送制御部１４２から収集時刻を示す情報が供給されると、メモリ１１に保存されている現在のフローが開始された開始時刻を示す情報を読み出す（ステップＳ１４）。時刻確認部１４３は、収集時刻が開始時刻以降であるか否かを判別し（ステップＳ１５）、判別した結果を配送制御部１４２に出力する。
【００７２】
配送制御部１４２は、時刻確認部１４３が出力した結果が、収集時刻が開始時刻以降であることを示している場合（ステップＳ１５；Ｙｅｓ）、データフロー設定記憶部１５０に格納されているデータフローについての設定内容と、データの次の配送先を特定する（ステップＳ１６）。配送制御部１４２は、特定した配送先を示す情報とともにそのデータを変換部１４１に出力する。
【００７３】
変換部１４１は、配送制御部１４２から受信したデータを変換し（ステップＳ１７）、変換したデータと配送先を示す情報とを、配送部１３０に送信する（ステップＳ１８）。従って、配送部１３０は、指定された配送先にデータを配送する。その後、変換部１４１は、再びステップＳ１１の処理に戻り、配送部１３０からのデータを待ち受ける。
【００７４】
一方、配送制御部１４２は、ステップＳ１５で、時刻確認部１４３が出力した結果が、収集時刻が開始時刻より前であることを示している場合（ステップＳ１５；Ｎｏ）、配送制御部１４２はそのデータを破棄する（ステップＳ１９）。
以上が、有効性判別部１４０が実行する有効判別処理である。
【００７５】
続いて、図６を参照して、上記構成を備える診断システム１におけるデータの全体の流れの一例を示す。図示する例では、ＰＬＣ６０３から収集されたデータを、データ処理装置４００のデータ処理部４１０が解析及び診断する。なお、図示を省略しているが、ＰＬＣ６０３は、図２に示すＦＡ機器６０１に設けられたセンサが出力したデータを収集しており、ここでは、ＦＡ機器６０１が診断対象である。
【００７６】
図６に示すように、収集部１１０は、指定された収集対象であるＰＬＣ６０３から指定された収集間隔でデータを収集する（ステップＳ１００１）。収集部１１０は、収集したデータを配送部１３０に送信する（ステップＳ１００２）。配送部１３０は、収集部１１０から受信したデータを有効性判別部１４０に送信する（ステップＳ１００３）。有効性判別部１４０は収集部１１０から受信したデータの有効性を判別する有効性判別処理を実行する（ステップＳ１００４）。データが有効であると判別すると、有効性判別部１４０は、図４に示すデータフロー設定記憶部１５０に格納されているデータフロー設定データが示す設定に従って、データをデータ処理部１６０に送信する（ステップＳ１００５）。
【００７７】
データ処理部１６０は、有効性判別部１４０から受信したデータに加工処理を施し（ステップＳ１００６）、処理後のデータを有効性判別部１４０に送信する（ステップＳ１００７）。有効性判別部１４０は、データ処理部１６０から受信したデータの有効性を判別する有効性判別処理を実行する（ステップＳ１００８）。データが有効であると判別すると、有効性判別部１４０は、図４に示すデータフロー設定記憶部１５０に格納されているデータフロー設定データが示す設定に従って、配送先を示す配送先情報とともに配送部１３０に送信する（ステップＳ１００９）。ここでは、配送先として、データ処理装置４００のデータ処理部４１０が指定される。配送部１３０は、有効性判別部１４０から供給された配送先を示す配送先情報が示す配送先にデータを送信する（ステップＳ１０１０）。
【００７８】
データ処理部４１０は、データ配送制御装置１００から受信したデータを解析し、解析結果に基づいて診断対象を診断する（ステップＳ１０１１）。データ処理部４１０は、診断結果をデータ配送制御装置１００に送信する（ステップＳ１０１２）。
【００７９】
データ配送制御装置１００の配送部１３０は、データ処理装置４００から受信したデータを、有効性判別部１４０に送信する（ステップＳ１０１３）。有効性判別部１４０は配送部１３０から受信したデータの有効性を判別する（ステップＳ１０１４）。データが有効であると判別すると、有効性判別部１４０は、データを、図４に示すデータフロー設定記憶部１５０に格納されているデータフロー設定データが示す設定に従って、データの配送先を示す配送先情報とともに配送部１３０に送信する（ステップＳ１０１５）。配送部１３０は、有効性判別部１４０から供給された配送先を示す配送先情報が示す配送先にデータを送信する（ステップＳ１０１６）。
【００８０】
従って、ＰＬＣ６０３は、データ配送制御装置１００から受信した診断結果に基づいて、ＦＡ機器６０１を制御する。以上が、診断システム１におけるデータの全体の流れの一例である。
【００８１】
以上説明したように、実施の形態において、データ配送制御装置１００は、外部から受信したデータ、ここでは、ＰＬＣ６０３及び６０４とデータ処理装置４００とから受信したデータが有効であるか無効であるかを判別する。具体的には、データ配送制御装置１００は、データに付加されている収集時刻情報が示す収集時刻と、フローを開始した開始時刻とを比較し、収集時刻が開始時刻以降である場合、そのデータが有効であると判別し、データを次の配送先に流す。
【００８２】
一方、データ配送制御装置１００は、収集時刻が開始時刻より前である場合、そのデータが無効であると判別する。例えば、図７に示すように、ステップＳ１０１１で、データ処理部４１０がデータ配送制御装置１００の配送部１３０にデータを送信したものとする。有効性判別部１４０が、データ処理部４１０から受信したデータを、ステップＳ１０１３の有効性判別処理で無効であると判別したとする。この場合、有効性判別部１４０は、データを次の配送先に流さず、破棄する（ステップＳ１０１６）。よって、無効なデータはデータ配送制御装置１００の外部に配送されることがない。なお、図７において、ステップＳ１００１〜ステップＳ１０１４までの処理は、図６と同様である。
【００８３】
データ配送制御装置１００は、上記のように、データに付加された収集時刻情報からデータの有効性を確認する。仮に、今回のフローの開始前に、データ処理装置４００が、データ処理装置４００に残留していたデータ、即ち処理すべきでないデータを解析・診断し、その診断結果をデータ配送制御装置１００に送信したとしても、データが無効であるため、データ配送制御装置１００は、診断結果をＰＬＣ６０３及び６０４に配送しない。このように、データ配送制御装置１００は、ＰＬＣ６０４及び６０５に、無効なデータに基づく診断結果が供給されないよう配信を制御することができる。よって、ＰＬＣ６０４及び６０５が処理すべきでないデータを処理することを防止することができる。データ配送制御装置１００は、上述したような構成を備えることで、例えば、複数のデータ処理部が連携して一連の処理を行う場合に特に有効である。
【００８４】
実施の形態においては、データ配送制御装置１００が、ＰＬＣ６０３を介してＦＡ機器６０１からデータを収集し、ＰＬＣ６０４を介してＦＡ機器６０２からデータを収集する例を説明したが、これに限られない。データ配送制御装置１００はＦＡ機器６０１及び６０２から直接データを収集してもよい。
【００８５】
実施の形態においては、データ配送制御装置１００が、データ収集を実行する収集部１１０を備える例を説明したが、収集部１１０は、データ配送制御装置１００とは独立した別の装置に設けられていてもよい。この場合、例えば、有効性判別部１４０は、データ配送制御装置１００が配送処理を開始したタイミングを起点とみなして、このタイミング以降に収集されたデータを有効であると判別するようにしてもよい。
【００８６】
実施の形態においては、データ配送制御装置１００とデータ処理装置４００とを物理的に異なる装置として構成する例を説明したが、これに限られない。例えば、データ配送制御装置１００とデータ処理装置４００とを、同一の装置上の異なる仮想マシン上で実現してもよい。
【００８７】
実施の形態において、データ配送制御装置１００が、収集部１１０が収集したデータに前処理を施す例を説明したが、データ配送制御装置１００は収集されたデータに前処理を実行しなくてもよい。この場合、データ配送制御装置１００は、データ処理部１６０を備えていなくてもよい。
【００８８】
実施の形態において、データ配送制御装置１００の有効性判別部１４０は、同一装置内のデータ処理部１６０から受信したデータについては有効性を判別していないが、これに限られない。有効性判別部１４０は、データ処理部１６０から受信したデータについても有効性を判別するようにしてもよい。
【００８９】
実施の形態においては、図３に示すようにデータ収集についての設定内容における収集対象の機器を特定する情報としてＩＰアドレス及びポート番号を使用する例を説明したが、これに限られない。収集対象の機器を特定する情報として、ネットワーク上における局番を使用してもよい。
【００９０】
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【００９１】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００９２】
Ｆ  ファイル、Ｔ  診断対象、００１  振動データ、１６０，４１０  データ処理部、１  診断システム、１１，４１，５１  メモリ、１２  フィールドバスインタフェース、１３  情報系ネットワークインタフェース、１４，４３，５５  ＣＰＵ、１９，４９，５９  バス、４２，５２  通信インタフェース、５３  入力装置、５４  表示装置、１００  データ配送制御装置、１０１，１０２，１０３  データ処理部、１１０  収集部、１１１  収集プログラム、１１２  配送制御プログラム、１１３  配送プログラム、１１４  加工プログラム、１２０  収集設定記憶部、１３０  配送部、１４０  有効性判別部、１４１  変換部、１４２  配送制御部、１４３  時刻確認部、１５０  データフロー設定記憶部、１７０  実行制御部、４００  データ処理装置、４１１  解析診断プログラム、５００  メンテナンスツール、５１０  操作受付部、５１１  メンテナンスプログラム、６０１，６０２  ＦＡ機器、６０３，６０４  プログラマブルロジックコントローラ（ＰＬＣ）、７０１，７０２  ネットワーク
【要約】
データ配送制御装置（１００）が備える収集部（１１０）は、ＰＬＣ（６０３、６０４）からデータを収集し、収集時刻を示す収集時刻情報を付加したデータを出力する。有効性判別部（１４０）は、データに付加された収集時刻情報が示す収集時刻が、予め設定されたデータ処理の流れであるデータフローを開始した時刻を示す起点時刻以降であるか否かに応じて、データが有効であるか否かを判別する。配送部（１３０）は、データが有効であると有効性判別手段が判別すると、データフローを定義したデータフロー設定に従って、データを配送する。【図１】
0006599064.tif 000002
【図２】
0006599064.tif 000003
【図３】
0006599064.tif 000004
【図４】
0006599064.tif 000005
【図５】
0006599064.tif 000006
【図６】
0006599064.tif 000007
【図７】
0006599064.tif 000008
【図８】
0006599064.tif 000009