(57)【特許請求の範囲】
【請求項１】
データ処理用の複数の機能処理モジュールを記憶する機能処理モジュール記憶部と、
前記複数の機能処理モジュールを実行する順序と、それぞれの前記機能処理モジュールで機能処理する対象の入力データと、それぞれの前記機能処理モジュールが対応する入力データのデータ形式の情報と、それぞれの前記機能処理モジュールが出力する出力データのデータ形式の情報とを含む設定情報を記憶する設定情報記憶部と、
前記設定情報に従って前記入力データおよび前記出力データのデータ形式を変換するアダプタ部と、
前記アダプタ部のデータ通信を前記設定情報に基づいて制御し、前記設定情報に設定された順序に基づいて前記機能処理モジュールに、機能処理する対象の入力データを機能処理させるプロセスマネージャ部と、
を備えることを特徴とするデータ処理装置。
【請求項２】
産業データを取得するデバイスと接続するドライバ部を備え、
プロセスマネージャ部は、前記ドライバ部を制御して、前記デバイスに産業データを取得させる
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記プロセスマネージャ部は、外部から産業データを取得すると、取得した時刻を示すデータ取得順識別情報と共に前記産業データをデータストア部に記憶し、実行する前記機能処理モジュールで扱う入力データとしての産業データを前記データ取得順識別情報に基づいて選択することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記プロセスマネージャ部は、複数の前記機能処理モジュールを並列して実行し、前記データ取得順識別情報に基づいてそれぞれの機能処理モジュールに入力データを処理させることを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記機能処理モジュールは、データの加工処理を行うデータ加工モジュール、前記データ加工モジュールが加工処理したデータの診断処理を行うデータ診断モジュール、前記データ診断モジュールの診断結果の通知処理を行う通知モジュールであることを特徴とする請求項１から４のいずれか１項に記載のデータ処理装置。
【請求項６】
機能処理モジュール記憶部に、データ処理用の機能処理モジュールを記憶する第１の工程と、
複数の前記機能処理モジュールを実行する順序と、それぞれの前記機能処理モジュールで機能処理する対象の入力データと、それぞれの前記機能処理モジュールが対応する入力データのデータ形式の情報と、それぞれの前記機能処理モジュールが出力する出力データのデータ形式の情報とを設定情報として設定情報記憶部に記憶する第２の工程と、
前記設定情報に設定された順序に基づいて機能処理させる前記機能処理モジュールを選択する第３の工程と、
選択した前記機能処理モジュールへの入力データのデータ形式を前記設定情報に基づいて変換する第４の工程と、
前記データ形式を変換した後の入力データを前記機能処理モジュールに機能処理させる第５の工程と、
前記機能処理モジュールの出力データのデータ形式を前記設定情報に基づいて変換する第６の工程と、
を備えることを特徴とするデータ処理方法。
【請求項７】
前記第４の工程において、データを取得するデバイスと接続するドライバ部を制御して、外部からデータを取得する
ことを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
データ処理装置が対応可能な機能処理の名称を記載したリストを取得するリスト取得部と、
前記リストに記載された前記機能処理の処理フロー図を生成する表示制御部と、
前記処理フロー図に基づいて、複数の前記機能処理の処理順序を含む設定情報を生成する設定情報生成部と、
を備え、
前記表示制御部は、生成画面に表示する機能処理モジュールを選択する操作を検知すると、選択された前記機能処理モジュールが機能処理する入力データおよび当該機能処理の出力データを設定するための詳細設定画面を表示し、
前記設定情報生成部は、前記詳細設定画面を用いて設定された前記入力データおよび前記出力データに対応するデータ形式を示す情報を含む前記設定情報を生成することを特徴とする設定管理装置。
【請求項９】
前記設定情報生成部は、前記処理フロー図が変更された場合、変更結果に応じて前記設定情報を更新する
ことを特徴とする請求項８に記載の設定管理装置。
【請求項１０】
データ処理をする機能処理モジュールを記憶する外部サーバーと、
前記外部サーバーから取得した機能処理モジュールを記憶する機能処理モジュール記憶部と、複数の前記機能処理モジュールを実行する順序と、それぞれの前記機能処理モジュールで機能処理する対象の入力データと、それぞれの機能処理モジュールが対応する前記入力データのデータ形式の情報と、それぞれの前記機能処理モジュールが出力する出力データのデータ形式の情報とを含む設定情報を記憶する設定情報記憶部と、前記設定情報に従って前記入力データおよび前記出力データのデータ形式を変換するアダプタ部と、前記アダプタ部のデータ通信を前記設定情報に基づいて制御し、前記設定情報に設定された順序に基づいて前記機能処理モジュールに機能処理の対象である入力データを機能処理させるプロセスマネージャ部とを有するデータ処理装置と
を備えることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業データを処理するデータ処理装置、データ処理方法、設定管理装置およびデータ処理システムに関する。
【背景技術】
【０００２】
近年、生産装置の稼働状態を示すデータ、センサデータなどの産業データを収集し、収集した産業データを分析し、分析結果を生産性向上に利用する試みがなされている。産業データの利用目的によって産業データの分析手段が異なる為、産業データの収集手段や収集した産業データの蓄積手段は共通基盤として共通化し、収集した産業データの分析手段のみを自由に置き換えることができるデータ処理装置が求められている。【０００３】
例えば特許文献１には、ＰＬＣと接続される上位コンピュータと、ＰＬＣと上位コンピュータとの間に介在するコントローラとによって、産業データを収集および分析するシステムが開示されている。このコントローラは、産業データの利用目的に応じた分析等の手段である機能拡張モジュールを追加することが可能であり、追加した機能拡張モジュールを実行することにより、種々の機能を実現可能である。特許文献１に記載のコントローラを利用することで、例えば、生産性向上に利用していた産業データを、品質向上に利用することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１００８０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載のコントローラは、機能拡張モジュールが産業データの利用目的に応じて、例えば、産業データを加工、解析、判断する処理からなっている場合、解析処理を異なるアルゴリズムの解析処理に変更するには、機能拡張モジュール自体を交換する必要があった。【０００６】
本発明は、上記に鑑みてなされたものであって、従来の装置より柔軟に機能を拡張可能なデータ処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明のデータ処理装置は、データ処理用の機能処理モジュールを記憶する機能処理モジュール記憶部と、複数の機能処理モジュールを実行する順序と、それぞれの機能処理モジュールで機能処理する対象の入力データと、それぞれの機能処理モジュールが対応する入力データのデータ形式の情報と、それぞれの機能処理モジュールが出力する出力データのデータ形式の情報とを含む設定情報を記憶する設定情報記憶部と、設定情報に従って入力データおよび出力データのデータ形式を変換するアダプタ部と、アダプタ部のデータ通信を設定情報に基づいて制御し、設定情報に設定された順序に基づいて機能処理モジュールに、機能処理の対象の入力データを機能処理させるプロセスマネージャ部と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明にかかるデータ処理装置は、従来の装置より柔軟に機能を拡張可能なデータ処理装置を得ることが可能であるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るデータ処理システムの構成を示す図
【図２】図１に示すデータ処理システムが行う機能処理の流れを概念的に示す図
【図３】図１に示すデータ処理装置の構成を示す図
【図４】図３に示すデータ処理装置が記憶する入出力情報の一例を示す図
【図５】図３に示すデータ処理装置が設定情報に基づいて実行する一連の機能処理の一例を示す図
【図６】図３に示すデータ処理装置が用いる設定情報の一例を示す図
【図７】図３に示すデータ処理装置が実行する一連の機能処理の他の一例を示す図
【図８】図３に示すデータ処理装置が記憶するデバイスとメモリ領域との対応テーブルを示す図
【図９】図３に示すデータ処理装置が記憶するタイムスタンプ付産業データを示す図
【図１０】図３に示すデータ処理装置のハードウェア構成を示す図
【図１１】図３に示すプロセスマネージャ部の動作を示すフローチャート
【図１２】図３に示すアプリケーションアダプタ部の動作を示すフローチャート
【図１３】図１に示すデータ処理システムが図５に示す一連の機能処理を行うときの動作例を示すシーケンス図
【図１４】図３に示す設定管理装置の構成を示す図
【図１５】図１４に示す設定管理装置が表示する設定情報生成画面の第１の例を示す図
【図１６】図１５に示す設定情報生成画面からリンクされた詳細設定画面を示す図
【図１７】図１４に示す設定管理装置が表示する設定情報生成画面の第２の例を示す図
【図１８】図１７に示す設定情報生成画面からリンクされた詳細設定画面を示す図
【図１９】図１４に示す設定管理装置が表示する設定情報生成画面の第３の例を示す図
【図２０】図１９に示す設定情報生成画面からリンクされた詳細設定画面を示す図
【図２１】図３に示すデータ処理装置がクラウド上に記憶されたアプリケーションまたは機能処理モジュールを取得する例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるデータ処理装置、データ処理方法、設定管理装置およびデータ処理システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
図１は、本発明の実施の形態にかかるデータ処理システムの構成を示す図である。図１に示すデータ処理システム１は、データ処理装置１０と、データ処理装置１０と接続されたデバイス４とを有する。
【００１２】
デバイス４は、産業データを取得する装置であり、生産装置４Ａ、生産装置４Ａを制御するコントローラ４Ｂ、生産装置４Ａに取り付けられたセンサ４Ｃなどである。生産装置４Ａは、工場などの生産現場で用いられる装置であり、例えば成形装置、検査装置、搬送装置、加工装置である。コントローラ４Ｂは、例えばＰＬＣ（Programmable  Logic  Controller：プログラマブルコントローラともいう）であり、生産装置４Ａの動作順序などの一連のイベントを自動的に制御する。産業データは、温度、電圧、電流、距離、速度、生産装置４Ａの稼働時間、生産装置４Ａのエラー回数など生産装置４Ａの状態を示すデータ、生産装置４Ａの稼働準備作業を行う作業員の状態、人数などを示すデータ、生産予定数量を示すデータなどであり、生産現場で生成されるあらゆるデータである。ここで、生産装置４Ａ、コントローラ４Ｂおよびセンサ４Ｃは、デバイス４の具体例であり、以下、生産装置４Ａ、コントローラ４Ｂおよびセンサ４Ｃを特に区別する必要がない場合、まとめてデバイス４と称する。なお、デバイス４は、産業データを取得する装置であればよく、上記の具体例に限定されず、例えば、生産装置４Ａ、コントローラ４Ｂのみから構成されていてもよい。また、本実施の形態でいう産業とは、工業、農業、水産業等広義の意味での産業をいう。また、産業データは、産業において扱われるデータであるが、工業分野においては、例えば、工場、インフラ管理、倉庫、ビル、オフィス、家庭で扱われるデータをいう。また、これに伴い生産現場とは、各産業における装置が設置された現場をいい、工場の生産現場に限定されるものでは無い。
【００１３】
データ処理装置１０は、例えば、産業データの取得、加工、診断および診断結果の通知といった、産業データについての一連の機能処理を行う。また、データ処理装置１０は、一連の機能処理の各機能を容易に変更することが可能なプラットフォームを有している。このデータ処理装置１０は、ユーザ所望の機能処理を複数設定した後、産業データについての一連の機能処理を所定の順序で連続的に実行することにより、これら一連の機能処理をリアルタイムに実現することを特徴としている。
【００１４】
さらに、データ処理装置１０は、データ処理装置１０への入力データおよびデータ処理装置１０からの出力データのデータ形式を変換する機能を有しており、様々なプロトコルに対応することができる。
【００１５】
図２は、図１に示すデータ処理システムが行う機能処理の流れを概念的に示す図である。データ処理装置１０は、生産装置４Ａからコントローラ４Ｂを経由して又はセンサ４Ｃから産業データを収集すると、産業データを加工して、加工された産業データを用いて生産装置４Ａの状態を診断し、診断結果を通知する。診断結果の通知は、異常が検知された場合のみ行ってもよい。またこの図では生産装置４Ａへ診断結果が通知されているが、診断結果の通知先は、例えばコントローラ４Ｂ、表示器（図示せず）などであってもよい。または、診断結果の通知は、予め登録されたメールアドレスへのメール送信などにより行われてもよい。生産装置４Ａの異常が検知されたときに、生産装置４Ａを操作することができるように、生産装置４Ａの操作を行う人や、生産装置４Ａを制御するコントローラ４Ｂに診断結果が通知されることが望ましい。
【００１６】
図３は、図１に示すデータ処理装置の構成を示す図である。データ処理装置１０は、リアルタイム処理アプリケーション５Ｂ、オフライン分析アプリケーション５Ｃ、ドライバ部１１と、アプリケーションアダプタ部１２と、プロセスマネージャ部１３と、データストア部１４と、メッセージ中継部１５と、ライブラリ管理部１６とを有する。またデータ処理装置１０は、外部サーバーアプリケーション５Ａを格納するクラウドサーバー等の外部サーバー（図示せず）と接続されている。また、データストア部１４は、機能処理モジュールを記憶する機能処理モジュール記憶部１４Ａと、設定情報を記憶する設定情報記憶部１４Ｂとを有する。
【００１７】
データ処理装置１０は、複数のデバイス４と接続することが可能である。データ処理装置１０は、デバイス４の拡張性を有しており、予め定められたデバイス４に加えて、接続するデバイス４を後から追加することもできる。図３では、３種類のデバイス４が示されているが、データ処理装置１０には、４つ以上のデバイス４が接続されてもよいし、同じ種類のデバイス４が複数接続されてもよい。
【００１８】
またデータ処理装置１０は、予め組み込まれたアプリケーションソフトウェア（以下、単にアプリケーションと呼ぶ）５に加えて、ユーザ所望のアプリケーション５を後から追加したり入れ替えたりすることもできる。ここでアプリケーション５は、産業データの加工処理を実行する加工モジュール、診断処理を実行する診断モジュールおよび診断結果の通知処理を実行する通知モジュールなどの複数の機能処理モジュールから構成されている。機能処理モジュールは、例えば、ＥＸＥファイル（EXEcutable  file）である。
【００１９】
またデータ処理装置１０が使用するアプリケーション５としては、外部サーバー上で実行されて実行結果を返す外部サーバーアプリケーション５Ａ、リアルタイムに処理結果を返すリアルタイム処理アプリケーション５Ｂ、オフラインで実行することができるオフライン分析アプリケーション５Ｃなどが挙げられる。中でもリアルタイム処理アプリケーション５Ｂは、プロセスマネージャ部１３が、入力データと機能処理を同時並行的に行う、いわゆるストリーミング処理として実行するアプリケーションである。また、オフライン分析アプリケーション５Ｃは、プロセスマネージャ部１３がデータストア部１４に記憶した産業データを用いて、前述のストリーミング処理と独立して実行するアプリケーションである。そして、外部サーバーアプリケーション５Ａは、外部サーバーで実行されるアプリケーションであれば良く、リアルタイム処理アプリケーションであっても、オフライン分析アプリケーションであっても良い。
【００２０】
外部サーバーアプリケーション５Ａ、リアルタイム処理アプリケーション５Ｂ、オフライン分析アプリケーション５Ｃは、加工処理、診断処理および診断結果の通知処理などの機能処理を担うことができ、アプリケーション５が実行されるＯＳ環境とアプリケーション５が担う機能との組み合わせは特に制限されない。すなわち、例えば、（１）加工処理、診断処理および診断結果の通知処理の、すべてをリアルタイム処理アプリケーション５Ｂが行っても良く、又は、（２）加工処理を外部サーバーアプリケーション５Ａが行い、診断処理をリアルタイム処理アプリケーション５Ｂが行い、通知処理をオフライン分析アプリケーション５Ｃが行っても良く、又は、（３）加工処理と診断処理をリアルタイム処理アプリケーション５Ｂが行い、通知処理をオフライン分析アプリケーション５Ｃが行っても良い。
【００２１】
データ処理装置１０は、後述する設定管理装置２０によって、アプリケーション５の加工処理、診断処理、通知処理の処理順序が設定されると、設定された順序でこれら一連の機能処理を連続して行う。具体的には、例えば、データ処理装置１０は、（１）リアルタイム処理アプリケーション５Ｂの加工処理、診断処理および通知処理を連続して行い、又は、（２）外部サーバーアプリケーション５Ａに加工処理を行った後、続けて、リアルタイム処理アプリケーション５Ｂの診断処理を行い、続けて、オフライン分析アプリケーション５Ｃの通知処理を行う、又は、（３）リアルタイム処理アプリケーション５Ｂの加工処理と診断処理を連続して行った後、続けてオフライン分析アプリケーション５Ｃの通知処理を行う。なお、ここでのデータ処理装置１０の処理の説明では、便宜上、例えば、１フレームの産業データ（以下、産業データの数え方として個数を使用する）に対しの機能処理を前提にしているが、プロセスマネージャ部１３は、３つの産業データについて、加工処理を３回行った後に診断処理を３回行っても良い。すなわち、１つ目の産業データを加工処理した後、診断処理を行い、１つ目の産業データの機能処理が終わってから２つ目の産業データの機能処理を開始する必要はない。
【００２２】
ドライバ部１１は、複数の種類のデバイス４と接続するための処理を行う。具体的には、ドライバ部１１は、接続するデバイス４が対応するプロトコルに基づいて、デバイス４への入力データおよびデバイス４が出力する出力データのデータ形式を変換する。ドライバ部１１は、ドライバ部１１を制御するプロセスマネージャ部１３が出力した産業データの取得指示メッセージをメッセージ中継部１５経由で受け取ると、受け取った取得指示メッセージを、デバイス４が対応可能なプロトコルの指示メッセージに変換して、変換後の指示メッセージをデバイス４に出力する。そして、デバイス４は、受け取った指示メッセージに基づいて産業データを収集し、収集した産業データをドライバ部１１に出力する。また、ドライバ部１１は、各デバイス４が出力した出力データである産業データを、プロセスマネージャ部１３の予め定められた収集インタフェースに合わせたフォーマットに加工して、加工後の出力データをプロセスマネージャ部１３に受け渡す。つまり、ドライバ部１１は、デバイス４とプロセスマネージャ部１３との間で、デバイス４ごとのプロトコルの差異を吸収している。
【００２３】
アプリケーションアダプタ部１２は、アプリケーション５（５Ａ、５Ｂ、５Ｃ）やプロセスマネージャ部１３とデータ通信するようになされており、このデータ通信を制御する通信制御部１２１を有している。通信制御部１２１は、例えば、プロセスマネージャ部１３が出力した産業データをアプリケーション５に送信し、又は、アプリケーション５の実行によって出力された出力データを他のアプリケーションに送信する。更にアプリケーションアダプタ部１２は、入出力情報（図４）に基づいて、アプリケーション５への入力データを、入力先であるアプリケーション５の対応プロトコルに準拠するように変換し、変換後の入力データを同じアプリケーション５に入力するよう制御している。
【００２４】
図４は、図３に示すデータ処理装置１０が記憶する入出力情報の一例を示す図である。入出力情報３１は、データストア部１４に記憶されている。入出力情報３１は、例えばアプリケーション５を特定するためのアプリケーション識別情報と、アプリケーション５と対応づけられたプロトコルを識別するプロトコル情報とを有している。すなわち、入出力情報３１は、アプリケーション５が実行可能なプロトコルを特定する為の情報である。なお、入出力情報３１は、アプリケーション５が対応するプロトコルを示す情報であるが、プロトコルに替えてデータ形式自体を示す情報であってもよい。なお、アプリケーションアダプタ部１２が対応するプロトコルなどの規格としては、ＭＱＴＴ（Message  Queueing  Telemetry  Transport）、ＲＥＳＴ（REpresentational  State  Transfer）、ＤＬＬ（Dynamic  Link  Library）、ＯＰＣ  ＵＡ（OLE  for  Process  Control  Unified  Architecture）、ファイルアクセスプロトコルなどが挙げられる。
【００２５】
アプリケーションアダプタ部１２は、この入出力情報３１を用いて、アプリケーション５により実行される処理への入力データおよび出力データを変換することができる。詳しくは、アプリケーションアダプタ部１２は、プロセスマネージャ部１３がアプリケーション＃１を実行する場合、アプリケーション＃１で扱う入力データを、入出力情報３１に従って、アプリケーション＃１に対応付けられたプロトコル＃１が規定するデータ形式に変換する。また、アプリケーションアダプタ部１２は、実行したアプリケーション５からの出力データをプロセスマネージャ部１３の予め定められたインタフェースに合わせて出力データのデータ形式を変換する。
【００２６】
具体的には、アプリケーション５が加工処理を実行する場合、アプリケーションアダプタ部１２は、プロセスマネージャ部１３の加工インタフェースに合わせて出力データのデータ形式を変換する。また、アプリケーション５が診断処理を行う場合、アプリケーションアダプタ部１２は、プロセスマネージャ部１３の診断インタフェースに合わせて出力データのデータ形式を変換する。アプリケーション５が通知処理を行った場合、アプリケーションアダプタ部１２は、プロセスマネージャ部１３の通知インタフェースに合わせて出力データのデータ形式を変換する。
【００２７】
プロセスマネージャ部１３は、ドライバ部１１を経由してデバイス４から産業データを収集し、アプリケーションアダプタ部１２を経由してアプリケーション５内の機能処理モジュール（加工、診断、通知）を実行することにより、産業データの収集処理、加工処理、診断処理、診断結果の通知処理などの機能処理を行うことができる。すなわち、プロセスマネージャ部１３は、ドライバ部１１に産業データの取得を指示することで、産業データを収集することができ、続けて、収集した産業データを入力データとしてアプリケーションアダプタ部１２に送信し、アプリケーションアダプタ部１２を経由してアプリケーション５内の機能処理モジュールに実行を指示することで、産業データに対して機能処理を行うことができる。
【００２８】
なお、プロセスマネージャ部１３は、ドライバ部１１を経由してデバイス４から産業データを収集しているが、デバイス４が機械的に収集した産業データを必要に応じて収集するようにしても良い。又は、プロセスマネージャ部１３は、デバイス４に産業データを収集する収集モジュールを保有させておき、この収集モジュールを実行することにより産業データを収集するようにしても良い。又は、プロセスマネージャ部１３は、データ処理装置１０自身が収集モジュールを有しており、この収集モジュールを実行することにより、産業データを収集するようにしても良い。
【００２９】
ここで、プロセスマネージャ部１３は、それぞれの機能処理を行う複数の機能処理モジュールの間でデータ通信の同期をとる同期制御部１３１の機能を有する。同期制御部１３１は、後述する設定情報に基づいて、機能処理モジュールの実行順、すなわち一連の機能処理の順序を制御して、複数の機能処理モジュールの間でデータ通信の同期をとる。また、同期制御部１３１は、設定情報に設定された順序で機能処理モジュールの実行を滞りなく連続的に指示することで、複数の機能処理を中断することなく時間的に連続して行わせている。ここで、同期を取るとは、機能処理モジュールを実行するタイミングと、機能処理モジュールに入力データを実行させるタイミングとを調整することである。例えば、プロセスマネージャ部１３は、加工処理の後処理である診断処理をさせる場合、加工処理によって加工データ（出力データ）が出力されたことをトリガに、診断処理をさせることで同期を取る。または、プロセスマネージャ部１３は、加工処理をさせた後、所定の期間後に、診断処理をさせることで同期を取るようにしても良い。
【００３０】
図５は、図３に示すデータ処理装置１０が、設定情報に基づいて、実行する一連の機能処理の一例を示す図である。２つの機能処理の間を接続する矢印は、前の機能処理の出力データが後の機能処理の入力データとなることを示している。図５に示す一連の機能処理は、収集処理と、加工処理と、診断処理と、通知処理とが含まれており、収集処理の後に、収集処理で取得された産業データを加工する加工処理が行われ、加工処理の後に加工後の産業データである出力データを用いた診断処理が行われ、診断処理の後に診断処理における診断結果を通知する通知処理が行われることが示されている。ここで設定情報は、図５に示したような産業データ、又は機能処理後の産業データが扱われる機能処理の手順を示す情報であり、具体的には、図６に示すように、複数の機能処理を実行する順序を示す順序情報と、各機能処理のカテゴリを示す処理種別情報と、各機能処理を行うために用いるデバイス４またはアプリケーション５に含まれ機能処理モジュールを特定するための処理方法情報と、アプリケーション５が機能処理する入力データの種類を特定するための入力データ情報とを含む。
【００３１】
さらに、データ処理装置１０は、設定情報に基づいて機能処理モジュールを実行し、機能処理モジュールで扱われる入力データを機能処理する場合、入力データを機能処理モジュールで対応可能なプロトコルに変換する必要がある為、アプリケーションアダプタ部１２において、設定情報とは別に準備した図４に示す入出力情報に基づいて、入力データを機能処理モジュールで対応可能なプロトコルに変換する。なお、上述の実施の形態では、設定情報と入出力情報とを別のデータシートにしてデータストア部１４に保管しているが、本実施の形態では、設定情報と入出力情報とを１つのデータシートにしてデータストア部１４に保管しても良い。
【００３２】
図７は、図３に示すデータ処理装置が実行する一連の機能処理の他の一例を示す図である。データ処理装置１０は、後述する設定管理装置２０によって設定情報が書き換えられることによって、図５に示す一連の機能処理の代わりに図７に示す一連の機能処理を実行することができる。図７に示すように、一連の機能処理は、同時に実行される複数の機能処理を含んでいてもよいし、２つの入力データを受け付ける機能処理を含んでいてもよい。図７に示す一連の機能処理は、第１収集処理と、第２収集処理と、第１加工処理と、第２加工処理と、第１診断処理と、第２診断処理と、第１通知処理と、第２通知処理とを含む。図７は、第１収集処理の後に、第１収集処理で取得された産業データを加工する第１加工処理が行われ、第２収集処理の後に、第２収集処理で取得された産業データを加工する第２加工処理が行われることが示されている。またこの図７は、第１加工処理および第２加工処理の後に、第１加工処理における加工後の産業データおよび第２加工処理における加工後の産業データを用いた第１診断処理が行われ、第２加工処理の後に、第２加工処理における加工後の産業データを用いた第２診断処理が行われることが示されている。また、第１診断処理の後には、第１診断処理の診断結果を通知する第１通知処理が行われ、第２診断処理の後には、第２診断処理の診断結果を通知する第２通知処理が行われる。
【００３３】
なお、データ処理装置１０は、例えば、第１加工処理が行われるまでに、第１収集処理が終了していれば良い設定がされている場合、第１収集処理を複数回実行した後、第１加工処理を行うようにしても良い。すなわち、データ処理装置１０は、設定情報に基づいて一連の機能処理を行うようにしているが、この一連の機能処理は１つの産業データ、例えば、１フレームの産業データに対して順番に機能処理を実行している。この為、データ処理装置１０は、上述のように第１収集処理を複数回行った後、第１加工処理を行う場合、第１収集処理の第１回目で収集した産業データを、第１加工処理に手渡す必要がある。そこで、本実施の形態では、産業データにタイムスタンプを付けることで対応しており、以下、詳細に説明する。
【００３４】
プロセスマネージャ部１３は、設定情報に従って、ドライバ部１１に後述する産業データ３３の取得を指示すると、ドライバ部１１は、プロセスマネージャ部１３の収集インタフェースに合わせたデータ形式に変換した産業データ３３を出力する。プロセスマネージャ部１３は、この産業データ３３に、産業データ３３が取得された日時を示す取得時情報であるタイムスタンプ３２を付加して、タイムスタンプ３２を付加した産業データ３３をタイムスタンプ付産業データとしてデータストア部１４に記憶させる。プロセスマネージャ部１３は、各タイムスタンプ付産業データを記憶するメモリ領域を示す対応テーブルを予め記憶しており、この対応テーブルに従って、定められたメモリ領域に、タイムスタンプ付産業データを記憶することができる。なお、本実施の形態では、タイムスタンプを用いているが、プロセスマネージャ部１３が産業データを取得した順序を把握可能な情報、すなわちデータ取得順識別情報であれば良く、例えば、カウンタが順次数値を積算していくカウンタ数値であっても良い。
【００３５】
図８は、データ処理装置１０が記憶する、デバイスとメモリ領域との対応テーブルを示す図である。例えば、対応テーブルには、タイムスタンプ付産業データに含まれる産業データ３３を取得したデバイスを特定するためのデバイス情報と、タイムスタンプ付産業データを記憶するメモリ領域を特定するためのメモリ領域情報とを含む。プロセスマネージャ部１３は、例えばデバイス＃１を用いて取得した産業データ３３を受け取ると、この対応テーブルに従って、デバイス＃１と対応付けられたメモリ領域Ｄ１を特定する。そして、プロセスマネージャ部１３は、受け取った産業データ３３にタイムスタンプ３２を付加したタイムスタンプ付産業データを、メモリ領域Ｄ１に記憶させる。
【００３６】
図９は、データ処理装置１０が記憶するタイムスタンプ付産業データを示す図である。このタイムスタンプ付産業データは、タイムスタンプ３２と、産業データ３３とを含む。タイムスタンプ３２は、産業データ３３が取得された順序が客観的に判断できる情報であればよく、例えばプロセスマネージャ部１３が産業データ３３の取得を指示した日時であってもよいし、プロセスマネージャ部１３がドライバ部１１を介して産業データ３３を受け取った日時であってもよい。ここでプロセスマネージャ部１３が実行するアプリケーション５は、タイムスタンプ３２が付加された産業データ３３のうち、産業データ３３のみを機能処理の結果に応じて内容を変更し、タイムスタンプ３２の日付には変更を加えない。これにより、プロセスマネージャ部１３は、複数の機能処理の間で産業データ３３を取得した時間に基づいた処理を行うことができる。例えば加工処理において産業データ３３を加工された日時に付け替えない場合、タイムスタンプ３２は、加工処理後においても、産業データ３３が取得された日時を示している。
【００３７】
プロセスマネージャ部１３は、取得した産業データ３３にタイムスタンプ３２を付加した後、アプリケーション５の機能処理モジュールへタイムスタンプ付産業データを入力する。そして、アプリケーション５がタイムスタンプ付産業データのタイムスタンプ３２の時間が固定されたまま一連の機能処理を行うことにより、各機能処理モジュールの間において同じ時刻が付加された産業データ、すなわち入力データの同期をとることができる。なお、同じ時刻とは、完全一致の時刻である必要は無く、所定の範囲内の差の時刻も含めるものとする。また、同じ時刻は、所定の範囲内の差の時刻も含めることから、所定の範囲内にある複数の時刻もまとめて同じ時刻というものとする。具体的には、所定の範囲内にある異なる時刻を示すタイムスタンプが付された複数の産業データは、同じ時刻の産業データとなる。
【００３８】
また、実施の形態においては、プロセスマネージャ部１３が、産業データ３３に対してタイムスタンプ３２を付加しているが、ドライバ部１１が、産業データ３３に対してタイムスタンプ３２を付加するようにしても良い。これにより、データ処理装置１０がデバイス４から産業データ３３を取得した時点において、産業データ３３にタイムスタンプ３２を付加することができる。
【００３９】
また、プロセスマネージャ部１３は一連の機能処理を繰り返して行う。このときプロセスマネージャ部１３は、時刻ｔに収集された産業データ３３についての一連の機能処理の完了を待たずに、例えば、通知処理での通知を待たず、並列処理で次の時刻ｔ＋ｍの産業データ３３を収集してもよい。このため、複数の産業データ３３、複数の加工データおよび複数の診断結果が存在する。図５に示す一連の機能処理を行う場合、プロセスマネージャ部１３は、一連の機能処理に含まれる収集処理、加工処理、診断処理、通知処理が時間的に連続して実施されるように、各機能処理を行うことをドライバ部１１またはアプリケーション５に指示する。このとき、プロセスマネージャ部１３は、一連の機能処理に含まれる各機能処理で扱われる入力データを同じ時刻を示すタイムスタンプ３２を含むデータとする。これにより、並行して処理が行われる場合であっても、一連の機能処理に含まれる複数の機能処理は同じタイミングで取得された産業データ３３を処理することができる。つまり、タイムスタンプ３２を用いて、それぞれの機能処理で扱う入力データを選択することで、複数の一連の機能処理を並列処理することができるため、一連の機能処理が終了してから次の一連の機能処理を行う場合と比較して、全体の処理時間を短縮することができる。
【００４０】
また、図７に示す一連の機能処理を行う場合、プロセスマネージャ部１３は、第１収集処理および第２収集処理を同じタイミングで行わせる。そしてプロセスマネージャ部１３は、タイムスタンプ３２を用いて、第１収集処理で取得された第１産業データに基づくデータを第１加工処理、第１診断処理および第１通知処理に扱わせ、第２収集処理で取得された第２産業データに基づくデータを第２加工処理、第２診断処理、第２通知処理、第１診断処理および第１通知処理で扱わせることができる。この構成により、第１診断処理では、第１産業データを第１加工処理で加工した第１加工データと、第１産業データと同じタイミングで取得された第２産業データを第２加工処理で加工した第２加工データとが扱われる。このように産業データ３３に付加されたタイムスタンプ３２を用いることで、各機能処理で扱うべきデータが特定されるため、プロセスマネージャ部１３は、例えば、第２加工処理が終了したときに第１加工処理が終了していない場合、第１加工処理の終了を待たずに第２診断処理および第２通知処理を実行させて並列処理することができる。また、第１診断処理において、第１加工データを用いなくても第２加工データを用いた処理を開始することができる場合、プロセスマネージャ部１３は、第１加工処理の終了を待たずに第１診断処理を開始させて並列処理を行うことができる。また、プロセスマネージャ部１３は、第１収集処理および第２収集処理を複数回行った後、後続の機能処理を行うようにしてもよい。
【００４１】
図３の説明に戻る。データストア部１４は、プロセスマネージャ部１３がリアルタイム処理アプリケーション５Ｂを実行し、産業データ３３を用いたリアルタイム処理を行っている間に、各機能処理モジュール間の入出力データ、例えば、加工処理モジュールと診断処理モジュール間の入出力データを一時的に記憶する。また、これらのデータを用いてオフライン処理を行う場合には、プロセスマネージャ部１３は、オフライン分析アプリケーション５Ｃを実行し、データストア部１４に記憶された入出力データを用いて、例えば、診断処理を行う。
【００４２】
メッセージ中継部１５は、ドライバ部１１、アプリケーションアダプタ部１２、プロセスマネージャ部１３等の各構成要素間のメッセージを中継する。
【００４３】
ライブラリ管理部１６は、予め定められた基本的な処理をライブラリとして管理している。各アプリケーション５は、必要に応じてライブラリを参照することができる。アプリケーション５が、ライブラリが提供する処理の実行をライブラリ管理部１６に要求すると、ライブラリ管理部１６は、アプリケーション５からの要求に応答して、処理結果をアプリケーション５に返すことができる。
【００４４】
図１０は、データ処理装置１０のハードウェア構成を示す図である。データ処理装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９２と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）９３とを用いて実現することができる。
【００４５】
データ処理装置１０のドライバ部１１、アプリケーションアダプタ部１２、プロセスマネージャ部１３、メッセージ中継部１５およびライブラリ管理部１６の機能は、ＣＰＵ９１がＲＡＭ９２を作業領域として使用しながら、ＨＤＤ９３に記憶されたコンピュータプログラムを実行することによって実現される。データストア部１４の機能は、ＲＡＭ９２、ＨＤＤ９３などの記憶装置を用いて実現される。
【００４６】
すなわち、データ処理装置１０は、データストア部１４のＨＤＤ９３に、図３に示すアプリケーションアダプタ部１２、プロセスマネージャ部１３、ドライバ部１１等を実現する為のコンピュータプログラムや、アプリケーション５（リアルタイム処理アプリケーション５Ｂ、オフライン分析アプリケーション５Ｃ）、設定情報、入出力情報等を記憶している。そして、データ処理装置１０は、ＣＰＵ９１がＲＡＭ９２に必要なコンピュータプログラムや、アプリケーション５を展開し、ＲＡＭ９２を作業領域として使用し、設定情報、入出力情報を用いながら入出力データを機能処理するようになされている。また、本実施の形態では、プロセスマネージャ部１３が機能処理モジュールを実行するが、実際は、プロセスマネージャ部１３として機能するＣＰＵ９１が機能処理モジュールを実行するようになされている。
【００４７】
なお、上記のハードウェア構成は一例であり、データ処理装置１０は、ＣＰＵ９１以外の処理回路を用いて実現されてもよいし、ＲＡＭ９２およびＨＤＤ９３以外の記憶装置を用いて実現されてもよい。
【００４８】
図１１は、プロセスマネージャ部１３の動作を示すフローチャートである。プロセスマネージャ部１３は、設定情報に基づいて実行する機能処理を選択する（ステップＳ１０１）。続いて、プロセスマネージャ部１３は、ステップＳ１０１において選択された機能処理は収集処理であるか否かを判断する（ステップＳ１０２）。選択された機能処理が収集処理である場合（ステップＳ１０２：Ｙｅｓ）、プロセスマネージャ部１３は、接続するデバイス４を特定する情報をドライバ部１１に送信して産業データ３３の取得を指示する（ステップＳ１０３）。指示を受けたドライバ部１１は、プロセスマネージャ部１３から受け取った情報により特定されるデバイス４から産業データ３３を取得して、取得した産業データ３３をプロセスマネージャ部１３の収集インタフェースに合わせてデータ形式を変換した後、変換後の産業データ３３を出力データとして、完了通知と共にプロセスマネージャ部１３に送信する。
【００４９】
プロセスマネージャ部１３は、ドライバ部１１から収集処理の完了通知およびデバイス４が収集した出力データを受け取ったか否かを判断する（ステップＳ１０４）。完了通知および出力データを受け取っていないと判断された場合（ステップＳ１０４：Ｎｏ）、プロセスマネージャ部１３は、完了通知および出力データを受け取るまで、ステップＳ１０４の判断を繰り返す。完了通知および出力データを受け取ったと判断された場合（ステップＳ１０４：Ｙｅｓ）、プロセスマネージャ部１３は、受け取った出力データをデータストア部１４に記憶させる（ステップＳ１０５）。そしてプロセスマネージャ部１３は、設定情報に基づいて、次に実行する機能処理があるか否かを判断する（ステップＳ１０６）。次に実行する機能処理がない場合（ステップＳ１０６：Ｎｏ）、プロセスマネージャ部１３は、一連の機能処理を終了する。次に実行する機能処理がある場合（ステップＳ１０６：Ｙｅｓ）、プロセスマネージャ部１３は、ステップＳ１０１の処理から繰り返す。
【００５０】
ステップＳ１０１で選択された機能処理が収集処理でない場合（ステップＳ１０２：Ｎｏ）、すなわち、ステップＳ１０１で選択された機能処理が加工処理、診断処理または通知処理である場合、プロセスマネージャ部１３は、設定情報に含まれる入出力情報と、タイムスタンプとに基づいて、選択したアプリケーション５が行う機能処理で扱う入力データを取得する（ステップＳ１０７）。そして、プロセスマネージャ部１３は、取得した入力データをアプリケーションアダプタ部１２に送信して、選択したアプリケーション５の実行をアプリケーションアダプタ部１２に指示する（ステップＳ１０８）。具体的には、プロセスマネージャ部１３は、選択したアプリケーション５を特定するための情報と、このアプリケーション５が行う機能処理への入力データとをアプリケーションアダプタ部１２に送信する。指示を受けたアプリケーションアダプタ部１２は、後述する処理を完了すると、この処理の完了を示す完了通知および機能処理モジュールの実行結果である出力データをプロセスマネージャ部１３に渡す。
【００５１】
プロセスマネージャ部１３は、アプリケーションアダプタ部１２から完了通知および出力データを受け取ったか否かを判断する（ステップＳ１０９）。完了通知および出力データを受け取っていないと判断された場合（ステップＳ１０９：Ｎｏ）、プロセスマネージャ部１３は、完了通知および出力データを受け取るまで、ステップＳ１０９の判断を繰り返す。完了通知および出力データを受け取ったと判断された場合（ステップＳ１０９：Ｙｅｓ）、プロセスマネージャ部１３は、ステップＳ１０５の処理に進む。プロセスマネージャ部１３は、図１１に示した一連の機能処理を、予め定められた時間間隔で繰り返すことができる。
【００５２】
図１２は、図３に示すアプリケーションアダプタ部１２の動作を示すフローチャートである。アプリケーションアダプタ部１２は、プロセスマネージャ部１３から実行指示があるか否かを判断する（ステップＳ２０１）。プロセスマネージャ部１３から実行指示がないと判断された場合（ステップＳ２０１：Ｎｏ）、アプリケーションアダプタ部１２は、実行指示があるまでステップＳ２０１の判断を繰り返して待機する。プロセスマネージャ部１３から実行指示があったと判断された場合（ステップＳ２０１：Ｙｅｓ）、アプリケーションアダプタ部１２は、入出力情報に従って、実行指示が示すアプリケーション５に対応するプロトコルを選択する（ステップＳ２０２）。アプリケーションアダプタ部１２は、実行指示と共にプロセスマネージャ部１３から送信される入力データを受け取って、受け取った入力データを、選択したプロトコルに合わせて変換する（ステップＳ２０３）。
【００５３】
アプリケーションアダプタ部１２は、変換後の入力データをアプリケーション５に送信して、アプリケーション５に処理の開始を指示してアプリケーション５を実行する（ステップＳ２０４）。アプリケーションアダプタ部１２は、アプリケーション５から完了通知および出力データを受け取ったか否かを判断する（ステップＳ２０５）。完了通知および出力データを受け取っていないと判断された場合（ステップＳ２０５：Ｎｏ）、アプリケーションアダプタ部１２は、ステップＳ２０５の判断を繰り返して、完了通知および出力データを受け取るまで待機する。完了通知および出力データを受け取った場合（ステップＳ２０５：Ｙｅｓ）、アプリケーションアダプタ部１２は、プロセスマネージャ部１３のインタフェースに合わせて受け取った出力データを予め定められたデータ形式に変換して、変換後の出力データと完了通知とをプロセスマネージャ部１３に送信する（ステップＳ２０６）。アプリケーションアダプタ部１２は、プロセスマネージャ部１３からの実行指示を待機しており、プロセスマネージャ部１３から実行指示を受け付ける度に図１２に示す動作を繰り返す。
【００５４】
図１３は、図１に示すデータ処理システムが図５に示す一連の機能処理を行うときの動作例を示すシーケンス図である。なおこのシーケンス図では、簡単のため、各構成要素内で実行される処理内容については省略しており、各構成要素間で受け渡される情報を主に示している。
【００５５】
プロセスマネージャ部１３は、図５に示す一連の機能処理を記述した設定情報に基づいて、まず収集処理をする。ここでプロセスマネージャ部１３は、設定情報から収集処理をするために用いるデバイス４を確認して、ドライバ部１１にデバイス４を特定する情報を送信して産業データ３３の取得を指示する（ステップＳ３０１）。ここでは、プロセスマネージャ部１３は、デバイス４に産業データ３３を取得することを指示したとする。ドライバ部１１は、プロセスマネージャ部１３からの指示に応答して、デバイス４に対して入力する入力データである取得指示を、デバイス４に合わせて変換して、変換後の取得指示をデバイス４に入力する（ステップＳ３０２）。
【００５６】
デバイス４は、ドライバ部１１からの取得指示に応答して、産業データ３３を取得して、取得した産業データ３３と完了通知とをドライバ部１１に出力する（ステップＳ３０３）。ドライバ部１１は、デバイス４が出力した産業データ３３のデータ形式をプロセスマネージャ部１３の収集インタフェースに合わせた形式に変換して、変換後の産業データ３３と完了通知とをプロセスマネージャ部１３に送信する（ステップＳ３０４）。
【００５７】
プロセスマネージャ部１３は、産業データ３３と完了通知とを受け取ると、産業データ３３にタイムスタンプを付加したタイムスタンプ付産業データを生成し、生成したタイムスタンプ付産業データをデータストア部１４に記憶する。プロセスマネージャ部１３は、次に実行する処理があるか否かを設定情報に基づいて判断する。ここでは次に実行する処理は加工処理であるため、プロセスマネージャ部１３は、設定情報に基づいて、加工処理を実行するために用いるアプリケーション５が加工処理モジュール５−１であると特定する。そして、プロセスマネージャ部１３は、設定情報に基づいて、加工処理モジュール５−１が行う加工処理への入力データを、データストア部１４に記憶されたタイムスタンプ付産業データの中から取得する。プロセスマネージャ部１３は、加工処理モジュール５−１が行う加工処理への入力データとしてタイムスタンプ付産業データを送信すると共に、このアプリケーション５の実行をアプリケーションアダプタ部１２に指示する（ステップＳ３０５）。
【００５８】
アプリケーションアダプタ部１２は、入出力情報に基づいて、実行を指示されたアプリケーション５である加工処理モジュール５−１が対応するプロトコルを確認して、プロセスマネージャ部１３から受け取った入力データであるタイムスタンプ付産業データをこのプロトコルに合わせて変換する。そしてアプリケーションアダプタ部１２は、変換後のタイムスタンプ付産業データを入力データとして送信すると共に、加工処理モジュール５−１に処理の実行を指示する（ステップＳ３０６）。
【００５９】
加工処理モジュール５−１は、アプリケーションアダプタ部１２からタイムスタンプ付産業データと実行指示を受け取ると、入力データとして受け取ったタイムスタンプ付産業データに予め定められた加工を施して、加工後のタイムスタンプ付産業データである加工データを出力データとして出力する。加工処理モジュール５−１は、加工データと共に完了通知をアプリケーションアダプタ部１２に出力する（ステップＳ３０７）。
【００６０】
アプリケーションアダプタ部１２は、加工処理モジュール５−１から加工データと完了通知とを受け取ると、加工データをプロセスマネージャ部１３の加工インタフェースに合わせたデータ形式に変換して、変換後の加工データを完了通知と共にプロセスマネージャ部１３に受け渡す（ステップＳ３０８）。
【００６１】
プロセスマネージャ部１３は、加工データと完了通知とを受け取ると、受け取った加工データをデータストア部１４に記憶させて、次に実行する処理があるか否かを設定情報に基づいて判断する。ここでは次に実行する処理は診断処理であるため、プロセスマネージャ部１３は、設定情報に基づいて、診断処理を実行するために用いるアプリケーション５が診断処理モジュール５−２であると特定する。そして、プロセスマネージャ部１３は、設定情報に基づいて、この診断処理モジュール５−２が行う診断処理が扱う入力データを取得する。ここでは、プロセスマネージャ部１３は、加工データを入力データとして取得する。プロセスマネージャ部１３は、診断処理モジュール５−２へ加工データを受け渡すと共に、このアプリケーション５の実行をアプリケーションアダプタ部１２に指示する（ステップＳ３０９）。
【００６２】
アプリケーションアダプタ部１２は、入出力情報に基づいて、実行を指示されたアプリケーション５である診断処理モジュール５−２が対応するプロトコルを確認して、プロセスマネージャ部１３から受け取った加工データをこのプロトコルに合わせて変換する。そしてアプリケーションアダプタ部１２は、変換後の加工データを診断処理モジュール５−２に受け渡すと共に、処理の実行を指示する（ステップＳ３１０）。
【００６３】
診断処理モジュール５−２は、アプリケーションアダプタ部１２から加工データと実行指示を受け取ると、受け取った加工データを用いて診断を行い、診断結果を出力データとして出力する。診断処理モジュール５−２は、診断結果と共に完了通知をアプリケーションアダプタ部１２に出力する（ステップＳ３１１）。
【００６４】
アプリケーションアダプタ部１２は、診断処理モジュール５−２から診断結果と完了通知とを受け取ると、診断結果をプロセスマネージャ部１３の診断インタフェースに合わせたデータ形式に変換して、変換後の診断結果を完了通知と共にプロセスマネージャ部１３に受け渡す（ステップＳ３１２）。
【００６５】
プロセスマネージャ部１３は、診断結果と完了通知とを受け取ると、受け取った診断結果をデータストア部１４に記憶させて、次に実行する処理があるか否かを設定情報に基づいて判断する。ここでは次に実行する処理は通知処理であるため、プロセスマネージャ部１３は、設定情報に基づいて、通知処理を実行するために用いるアプリケーション５が通知処理モジュール５−３であると特定する。そして、プロセスマネージャ部１３は、設定情報に基づいて、この通知処理モジュール５−３が行う通知処理が扱う入力データを取得する。ここでは、プロセスマネージャ部１３は、診断結果を入力データとして取得する。プロセスマネージャ部１３は、通知処理モジュール５−３への診断結果を受け渡すと共に、このアプリケーション５の実行をアプリケーションアダプタ部１２に指示する（ステップＳ３１３）。
【００６６】
アプリケーションアダプタ部１２は、入出力情報に基づいて、実行を指示されたアプリケーション５である通知処理モジュール５−３が対応するプロトコルを確認して、プロセスマネージャ部１３から受け取った入力データである診断結果をこのプロトコルに合わせて変換する。そしてアプリケーションアダプタ部１２は、変換後の診断結果を通知処理モジュール５−３に送信すると共に、通知処理モジュール５−３に処理の実行を指示する（ステップＳ３１４）。
【００６７】
通知処理モジュール５−３は、アプリケーションアダプタ部１２から診断結果と実行指示とを受け取ると、受け取った診断結果を用いて通知を行うか否かを判断し、通知を行う場合には通知先を決定する。ここでは、通知先はデバイス４とする。通知処理モジュール５−３は、通知を行うか否かと、通知先とを示す通知情報を生成して出力データとして出力する。通知処理モジュール５−３は、通知情報と共に完了通知をアプリケーションアダプタ部１２に出力する（ステップＳ３１５）。
【００６８】
アプリケーションアダプタ部１２は、通知処理モジュール５−３から通知情報と完了通知とを受け取ると、通知情報をプロセスマネージャ部１３の通知インタフェースに合わせたデータ形式に変換して、変換後の通知情報を完了通知と共にプロセスマネージャ部１３に受け渡す（ステップＳ３１６）。プロセスマネージャ部１３は、受け取った通知情報が示す判断結果と通知先とに基づいて、通知情報を通知先の装置に出力する。具体的には、プロセスマネージャ部１３は、通知情報をドライバ部１１に受け渡すと共に、通知先のデバイス４への通知を指示する（ステップＳ３１７）。ドライバ部１１は、デバイス４に通知情報を出力する（ステップＳ３１８）。
【００６９】
続いて、図１４から図２０を用いて、図３に示す設定管理装置２０を用いた、設定情報の生成について説明する。
【００７０】
図１４は、図３に示す設定管理装置２０の構成を示す図である。設定管理装置２０は、データ処理装置１０が用いる設定情報を生成し、データ処理装置１０と通信路を介して接続されている。
【００７１】
設定管理装置２０は、リスト取得部２２と、表示制御部２３と、設定情報生成部２４とを有する。リスト取得部２２は、データ処理装置１０が対応可能な機能処理の名称を記載したリストをデータ処理装置１０から取得する。このリストは、例えば、アプリケーションアダプタ部１２が対応可能なアプリケーション５、アプリケーション５内の機能処理モジュール、およびドライバ部１１が接続可能なデバイス４の名称が記載されたリストである。具体的には、リスト取得部２２は、アプリケーションアダプタ部１２またはメッセージ中継部１５にリストを要求するメッセージを送信する。アプリケーションアダプタ部１２は、アプリケーション５のリストをデータストア部１４から取り出して設定管理装置２０に送信する。またはメッセージ中継部１５がメッセージを受信した場合、メッセージ中継部１５は、受信したメッセージをドライバ部１１に受け渡すと、ドライバ部１１はデータストア部１４からリストを取得して、メッセージ中継部１５を介して設定管理装置２０にリストを送信する。表示制御部２３は、リスト取得部２２が取得したリストに含まれるそれぞれの機能処理に対応する複数のオブジェクト間を線で結んだ処理フロー図を描画するための設定情報生成画面を表示する。設定情報生成画面の詳細については後述する。設定情報生成部２４は、表示制御部２３が表示した画面に入力された情報に基づいて、設定情報を生成する。例えば設定情報生成部２４は、設定情報生成画面に描画された処理フロー図の処理フローに基づいて、設定情報を生成することができる。また設定情報生成部２４は、生成した設定情報をデータ処理装置１０に送信して、データ処理装置１０の有するデータストア部１４に記憶させることができる。
【００７２】
なお、設定情報生成部２４は、新たに処理フロー図を作成した場合、作成した処理フロー図に基づいて設定情報を生成しているが、作成済の処理フロー図である設定情報生成画面に描画された機能処理の配置がユーザの操作によって変更され、その変更後の処理フロー図に基づいて設定情報を更新するようにしても良い。具体的には、設定情報生成部２４は、表示制御部２３が作成済の処理フロー図を表示すると、この表示した処理フロー図に対応する設定情報をデータストア部１４から取り出す。続けて、設定情報生成部２４は、表示制御部２３が表示する処理フロー図中のオブジェクトの配置が変更されたことを確認すると、変更後の内容で設定情報の順序や入力データ等のデータを更新する。
【００７３】
図１５は、設定管理装置２０が表示する設定情報生成画面の第１の例を示す図である。設定管理装置２０は、データ処理装置１０の実行する一連の機能処理のフローを生成して、生成した処理フローを示す設定情報をデータ処理装置１０のデータストア部１４に記憶させる。これにより、データ処理装置１０は、実行する一連の機能処理を設定することができる。図１５に示す設定情報生成画面は、処理候補表示領域４１と、描画領域４２とを含む。処理候補表示領域４１には、処理フローの中で用いることができる複数の種類の機能処理モジュールを示すオブジェクトが表示されている。機能処理モジュールは、デバイス４からの産業データ３３の収集処理、またはアプリケーション５が実行する処理に対応している。図１５では収集処理、加工処理および診断処理を示すオブジェクトが表示されている。データ処理装置１０を操作するユーザは、この設定情報生成画面の処理候補表示領域４１に表示された各機能処理モジュールを示すオブジェクトを選択して、移動させた後、描画領域４２で選択を解除するといったドラッグアンドドロップ操作を行うことで、描画領域４２に各機能処理モジュールを配置することができる。例えば、描画領域４２に配置したオブジェクトを選択すると、各機能処理モジュールの詳細な内容として設定可能な候補が表示され、表示された候補の中から選択することができるようになっている。例えば配置された収集オブジェクトを選択すると、収集する産業データ３３の候補として、温度、電圧などが表示されて、ユーザはこれら候補の中から産業データ３３を選択することができる。その後ユーザが、描画領域４２に表示された各機能処理モジュールを示す図形であるオブジェクト間でデータの流れる方向を矢印で描くことにより、図１５に示すような処理フローが完成する。
【００７４】
図１６は、図１５に示す設定情報生成画面からリンクされた詳細設定画面を示す図である。図１５に示した設定情報生成画面の描画領域４２に表示された各オブジェクトをユーザがダブルクリックすると、詳細設定画面４３が表示される。詳細設定画面４３を用いることで、ユーザは、各オブジェクトが示す機能処理モジュールへの入力データおよび出力データの設定と、この機能処理モジュールで用いられるパラメータの設定とを行うことができる。図１６は、詳細設定画面の一例であり、欠損値処理に対応する詳細設定画面４３を示している。図１５に示すそれぞれのオブジェクトごとに対応する詳細設定画面に表示される内容は異なる。詳細設定画面４３には、入力データとして選択可能な値の候補が表示されており、ユーザはこれらの候補の中から、生成中の処理フローにおいて用いる入力データを選択する。欠損値処理は、データの取得に失敗した場合など、一連のデータにおいて、データとデータとの間の欠けている値を補間する処理である。欠損値処理は、処理対象のデータに対して欠損値を補間したものがそのまま出力データとなるため、入力データが選択されると、自動的に出力データが決まる。ユーザは、詳細設定画面４３を用いて、さらにこの機能処理モジュールで用いられるパラメータの設定を行うことができる。詳細設定画面４３は、連続して複数の値が欠損している場合、連続して欠損している値の数が最大いくつまで値を補間するかを示す最大連続欠損数を設定することができる。設定管理装置２０は、設定情報生成画面に入力された情報に基づいて、設定情報を生成する。
【００７５】
図１７は、設定管理装置２０が表示する設定情報生成画面の第２の例を示す図である。この設定情報生成画面では、ユーザがセルに処理フローの内容を入力することで、処理フローを生成することができる。設定情報生成画面は、セル表示領域４４を含んでいる。セル表示領域４４に表示される表の一行は、１つの機能処理モジュールに対応しており、列方向の並び順は、機能処理モジュールの実行順を示している。ユーザは、セル表示領域４４に情報を入力することで、各機能処理モジュールの内容を設定することができる。
【００７６】
図１８は、図１７に示す設定情報生成画面からリンクされた詳細設定画面を示す図である。図１７に示した設定情報生成画面のセル表示領域４４に表示された、各機能処理モジュールの処理内容のボタン４４２をユーザがクリックすると、詳細設定画面４３が表示される。この詳細設定画面４３は、図１６に示した詳細設定画面４３と同様であるため、ここでは説明を省略する。
【００７７】
図１９は、設定管理装置２０が表示する設定情報生成画面の第３の例を示す図である。この設定情報生成画面は、図１７に示したセル表示領域４４に加えて、自動描画領域４５を含む。設定管理装置２０は、セル表示領域４４に情報が入力されると、入力された情報に基づいて、自動描画領域４５に処理フローを描画する。
【００７８】
図２０は、図１９に示す設定情報生成画面からリンクされた詳細設定画面を示す図である。図１９に示した設定情報生成画面のセル表示領域４４に表示された、各機能処理モジュールの処理内容のボタン４４２をユーザがクリックすると、詳細設定画面４３が表示される。この詳細設定画面４３は、図１６に示した詳細設定画面４３と同様であるため、ここでは説明を省略する。
【００７９】
更に、データ処理装置１０は、ユーザに公開されたＡＰＩ（Application  Programming  Interface）の仕様に基づいて作成されたアプリケーション５を実行可能である。すなわち、データ処理装置１０は、設定管理装置２０によって設定されたアプリケーション５の機能処理モジュールを実行する順序に基づいて、機能処理モジュールを実行することで一連の機能処理を実現することができるようになされている。例えばＡＰＩが提供する機能としては、処理に用いるメモリおよびリソースの確保を行う初期化機能、１つ前の機能処理からデータを受け取ってデータを加工する入力および加工機能、加工したデータを１つ後の機能処理に渡す出力機能、およびメモリとリソースとを開放するリセット機能が挙げられる。これらの機能は、通常動作時において実行される。初期化機能は、設定をデータ処理装置１０に反映する時に実行される。入力加工機能は、データ処理装置１０の動作開始後、１つ前の機能処理からデータが到達するたびに実行される。出力機能は、データ処理装置１０の動作中、１つ後の機能処理へデータを渡すたびに実行される。リセット機能は、データ処理装置１０の動作停止時に実行される。また、ＡＰＩが提供する機能としては、それぞれのプログラムを識別するプログラム名を応答するプログラム名の応答機能、データ処理装置１０が受け付けることが可能な入力データの列情報を応答する機能、およびデータ処理装置１０が出力するデータの列情報を応答する機能が挙げられる。プログラム名の応答は、図１７に示した設定情報生成画面にて、プログラム名４４１の文字列を表示する際に実行される。入力データ列の応答および出力データ列の応答機能は、図１８に示した詳細設定画面４３にて、入力データ名４４３および出力データ名４４４の文字列を表示する際に実行される。
【００８０】
更に、図２１に示すように、ＡＰＩの仕様に基づいて作成されたアプリケーション５又は機能処理モジュール５０を外部サーバーであるクラウドサーバー１００に登録しておき、データ処理装置１０は、クラウドサーバー１００からアプリケーション５又は機能処理モジュール５０をダウンロードし、データストア部１４に記憶することにより、ダウンロードしたアプリケーション５又は機能処理モジュール５０に基づいた新たな機能処理を実行できる。具体的には、クラウドサーバー１００は、データ処理装置１０のアプリケーション５又は機能処理モジュール５０を記録する為の記憶部を有しており、この記憶部にアプリケーション５又は機能処理モジュール５０、データ処理装置１０が実行可能な機能処理のリストを記憶できるようになされている。また、設定管理装置２０は、データ処理装置１０経由でクラウドサーバー１００にアクセスし、ユーザによって図１５、図１７、図１９に示す設定情報生成画面が操作されて、操作によって選択されたアプリケーション５又は機能処理モジュール５０がデータ処理装置１０のデータストア部１４に記憶される。続けて、データ処理装置１０は、設定管理装置２０によって設定された順序で機能処理モジュール５０を実行することで、新たな機能処理を一連の処理として実行できる。なお、本実施の形態において、データ処理装置１０は、クラウドサーバー１００からダウンロードしたアプリケーション５又は機能処理モジュール５０に基づいて新たな機能処理を行うようになされているが、データ処理装置１０は、クラウドサーバー１００に登録されたアプリケーション５又は機能処理モジュール５０を直接用いて新たな機能処理を行うようにしても良い。
【００８１】
以上説明したように、本発明の実施の形態によれば、データ処理装置１０においてプロセスマネージャ部１３は、複数の機能処理モジュールを実行する順序を設定した設定情報に基づいて機能処理モジュールを実行することにより、一連の機能処理が実行できる。加えて、設定情報には機能処理モジュールで扱う入力データが設定されており、プロセスマネージャ部１３は、実行する機能処理モジュールで使用する入力データを、必要なタイミングで機能処理モジュールに出力する。そして、プロセスマネージャ部１３が出力した入力データは、前の機能処理モジュールで実行された出力データである。このように、プロセスマネージャ部１３は、複数の機能処理モジュールを実行する順序と、各機能処理モジュールに出力データを制御することにより、複数の機能処理モジュールの間でのデータ通信の同期をとることが可能となる。
【００８２】
そしてデータ処理装置１０は、一連の機能処理を構成する各機能処理の内容を、デバイス４またはアプリケーション５を変更することにより、一連の機能処理の内容を容易に変更や拡張することが可能である。そして、各機能処理は、機能処理モジュールの実行により実現されており、プロセスマネージャ部１３は、機能処理モジュールを実行する順序を設定した設定情報に基づいて実行するようになされていることから、追加や変更した機能処理モジュールの間でのデータ通信に対しても容易に同期をとることができる。
【００８３】
また、プロセスマネージャ部１３は、ドライバ部１１を用いて産業データ３３を取得させると、産業データ３３を取得した時刻を示す取得時情報であるタイムスタンプと共にデータストア部１４に記憶させる。そして、記憶されたタイムスタンプ付き産業データの中から、次に実行するアプリケーション５に入力する入力データを、タイムスタンプに基づいて選択する。これにより、複数のアプリケーション５を用いて一連の機能処理を実現する場合であっても、データ通信の同期をとって正確な処理を行うことが可能である。
【００８４】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【００８５】
例えば、上記実施の形態では、データ処理装置１０の機能は、１つのハードウェアを用いて実現されることとしたが、本発明はかかる例に限定されない。例えば、クラウド環境を用いた分散処理を使って、データ処理装置１０の機能が実現されてもよい。
【符号の説明】
【００８６】
１  データ処理システム、４  デバイス、４Ａ  生産装置、４Ｂ  コントローラ、４Ｃ  センサ、５  アプリケーション、１０  データ処理装置、１１  ドライバ部、１２  アプリケーションアダプタ部、１３  プロセスマネージャ部、１４  データストア部、１４Ａ  機能処理モジュール記憶部、１４Ｂ  設定情報記憶部、１５  メッセージ中継部、１６  ライブラリ管理部、２０  設定管理装置、２２  リスト取得部、２３  表示制御部、２４  設定情報生成部、３１  入出力情報、３２  タイムスタンプ、３３  産業データ、９１  ＣＰＵ、９２  ＲＡＭ、９３  ＨＤＤ、１００  クラウドサーバー、１２１  通信制御部、１３１  同期制御部。
【要約】
データ処理装置（１０）は、データ処理用の機能処理モジュールを記憶する機能処理モジュール記憶部（１４Ａ）と、複数の機能処理モジュールを実行する順序と、機能処理モジュールで機能処理する対象の入力データとを設定した設定情報を記憶する設定情報記憶部（１４Ｂ）と、設定情報に設定された順序に基づいて機能処理モジュールに、機能処理する対象の入力データを機能処理させるプロセスマネージャ部（１３）とを備えることを特徴とする。【図１】
0006400248.tif 000002
【図２】
0006400248.tif 000003
【図３】
0006400248.tif 000004
【図４】
0006400248.tif 000005
【図５】
0006400248.tif 000006
【図６】
0006400248.tif 000007
【図７】
0006400248.tif 000008
【図８】
0006400248.tif 000009
【図９】
0006400248.tif 000010
【図１０】
0006400248.tif 000011
【図１１】
0006400248.tif 000012
【図１２】
0006400248.tif 000013
【図１３】
0006400248.tif 000014
【図１４】
0006400248.tif 000015
【図１５】
0006400248.tif 000016
【図１６】
0006400248.tif 000017
【図１７】
0006400248.tif 000018
【図１８】
0006400248.tif 000019
【図１９】
0006400248.tif 000020
【図２０】
0006400248.tif 000021
【図２１】
0006400248.tif 000022