以下、実施の形態について、図面を参照しながら具体的に説明する。
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
(実施の形態1)
[情報提供システム]
まず、産業機器から提供されたその産業機器に係る情報を端末に提供する情報提供システムについて説明する。
図1は、実施の形態1に係る情報提供システム600の構成図である。
情報提供システム600は、管理装置100と、産業機器200と、収集装置300と、1以上の端末400とを備える。なお、情報提供システム600が備える端末400の数は、特に限定されない。管理装置100は、ネットワーク500を介して1以上の端末400と通信可能に接続されている。
ネットワーク500は、有線ネットワークでもよいし、無線ネットワークでもよいし、有線ネットワークと無線ネットワークとの両方でもよい。無線ネットワークは、管理装置100と端末400とを無線により通信可能に接続するネットワークである。例えば、無線ネットワークは、無線LAN(Local Area Network)であってもよい。また、有線ネットワークは、管理装置100と端末400とを有線により通信可能に接続するネットワークである。例えば、有線ネットワークは、有線LANであってもよい。
情報提供システム600は、管理装置100を備えることで、産業機器200から送信(提供)された産業機器200に係るデータを端末400へ送信(提供)する場合において、端末400へ提供するデータを、システム管理者の運用ポリシーに則って制限することができる。
なお、産業機器200と収集装置300との間は、ローカル接続されていてもよいし、有線ネットワークでもよいし、無線ネットワークで接続されていてもよい。
情報提供システム600は、例えば、MTConnectに準拠するシステムであってもよいし、例えば、OPC UAに準拠するシステムであってもよい。しかしながら、情報提供システム600は、必ずしも、MTConnect又はOPC UAに準拠するシステムに限定される必要はない。
また、産業機器200、収集装置300、管理装置100、及び、端末400のそれぞれの間で行われる通信に用いられる通信規格は、予め任意に定められてよい。
例えば、産業機器200は、API(Application Programming Interface)の規格に基づくデータ形式のデータを収集装置300に送信する。例えば、産業機器200は、予め定められた順序で産業機器200に係るデータを収集装置300に送信する。ここで出力されるデータは、通常、例えば、産業機器200の生産数、産業機器200が備える部品を動かす速度、産業機器200が備える部品を動かす方向(X軸方向、Y軸方向、Z軸方向等)等のデータの種類を示す名前情報(name又はidともいう)である。
また、収集装置300は、産業機器200から受信した機器データに、管理ファイル151に定義されている、データの種類を示す名前情報を紐づけ、これを機器データ(第1機器データ)として、例えば、TCP(Transmission Control Protocol)に準拠したデータ形式で管理装置100に送信する。
また、管理装置100は、受信した第1機器データを、HTTP(Hypertext Transfer Protocol)に準拠したデータ形式の機器データ(第2機器データ)を端末400に送信する。
なお、以下では、産業機器200が出力する、産業機器200に係る機器データであって、収集装置300が管理装置100に送信する機器データを第1機器データともいう。
また、以下では、産業機器200が出力する、産業機器200に係る機器データであって、管理装置100が端末400に送信する機器データを第2機器データともいう。
産業機器200は、収集装置300と通信可能に接続され、産業機器200に係る機器データを、収集装置300に送信する。例えば、産業機器200は、材料を工作する工作機械である。なお、産業機器200は、本実施の形態で説明する通りの工作機械に限定される必要はなく、例えば、医療機器等であっても構わない。
産業機器200は、例えば、材料を回転させる回転機構と、Z軸方向に伸延し、X軸方向及びY軸方向に平行移動可能な主軸とを備える工作機械である。産業機器200は、例えば、主軸の軸位置のX軸座標及びY軸座標を示す軸位置情報、産業機器200が警告を発する状態であるか否かを示す情報であって、警告を発する状態である場合には、その警告の種類を示す警告情報、及び、産業機器200が備える各部品を動作させる際の制御パラメータ等の機器データを生成して収集装置300に送信する。
産業機器200は、例えば、収集装置300から、上記の機器データの提供を要求する旨の信号を受信した場合に、機器データを収集装置300に送信するとしてもよいし、所定の周期で定期的に機器データを収集装置300に送信するとしてもよい。
収集装置300は、産業機器200から受信した機器データに、管理ファイル151に定義されている名前情報を紐づけた機器データ(第1機器データ)を生成して、管理装置100に送信する。名前情報は、例えば、文字列である。収集装置300は、例えば、X軸方向の位置を示す機器データを産業機器200から受信した場合に、(名前情報、値情報(Valueともいう))=(X_Pos、1.5)等の第1機器データを生成する。収集装置300が値情報に紐づける名前情報は、管理ファイル151に予め任意に定められている。
管理装置100は、第1機器データを受信した場合に、管理ファイルに151に基づいて第1機器データを管理する。具体的には、管理装置100は、第1機器データに含まれる名前情報が、管理ファイル151に記憶されている(言い換えると、管理ファイル151に定義されている)場合に、記憶部150(図2参照)に第1機器データを記憶させたり、端末400に転送する。例えば、管理装置100は、第1機器データを、ネットワーク500の通信プロトコルに準拠したデータ形式に変換した機器データ(第2機器データ)を生成して出力(送信)する。
一方、管理装置100は、第1機器データに含まれる名前情報が、管理ファイル151に記憶されていない場合には、第1機器データを破棄する。
端末400は、端末400を利用するユーザによる操作を受け付ける入力インターフェースと、ユーザに対する出力を行う出力インターフェースとを備え、外部機器と通信する通信機能を有する。端末400は、例えば、スマートフォンであってもよいし、パソコンであってもよい。
端末400は、管理装置100から送信された第2機器データを受信する装置である。ユーザは、例えば、端末400を操作することで、第2機器データに含まれる情報を確認する。
なお、端末400は、ユーザによる操作に応じて、自端末400への産業機器200に係る情報の提供を要求する旨のリクエスト信号を、管理装置100に送信してもよい。また、端末400は、送信したリクエスト信号に応答して、管理装置100から送信された応答信号を管理装置100から受信してもよい。そして、端末400は、受信した応答信号に応じた出力をユーザに対して行う。
情報提供システム600が、例えば、MTConnectに準拠するシステムである場合には、端末400が管理装置100に送信するリクエスト信号は、MTConnectに準拠する信号である。また、情報提供システム600が、例えば、OPC UAに準拠するシステムである場合には、端末400が管理装置100に送信するリクエスト信号は、OPC UAに準拠する信号である。
このように、管理装置100は、産業機器200から提供された機器データの、端末400への提供を中継する。管理装置100は、例えば、プログラムを記憶するメモリと、メモリに記憶されるプログラムを実行するプロセッサとを有するコンピュータによって、プロセッサがプログラムを実行することで実現される。
[管理装置]
続いて、管理装置100の構成の詳細について説明する。
図2は、実施の形態1に係る管理装置100の機能構成を示すブロック図である。
管理装置100は、管理ファイルに基づいて産業機器200に係る機器データを管理する装置である。具体的には、管理装置100は、産業機器200または収集装置300から受信した機器データに含まれる名前情報と一致する名前情報が、管理ファイル151に含まれる場合に、当該機器データを記憶部150に記憶したり、当該機器データを端末400と通信するための通信プロトコルに準拠したデータ形式に変換した機器データ(第2機器データ)を生成して出力したりする。
なお、管理ファイル151に定義されているとは、機器データに含まれる名前情報と一致する名前情報が管理ファイル151に含まれていることを示す。また、管理ファイル151に定義されていないとは、機器データに含まれる名前情報と一致する名前情報が管理ファイル151に含まれていないことを示す。名前情報は、機器データの種類を示す文字列である。つまり、管理ファイル151に定義されているとは、機器データに含まれる名前情報である文字列と一致する文字列が名前情報として管理ファイル151に含まれていることを示す。また、管理ファイル151に定義されていないとは、機器データに含まれる名前情報である文字列と一致する文字列が名前情報として管理ファイル151に含まれていないことを示す。
管理装置100は、受信した機器データに含まれる名前情報が、管理ファイル151に含まれていない場合、当該機器データを破棄する。管理装置100は、通信部110と、更新部120と、制御部130と、出力部140と、記憶部150と、を備える。
通信部110は、産業機器200、及び、産業機器200から出力される機器データを収集する収集装置300の少なくとも一方から当該機器データを受信するための通信インターフェースである。
本実施の形態では、通信部110は、産業機器200とも通信する。そのため、通信部110は、産業機器200、及び、産業機器200から出力される機器データを収集する収集装置300の両方から当該機器データを受信するための通信インターフェースである。
産業機器200及び収集装置300と管理装置100とが有線通信する場合には、例えば、通信部110は、通信線が接続可能なアダプタを備える。或いは、産業機器200及び収集装置300と管理装置100とが無線通信する場合には、例えば、通信部110は、アンテナと無線モジュールとを備える。
なお、通信部110は、産業機器200と通信するための通信インターフェースと、収集装置300と通信するための通信インターフェースとの2つの通信インターフェースを備えてもよい。
また、例えば、通信部110は、産業機器200が送信可能な機器データの送信を要求する要求情報を産業機器200に送信することで、産業機器200から機器データを受信する。具体的には例えば、制御部130は、産業機器200が送信可能な機器データの送信を要求する要求情報を産業機器200に通信部110を介して送信することで、産業機器200から機器データを、通信部110を介して受信する。
通常、管理装置100は、収集装置300から第1機器データを受信する。ここで、管理装置100は、管理ファイル151に定義されていない第1機器データを受信した場合、受信した第1機器データを破棄する。
そこで、例えば、制御部130は、管理装置100が起動された場合に、まず、産業機器200が送信可能な機器データの送信を要求する要求情報を産業機器200に通信部110を介して送信することで、産業機器200から機器データ、より具体的には、産業機器200が収集装置300に出力する産業機器情報のデータの種類を示す名前情報を受信する。ここで、産業機器200によっては、例えば、収集装置300が値情報に紐づける名前情報と同じ文字列を値情報に紐づけることができる。この場合、例えば、産業機器200は、管理装置100から要求情報を受信した場合に、名前情報と値情報とを紐づけた機器データを管理装置100に送信する。なお、ここでは、産業機器200は、名前情報を含み、且つ、値情報を含まないデータを機器データ(産業機器情報)として管理装置100に送信してもよい。
更新部120は、通信部110が受信した機器データに基づいて、管理ファイル151を更新する処理部である。ここで、更新とは、管理ファイル151に含まれている名前情報を書き換えること、及び、管理ファイル151に新たな名前情報を追加することの少なくとも一方を意味する。
また、例えば、更新部120は、通信部110が受信した機器データが管理ファイル151に定義されていない場合に、当該機器データが所定の条件を満たすと判定したときには、当該機器データに基づいて管理ファイル151を更新し、当該機器データが当該所定の条件を満たさないと判定したときには、管理ファイル151を更新しない。
所定の条件は、任意に定められてよい。例えば、更新部120は、通信部110が受信した機器データに含まれる、当該機器データの種類を示す名前情報と紐づけられた値情報(より具体的には、値情報が示す数値)が変化した場合に管理ファイル151を更新する。具体的に例えば、通信部110は、産業機器200から機器データを繰り返し受信する。例えば、通信部110は、予め任意に定められた時刻に産業機器200から機器データを受信してもよいし、管理装置100が起動される毎に受信してもよい。この場合に、例えば、更新部120は、通信部110が受信した機器データに含まれる、当該機器データの種類を示す名前情報と紐づけられた値情報が変化した場合に、当該名前情報を管理ファイル151に追加することで管理ファイル151を更新する。
制御部130は、管理装置100が実行する各種処理を行う処理部である。例えば、制御部130は、通信部110が受信した機器データが管理ファイル151に定義されている場合、(i)当該機器データを記憶部150に記憶させること、及び、(ii)当該機器データを端末400に転送することの少なくとも一方を行うことで、当該機器データを管理する。
図3は、実施の形態1に係る収集装置300が実施の形態1に係る管理装置100に送信する機器データのデータ構造の一例を示す模式図である。
収集装置300は、例えば、産業機器200から受信した産業機器情報に基づいて、データの種類を示す名前情報10と、名前情報に紐づけられた値を示す値情報20とを含む機器データ30、名前情報11と値情報21とを含む機器データ31等の機器データを複数含む機器データ群40を送信する。「X1_Pos」、及び、「Y1_Pos」は、名前情報の文字列の一例である。「1.5」、及び、「1.0」は、名前情報と紐づけられた値情報(Value)の一例である。
制御部130は、通信部110を介して機器データ群40を受信した場合に、機器データに含まれる名前情報が、管理ファイル151に含まれているか否かを判定する。制御部130は、例えば、機器データ30に含まれる名前情報10が管理ファイル151に含まれている場合、例えば、機器データ30に含まれる名前情報10と値情報20とを紐づけて記憶部150に記憶させる。一方、制御部130は、例えば、機器データ31に含まれる名前情報11が管理ファイル151に含まれていない場合、機器データ31を破棄する、つまり、管理しない。
また、例えば、制御部130は、通信部110及び出力部140の動作を制御する。
更新部120及び制御部130は、例えば、記憶部150に記憶されている制御プログラムと、当該制御プログラムを実行するCPU(Central Processing Unit)により実現される。
出力部140は、機器データをネットワーク500の通信プロトコルに準拠したデータ形式に変換した第2機器データを出力する通信インターフェースである。例えば、制御部130は、機器データをネットワーク500の通信プロトコルに準拠したデータ形式に変換した第2機器データを生成し、生成した第2機器データを、出力部140を介して端末400に出力する。
端末400と管理装置100とが有線通信する場合には、例えば、出力部140は、通信線が接続可能なアダプタを備える。或いは、端末400と管理装置100とが無線通信する場合には、例えば、出力部140は、アンテナと無線モジュールとを備える。
また、例えば、端末400が、自端末400への産業機器200に係る情報の提供を要求する旨のリクエスト信号を、管理装置100に送信した場合、制御部130は、出力部140を介して、当該リクエスト信号を受信し、当該リクエスト信号に対する応答信号を生成して、出力部140を介して端末400に出力してもよい。
記憶部150は、管理ファイル151、及び、機器データを記憶する記憶装置である。記憶部150は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)等により実現される。
管理ファイル151は、機器データが定義されているリスト(情報)である。具体的には、管理ファイルは、産業機器200が出力する産業機器情報のデータの種類を示す名前情報を複数含む。
産業機器200は、膨大なデータを出力する。一方、ユーザが要求するデータはその膨大なデータの一部である。そのため、管理ファイル151には、ユーザが所望するデータの種類を示す名前情報がリスト化されている。これにより、管理装置100は、管理ファイル151に基づいて、受信した機器データを取捨選択することで、当該機器データを管理する。
図4は、実施の形態1に係る管理ファイル151の具体例を示す図である。
図4に示す管理ファイル151は、産業機器200が送信できる情報の項目を示す情報を、一例としてXML(Extensible Markup Language)形式で示すものである。なお、管理ファイル151の形式は、XML形式に限られず任意の形式であってよい。管理ファイル151は、例えば、管理装置100と端末400との通信の通信規格がMTConnect規格又はOPC UA規格である場合には、その規格に従ってXML形式で表現される。
管理装置100は、例えば、Axesタグの要素50として、主軸に関する情報を含んでいる。具体的には、Axesタグの要素50として、主軸のX座標、Y座標、及び、Z座標の位置が示されている。
そして、Axesタグの内部に3つのLinearタグが含まれている。idが「X1」であるLinearタグの要素51は、主軸のX座標を示している。idが「Z1」であるLinearタグの要素52は、主軸のZ座標を示している。idが「Y1」であるLinearタグの要素53は、主軸のY座標を示している。
このように、管理ファイル151には、産業機器200の種別(具体的には、産業機器200が出力するデータの種類)に応じて、産業機器200が出力するデータのうち、管理装置100が管理するデータの項目(名前情報)が示されている。
[処理手順]
続いて、管理装置100が行う動作について説明する。
図5は、実施の形態1に係る管理装置100が実行する処理の処理手順を示すフローチャートである。
まず、制御部130は、産業機器200が出力する機器データ(産業機器情報)を要求する要求情報を、通信部110を介して産業機器200に送信する(S101)。
次に、更新部120は、産業機器200から機器データを、通信部110を介して受信する(S102)。
次に、更新部120は、受信した機器データが管理ファイル151に定義されているか否かを判定する(S103)。具体的には、更新部120は、受信した機器データに含まれている名前情報が管理ファイル151に含まれているか否かを判定する。
更新部120は、受信した機器データが管理ファイル151に定義されていると判定した場合(S103でYes)、処理を終了する。例えば、制御部130は、受信した機器データを記憶部150に記憶させる等、機器データを管理してもよい。
一方、更新部120は、受信した機器データが管理ファイル151に定義されていないと判定した場合(S103でNo)、機器データが所定の条件を満たすか否かを判定する(S104)。所定の条件は、例えば、繰り返し同じ名前情報を含む機器データを受信し、受信した機器データに含まれる名前情報と紐づけられた値情報が変化した場合である。
更新部120は、機器データが所定の条件を満たすと判定した場合(S104でYes)、管理ファイル151を更新する(S105)。例えば、更新部120は、機器データに含まれる名前情報を管理ファイル151に含める。なお、制御部130は、更新部120が管理ファイル151を更新した後で、機器データを記憶部150に記憶させる等、機器データを管理してもよい。
一方、更新部120は、機器データが所定の条件を満たさないと判定した場合(S104でNo)、当該機器データを管理せずに破棄して処理を終了する。
図6は、実施の形態1に係る管理装置100が実行する処理の処理手順を示すシーケンス図である。
まず、管理装置100は、例えば、起動した直後に、産業機器200が出力する機器データを要求する要求情報を、産業機器200に送信する(S201)。
産業機器200は、要求情報を受信した場合、例えば、収集装置300に送信する機器データと同じ種類の名前情報を含む機器データを管理装置100に送信する(S202)。
管理装置100は、受信した機器データに含まれる名前情報が管理ファイル151に含まれていない場合、管理ファイル151に当該名前情報を含めることで、管理ファイル151を更新する。なお、ここでは、例えば、名前情報と値情報とが紐付けられた機器データの名前情報を管理ファイル151に含め、名前情報と値情報とが紐付けられていない、例えば、値情報を含まない機器データの名前情報を管理ファイル151に必ずしも含めなくてもよい。
以上の処理によって、管理装置100は、管理ファイル151を更新する(S203)。
また、産業機器200は、機器データ(産業機器情報)を収集装置300に送信する(S204)。
収集装置300は、受信した機器データに名前情報を紐づけた機器データ(第1機器データ)を、管理装置100に送信する(S205)。
管理装置100は、管理ファイル151に基づいて、受信した機器データを記憶部150に記憶する(S206)。
また、管理装置100は、例えば、受信した機器データを、端末400と通信するための通信プロトコルに準拠したデータ形式に変換して端末400に機器データ(第2機器データ)を送信する(S207)。
以上のように、管理装置100及び産業機器200が、ステップS204~ステップS207に示す従来の処理を実行する前に、ステップS201~ステップS203を実行することにより、管理装置100は、収集装置300から受信した機器データを破棄せずに管理できる。
また、例えば、管理装置100が再起動されたとする。この場合、管理装置100は、ステップS201と同様に、例えば、産業機器200が出力する機器データを要求する要求情報を、産業機器200に送信する(S208)。
産業機器200は、要求情報を受信した場合、例えば、収集装置300に送信する機器データと同じ種類の名前情報を含む機器データを管理装置100に送信する(S209)。
ここで、管理装置100は、例えば、ステップS202の後に受信した機器データに含まれる名前情報と同じ名前情報を含む機器データの値情報が、ステップS202の後で受信した機器データの値情報と異なっている場合に、当該機器データに含まれる名前情報を管理ファイル151に追加する(S210)。
例えば、管理装置100は、ステップS202の後で受信した機器データが、(名前情報、値情報)=(X_Pos、_)のように、値情報を含まない場合、ステップS203では、X_Posを管理ファイル151に含めない。一方、例えば、管理装置100は、ステップS209の後で受信した機器データが、(名前情報、値情報)=(X_Pos、1.5)のように、値情報が変更された場合、ステップS210では、X_Posを管理ファイル151に含める。
[効果等]
以上説明したように、実施の形態1に係る管理装置100は、管理ファイル151に基づいて産業機器200に係る機器データを管理する管理装置であって、産業機器200、及び、産業機器200から出力される機器データを収集する収集装置300の少なくとも一方から機器データを受信する通信部110と、通信部110が受信した機器データに基づいて、管理ファイル151を更新する更新部120と、を備える。
これによれば、更新部120が、通信部110が受信した機器データに基づいて、その機器データが管理ファイル151に定義されていない場合においても管理ファイル151を更新するため、管理装置100は、例えば、機器データを記憶部150に記憶させたり、端末400に機器データが示す情報(第2機器データ)を送信する等、産業機器200が出力する機器データを破棄せずに管理できる。そのため、管理装置100によれば、管理ファイル151に定義されていない機器データを破棄せずに管理できる。
また、例えば、更新部120は、通信部110が受信した機器データが管理ファイル151に定義されていない場合に、機器データが所定の条件を満たすと判定したときには、機器データに基づいて管理ファイル151を更新し、機器データが当該所定の条件を満たさないと判定したときには、管理ファイル151を更新しない。
これによれば、管理装置100は、例えば、機器データに含まれる情報に基づいて、その機器データを適切に管理できる。
また、例えば、通信部110は、産業機器200が送信可能な機器データの送信を要求する要求情報を産業機器200に送信することで、産業機器200から機器データを受信する。
これによれば、例えば、収集装置300から機器データを受信する前に、産業機器200と通信することで、管理ファイル151を更新できる。そのため、収集装置300から受信した機器データであって、管理ファイル151に定義されていない機器データを破棄せずに管理できる可能性が高まる。
また、例えば、通信部110は、産業機器200から機器データを繰り返し受信する。この場合、更新部120は、通信部110が受信した機器データに含まれる、機器データの種類を示す名前情報と紐づけられた情報(値情報)が変化した場合に、名前情報を管理ファイル151に追加することで管理ファイル151を更新する。
例えば、産業機器200には、ユーザが任意に情報を設定できる機器データがある。この情報が変更された場合、ユーザによって有益な情報が産業機器200に入力された可能性が高い。そのため、このような構成によれば、ユーザが所望する可能性の高い機器データを管理ファイル151に定義することができる。
また、例えば、管理装置100は、さらに、通信部110が受信した機器データが管理ファイル151に定義されている場合、(i)機器データを記憶部150に記憶させること、及び、(ii)機器データを端末400に転送することの少なくとも一方を行うことで、機器データを管理する制御部130を備える。
これによれば、管理装置100は、機器データを適切に管理できる。
また、本発明に一態様に係る管理方法は、管理ファイル151に基づいて産業機器200に係る機器データを管理する管理方法であって、産業機器200、及び、産業機器200から出力される機器データを収集する収集装置300の少なくとも一方から機器データを受信する受信ステップ(S102)と、受信ステップで受信した機器データに基づいて、管理ファイル151を更新する更新ステップ(S105)と、を含む。
これによれば、受信した機器データに基づいて、その機器データが管理ファイル151に定義されていない場合においても管理ファイル151を更新するため、例えば、機器データを記憶部150に記憶させたり、端末400に機器データが示す情報(第2機器データ)を送信する等、機器データを破棄せずに管理できる。そのため、本発明の一態様に係る管理方法によれば、管理ファイル151に定義されていない機器データを破棄せずに管理できる。
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROM等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
(実施の形態2)
以下、実施の形態2に係る管理装置について説明する。なお、実施の形態2に係る管理装置の説明においては、実施の形態1に係る管理装置との差異点を中心に説明する。実施の形態2に係る管理装置の説明においては、実施の形態1に係る管理装置が備える構成と実質的に同一の構成については同一の符号を付し、説明を一部簡略化又は省略する場合がある。
[構成]
図7は、実施の形態2に係る情報提供システム601の構成図である。
情報提供システム601は、管理装置101と、産業機器200と、収集装置300と、1以上の端末400とを備える。
管理装置101は、産業機器200と直接通信しない点が、管理装置100と異なる。
図8は、実施の形態2に係る管理装置101の機能構成を示すブロック図である。
管理装置101は、管理ファイル151に定義されているデータを管理する装置である。具体的には、管理装置101は、受信した機器データに含まれる名前情報が、管理ファイル151に含まれる場合に、当該機器データを記憶部150に記憶したり、当該機器データを端末400と通信するための通信プロトコルに準拠したデータ形式に変換した機器データ(第2機器データ)を生成して出力したりする。管理装置101は、受信した機器データに含まれる名前情報が、管理ファイル151に含まれていない場合、当該機器データを破棄する。管理装置101は、通信部111と、更新部121と、制御部130と、出力部140と、記憶部150と、を備える。
通信部111は、産業機器200、及び、産業機器200から出力される機器データを収集する収集装置300の少なくとも一方から当該機器データを受信するための通信インターフェースである。
本実施の形態では、通信部111は、産業機器200とは通信しない。そのため、通信部111は、産業機器200から出力される機器データを収集する収集装置300から当該機器データ(具体的には、当該機器データに名前情報を紐づけた第1機器データ)を受信するための通信インターフェースである。
収集装置300と管理装置100とが有線通信する場合には、例えば、通信部111は、通信線が接続可能なアダプタを備える。或いは、収集装置300と管理装置100とが無線通信する場合には、例えば、通信部111は、アンテナと無線モジュールとを備える。
更新部121は、通信部111が受信した機器データに基づいて、管理ファイル151を更新する処理部である。
また、例えば、更新部120は、通信部111が受信した機器データが管理ファイル151に定義されていない場合に、機器データが所定の条件を満たすときと判定したときには、機器データに基づいて管理ファイル151を更新し、機器データが所定の条件を満たさないと判定したときには、管理ファイル151を更新しない。
管理ファイル151では、機器データの種類を示す文字列である名前情報(第2名前情報ともいう)で機器データが定義されている。更新部121は、機器データに含まれる、当該機器データの種類を示す文字列である名前情報が所定の文字列を含む場合に、機器データが所定の条件を満たすと判定する。つまり、所定の条件を満たすか否かは、例えば、所定の文字列を含むか否かである。
所定の文字列は、任意に定められてよい。例えば、管理装置101は、所定の文字列を示す文字列情報を記憶部150に記憶していてもよい。
また、例えば、所定の文字列は、第2名前情報(管理ファイル151に定義されている名前情報)に含まれる文字列の一部である。この場合、例えば、更新部121は、通信部111が受信した機器データに含まれる文字列である名前情報(第1名前情報ともいう)と一致する文字列を含む第2名前情報が管理ファイル151に含まれていない場合であって、第2名前情報に含まれる文字列の一部が、第1名前情報に含まれる文字列の一部と一致する場合、第1名前情報を管理ファイル151に追加することで管理ファイル151を更新する。
例えば、管理ファイル151には、「X_Pos」が定義されており、「Y_Pos」が定義されていないとする。「X_Pos」、及び、「Y_Pos」は、いずれも名前情報の一例である。
この場合、更新部121は、「Y_Pos」を含む機器データを受信した場合に、「_Pos」と一致する名前情報が定義されているため、「Y_Pos」を新たに管理ファイル151に定義する。つまり、この場合、「_Pos」が所定の文字列である。
なお、文字列の長さ(文字数)は、任意に定められてよい。
制御部130は、管理装置101が実行する各種処理を行う処理部である。例えば、制御部130は、通信部111が受信した機器データが管理ファイル151に定義されているデータである場合、(i)機器データを記憶部150に記憶させること、及び、(ii)機器データを端末400に転送することの少なくとも一方を行うことで、機器データを管理する。
また、例えば、制御部130は、通信部111及び出力部140の動作を制御する。
更新部121及び制御部130は、例えば、記憶部150に記憶されている制御プログラムと、当該制御プログラムを実行するCPUにより実現される。
[処理手順]
図9は、実施の形態2に係る管理装置101が実行する処理の処理手順を説明するためのフローチャートである。
まず、通信部111は、収集装置300から第1機器データを受信する(S301)。具体的には、更新部121は、収集装置300から通信部111を介して第1機器データを受信する。
次に、更新部121は、受信した第1機器データが管理ファイル151に定義されているか否かを判定する(S302)。具体的には、更新部121は、受信した第1機器データに含まれている名前情報が管理ファイル151に含まれているか否かを判定する。
制御部130は、更新部121が、受信した第1機器データが管理ファイル151に定義されていると判定した場合(S302でYes)、受信した第1機器データを記憶部150に記憶させる(S303)。
次に、制御部130は、記憶部150に記憶した第1機器データのデータ形式を端末400と通信するための通信プロトコルに準拠したデータ形式に変換した第2機器データを端末400に送信する(S304)。
制御部130は、ステップS304及びステップS305を実行することで、機器データ(第1機器データ)を管理する。
一方、更新部121は、受信した第1機器データが管理ファイル151に定義されていないと判定した場合(S302でNo)、管理ファイル151の更新処理を実行する(S305)。
図10は、実施の形態2に係る管理装置101が実行する更新処理(図9に示すステップS305)の詳細を示すフローチャートである。
更新部121は、図9に示すステップS301で受信した第1機器データが、所定の条件を満たすか否かを判定する(S401)。上記したように、所定の条件を満たすか否かは、例えば、第1機器データに含まれる第1名前情報が所定の文字列を含むか否かである。
更新部121は、第1機器データが、所定の条件を満たすと判定した場合(S401でYes)、管理ファイル151を更新する(S402)。具体的には、更新部121は、第1機器データに含まれる第1名前情報を管理ファイル151に追加する。
次に、制御部130は、第1機器データを記憶部150に記憶させる(S403)。
次に、制御部130は、記憶部150に記憶した第1機器データのデータ形式を端末400と通信するための通信プロトコルに準拠したデータ形式に変換した第2機器データを端末400に送信する(S404)。
一方、更新部121は、第1機器データが、所定の条件を満たさないと判定した場合(S401でNo)、当該第1機器データを破棄する(S405)。
[効果等]
以上説明したように、実施の形態2に係る管理装置101は、管理ファイル151に基づいて産業機器200に係る機器データを管理する管理装置であって、産業機器200から出力される機器データを収集する収集装置300から当該機器データを受信する通信部111と、通信部111が受信した機器データに基づいて、管理ファイル151を更新する更新部121と、を備える。また、例えば、更新部121は、通信部111が受信した機器データが管理ファイル151に定義されていない場合に、機器データが所定の条件を満たすと判定したときには、機器データに基づいて管理ファイル151を更新し、機器データが所定の条件を満たさないと判定したときには、管理ファイル151を更新しない。
ここで、更新部121は、機器データに含まれる当該機器データの種類を示す文字列である名前情報(第1名前情報)が所定の文字列を含む場合に、当該機器データが所定の条件を満たすと判定する。
管理ファイル151には、例えば、第1機器データに含まれる文字列(より具体的には、名前情報)が当該第1機器データの定義として記憶されている。また、収集装置300から受信する第1機器データにもまた、第1機器データの種類を示す名前情報(第1名前情報)が文字列で含まれている。そのため、管理装置100は、第1機器データに所定の文字列が含まれているか否かによって、簡便に管理ファイル151に定義するか否かを判定できる。
また、例えば、管理ファイル151には、機器データの種類を示す文字列である名前情報(第2名前情報)で当該機器データが定義されている。所定の文字列は、第2名前情報に含まれる文字列の一部である。この場合、更新部121は、通信部111が受信した機器データに含まれる第1名前情報と一致する第2名前情報が管理ファイル151に含まれていない場合であって、第2名前情報に含まれる文字列の一部が、第1名前情報に含まれる文字列の一部と一致する場合、所定の条件を満たすと判定して第1名前情報を管理ファイル151に追加することで管理ファイル151を更新する。
管理ファイル151には、例えば、産業機器200が動作する際のパラメータ、産業機器200のユーザが任意に入力できる情報等、データの種類が文字列である名前情報(第2名前情報)として記憶されている。例えば、互いに直交するX軸方向、Y軸方向、及び、Z軸方向に動作可能な産業機器200の一部の部品であって、初めにX軸方向にしか動作させないと設定されていた部品を、Y軸方向にも動作させるとする。例えば、当該部品のX軸方向の位置を示す名前情報を「X_Pos」とし、Y軸方向の位置を示す名前情報を「Y_Pos」とする。この場合、管理ファイル151には、X軸方向に動作させることを示す名前情報である「X_Pos」が定義されているが、Y軸方向に動作させることを示す名前情報を「Y_Pos」が定義されていない場合がある。ここで、更新部121は、機器データに含まれる名前情報である「Y_Pos」を受信した場合に、「_Pos」と一致する名前情報が定義されているため、「Y_Pos」を新たに管理ファイル151に定義する。このように、名前情報の一部が一致する機器データであれば、管理ファイル151に定義されている名前情報を含む機器データと類似の機器データである可能性が高い。そのため、管理ファイル151に定義されている名前情報を含む機器データと類似の機器データであれば、ユーザが所望する機器データである可能性が高まる。これによれば、更新部121は、未知の、つまり、管理ファイル151に定義されていない名前情報を含む機器データを適切に識別して管理ファイル151に定義することができる。
(その他の実施の形態)
以上、本発明に係る管理装置について、各実施の形態に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、収集装置および管理装置は、1つの通信装置として実現されてもよい。
また、上記実施の形態における、管理装置が実行する各ステップは、コンピュータ(コンピュータシステム)によって実行されてもよい。そして、本発明は、当該各ステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
例えば、本発明が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から受信して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
また、例えば、管理装置に含まれる複数の構成要素は、それぞれ、専用又は汎用の回路として実現されてもよい。これらの構成要素は、1つの回路として実現されてもよいし、複数の回路として実現されてもよい。
また、管理装置に含まれる複数の構成要素は、集積回路(IC:Integrated Circuit)であるLSI(Large Scale Integration)として実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。LSIは、集積度の違いにより、システムLSI、スーパーLSI又はウルトラLSIと呼称される場合がある。
また、集積回路はLSIに限られず、専用回路又は汎用プロセッサで実現されてもよい。上述したように、プログラム可能なFPGA、又は、LSI内部の回路セルの接続及び設定が再構成可能なリコンフィギュラブル・プロセッサが、利用されてもよい。
さらに、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、中継装置に含まれる各構成要素の集積回路化が行われてもよい。
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。