(57)【特許請求の範囲】
【請求項１】
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力部と、
前記トリガ条件入力部により入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定部と、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定部により指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力部により入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成部と、
前記ステートマシン生成部により２以上のトリガ条件に対して２以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、２以上のステートマシンに含まれる２以上のバッファリングステートと２以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを統合するステートマシン統合部とを有することを特徴とするデータ処理装置。
【請求項２】
前記ステートマシン生成部は、
バッファリングステートから初期ステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタと、送信ステートからバッファリングステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタと、送信ステートから初期ステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタのうちの少なくともいずれかが設定されているステートマシンを生成し、
前記ステートマシン統合部は、
前記ステートマシン生成部により２以上のトリガ条件に対して２以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、２以上のステートマシンに含まれる２以上のバッファリングステートと２以上の送信ステートと１つの初期ステートの各々を接続するポインタを設定し、ポインタごとに対応する条件を関連付け、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを統合することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ステートマシン統合部は、
各ポインタに関連付けられている条件と、いずれかのステートマシンにおけるステート遷移の実行結果とに基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを統合することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記データ処理装置は、更に、
トリガ条件のカテゴリーを複数設け、カテゴリーごとにバッファリング開始条件を指定する際の基準となる指定基準を示すとともに、ステートマシンを生成する際の基準となる生成基準を示す基準情報を記憶する基準情報記憶部を有し、
前記バッファリング開始条件指定部は、
前記トリガ条件入力部により入力されたトリガ条件が属するカテゴリーにおける指定基準と、前記トリガ条件入力部により入力されたトリガ条件とに基づき、当該トリガ条件に対するバッファリング開始条件を指定し、
前記ステートマシン生成部は、
前記トリガ条件入力部により入力されたトリガ条件が属するカテゴリーにおける生成基準と、前記トリガ条件入力部により入力されたトリガ条件と、前記バッファリング開始条件指定部により指定されたバッファリング開始条件とに基づき、ステートマシンを生成することを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記基準情報記憶部は、
トリガ条件のカテゴリーとして、少なくとも、時間に対して連続かつ線形に変化する事象を対象とするトリガ条件のカテゴリーと、時間に対して連続であるが非線形に変化する事象を対象とするトリガ条件のカテゴリーと、時間に対して非連続に変化する事象を対象とするトリガ条件のカテゴリーとを設けている基準情報を記憶していることを特徴とする請求項４に記載のデータ処理装置。
【請求項６】
前記データ処理装置は、更に、
前記データ取得装置と通信する通信部と、
前記ステートマシン統合部により統合された後のステートマシンに示されるバッファリング開始条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定し、判定結果に基づき、前記ステートマシンに従ってステートを遷移させるステート遷移管理部と、
前記ステート遷移管理部により初期ステートからバッファリングステートへの遷移がなされた際に、取得データのバッファリングを開始するよう前記データ取得装置に指示するバッファリング開始指示を前記通信部から前記データ取得装置に対して送信するバッファリング開始指示部と、
前記ステート遷移管理部によりバッファリングステートから送信ステートへの遷移がなされた際に、バッファリングしている取得データを送信するよう前記データ取得装置に指示するデータ送信指示を前記通信部から前記データ取得装置に対して送信するデータ送信指示部とを有することを特徴とする請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記データ取得装置は、
所定の対象機器を管理する管理装置から前記対象機器に対する制御指示を受信し、受信した制御指示に基づいて前記対象機器を制御し、前記対象機器から出力されるデータを取得し、
前記通信部は、
前記管理装置から前記データ取得装置に送信された制御指示の複製を受信し、
前記ステート遷移管理部は、
前記通信部により受信された制御指示の複製の内容を解析して、バッファリング開始条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力ステップと、
前記トリガ条件入力ステップにより入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定ステップと、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定ステップにより指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力ステップにより入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成ステップと、
前記ステートマシン生成ステップにより２以上のトリガ条件に対して２以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、２以上のステートマシンに含まれる２以上のバッファリングステートと２以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを統合するステートマシン統合ステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器からデータを収集する際の条件判断を効率化する技術に関する。
【背景技術】
【０００２】
データ収集装置は、複数の機器に接続され、各機器が取得したデータを収集し、記録する。
例えば、データ収集装置が複数の制御機器に接続されている場合は、各制御機器の故障や異常を検出するために、各制御機器の動作状態を示す状態情報を収集、記録する。
状態情報は、例えば各種のセンサ値である。
データ収集装置は、通常、データ収集装置が得ることのできる情報、例えば運転指令やセンサ値をトリガ条件とし、設定したトリガ条件が成立した時（例えば、運転指令を受信した時、特定のセンサ値が検出された時）の情報を蓄積する動作を行う。
例えば特許文献１では、トリガ条件を外部から設定可能とすることで、データ収集装置を交換しなくてもトリガ条件を変更したり、追加できるようにする方法が提案されている。
特許文献１の技術では、トリガ条件をテーブル情報として不揮発性メモリに記憶しておき、テーブル情報を更新することでトリガ条件を外部から設定できる。
データ収集装置に内臓されるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、入力データに対しテーブル内の全てのトリガ条件についてチェックし、成立の有無を判定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−２６１４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のデータ収集装置は、入力情報が更新される度にトリガ条件の判定を全ての条件について合致判断するので、トリガ条件を追加していくにつれ、判定時間が増大するという課題がある。
判定時間が増大すると、条件成立から収集までにタイムラグが発生するので、これを防止するために常時収集を実施したり、一時蓄積用バッファサイズを増大するなどの対策が必要となるため、結果的にトリガ条件の追加量に制限が生じることになる。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとしており、トリガ条件の成否の判定に要する時間を短縮することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るデータ処理装置は、
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力部と、
前記トリガ条件入力部により入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定部と、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定部により指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力部により入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成部と、
前記ステートマシン生成部により２以上のトリガ条件に対して２以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、２以上のステートマシンに含まれる２以上のバッファリングステートと２以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを統合するステートマシン統合部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、２以上のトリガ条件に対して２以上のステートマシンが生成された場合に、２以上のステートマシンに含まれるステートの各々を接続するポインタを設定するとともに、実際には発生しない遷移を表しているポインタを削除して２以上のステートマシンを統合するため、統合された１つのステートマシンにて２以上のトリガ条件の成否判断を行うことができ、トリガ条件が多数になっても、トリガ条件の成否判断を迅速に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るデータ収集装置の動作の概要を示す図。
【図３】実施の形態１に係る状態モデルの例を示す図。
【図４】実施の形態１に係るステートマシンの合成例を示す図。
【図５】実施の形態１に係るステートマシンの合成例を示す図。
【図６】実施の形態１に係るトリガ条件モデルの例を示す図。
【図７】実施の形態１に係るデータ収集装置のモジュール構成例を示す図。
【図８】実施の形態１に係るデータ収集装置の動作例を示すフローチャート図。
【図９】実施の形態１に係るデータ収集装置の動作例を示すフローチャート図。
【図１０】実施の形態１に係るデータ収集装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、ユーザが設定するトリガ条件に対し、収集動作を１つのステートマシンで管理することで、条件追加に対し判定時間の増大を抑えることができる方式を説明する。
【００１０】
図１は、本実施の形態に係るデータ収集装置を、一例としてモータ制御システムに適用した際の機器構成を示すシステム構成図である。
【００１１】
図１において、データ収集装置１は、通信ケーブル等の伝送路４を介して複数の制御機器２、運転指令装置３に接続され、複数の制御機器２、運転指令装置３と通信を行い、各制御機器２からセンサ値を収集する。
データ収集装置１は、収集したセンサ値を蓄積するストレージ１２を備える。
データ収集装置１はデータ処理装置の例である。
なお、データ収集装置１の詳細は後述する。
【００１２】
制御機器２は、運転指令装置３からの運転指令情報に基づいて、制御対象であるモータ２１に対し制御信号を出力し、モータ２１に配置されているセンサのセンサ値２２を入力する。
また、制御機器２は、センサ値２２を蓄積するバッファを備える。
なお、制御機器２はデータ取得装置の例であり、モータ２１は対象機器の例である。
また、制御機器２が取得したセンサ値２２は取得データの例である。
【００１３】
運転指令装置３は、制御機器２に対する制御指示である運転指令情報を出力する。
なお、運転指令装置３からの運転指令情報は伝送路４に配置されているスイッチ装置（中継装置）により複製が生成され、各制御機器２だけでなくデータ収集装置１にも運転指令情報の複製が入力される。
【００１４】
図７は、本実施の形態に係るデータ収集装置１のモジュール構成例を示す。
【００１５】
図７において、トリガ条件設定部１０１は、データ収集装置１のユーザからトリガ条件を入力し、入力したトリガ条件を後述のステートマシン合成部１０２に出力する。
なお、本実施の形態では、トリガ条件は、各制御機器２からセンサ値２２（取得データ）を送信させるための条件である。
トリガ条件設定部１０１は、トリガ条件入力部の例である。
また、トリガ条件設定部１０１による処理が、トリガ条件入力ステップに相当する。
【００１６】
ステートマシン合成部１０２は、トリガ条件設定部１０１からトリガ条件を入力し、入力したトリガ条件が成立する状況の前段階の状況を表す値を先行計測条件として生成する。
先行計測条件は、各制御機器２においてセンサ値のバッファリングを開始させる条件であり、バッファリング開始条件の例である。
また、ステートマシン合成部１０２は、入力したトリガ条件と生成した先行計測条件とを用いてステートマシンを生成する。
ステートマシンは、図３に例示しているように、未計測ステートと計測ステートと収集ステートとトリガ条件と先行計測条件とを含む。
ステートマシンにおいて、未計測ステートは、先行計測条件の成立前のステートであり、初期ステートの例である。
計測ステートは、先行計測条件の成立後であってトリガ条件の成立前のステートであり、制御機器２においてセンサ値のバッファリングを行わせている状態である。計測ステートはバッファリングステートの例である。
収集ステートは、トリガ条件の成立後のステートであり、制御機器２からセンサ値を送信させている状態である。収集ステートは送信ステートの例である。
また、ステートマシンでは、少なくとも未計測ステートから計測ステートへの遷移を表すポインタ（図３では矢印で表現）、計測ステートから収集ステートへの遷移を表すポインタ、収集ステートから未計測ステートへの遷移を表すポインタが設定されている。
また、未計測ステートから計測ステートへの遷移を表すポインタには先行計測条件が関連付けられ、計測ステートから収集ステートへの遷移を表すポインタにはトリガ条件が関連付けられている。
また、図３（ｂ）や図３（ｃ）に示すように、計測ステートから未計測ステートへの遷移を表すポインタ、収集ステートから計測ステートへの遷移を表すポインタが設定される場合もある。
収集ステートから未計測ステートへの遷移を表すポインタ、計測ステートから未計測ステートへの遷移を表すポインタ、収集ステートから計測ステートへの遷移を表すポインタの各々に対して、それぞれの遷移を成立させるための条件が関連付けられる。
また、ステートマシン合成部１０２は、２以上のトリガ条件に対して生成された２以上のステートマシンを合成（統合）する。
合成処理の詳細は後述するが、合成処理の概要は以下の通りとなる。
ステートマシン合成部１０２は、各々のステートマシンにおけるポインタの設定状態に基づき、２以上のステートマシンに含まれる２以上の計測ステートと２以上の収集ステートと１つの未計測ステートの各々を接続するポインタを設定し（必要であれば、新たな計測ステートと収集ステートを生成し、新たな計測ステート、新たな収集ステートと既存のステートとを接続するポインタを設定し）、ポインタごとに対応する条件を関連付け、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、２以上のステートマシンを合成（統合）する。
なお、ステートマシン合成部１０２は、バッファリング開始条件指定部、ステートマシン生成部及びステートマシン統合部の例である。
また、ステートマシン合成部１０２が行う処理が、バッファリング開始条件指定ステップ、ステートマシン生成ステップ及びステートマシン統合ステップに相当する。
【００１７】
状態モデル記憶部１０３は、ステートマシンの雛型となる状態モデルを記憶している。
状態モデルは、例えば、図３に示す情報である。
【００１８】
合成ステートマシン記憶部１０４は、ステートマシン合成部１０２により生成されたステートマシン又はステートマシン合成部１０２により合成されたステートマシンを記憶する。
【００１９】
ステート遷移・計測収集指示部１０５は、ステートマシンに示されている先行計測条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定し、判定結果に基づき、ステートマシンに従ってステートを遷移させる。
そして、ステート遷移・計測収集指示部１０５は、未計測ステートから計測ステートへの遷移がなされた際に、センサ値のバッファリングを開始するよう指示する計測指示（バッファリング開始指示）を通信部１０６から制御機器２に対して送信する。
更に、ステート遷移・計測収集指示部１０５は、計測ステートから収集ステートへの遷移がなされた際に、バッファリングしているセンサ値を送信するよう指示する収集指示（データ送信指示）を通信部１０６から制御機器２に対して送信する。
ステート遷移・計測収集指示部１０５は、ステート遷移管理部、バッファリング開始指示部及びデータ送信指示部の例である。
【００２０】
通信部１０６は、伝送路４を介して、複数の制御機器２、運転指令装置３とデータを送受信する。
【００２１】
次に動作について説明する。
【００２２】
制御機器２は、運転指令装置３の運転指令情報を伝送路４を経由して受け取り、運転指令内容に従いモータ２１の回転トルクを制御する。
制御機器２は、モータ２１の制御演算や、異常判断を行うため、モータ２１から電流値、トルク値等のセンサ値２２を入力している。
制御機器２は、通常は制御演算や異常判断に使用した後はセンサ値２２を破棄している。
【００２３】
データ収集装置１は、伝送路４をモニタすることで制御機器２への運転指令情報の複製を採取する。
そして、ステート遷移・計測収集指示部１０５が、後述するステートマシン合成方法によって生成されたステートマシンのステート遷移判断を実施する。
具体的には、図８及び図９に示すように、未計測ステートのときに（Ｓ８０１）、運転指令情報２０３がステートマシンに定義されている先行計測条件に合致している場合（Ｓ８０２でＹＥＳ）は、ステート遷移・計測収集指示部１０５は計測ステートに遷移させる（Ｓ８０３）。
ステート遷移・計測収集指示部１０５は、計測ステートでは、制御機器２にセンサ値２２のバッファリングを指示する計測指示を伝送路４経由で送信する（Ｓ９０３）。
また、計測ステートにおいて運転指令情報２０３がトリガ条件に合致すれば（Ｓ８０４でＹＥＳ）、ステート遷移・計測収集指示部１０５は収集ステートに遷移させる（Ｓ８０５）。
ステート遷移・計測収集指示部１０５は、収集ステートにおいて、バッファリングしているセンサ値２２の送信を指示する収集指示を伝送路４経由で送信する（Ｓ９０４）。
そして、制御機器２にセンサ値２２を含むパケットデータを伝送路４に出力させ、ステート遷移・計測収集指示部１０５はパケットデータを受信し（Ｓ９０５）、ストレージ１２に蓄積し、制御機器２から全てのパケットデータを受信し終えた場合に収集処理を終了し（Ｓ８０６）、未計測ステート（Ｓ８０１）に遷移させる。
一方、計測ステートにおいてトリガ条件が成立していない場合は、ステート遷移・計測収集指示部１０５は、運転指令情報２０３を解析し、トリガ条件から外れる傾向にあるか否かを判断する（Ｓ８０７）。
例えば、図３（ｂ）のモデル（２）に分類される項目に対して値が下降中であれば、トリガ条件を達成できない可能性が高いので、ステート遷移・計測収集指示部１０５は、例えば、制御機器２におけるバッファリングを停止させ、バッファリングされたセンサ値を破棄させて、未計測ステート（Ｓ８０１）に遷移させる。
【００２４】
制御機器２は、計測指示を受信した際にセンサ値２２のバッファリングを開始する。
また、制御機器２は、収集指示を受信した際にバッファリングしているセンサ値２２のサンプリング情報を伝送路４に出力する。
データ収集装置１は、制御機器２からのセンサ値２２のサンプリング情報を受信し、ストレージ１２に蓄積する。
【００２５】
ここで、ステートマシン合成部１０２によるステートマシンの合成方法を説明する。
図２は、データ収集装置１のなかで、収集すべきトリガ条件の設定から、ステートマシンを生成・合成し、ステートマシンに従い計測指示及び収集指示を送信し、制御機器２からセンサ値２２を受信し、ストレージ１２にセンサ値２２を蓄積するまでを示したフロー図である。
【００２６】
まず、トリガ条件設定部１０１において、ユーザが収集したいトリガを設定する。
ここでは、伝送路４をモニタすることでデータ収集装置１が収集可能な項目が、条件項目２０１としてリスト化される。
例えば、現在時刻、温度や湿度等の環境情報、モータ回転数等の状態情報、運転切替などの運転情報等が項目の例となる。
ユーザはリスト化された項目の中から選択する項目（トリガ条件）を指定し、トリガ条件設定部１０１は、ユーザが指定した項目が示される情報を入力し、ユーザが指定した項目を組み合わせて、トリガ条件の集合を設定する。
設定したトリガ条件の集合は、ステートマシン合成部１０２に引き渡され、ステートマシン合成部１０２でデータ収集装置１の動作を決定するステートマシンが生成される。
【００２７】
ステートマシン合成部１０２は、状態モデル２０２を参照する。
状態モデル２０２は、条件項目２０１の各項目ごとに、その変化特性を個別のステートマシンでモデル化したものであり、先行計測条件を指定する際の基準となる指定基準及びステートマシンを生成する際の基準となる生成基準が指定されている。
状態モデル２０２は、大きくは図３に示すような３種類のカテゴリーに分別され、ステートマシン合成部１０２は入力した個々のトリガ条件が以下の３種類のカテゴリーのうちのいずれのカテゴリーに属するかを判定する。
そして、ステートマシン合成部１０２は、判定したカテゴリーにおける状態モデル２０２の指定基準と入力したトリガ条件とに基づき、先行計測条件を指定するとともに、当該トリガ条件及び当該先行計測条件とを用いて未計測、計測、収集の３つのステートの間のステート遷移フローを指定する。
【００２８】
図３（ａ）に示すモデル（１）は、時間に対し線形変化するもので、経過時間に対して値が予測できるものを示す。時刻情報がこれにあたる。
この場合、ステートマシンは、分岐なく、未計測ステート、計測ステート、収集ステートを連続的に遷移する。
モデル（１）において、「指定時刻」はトリガ条件に相当し、指定時刻が到来すると計測ステートから収集ステートに遷移する。
また、モデル（１）において、「一分前」は先行計測条件に相当し、指定時刻の一分前になると未計測ステートから計測ステートに遷移する。
【００２９】
次に、図３（ｂ）に示すモデル（２）は、連続ながら非線形変化するもので、近い時間の傾向はつかめるものの確定した時間特性は示せないものを示す。
温度、湿度、モータ回転数等の情報がこれにあたる。
増減特性が途中で変化する場合があり、計測ステートから未計測ステートに戻る分岐が加わる。
モデル（２）において、「上昇・指定温度」はトリガ条件に相当し、指定温度を超えた時点で計測ステートから収集ステートに遷移する。
また、モデル（２）において、「上昇・（指定温度−１）℃」は先行計測条件に相当し、（指定温度−１）℃を超えた時点で未計測ステートから計測ステートに遷移する。
【００３０】
図３（ｃ）に示すモデル（３）は、非連続変化するもので、すべてのステートから分岐が存在する。
モデル（３）において、「運転モード２→３」はトリガ条件に相当し、運転モードが２から３に切り替わった時点で計測ステートから収集ステートに遷移する。
また、モデル（２）において、「運転モード１→２」は先行計測条件に相当し、運転モードが１から２に切り替わった時点で未計測ステートから計測ステートに遷移する。
【００３１】
以上の各項目に対するモデルの種別と、ステートモデルは、状態モデル２０２として部品化されており、ステートマシン合成部１０２は、トリガ条件設定部１０１から与えられたトリガ条件の項目を分解し、項目毎のモデルを抽出、トリガ条件として設定された判定値をもとに個別のステートマシンを完成させ、次にトリガ条件の論理式に従い個々のステートマシンを合成する。
【００３２】
ステートマシンの合成例を図４に示す。
この例では、別の温度の２つのトリガ条件がＯＲ条件で設定されている場合が示されている。
つまり、温度が２５℃を超えた時点でセンサ値が収集される（収集条件１）とともに、温度が２６℃を超えた時点でセンサ値が収集される（収集条件２）。
項目はいずれも温度であるため、図３（ｂ）のモデル（２）にあたる状態モデルが夫々呼び出され、ステートマシン合成部１０２は、状態モデルに基づき、トリガ条件１（２５℃超）に対して先行計測条件１（２４℃超）を生成し、トリガ条件２（２６℃超）に対して先行計測条件２（２５℃超）を生成し、トリガ条件１と先行計測条件１に対してステートマシン１（左側）を生成し、トリガ条件２と先行計測条件２に対してステートマシン２（右側）を生成する（図４（ａ））。
なお、図４においては、遷移条件をわかりやすくするため、トリガ条件１のポインタを実線で、トリガ条件２のポインタを破線で示す。
【００３３】
次に、ステートマシン合成部１０２は両ステートマシンを合成する。
中間状態を図４（ｂ）に示す。
中間状態では、２つのステートマシンの全ての遷移を組み合わせたステートマシンとなる。
つまり、２つのステートマシンに含まれる２つの計測ステートと２つの収集ステートと１つの未計測ステートの各々を接続するポインタが設定され、ポインタごとに対応する条件が関連付けられる。
また、論理的にステート同士を直接接続できない場合は、新たな計測ステート、新たな収集ステートを生成し、新たな計測ステート、新たな収集ステートを経由して２つのステートマシンに含まれる各ステートを接続する。
図４（ａ）のステートマシン１に含まれていた計測ステート（以下、計測１と表記する）、図４（ａ）のステートマシン２に含まれていた計測ステート（以下、計測２と表記する）に対して、図４（ｂ）では、２つの新たな計測ステート（以下、計測３、計測４と表記する）が追加されている。
同様に、図４（ａ）のステートマシン１に含まれていた収集ステート（以下、収集１と表記する）、図４（ａ）のステートマシン２に含まれていた収集ステート（以下、収集２と表記する）に対して、図４（ｂ）では、３つの新たな収集ステート（以下、収集３、収集４、収集５と表記する）が追加されている。
また、各ステートを結ぶポインタには対応する遷移条件が関連付けられている。
【００３４】
次に、ステートマシン合成部１０２は、遷移条件の不整合を取り除く処理を行う。
つまり、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除する。
計測１から、２５℃超という条件で収集条件１から生成した収集１へのポインタと、収集条件２から生成した計測３へのポインタが存在する。
この場合、目的である収集動作に対し、収集条件１が成立するため、収集１へのポインタが正しい遷移となるため、計測３へのポインタは消去される。
次に、計測２において、本ステートへの遷移条件から本ステートは２５℃超２６℃未満で存在するステートだと判断できるが、計測３への遷移条件が２４℃超であり、矛盾が生じる。
したがって計測３へのポインタは消去される。
この結果、計測３に遷移する条件が消滅し、本ステート自体が消滅する。
連動して、計測３からのみ遷移される収集３、４、５も消滅し、最終的に図４（ｃ）のステートマシンに集約される。
【００３５】
以上のように合成されたステートマシンは、最大２つの条件判定で全てのステート遷移が成り立つ。
一方、先行計測条件、トリガ条件を個別に判断した場合、この例では４つの条件判定を逐次実施することになる。
このようにステートマシンの合成と最適化を実施することで、複数条件判定時の判断処理を削減することができる。
【００３６】
図５は、別の条件項目に対する合成の例である。
ここでは時刻で設定したトリガ条件１と、温度で設定したトリガ条件２をＯＲで合成させる。
時刻のトリガ条件はモデル（１）に対応し、温度のトリガ条件はモデル（２）に対応するため、モデル（１）の状態モデルとモデル（２）の状態モデルとが呼び出される。
そして、ステートマシン合成部１０２は、図４の場合と同様に、状態モデルに基づき、トリガ条件１（０時）に対して先行計測条件１（毎時５９分）を生成し、トリガ条件２（２５℃超）に対して先行計測条件２（２４℃超）を生成し、トリガ条件１と先行計測条件１に対してステートマシン１（左側）を生成し、トリガ条件２と先行計測条件２に対してステートマシン２（右側）を生成する（図５（ａ））。
【００３７】
そして、ステートマシン合成部１０２は、ステートマシン１とステートマシン２を合成する。
合成されたステートマシンは図５（ｂ）のようになる。
時刻と温度に何の依存関係もない場合は、これが合成ステートマシンとなり、計測３において最大４つの遷移判定を行うことになるが、ここで温度変化と時刻の間に依存関係が存在した場合には、最適化処理が実施される。
この例では、毎時１０〜５０分の時間帯にのみ温度上昇が発生するという条件を加える。
最適化処理では、各ステートの状態に対し、依存関係に合致しているかを評価する。
ここで例えば計測１は、温度に限らず時間で遷移するステートであるため、依存関係に合致しているといえる。
一方、計測３は、温度変化と時刻５９分〜０分の変化の両変化によって遷移されるステートであり、温度上昇が発生する時刻範囲から逸脱し依存関係に合致していない。
したがって、計測３ステートは実際には発生しないステートとして削除する。
また、計測３からのみ遷移される収集３、４、５ステートも連鎖的に削除し、最終的に図５（ｃ）のステートマシンに集約される。
この合成ステートマシンも、最大２つの条件判定に削減されており、判定処理を高速に行うことができる。
【００３８】
図５で示した依存関係は、運用規定や、これまでの経験をもとに、設定される。
また、合成ステートの判定分岐が多い箇所（この例では計測３ステート）の判定項目を抽出し、対象項目の依存関係を解析手法を用いて導出してもよい。
さらに、例えば、他の合成ステートマシン又は最適化処理の対象となっている合成ステートマシン（（図５（ｂ））の中間段階のステートマシン）におけるステート遷移の実行結果を解析し、実際には遷移が発生していないポインタを抽出し、最適化処理の対象のステートマシンに実際には発生していないポインタが含まれている場合に、当該ポインタを削除する。
具体的な手順としては、合成ステートマシンを運用している際の各ステートの遷移頻度をカウントし、長期にわたって発生しないステートを自動的に削減させることが考えられる。
【００３９】
なお、本実施の形態では制御機器２の数について言及していないが、複数の機器を１つのデータ収集装置で管理することができる。
この場合は、トリガ条件設定時に対象機器の指定を行うことで実現できる。
また、対象機器をグループ化することで、同グループの制御機器に同時に計測、収集指示を与えることもできる。
一方、図２のフローをデータ収集装置１内の動作として説明したが、トリガ条件設定部１０１およびステートマシン合成部１０２をデータ収集装置外の外部装置で処理してもよい。
これらを遠隔地で実施し、生成した合成ステートマシンを伝送路４を通じてデータ収集装置１に伝達することで、遠隔地からのリモート収集が可能となる。
この場合は、トリガ条件設定部１０１およびステートマシン合成部１０２を備える外部装置がデータ処理装置の例となる。
【００４０】
以上、本実施の形態では、
ネットワーク上に設置され、ネットワーク上の運転指令情報をトリガに同ネットワーク上に接続される制御機器から計測情報を取得するデータ収集装置であって、トリガイベントに対し、未計測・計測・収集の少なくとも３つの状態要素からなるステートマシンを定義し、トリガイベントとなる運転指令情報を監視しながらステート遷移させ、先行計測ステートおよびトリガ計測ステート時に計測収集を実行するデータ収集装置を説明した。
【００４１】
また、前述のステート遷移条件を、トリガ条件から生成することを説明した。
【００４２】
また、ステート遷移条件の生成方法として、トリガ候補として用意した複数の運転指令情報項目各々に対し、未計測・計測・収集の少なくとも３つのステートからなるステートマシンモデルとその遷移条件をあらかじめ定義し、トリガ条件の組み合わせに従い各ステートマシンモデルを合成することで、全体で１つのステートマシンを生成することを説明した。
【００４３】
また、全体ステートマシンに対し、実際には発生しないステート遷移を削除し、ステートマシンを簡素化することを説明した。
【００４４】
また、実運用時のステート遷移を監視し、遷移の発生状態を解析することで、遷移しないステート遷移を検出することを説明した。
【００４５】
なお、図３に示した状態モデル（１）〜（３）では、指定時刻の１分前や（指定温度−１℃）のように予め先行計測条件が定義されている。
これに代えて、ステートマシン合成部１０２が、適切な先行計測条件を計算するようにしてもよい。
例えば、ステートマシン合成部１０２が、図６に例示するトリガ条件モデル（１）〜（３）を取得し、トリガ条件モデル（１）〜（３）に基づき、適切な先行計測条件を計算するようにしてもよい。
図６（ａ）のトリガ条件モデル（１）は図３（ａ）の状態モデル（１）に対応しており、時間に対し線形変化するもので、経過時間に対して値が予測できるものである。
ステートマシン合成部１０２は、例えば、図６（ａ）のトリガ条件モデル（１）のグラフの傾きから適切な先行計測条件を計算する。
また、図６（ｂ）のトリガ条件モデル（２）は図３（ｂ）の状態モデル（２）に対応しており、連続ながら非線形変化するもので、近い時間の傾向はつかめるものの確定した時間特性は示せないものである。
例えば、ステートマシン合成部１０２は、運転指令装置３からの定期的な運転指令情報からそのときどきの特性傾斜ａを求め、現在値ｙ１とトリガ条件値ｙ２が、以下の関係にある時を先行計測条件とする。
ａ＞０：ｙ１＋ａ＊ｔ≧ｙ２
ａ＜０：ｙ１＋ａ＊ｔ≦ｙ２      （ｔ＝トリガ条件に対する先行時間）
また、図６（ｃ）のトリガ条件モデル（３）は図３（ｃ）の状態モデル（３）に対応しており、非連続変化するもので、それ自体は突発的に変化するものである。
この場合、項目そのものからは先行計測条件を取得できないため、関連情報を用いる。
例えば、運転切替は、運転規定にてモータ回転がある範囲に達したときに切替るものであれば、モータ回転数にて先行計測条件を生成する。
トリガ条件モデル（３）の関連情報の導出方法は、前記のように仕様や規律から求めるほか、過去情報の関連性分析から求めてもよい。
【００４６】
最後に、本実施の形態に示したデータ収集装置１のハードウェア構成例について説明する。
図１０は、本実施の形態に示すデータ収集装置１のハードウェア資源の一例を示す図である。
なお、図１０の構成は、あくまでもデータ収集装置１のハードウェア構成の一例を示すものであり、データ収集装置１のハードウェア構成は図１０に記載の構成に限らず、他の構成であってもよい。
【００４７】
図１０において、データ収集装置１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した状態モデル記憶部１０３、合成ステートマシン記憶部１０４及びストレージ１２は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００４８】
通信ボード９１５は、図１に示すように、伝送路４に接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）の他、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていてもよい。
【００４９】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００５０】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００５１】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
データ収集装置１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００５２】
上記プログラム群９２３には、本実施の形態の説明において「〜部」（状態モデル記憶部１０３及び合成ステートマシン記憶部１０４以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００５３】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。
また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００５４】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本実施の形態に係るデータ収集装置の動作をデータ収集方法として把握することもできる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。
プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。
すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００５５】
このように、本実施の形態に示すデータ収集装置１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００５６】
１  データ収集装置、２  制御機器、３  運転指令装置、４  伝送路、１２  ストレージ、２１  モータ、１０１  トリガ条件設定部、１０２  ステートマシン合成部、１０３  状態モデル記憶部、１０４  合成ステートマシン記憶部、１０５  ステート遷移・計測収集指示部、１０６  通信部。
【図１】
0005618797.tif 000002
【図２】
0005618797.tif 000003
【図３】
0005618797.tif 000004
【図４】
0005618797.tif 000005
【図５】
0005618797.tif 000006
【図６】
0005618797.tif 000007
【図７】
0005618797.tif 000008
【図８】
0005618797.tif 000009
【図９】
0005618797.tif 000010
【図１０】
0005618797.tif 000011