説明

データ処理装置及びプログラム

【課題】トリガ条件が成立した際にデータ収集先からデータを収集するデータ収集装置において、トリガ条件の成否判断に要する時間を短縮する。
【解決手段】ステートマシン合成部102は、2以上のトリガ条件に対して2以上のステートマシンを生成した場合に、2以上のステートマシンに含まれるステートの各々を接続するポインタを設定し、ポインタごとに対応するトリガ条件又はトリガ条件から派生する条件を関連付け、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを削除して2以上のステートマシンを統合する。ステート遷移・計測収集指示部105は、統合された1つのステートマシンにて2以上のトリガ条件の成否判断を行うことができ、トリガ条件が多数になっても、トリガ条件の成否判断を迅速に行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の機器からデータを収集する際の条件判断を効率化する技術に関する。
【背景技術】
【0002】
データ収集装置は、複数の機器に接続され、各機器が取得したデータを収集し、記録する。
例えば、データ収集装置が複数の制御機器に接続されている場合は、各制御機器の故障や異常を検出するために、各制御機器の動作状態を示す状態情報を収集、記録する。
状態情報は、例えば各種のセンサ値である。
データ収集装置は、通常、データ収集装置が得ることのできる情報、例えば運転指令やセンサ値をトリガ条件とし、設定したトリガ条件が成立した時(例えば、運転指令を受信した時、特定のセンサ値が検出された時)の情報を蓄積する動作を行う。
例えば特許文献1では、トリガ条件を外部から設定可能とすることで、データ収集装置を交換しなくてもトリガ条件を変更したり、追加できるようにする方法が提案されている。
特許文献1の技術では、トリガ条件をテーブル情報として不揮発性メモリに記憶しておき、テーブル情報を更新することでトリガ条件を外部から設定できる。
データ収集装置に内臓されるCPU(Central Processing Unit)は、入力データに対しテーブル内の全てのトリガ条件についてチェックし、成立の有無を判定する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−261408号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のデータ収集装置は、入力情報が更新される度にトリガ条件の判定を全ての条件について合致判断するので、トリガ条件を追加していくにつれ、判定時間が増大するという課題がある。
判定時間が増大すると、条件成立から収集までにタイムラグが発生するので、これを防止するために常時収集を実施したり、一時蓄積用バッファサイズを増大するなどの対策が必要となるため、結果的にトリガ条件の追加量に制限が生じることになる。
【0005】
この発明は、上記のような課題を解決することを主な目的の一つとしており、トリガ条件の成否の判定に要する時間を短縮することを主な目的とする。
【課題を解決するための手段】
【0006】
本発明に係るデータ処理装置は、
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力部と、
前記トリガ条件入力部により入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定部と、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定部により指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力部により入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成部と、
前記ステートマシン生成部により2以上のトリガ条件に対して2以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、2以上のステートマシンに含まれる2以上のバッファリングステートと2以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを統合するステートマシン統合部とを有することを特徴とする。
【発明の効果】
【0007】
本発明によれば、2以上のトリガ条件に対して2以上のステートマシンが生成された場合に、2以上のステートマシンに含まれるステートの各々を接続するポインタを設定するとともに、実際には発生しない遷移を表しているポインタを削除して2以上のステートマシンを統合するため、統合された1つのステートマシンにて2以上のトリガ条件の成否判断を行うことができ、トリガ条件が多数になっても、トリガ条件の成否判断を迅速に行うことができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係るデータ収集装置の動作の概要を示す図。
【図3】実施の形態1に係る状態モデルの例を示す図。
【図4】実施の形態1に係るステートマシンの合成例を示す図。
【図5】実施の形態1に係るステートマシンの合成例を示す図。
【図6】実施の形態1に係るトリガ条件モデルの例を示す図。
【図7】実施の形態1に係るデータ収集装置のモジュール構成例を示す図。
【図8】実施の形態1に係るデータ収集装置の動作例を示すフローチャート図。
【図9】実施の形態1に係るデータ収集装置の動作例を示すフローチャート図。
【図10】実施の形態1に係るデータ収集装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0009】
実施の形態1.
本実施の形態では、ユーザが設定するトリガ条件に対し、収集動作を1つのステートマシンで管理することで、条件追加に対し判定時間の増大を抑えることができる方式を説明する。
【0010】
図1は、本実施の形態に係るデータ収集装置を、一例としてモータ制御システムに適用した際の機器構成を示すシステム構成図である。
【0011】
図1において、データ収集装置1は、通信ケーブル等の伝送路4を介して複数の制御機器2、運転指令装置3に接続され、複数の制御機器2、運転指令装置3と通信を行い、各制御機器2からセンサ値を収集する。
データ収集装置1は、収集したセンサ値を蓄積するストレージ12を備える。
データ収集装置1はデータ処理装置の例である。
なお、データ収集装置1の詳細は後述する。
【0012】
制御機器2は、運転指令装置3からの運転指令情報に基づいて、制御対象であるモータ21に対し制御信号を出力し、モータ21に配置されているセンサのセンサ値22を入力する。
また、制御機器2は、センサ値22を蓄積するバッファを備える。
なお、制御機器2はデータ取得装置の例であり、モータ21は対象機器の例である。
また、制御機器2が取得したセンサ値22は取得データの例である。
【0013】
運転指令装置3は、制御機器2に対する制御指示である運転指令情報を出力する。
なお、運転指令装置3からの運転指令情報は伝送路4に配置されているスイッチ装置(中継装置)により複製が生成され、各制御機器2だけでなくデータ収集装置1にも運転指令情報の複製が入力される。
【0014】
図7は、本実施の形態に係るデータ収集装置1のモジュール構成例を示す。
【0015】
図7において、トリガ条件設定部101は、データ収集装置1のユーザからトリガ条件を入力し、入力したトリガ条件を後述のステートマシン合成部102に出力する。
なお、本実施の形態では、トリガ条件は、各制御機器2からセンサ値22(取得データ)を送信させるための条件である。
トリガ条件設定部101は、トリガ条件入力部の例である。
また、トリガ条件設定部101による処理が、トリガ条件入力ステップに相当する。
【0016】
ステートマシン合成部102は、トリガ条件設定部101からトリガ条件を入力し、入力したトリガ条件が成立する状況の前段階の状況を表す値を先行計測条件として生成する。
先行計測条件は、各制御機器2においてセンサ値のバッファリングを開始させる条件であり、バッファリング開始条件の例である。
また、ステートマシン合成部102は、入力したトリガ条件と生成した先行計測条件とを用いてステートマシンを生成する。
ステートマシンは、図3に例示しているように、未計測ステートと計測ステートと収集ステートとトリガ条件と先行計測条件とを含む。
ステートマシンにおいて、未計測ステートは、先行計測条件の成立前のステートであり、初期ステートの例である。
計測ステートは、先行計測条件の成立後であってトリガ条件の成立前のステートであり、制御機器2においてセンサ値のバッファリングを行わせている状態である。計測ステートはバッファリングステートの例である。
収集ステートは、トリガ条件の成立後のステートであり、制御機器2からセンサ値を送信させている状態である。収集ステートは送信ステートの例である。
また、ステートマシンでは、少なくとも未計測ステートから計測ステートへの遷移を表すポインタ(図3では矢印で表現)、計測ステートから収集ステートへの遷移を表すポインタ、収集ステートから未計測ステートへの遷移を表すポインタが設定されている。
また、未計測ステートから計測ステートへの遷移を表すポインタには先行計測条件が関連付けられ、計測ステートから収集ステートへの遷移を表すポインタにはトリガ条件が関連付けられている。
また、図3(b)や図3(c)に示すように、計測ステートから未計測ステートへの遷移を表すポインタ、収集ステートから計測ステートへの遷移を表すポインタが設定される場合もある。
収集ステートから未計測ステートへの遷移を表すポインタ、計測ステートから未計測ステートへの遷移を表すポインタ、収集ステートから計測ステートへの遷移を表すポインタの各々に対して、それぞれの遷移を成立させるための条件が関連付けられる。
また、ステートマシン合成部102は、2以上のトリガ条件に対して生成された2以上のステートマシンを合成(統合)する。
合成処理の詳細は後述するが、合成処理の概要は以下の通りとなる。
ステートマシン合成部102は、各々のステートマシンにおけるポインタの設定状態に基づき、2以上のステートマシンに含まれる2以上の計測ステートと2以上の収集ステートと1つの未計測ステートの各々を接続するポインタを設定し(必要であれば、新たな計測ステートと収集ステートを生成し、新たな計測ステート、新たな収集ステートと既存のステートとを接続するポインタを設定し)、ポインタごとに対応する条件を関連付け、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを合成(統合)する。
なお、ステートマシン合成部102は、バッファリング開始条件指定部、ステートマシン生成部及びステートマシン統合部の例である。
また、ステートマシン合成部102が行う処理が、バッファリング開始条件指定ステップ、ステートマシン生成ステップ及びステートマシン統合ステップに相当する。
【0017】
状態モデル記憶部103は、ステートマシンの雛型となる状態モデルを記憶している。
状態モデルは、例えば、図3に示す情報である。
【0018】
合成ステートマシン記憶部104は、ステートマシン合成部102により生成されたステートマシン又はステートマシン合成部102により合成されたステートマシンを記憶する。
【0019】
ステート遷移・計測収集指示部105は、ステートマシンに示されている先行計測条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定し、判定結果に基づき、ステートマシンに従ってステートを遷移させる。
そして、ステート遷移・計測収集指示部105は、未計測ステートから計測ステートへの遷移がなされた際に、センサ値のバッファリングを開始するよう指示する計測指示(バッファリング開始指示)を通信部106から制御機器2に対して送信する。
更に、ステート遷移・計測収集指示部105は、計測ステートから収集ステートへの遷移がなされた際に、バッファリングしているセンサ値を送信するよう指示する収集指示(データ送信指示)を通信部106から制御機器2に対して送信する。
ステート遷移・計測収集指示部105は、ステート遷移管理部、バッファリング開始指示部及びデータ送信指示部の例である。
【0020】
通信部106は、伝送路4を介して、複数の制御機器2、運転指令装置3とデータを送受信する。
【0021】
次に動作について説明する。
【0022】
制御機器2は、運転指令装置3の運転指令情報を伝送路4を経由して受け取り、運転指令内容に従いモータ21の回転トルクを制御する。
制御機器2は、モータ21の制御演算や、異常判断を行うため、モータ21から電流値、トルク値等のセンサ値22を入力している。
制御機器2は、通常は制御演算や異常判断に使用した後はセンサ値22を破棄している。
【0023】
データ収集装置1は、伝送路4をモニタすることで制御機器2への運転指令情報の複製を採取する。
そして、ステート遷移・計測収集指示部105が、後述するステートマシン合成方法によって生成されたステートマシンのステート遷移判断を実施する。
具体的には、図8及び図9に示すように、未計測ステートのときに(S801)、運転指令情報203がステートマシンに定義されている先行計測条件に合致している場合(S802でYES)は、ステート遷移・計測収集指示部105は計測ステートに遷移させる(S803)。
ステート遷移・計測収集指示部105は、計測ステートでは、制御機器2にセンサ値22のバッファリングを指示する計測指示を伝送路4経由で送信する(S903)。
また、計測ステートにおいて運転指令情報203がトリガ条件に合致すれば(S804でYES)、ステート遷移・計測収集指示部105は収集ステートに遷移させる(S805)。
ステート遷移・計測収集指示部105は、収集ステートにおいて、バッファリングしているセンサ値22の送信を指示する収集指示を伝送路4経由で送信する(S904)。
そして、制御機器2にセンサ値22を含むパケットデータを伝送路4に出力させ、ステート遷移・計測収集指示部105はパケットデータを受信し(S905)、ストレージ12に蓄積し、制御機器2から全てのパケットデータを受信し終えた場合に収集処理を終了し(S806)、未計測ステート(S801)に遷移させる。
一方、計測ステートにおいてトリガ条件が成立していない場合は、ステート遷移・計測収集指示部105は、運転指令情報203を解析し、トリガ条件から外れる傾向にあるか否かを判断する(S807)。
例えば、図3(b)のモデル(2)に分類される項目に対して値が下降中であれば、トリガ条件を達成できない可能性が高いので、ステート遷移・計測収集指示部105は、例えば、制御機器2におけるバッファリングを停止させ、バッファリングされたセンサ値を破棄させて、未計測ステート(S801)に遷移させる。
【0024】
制御機器2は、計測指示を受信した際にセンサ値22のバッファリングを開始する。
また、制御機器2は、収集指示を受信した際にバッファリングしているセンサ値22のサンプリング情報を伝送路4に出力する。
データ収集装置1は、制御機器2からのセンサ値22のサンプリング情報を受信し、ストレージ12に蓄積する。
【0025】
ここで、ステートマシン合成部102によるステートマシンの合成方法を説明する。
図2は、データ収集装置1のなかで、収集すべきトリガ条件の設定から、ステートマシンを生成・合成し、ステートマシンに従い計測指示及び収集指示を送信し、制御機器2からセンサ値22を受信し、ストレージ12にセンサ値22を蓄積するまでを示したフロー図である。
【0026】
まず、トリガ条件設定部101において、ユーザが収集したいトリガを設定する。
ここでは、伝送路4をモニタすることでデータ収集装置1が収集可能な項目が、条件項目201としてリスト化される。
例えば、現在時刻、温度や湿度等の環境情報、モータ回転数等の状態情報、運転切替などの運転情報等が項目の例となる。
ユーザはリスト化された項目の中から選択する項目(トリガ条件)を指定し、トリガ条件設定部101は、ユーザが指定した項目が示される情報を入力し、ユーザが指定した項目を組み合わせて、トリガ条件の集合を設定する。
設定したトリガ条件の集合は、ステートマシン合成部102に引き渡され、ステートマシン合成部102でデータ収集装置1の動作を決定するステートマシンが生成される。
【0027】
ステートマシン合成部102は、状態モデル202を参照する。
状態モデル202は、条件項目201の各項目ごとに、その変化特性を個別のステートマシンでモデル化したものであり、先行計測条件を指定する際の基準となる指定基準及びステートマシンを生成する際の基準となる生成基準が指定されている。
状態モデル202は、大きくは図3に示すような3種類のカテゴリーに分別され、ステートマシン合成部102は入力した個々のトリガ条件が以下の3種類のカテゴリーのうちのいずれのカテゴリーに属するかを判定する。
そして、ステートマシン合成部102は、判定したカテゴリーにおける状態モデル202の指定基準と入力したトリガ条件とに基づき、先行計測条件を指定するとともに、当該トリガ条件及び当該先行計測条件とを用いて未計測、計測、収集の3つのステートの間のステート遷移フローを指定する。
【0028】
図3(a)に示すモデル(1)は、時間に対し線形変化するもので、経過時間に対して値が予測できるものを示す。時刻情報がこれにあたる。
この場合、ステートマシンは、分岐なく、未計測ステート、計測ステート、収集ステートを連続的に遷移する。
モデル(1)において、「指定時刻」はトリガ条件に相当し、指定時刻が到来すると計測ステートから収集ステートに遷移する。
また、モデル(1)において、「一分前」は先行計測条件に相当し、指定時刻の一分前になると未計測ステートから計測ステートに遷移する。
【0029】
次に、図3(b)に示すモデル(2)は、連続ながら非線形変化するもので、近い時間の傾向はつかめるものの確定した時間特性は示せないものを示す。
温度、湿度、モータ回転数等の情報がこれにあたる。
増減特性が途中で変化する場合があり、計測ステートから未計測ステートに戻る分岐が加わる。
モデル(2)において、「上昇・指定温度」はトリガ条件に相当し、指定温度を超えた時点で計測ステートから収集ステートに遷移する。
また、モデル(2)において、「上昇・(指定温度−1)℃」は先行計測条件に相当し、(指定温度−1)℃を超えた時点で未計測ステートから計測ステートに遷移する。
【0030】
図3(c)に示すモデル(3)は、非連続変化するもので、すべてのステートから分岐が存在する。
モデル(3)において、「運転モード2→3」はトリガ条件に相当し、運転モードが2から3に切り替わった時点で計測ステートから収集ステートに遷移する。
また、モデル(2)において、「運転モード1→2」は先行計測条件に相当し、運転モードが1から2に切り替わった時点で未計測ステートから計測ステートに遷移する。
【0031】
以上の各項目に対するモデルの種別と、ステートモデルは、状態モデル202として部品化されており、ステートマシン合成部102は、トリガ条件設定部101から与えられたトリガ条件の項目を分解し、項目毎のモデルを抽出、トリガ条件として設定された判定値をもとに個別のステートマシンを完成させ、次にトリガ条件の論理式に従い個々のステートマシンを合成する。
【0032】
ステートマシンの合成例を図4に示す。
この例では、別の温度の2つのトリガ条件がOR条件で設定されている場合が示されている。
つまり、温度が25℃を超えた時点でセンサ値が収集される(収集条件1)とともに、温度が26℃を超えた時点でセンサ値が収集される(収集条件2)。
項目はいずれも温度であるため、図3(b)のモデル(2)にあたる状態モデルが夫々呼び出され、ステートマシン合成部102は、状態モデルに基づき、トリガ条件1(25℃超)に対して先行計測条件1(24℃超)を生成し、トリガ条件2(26℃超)に対して先行計測条件2(25℃超)を生成し、トリガ条件1と先行計測条件1に対してステートマシン1(左側)を生成し、トリガ条件2と先行計測条件2に対してステートマシン2(右側)を生成する(図4(a))。
なお、図4においては、遷移条件をわかりやすくするため、トリガ条件1のポインタを実線で、トリガ条件2のポインタを破線で示す。
【0033】
次に、ステートマシン合成部102は両ステートマシンを合成する。
中間状態を図4(b)に示す。
中間状態では、2つのステートマシンの全ての遷移を組み合わせたステートマシンとなる。
つまり、2つのステートマシンに含まれる2つの計測ステートと2つの収集ステートと1つの未計測ステートの各々を接続するポインタが設定され、ポインタごとに対応する条件が関連付けられる。
また、論理的にステート同士を直接接続できない場合は、新たな計測ステート、新たな収集ステートを生成し、新たな計測ステート、新たな収集ステートを経由して2つのステートマシンに含まれる各ステートを接続する。
図4(a)のステートマシン1に含まれていた計測ステート(以下、計測1と表記する)、図4(a)のステートマシン2に含まれていた計測ステート(以下、計測2と表記する)に対して、図4(b)では、2つの新たな計測ステート(以下、計測3、計測4と表記する)が追加されている。
同様に、図4(a)のステートマシン1に含まれていた収集ステート(以下、収集1と表記する)、図4(a)のステートマシン2に含まれていた収集ステート(以下、収集2と表記する)に対して、図4(b)では、3つの新たな収集ステート(以下、収集3、収集4、収集5と表記する)が追加されている。
また、各ステートを結ぶポインタには対応する遷移条件が関連付けられている。
【0034】
次に、ステートマシン合成部102は、遷移条件の不整合を取り除く処理を行う。
つまり、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除する。
計測1から、25℃超という条件で収集条件1から生成した収集1へのポインタと、収集条件2から生成した計測3へのポインタが存在する。
この場合、目的である収集動作に対し、収集条件1が成立するため、収集1へのポインタが正しい遷移となるため、計測3へのポインタは消去される。
次に、計測2において、本ステートへの遷移条件から本ステートは25℃超26℃未満で存在するステートだと判断できるが、計測3への遷移条件が24℃超であり、矛盾が生じる。
したがって計測3へのポインタは消去される。
この結果、計測3に遷移する条件が消滅し、本ステート自体が消滅する。
連動して、計測3からのみ遷移される収集3、4、5も消滅し、最終的に図4(c)のステートマシンに集約される。
【0035】
以上のように合成されたステートマシンは、最大2つの条件判定で全てのステート遷移が成り立つ。
一方、先行計測条件、トリガ条件を個別に判断した場合、この例では4つの条件判定を逐次実施することになる。
このようにステートマシンの合成と最適化を実施することで、複数条件判定時の判断処理を削減することができる。
【0036】
図5は、別の条件項目に対する合成の例である。
ここでは時刻で設定したトリガ条件1と、温度で設定したトリガ条件2をORで合成させる。
時刻のトリガ条件はモデル(1)に対応し、温度のトリガ条件はモデル(2)に対応するため、モデル(1)の状態モデルとモデル(2)の状態モデルとが呼び出される。
そして、ステートマシン合成部102は、図4の場合と同様に、状態モデルに基づき、トリガ条件1(0時)に対して先行計測条件1(毎時59分)を生成し、トリガ条件2(25℃超)に対して先行計測条件2(24℃超)を生成し、トリガ条件1と先行計測条件1に対してステートマシン1(左側)を生成し、トリガ条件2と先行計測条件2に対してステートマシン2(右側)を生成する(図5(a))。
【0037】
そして、ステートマシン合成部102は、ステートマシン1とステートマシン2を合成する。
合成されたステートマシンは図5(b)のようになる。
時刻と温度に何の依存関係もない場合は、これが合成ステートマシンとなり、計測3において最大4つの遷移判定を行うことになるが、ここで温度変化と時刻の間に依存関係が存在した場合には、最適化処理が実施される。
この例では、毎時10〜50分の時間帯にのみ温度上昇が発生するという条件を加える。
最適化処理では、各ステートの状態に対し、依存関係に合致しているかを評価する。
ここで例えば計測1は、温度に限らず時間で遷移するステートであるため、依存関係に合致しているといえる。
一方、計測3は、温度変化と時刻59分〜0分の変化の両変化によって遷移されるステートであり、温度上昇が発生する時刻範囲から逸脱し依存関係に合致していない。
したがって、計測3ステートは実際には発生しないステートとして削除する。
また、計測3からのみ遷移される収集3、4、5ステートも連鎖的に削除し、最終的に図5(c)のステートマシンに集約される。
この合成ステートマシンも、最大2つの条件判定に削減されており、判定処理を高速に行うことができる。
【0038】
図5で示した依存関係は、運用規定や、これまでの経験をもとに、設定される。
また、合成ステートの判定分岐が多い箇所(この例では計測3ステート)の判定項目を抽出し、対象項目の依存関係を解析手法を用いて導出してもよい。
さらに、例えば、他の合成ステートマシン又は最適化処理の対象となっている合成ステートマシン((図5(b))の中間段階のステートマシン)におけるステート遷移の実行結果を解析し、実際には遷移が発生していないポインタを抽出し、最適化処理の対象のステートマシンに実際には発生していないポインタが含まれている場合に、当該ポインタを削除する。
具体的な手順としては、合成ステートマシンを運用している際の各ステートの遷移頻度をカウントし、長期にわたって発生しないステートを自動的に削減させることが考えられる。
【0039】
なお、本実施の形態では制御機器2の数について言及していないが、複数の機器を1つのデータ収集装置で管理することができる。
この場合は、トリガ条件設定時に対象機器の指定を行うことで実現できる。
また、対象機器をグループ化することで、同グループの制御機器に同時に計測、収集指示を与えることもできる。
一方、図2のフローをデータ収集装置1内の動作として説明したが、トリガ条件設定部101およびステートマシン合成部102をデータ収集装置外の外部装置で処理してもよい。
これらを遠隔地で実施し、生成した合成ステートマシンを伝送路4を通じてデータ収集装置1に伝達することで、遠隔地からのリモート収集が可能となる。
この場合は、トリガ条件設定部101およびステートマシン合成部102を備える外部装置がデータ処理装置の例となる。
【0040】
以上、本実施の形態では、
ネットワーク上に設置され、ネットワーク上の運転指令情報をトリガに同ネットワーク上に接続される制御機器から計測情報を取得するデータ収集装置であって、トリガイベントに対し、未計測・計測・収集の少なくとも3つの状態要素からなるステートマシンを定義し、トリガイベントとなる運転指令情報を監視しながらステート遷移させ、先行計測ステートおよびトリガ計測ステート時に計測収集を実行するデータ収集装置を説明した。
【0041】
また、前述のステート遷移条件を、トリガ条件から生成することを説明した。
【0042】
また、ステート遷移条件の生成方法として、トリガ候補として用意した複数の運転指令情報項目各々に対し、未計測・計測・収集の少なくとも3つのステートからなるステートマシンモデルとその遷移条件をあらかじめ定義し、トリガ条件の組み合わせに従い各ステートマシンモデルを合成することで、全体で1つのステートマシンを生成することを説明した。
【0043】
また、全体ステートマシンに対し、実際には発生しないステート遷移を削除し、ステートマシンを簡素化することを説明した。
【0044】
また、実運用時のステート遷移を監視し、遷移の発生状態を解析することで、遷移しないステート遷移を検出することを説明した。
【0045】
なお、図3に示した状態モデル(1)〜(3)では、指定時刻の1分前や(指定温度−1℃)のように予め先行計測条件が定義されている。
これに代えて、ステートマシン合成部102が、適切な先行計測条件を計算するようにしてもよい。
例えば、ステートマシン合成部102が、図6に例示するトリガ条件モデル(1)〜(3)を取得し、トリガ条件モデル(1)〜(3)に基づき、適切な先行計測条件を計算するようにしてもよい。
図6(a)のトリガ条件モデル(1)は図3(a)の状態モデル(1)に対応しており、時間に対し線形変化するもので、経過時間に対して値が予測できるものである。
ステートマシン合成部102は、例えば、図6(a)のトリガ条件モデル(1)のグラフの傾きから適切な先行計測条件を計算する。
また、図6(b)のトリガ条件モデル(2)は図3(b)の状態モデル(2)に対応しており、連続ながら非線形変化するもので、近い時間の傾向はつかめるものの確定した時間特性は示せないものである。
例えば、ステートマシン合成部102は、運転指令装置3からの定期的な運転指令情報からそのときどきの特性傾斜aを求め、現在値y1とトリガ条件値y2が、以下の関係にある時を先行計測条件とする。
a>0:y1+a*t≧y2
a<0:y1+a*t≦y2 (t=トリガ条件に対する先行時間)
また、図6(c)のトリガ条件モデル(3)は図3(c)の状態モデル(3)に対応しており、非連続変化するもので、それ自体は突発的に変化するものである。
この場合、項目そのものからは先行計測条件を取得できないため、関連情報を用いる。
例えば、運転切替は、運転規定にてモータ回転がある範囲に達したときに切替るものであれば、モータ回転数にて先行計測条件を生成する。
トリガ条件モデル(3)の関連情報の導出方法は、前記のように仕様や規律から求めるほか、過去情報の関連性分析から求めてもよい。
【0046】
最後に、本実施の形態に示したデータ収集装置1のハードウェア構成例について説明する。
図10は、本実施の形態に示すデータ収集装置1のハードウェア資源の一例を示す図である。
なお、図10の構成は、あくまでもデータ収集装置1のハードウェア構成の一例を示すものであり、データ収集装置1のハードウェア構成は図10に記載の構成に限らず、他の構成であってもよい。
【0047】
図10において、データ収集装置1は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した状態モデル記憶部103、合成ステートマシン記憶部104及びストレージ12は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0048】
通信ボード915は、図1に示すように、伝送路4に接続されている。
例えば、通信ボード915は、LAN(ローカルエリアネットワーク)の他、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていてもよい。
【0049】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0050】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0051】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
データ収集装置1の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0052】
上記プログラム群923には、本実施の形態の説明において「〜部」(状態モデル記憶部103及び合成ステートマシン記憶部104以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0053】
ファイル群924には、本実施の形態の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。
ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0054】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本実施の形態に係るデータ収集装置の動作をデータ収集方法として把握することもできる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
プログラムはCPU911により読み出され、CPU911により実行される。
すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【0055】
このように、本実施の形態に示すデータ収集装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
そして、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0056】
1 データ収集装置、2 制御機器、3 運転指令装置、4 伝送路、12 ストレージ、21 モータ、101 トリガ条件設定部、102 ステートマシン合成部、103 状態モデル記憶部、104 合成ステートマシン記憶部、105 ステート遷移・計測収集指示部、106 通信部。

【特許請求の範囲】
【請求項1】
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力部と、
前記トリガ条件入力部により入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定部と、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定部により指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力部により入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成部と、
前記ステートマシン生成部により2以上のトリガ条件に対して2以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、2以上のステートマシンに含まれる2以上のバッファリングステートと2以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを統合するステートマシン統合部とを有することを特徴とするデータ処理装置。
【請求項2】
前記ステートマシン生成部は、
バッファリングステートから初期ステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタと、送信ステートからバッファリングステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタと、送信ステートから初期ステートへの遷移を表すポインタであって当該遷移を成立させるための条件が関連付けられているポインタのうちの少なくともいずれかが設定されているステートマシンを生成し、
前記ステートマシン統合部は、
前記ステートマシン生成部により2以上のトリガ条件に対して2以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、2以上のステートマシンに含まれる2以上のバッファリングステートと2以上の送信ステートと1つの初期ステートの各々を接続するポインタを設定し、ポインタごとに対応する条件を関連付け、各ポインタに関連付けられている条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを統合することを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記ステートマシン統合部は、
各ポインタに関連付けられている条件と、いずれかのステートマシンにおけるステート遷移の実行結果とに基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを統合することを特徴とする請求項1又は2に記載のデータ処理装置。
【請求項4】
前記データ処理装置は、更に、
トリガ条件のカテゴリーを複数設け、カテゴリーごとにバッファリング開始条件を指定する際の基準となる指定基準を示すとともに、ステートマシンを生成する際の基準となる生成基準を示す基準情報を記憶する基準情報記憶部を有し、
前記バッファリング開始条件指定部は、
前記トリガ条件入力部により入力されたトリガ条件が属するカテゴリーにおける指定基準と、前記トリガ条件入力部により入力されたトリガ条件とに基づき、当該トリガ条件に対するバッファリング開始条件を指定し、
前記ステートマシン生成部は、
前記トリガ条件入力部により入力されたトリガ条件が属するカテゴリーにおける生成基準と、前記トリガ条件入力部により入力されたトリガ条件と、前記バッファリング開始条件指定部により指定されたバッファリング開始条件とに基づき、ステートマシンを生成することを特徴とする請求項1〜3のいずれかに記載のデータ処理装置。
【請求項5】
前記基準情報記憶部は、
トリガ条件のカテゴリーとして、少なくとも、時間に対して連続かつ線形に変化する事象を対象とするトリガ条件のカテゴリーと、時間に対して連続であるが非線形に変化する事象を対象とするトリガ条件のカテゴリーと、時間に対して非連続に変化する事象を対象とするトリガ条件のカテゴリーとを設けている基準情報を記憶していることを特徴とする請求項4に記載のデータ処理装置。
【請求項6】
前記データ処理装置は、更に、
前記データ取得装置と通信する通信部と、
前記ステートマシン統合部により統合された後のステートマシンに示されるバッファリング開始条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定し、判定結果に基づき、前記ステートマシンに従ってステートを遷移させるステート遷移管理部と、
前記ステート遷移管理部により初期ステートからバッファリングステートへの遷移がなされた際に、取得データのバッファリングを開始するよう前記データ取得装置に指示するバッファリング開始指示を前記通信部から前記データ取得装置に対して送信するバッファリング開始指示部と、
前記ステート遷移管理部によりバッファリングステートから送信ステートへの遷移がなされた際に、バッファリングしている取得データを送信するよう前記データ取得装置に指示するデータ送信指示を前記通信部から前記データ取得装置に対して送信するデータ送信指示部とを有することを特徴とする請求項1〜5のいずれかに記載のデータ処理装置。
【請求項7】
前記データ取得装置は、
所定の対象機器を管理する管理装置から前記対象機器に対する制御指示を受信し、受信した制御指示に基づいて前記対象機器を制御し、前記対象機器から出力されるデータを取得し、
前記通信部は、
前記管理装置から前記データ取得装置に送信された制御指示の複製を受信し、
前記状態遷移管理部は、
前記通信部により受信された制御指示の複製の内容を解析して、バッファリング開始条件が成立する状況であるか否か及びトリガ条件が成立する状況であるか否かを判定することを特徴とする請求項1〜6のいずれかに記載のデータ処理装置。
【請求項8】
データ取得装置が取得した取得データを送信させるための条件をトリガ条件として入力するトリガ条件入力ステップと、
前記トリガ条件入力ステップにより入力されたトリガ条件が成立する前段階の状況を前記データ取得装置において取得データのバッファリングを開始させるためのバッファリング開始条件として指定するバッファリング開始条件指定ステップと、
前記バッファリング開始条件の成立前のステートを初期ステートとし、前記バッファリング開始条件の成立後であって前記トリガ条件の成立前のステートをバッファリングステートとし、前記トリガ条件の成立後のステートを送信ステートとし、初期ステートからバッファリングステートへの遷移を表すポインタであって前記バッファリング開始条件指定ステップにより指定されたバッファリング開始条件が関連付けられているポインタと、バッファリングステートから送信ステートへの遷移を表すポインタであって前記トリガ条件入力ステップにより入力されたトリガ条件が関連付けられているポインタとが設定されているステートマシンを生成するステートマシン生成ステップと、
前記ステートマシン生成ステップにより2以上のトリガ条件に対して2以上のステートマシンが生成された場合に、各々のステートマシンにおけるポインタの設定状態に基づき、2以上のステートマシンに含まれる2以上のバッファリングステートと2以上の送信ステートの各々を接続するポインタを設定し、ポインタごとに対応するバッファリング開始条件又はトリガ条件を関連付け、各ポインタに関連付けられているバッファリング開始条件又はトリガ条件に基づき、実際には発生しない遷移を表しているポインタを抽出し、抽出したポインタを削除して、2以上のステートマシンを統合するステートマシン統合ステップとをコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−120369(P2012−120369A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−269293(P2010−269293)
【出願日】平成22年12月2日(2010.12.2)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】