(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176362
(43)【公開日】2023-12-13
(54)【発明の名称】スレーブ装置、スレーブ装置の制御方法及びプログラム
(51)【国際特許分類】
H04L 12/28 20060101AFI20231206BHJP
【FI】
H04L12/28 200Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022088604
(22)【出願日】2022-05-31
(71)【出願人】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】岩本 貴之
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033DA01
5K033EA02
5K033EA03
(57)【要約】
【課題】通信のトラブルシューティングに活用することができるスレーブ装置を提供する。
【解決手段】スレーブ装置4は、機械6に関するデータ、及び、機械6の構成を示す機械構成情報を機械6から取得する第1の通信部16と、第1の通信部16が機械6と通信可能な場合には、機械構成情報に基づいてアドレス空間24を構築し、第1の通信部16が機械6と通信不能な場合には最小アドレス空間28を構築する制御部18と、第1の通信部16が機械6と通信可能な場合には、マスタ装置8からの要求に応じて、アドレス空間24とリンクする機械データ26をマスタ装置8に送信し、第1の通信部16が機械6と通信不能な場合には、マスタ装置8からの要求に応じて、最小アドレス空間28とリンクする固定データ30をマスタ装置8に送信する第2の通信部22とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置であって、
前記機械に関するデータ、及び、前記機械の構成を示す機械構成情報を前記機械から取得する第1の通信部と、
前記第1の通信部が前記機械と通信可能な場合には、前記第1の通信部により取得された前記機械構成情報に基づいて、前記機械に関するデータとのリンク関係を示す第1のリンク情報を構築し、前記第1の通信部が前記機械と通信不能な場合には、予め定められたデータとのリンク関係を示す第2のリンク情報を構築する制御部と、
前記第1の通信部が前記機械と通信可能な場合には、前記マスタ装置からの要求に応じて、前記第1のリンク情報とリンクするデータを前記マスタ装置に送信し、前記第1の通信部が前記機械と通信不能な場合には、前記マスタ装置からの要求に応じて、前記第2のリンク情報とリンクするデータを前記マスタ装置に送信する第2の通信部と、を備える
スレーブ装置。
【請求項2】
前記制御部は、前記第1のリンク情報を構築した後に前記第1の通信部により前記機械に関するデータが取得された場合であって、取得された前記機械に関するデータと前記第1のリンク情報とがリンクしない場合には、前記第1のリンク情報を破棄する
請求項1に記載のスレーブ装置。
【請求項3】
前記制御部は、前記第2のリンク情報を構築した後に前記第1の通信部が前記機械と通信可能となり、且つ、前記第1の通信部により前記機械構成情報が取得された場合であって、取得された前記機械構成情報と前記第2のリンク情報とが対応しない場合には、前記第2のリンク情報を破棄する
請求項1に記載のスレーブ装置。
【請求項4】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、
(a)前記機械に関するデータを前記機械から取得するステップと、
(b)前記機械の構成を示す機械構成情報を前記機械から取得するステップと、
(c)前記スレーブ装置が前記機械と通信可能な場合には、前記(b)で取得された前記機械構成情報に基づいて、前記機械に関するデータとのリンク関係を示す第1のリンク情報を構築し、前記スレーブ装置が前記機械と通信不能な場合には、予め定められたデータとのリンク関係を示す第2のリンク情報を構築するステップと、
(d)前記スレーブ装置が前記機械と通信可能な場合には、前記マスタ装置からの要求に応じて、前記第1のリンク情報とリンクするデータを前記マスタ装置に送信し、前記スレーブ装置が前記機械と通信不能な場合には、前記マスタ装置からの要求に応じて、前記第2のリンク情報とリンクするデータを前記マスタ装置に送信するステップと、を含む
スレーブ装置の制御方法。
【請求項5】
請求項4に記載のスレーブ装置の制御方法をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スレーブ装置、スレーブ装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置とスレーブ装置との間で機械に関するデータのやり取りを行う技術が知られている(例えば、特許文献1参照)。
【0003】
スレーブ装置は、機械に関するデータを機械から取得し、取得したデータをスレーブ装置の記憶部に記憶する。マスタ装置は、スレーブ装置にリクエスト信号を送信し、スレーブ装置は、マスタ装置からのリクエスト信号に対するレスポンスとして、スレーブ装置の記憶部に格納されているデータをマスタ装置に送信する。これにより、マスタ装置は、スレーブ装置からのデータを、マスタ装置の記憶部に保持する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、マスタ装置がスレーブ装置からのデータを取得できない場合、マスタ装置側では、マスタ装置-スレーブ装置間で通信不能になっているのか、スレーブ装置-機械間で通信不能になっているのかを判定することができないという課題が生じる。
【0006】
本発明は、このような課題に鑑みてなされたものであり、その目的は、通信のトラブルシューティングに活用することができるスレーブ装置、スレーブ装置の制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一態様に係るスレーブ装置は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置であって、前記機械に関するデータ、及び、前記機械の構成を示す機械構成情報を前記機械から取得する第1の通信部と、前記第1の通信部が前記機械と通信可能な場合には、前記第1の通信部により取得された前記機械構成情報に基づいて、前記機械に関するデータとのリンク関係を示す第1のリンク情報を構築し、前記第1の通信部が前記機械と通信不能な場合には、予め定められたデータとのリンク関係を示す第2のリンク情報を構築する制御部と、前記第1の通信部が前記機械と通信可能な場合には、前記マスタ装置からの要求に応じて、前記第1のリンク情報とリンクするデータを前記マスタ装置に送信し、前記第1の通信部が前記機械と通信不能な場合には、前記マスタ装置からの要求に応じて、前記第2のリンク情報とリンクするデータを前記マスタ装置に送信する第2の通信部と、を備える。
【0008】
本態様によれば、マスタ装置は、スレーブ装置から第1のリンク情報とリンクするデータを受信した場合には、マスタ装置-スレーブ装置間、及び、スレーブ装置-機械間でそれぞれ通信が正常に行われていると判定することができる。また、マスタ装置は、スレーブ装置から第2のリンク情報とリンクするデータを受信した場合には、スレーブ装置-機械間で通信不能になっていると判定することができる。さらに、マスタ装置は、スレーブ装置から何らのデータも受信できない場合には、マスタ装置-スレーブ装置間で通信不能になっていると判定することができる。これにより、マスタ装置-スレーブ装置間、及び、スレーブ装置-機械間のいずれで通信不能となっているかについて、通信のトラブルシューティングに活用することができる。
【0009】
例えば、前記制御部は、前記第1のリンク情報を構築した後に前記第1の通信部により前記機械に関するデータが取得された場合であって、取得された前記機械に関するデータと前記第1のリンク情報とがリンクしない場合には、前記第1のリンク情報を破棄するように構成してもよい。
【0010】
本態様によれば、例えばスレーブ装置の接続先の機械が切り替えられた場合に、第1のリンク情報を破棄して再構築することができる。その結果、マスタ装置は、切り替えられた機械に関するデータを受信することができる。
【0011】
例えば、前記制御部は、前記第2のリンク情報を構築した後に前記第1の通信部が前記機械と通信可能となり、且つ、前記第1の通信部により前記機械構成情報が取得された場合であって、取得された前記機械構成情報と前記第2のリンク情報とが対応しない場合には、前記第2のリンク情報を破棄するように構成してもよい。
【0012】
本態様によれば、例えば制御部が第2のリンク情報を構築した後に機械が起動した場合に、第2のリンク情報を破棄して、第1の通信部により取得された機械構成情報に基づいて第1のリンク情報を構築することができる。
【0013】
また、本発明の一態様に係るスレーブ装置の制御方法は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、(a)前記機械に関するデータを前記機械から取得するステップと、(b)前記機械の構成を示す機械構成情報を前記機械から取得するステップと、(c)前記スレーブ装置が前記機械と通信可能な場合には、前記(b)で取得された前記機械構成情報に基づいて、前記機械に関するデータとのリンク関係を示す第1のリンク情報を構築し、前記スレーブ装置が前記機械と通信不能な場合には、予め定められたデータとのリンク関係を示す第2のリンク情報を構築するステップと、(d)前記スレーブ装置が前記機械と通信可能な場合には、前記マスタ装置からの要求に応じて、前記第1のリンク情報とリンクするデータを前記マスタ装置に送信し、前記スレーブ装置が前記機械と通信不能な場合には、前記マスタ装置からの要求に応じて、前記第2のリンク情報とリンクするデータを前記マスタ装置に送信するステップと、を含む。
【0014】
本態様によれば、マスタ装置は、スレーブ装置から第1のリンク情報とリンクするデータを受信した場合には、マスタ装置-スレーブ装置間、及び、スレーブ装置-機械間でそれぞれ通信が正常に行われていると判定することができる。また、マスタ装置は、スレーブ装置から第2のリンク情報とリンクするデータを受信した場合には、スレーブ装置-機械間で通信不能になっていると判定することができる。さらに、マスタ装置は、スレーブ装置から何らのデータも受信できない場合には、マスタ装置-スレーブ装置間で通信不能になっていると判定することができる。これにより、マスタ装置-スレーブ装置間、及び、スレーブ装置-機械間のいずれで通信不能となっているかについて、通信のトラブルシューティングに活用することができる。
【0015】
また、本発明の一態様に係るプログラムは、上述したスレーブ装置の制御方法をコンピュータに実行させる。
【発明の効果】
【0016】
本発明の一態様に係るスレーブ装置等によれば、通信のトラブルシューティングに活用することができる。
【図面の簡単な説明】
【0017】
【
図1】実施の形態1に係る通信システムの概要を示すブロック図である。
【
図2】実施の形態1に係るスレーブ装置の機能構成を示すブロック図である。
【
図3】実施の形態1に係るアドレス空間の一例を示す図である。
【
図4】実施の形態1に係る最小アドレス空間の一例を示す図である。
【
図5】実施の形態1に係るスレーブ装置の動作の流れを示すフローチャートである。
【
図6】実施の形態2に係るスレーブ装置の機能構成を示すブロック図である。
【
図7】実施の形態2に係るスレーブ装置及び機械の各動作の流れを示すシーケンス図である。
【
図8】実施の形態3に係るスレーブ装置の機能構成を示すブロック図である。
【
図9】実施の形態3に係るアドレス空間の一例を示す図である。
【
図10】実施の形態3に係るスレーブ装置及び機械の各動作の流れを示すシーケンス図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0019】
(実施の形態1)
[1-1.通信システムの概要]
まず、
図1を参照しながら、実施の形態1に係る通信システム2の概要について説明する。
図1は、実施の形態1に係る通信システム2の概要を示すブロック図である。
【0020】
図1に示すように、通信システム2は、スレーブ装置4と、機械6と、マスタ装置8とを備えている。本実施の形態では、通信システム2は、例えば工場内に構築された通信システムである。
【0021】
なお、
図1に例示する本実施の形態では、通信システム2は1つの機械6を備えているが、これに限定されず、複数の機械6を備えていてもよい。また、本実施の形態では、通信システム2は1つのマスタ装置8を備えているが、これに限定されず、複数のマスタ装置8を備えていてもよい。
【0022】
スレーブ装置4と機械6とは、通信線10を介して接続されている。通信線10は、例えばEthernet(登録商標)、IP(Internet Protocol)、又は、RS-232C(シリアル通信)等の通信プロトコルで通信可能な通信線である。通信線10で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、通信線10は、例えば有線LAN(Local Area Network)で構成された有線ネットワーク、IEEE802.11規格に準拠した無線ネットワーク、又は、ローカル接続するための有線ケーブル等で構築されている。
【0023】
スレーブ装置4とマスタ装置8とは、ネットワーク12を介して接続されている。ネットワーク12で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、ネットワーク12は、例えば有線LANで構築された有線ネットワーク、又は、IEEE802.11規格に準拠した無線ネットワーク等で構築されている。
【0024】
スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6及びマスタ装置8の各々と通信するためのサーバ装置である。より具体的には、スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6とマスタ装置8との間で、各種データを中継する中継装置である。本実施の形態では、マスタ・スレーブ方式の通信プロトコルはOPCUA(OPC Unified Architecture)であり、スレーブ装置4はOPCUAサーバであるとして説明する。
【0025】
機械6は、例えばワークに対して所定の加工を施すための旋盤等のCNC(Computer Numerical Control)工作機械である。機械6は、ワークに対して加工工具を、第1の軸方向及び第2の軸方向に沿ってそれぞれ移動させるための第1の移動軸及び第2の移動軸等を有している。
【0026】
また、機械6は、当該機械6に関するデータ(以下、「機械データ」ともいう)を、通信線10を介してスレーブ装置4に送信する。機械6に関するデータは、例えば、機械6の製造元を示すデータ値「ABC(株式会社)」、機械6のシリアルナンバーを示すデータ値「0001」、機械6の第1の移動軸の軸位置を示すデータ値「0100(mm)」、及び、第2の移動軸の軸位置を示すデータ値「0200(mm)」等を含む。
【0027】
さらに、機械6は、当該機械6の構成を示す機械構成情報を、通信線10を介してスレーブ装置4に送信する。機械構成情報は、例えば、機械6の製造元を示す「Manufacture」、機械6のシリアルナンバーを示す「Serial Number」、機械6の第1の移動軸を示す「Spindle 1」、及び、機械6の第2の移動軸を示す「Spindle 2」等を含む。機械構成情報は、スレーブ装置4によりアドレス空間(後述する)が構築される際に用いられる。
【0028】
マスタ装置8は、上述したマスタ・スレーブ方式の通信プロトコルに従って、スレーブ装置4と通信するためのクライアント装置であり、例えばユーザ14により操作されるパーソナルコンピュータ等の各種端末装置である。マスタ装置8は、ネットワーク12を介して、スレーブ装置4からの各種データを受信し、受信した各種データをユーザ14に提示する。なお、マスタ装置8は、ユーザ14に限定されることなく、例えば通信システム2の管理者等により操作されてもよい。より具体的には、通信システム2の管理者が、例えば工場の外から外部ネットワークを利用して、工場内のマスタ装置8を遠隔操作してもよい。
【0029】
[1-2.スレーブ装置の機能構成]
図2~
図4を参照しながら、実施の形態1に係るスレーブ装置4の機能構成について説明する。
図2は、実施の形態1に係るスレーブ装置4の機能構成を示すブロック図である。
図3は、実施の形態1に係るアドレス空間24の一例を示す図である。
図4は、実施の形態1に係る最小アドレス空間28の一例を示す図である。
【0030】
図2に示すように、スレーブ装置4は、第1の通信部16と、制御部18と、記憶部20と、第2の通信部22とを備えている。
【0031】
第1の通信部16は、スレーブ装置4の起動後に、アドレス空間24(後述する)を構築するための機械構成情報を、通信線10(
図1参照)を介して機械6から取得する。第1の通信部16は、取得した機械構成情報を制御部18に出力する。
【0032】
また、第1の通信部16は、制御部18によりアドレス空間24が構築された後に、機械データ26(後述する)を、通信線10を介して機械6から取得する。第1の通信部16は、取得した機械データ26を制御部18に出力する。
【0033】
制御部18は、第1の通信部16が機械6と通信可能な場合には、第1の通信部16により取得された機械構成情報に基づいて、
図3に示すようなアドレス空間24を構築する。制御部18は、構築したアドレス空間24を記憶部20に格納する。
【0034】
アドレス空間24は、機械データ26とのリンク関係を示す情報であり、第1のリンク情報の一例である。
図3に示すように、アドレス空間24は、例えば、「Machine Tools」の下位の階層に、機械6に関するデータアイテム群を有するツリー状の階層構造である。
【0035】
データアイテム群は、機械6であることを示すデータアイテム「Machine」の下位の階層に、機械6の識別情報を示すデータアイテム「Identification」等を有している。さらに、データアイテム群は、データアイテム「Identification」の下位の階層に、機械6の製造元を示すデータアイテム「Manufacture」、機械6のシリアルナンバーを示すデータアイテム「Serial Number」、機械6の第1の移動軸の軸位置を示すデータアイテム「Spindle 1」、及び、機械6の第2の移動軸の軸位置を示すデータアイテム「Spindle 2」等を有している。ここで、アドレス空間24の各データアイテムはそれぞれ、機械構成情報に基づいて構築される。
【0036】
また、制御部18は、第1の通信部16により取得された機械データ26を記憶部20に格納する。
図3に示すように、機械データ26は、例えば、機械6の製造元を示すデータ値「ABC(株式会社)」、機械6のシリアルナンバーを示すデータ値「0001」、機械6の第1の移動軸の軸位置を示すデータ値「0100(mm)」、及び、機械6の第2の移動軸の軸位置を示すデータ値「0200(mm)」等を含む。ここで、機械データ26の各データ値「ABC」、「0001」、「0100」及び「0200」はそれぞれ、アドレス空間24の各データアイテム「Manufacture」、「Serial Number」、「Spindle 1」及び「Spindle 2」とリンクされている。
【0037】
また、制御部18は、第1の通信部16が機械6と通信不能な場合には、第1の通信部16により機械構成情報を取得することができないため、上述したアドレス空間24を構築することができない。そのため、制御部18は、第1の通信部16が機械6と通信不能な場合には、
図4に示すような最小アドレス空間28を構築する。制御部18は、構築した最小アドレス空間28を記憶部20に格納する。
【0038】
最小アドレス空間28は、予め定められたデータである固定データ30とのリンク関係を示す情報であり、第2のリンク情報の一例である。
図4に示すように、最小アドレス空間28は、データアイテム群として、データアイテム「Identification」の下位の階層に、機械6の製造元を示すデータアイテム「Manufacture」、及び、機械6のシリアルナンバーを示すデータアイテム「Serial Number」を有している。ここで、最小アドレス空間28の各データアイテム「Manufacture」及び「Serial Number」はそれぞれ、固定データ30の各データ値「ABC」及び「0001」とリンクされている。なお、最小アドレス空間28の各データアイテム「Manufacture」及び「Serial Number」は、第1の通信部16が機械6と通信を行わなくても、リンクするデータ値を固定で決めることのできる最小構成情報である。
【0039】
また、固定データ30は、第1の通信部16が機械6と通信を行わなくても、固定で決めることのできるデータ値、例えば、機械6の製造元を示すデータ値「ABC(株式会社)」、及び、機械6のシリアルナンバーを示すデータ値「0001」を含む。制御部18は、スレーブ装置4と機械6との間で初めて通信を行う前に、例えば機械6の製造元を示すデータ値「ABC(株式会社)」、及び、機械6のシリアルナンバーを示すデータ値「0001」を、予め固定データ30として記憶部20に登録しておく。そして、制御部18は、最小アドレス空間28を構築した際に、記憶部20から固定データ30を読み出し、読み出した固定データ30の各データ値「ABC」及び「0001」をそれぞれ、最小アドレス空間28の各データアイテム「Manufacture」及び「Serial Number」とリンクさせる。
【0040】
図2に戻り、第2の通信部22は、ネットワーク12(
図1参照)を介して、マスタ装置8との間で各種データを送受信する。具体的には、第2の通信部22は、第1の通信部16が機械6と通信可能な場合には、マスタ装置8からの要求に応じて、記憶部20からアドレス空間24及び機械データ26を読み出し、アドレス空間24の各データアイテムとそれぞれリンクされた機械データ26の各データ値をマスタ装置8に送信する。また、第2の通信部22は、第1の通信部16が機械6と通信不能な場合には、マスタ装置8からの要求に応じて、記憶部20から最小アドレス空間28及び固定データ30を読み出し、最小アドレス空間28の各データアイテムとそれぞれリンクされた固定データ30の各データ値をマスタ装置8に送信する。
【0041】
[1-3.スレーブ装置の動作]
図5を参照しながら、実施の形態1に係るスレーブ装置4の動作について説明する。
図5は、実施の形態1に係るスレーブ装置4の動作の流れを示すフローチャートである。
【0042】
図5に示すように、まず、スレーブ装置4が起動される(S101)。次いで、制御部18は、第1の通信部16と機械6との通信が可能か否かを判定する(S102)。
【0043】
第1の通信部16が機械6と通信可能な場合には(S102でYES)、第1の通信部16は、機械構成情報を、通信線10を介して機械6から取得する(S103)。第1の通信部16は、取得した機械構成情報を制御部18に出力する。
【0044】
次いで、制御部18は、第1の通信部16により取得された機械構成情報に基づいて、アドレス空間24を構築する(S104)。制御部18は、構築したアドレス空間24を記憶部20に格納する。次いで、第2の通信部22は、マスタ装置8との接続を待機する(S105)。その後、第1の通信部16は、機械データ26を、通信線10を介して機械6から取得し、制御部18は、第1の通信部16により取得された機械データ26を記憶部20に格納する。この時、制御部18は、機械データ26の各データ値をそれぞれ、アドレス空間24の各データアイテムとリンクさせる。
【0045】
この場合、第2の通信部22とマスタ装置8との接続が確立された際に、第2の通信部22は、マスタ装置8からの要求に応じて、記憶部20からアドレス空間24及び機械データ26を読み出し、アドレス空間24の各データアイテムとそれぞれリンクされた機械データ26の各データ値をマスタ装置8に送信する。
【0046】
ステップS102に戻り、第1の通信部16が機械6と通信不能な場合には(S102でNO)、第1の通信部16は、機械構成情報を、通信線10を介して機械6から取得することができない。この場合、制御部18は、最小アドレス空間28を構築する(S106)。制御部18は、構築した最小アドレス空間28を記憶部20に格納する。
【0047】
次いで、第2の通信部22は、マスタ装置8との接続を待機する(S105)。この場合、第2の通信部22とマスタ装置8との接続が確立された際に、第2の通信部22は、マスタ装置8からの要求に応じて、記憶部20から最小アドレス空間28及び固定データ30を読み出し、最小アドレス空間28の各データアイテムとそれぞれリンクされた固定データ30の各データ値をマスタ装置8に送信する。
【0048】
[1-4.効果]
上述したように、第1の通信部16が機械6と通信可能な場合には、制御部18は、第1の通信部16により取得された機械構成情報に基づいて、アドレス空間24を構築する。そして、第2の通信部22は、マスタ装置8からの要求に応じて、アドレス空間24の各データアイテムとそれぞれリンクされた機械データ26の各データ値をマスタ装置8に送信する。これにより、マスタ装置8は、機械データ26の各データ値を正常に受信することができるので、マスタ装置8-スレーブ装置4間、及び、スレーブ装置4-機械6間でそれぞれ通信が正常に行われていると判定することができる。
【0049】
一方、第1の通信部16が機械6と通信不能な場合には、制御部18は、最小アドレス空間28を構築する。そして、第2の通信部22は、マスタ装置8からの要求に応じて、最小アドレス空間28の各データアイテムとそれぞれリンクされた固定データ30の各データ値をマスタ装置8に送信する。これにより、マスタ装置8は、機械データ26の各データ値よりも少ない数の固定データ30の各データ値を受信することにより、スレーブ装置4-機械6間で通信不能になっていると判定することができる。
【0050】
さらに、マスタ装置8は、スレーブ装置4に対してデータ値の送信を要求したのにもかかわらず、スレーブ装置4から何らのデータ値も受信できない場合には、マスタ装置8-スレーブ装置4間で通信不能になっていると判定することができる。
【0051】
以上のように、本実施の形態では、マスタ装置8-スレーブ装置4間、及び、スレーブ装置4-機械6間のいずれで通信不能となっているかについて、通信のトラブルシューティングに活用することができる。
【0052】
(実施の形態2)
[2-1.スレーブ装置の機能構成]
図6を参照しながら、実施の形態2に係るスレーブ装置4Aの機能構成について説明する。
図6は、実施の形態2に係るスレーブ装置4Aの機能構成を示すブロック図である。なお、以下に示す各実施の形態において、上記実施の形態1と同一の構成要素には同一の符号を付して、その説明を省略する。
【0053】
図6に示すように、実施の形態2に係るスレーブ装置4Aでは、制御部18Aの処理が上記実施の形態1に係るスレーブ装置4の制御部18の処理と異なっている。具体的には、制御部18Aは、最初に機械6との通信ができずに最小アドレス空間28(
図4参照)を構築した後で機械6と通信可能となり、且つ、第1の通信部16により機械構成情報が取得された場合であって、当該機械構成情報と最小アドレス空間28とが対応しない場合には、最小アドレス空間28を破棄して、アドレス空間24(
図3参照)を再構築する。最小アドレス空間28の破棄は、例えばスレーブ装置4AにおいてOPCUA規格に準拠するサービス(例えば、データへのアクセス、アラーム及びイベントの監視等)を再起動することにより実行される。
【0054】
[2-2.スレーブ装置及び機械の各動作]
図7を参照しながら、実施の形態2に係るスレーブ装置4A及び機械6の各動作について説明する。
図7は、実施の形態2に係るスレーブ装置4A及び機械6の各動作の流れを示すシーケンス図である。
【0055】
以下、スレーブ装置4Aの起動時には、機械6は起動されておらず、スレーブ装置4Aの起動時から所定時間が経過した際に、機械6が起動される場合について説明する。
【0056】
図7に示すように、まず、スレーブ装置4Aの第1の通信部16は、起動していない状態の機械6に対して、機械構成情報の送信を要求するためのリクエスト信号を送信する(S201)。この時、機械6が起動されておらず、第1の通信部16は、機械6と通信不能となっているため、機械6から何らの応答も得られない。このように第1の通信部16が機械6と通信不能である場合、制御部18Aは、最小アドレス空間28を構築する(S202)。なお、実施の形態2に係るスレーブ装置4Aでは、第1の通信部16が機械6から何らの応答も得られない場合であっても、スレーブ装置4Aの起動状態が維持される。
【0057】
次いで、スレーブ装置4Aの第1の通信部16は、機械6からの応答があるまで、機械6に対して、機械構成情報の送信を要求するためのリクエスト信号を繰り返し送信する(S203,S204)。
【0058】
その後、機械6が起動することにより(S205)、スレーブ装置4Aの第1の通信部16は、起動した状態の機械6と通信可能となる。第1の通信部16は、機械6に対して、機械構成情報の送信を要求するためのリクエスト信号を送信し(S206)、機械6から応答された機械構成情報を取得する(S207)。
【0059】
スレーブ装置4Aの制御部18Aは、第1の通信部16により取得された機械構成情報と最小アドレス空間28とを比較する。例えば、
図4に示す最小アドレス空間28の各データアイテムには、取得された機械構成情報に含まれる、機械6の第1の移動軸を示す「Spindle 1」、及び、機械6の第2の移動軸を示す「Spindle 2」が存在しない。この場合、制御部18Aは、第1の通信部16により取得された機械構成情報と最小アドレス空間28とが対応しないことを検出する(S208)。そして、制御部18Aは、スレーブ装置4Aを再起動(サービスの再起動)することにより(S209)、最小アドレス空間28を破棄する。
【0060】
次いで、スレーブ装置4Aの第1の通信部16は、機械6に対して、機械構成情報の送信を要求するためのリクエスト信号を再び送信し(S210)、機械6から応答された機械構成情報を取得する(S211)。制御部18Aは、第1の通信部16により取得された機械構成情報に基づいて、アドレス空間24を構築する(S212)。
【0061】
次いで、スレーブ装置4Aの第1の通信部16は、機械6に対して、機械データ26(
図3参照)の送信を要求するためのリクエスト信号を送信し(S213)、機械6から応答された機械データ26を取得する(S214)。制御部18Aは、第1の通信部16により取得された機械データ26を記憶部20に格納する。この時、制御部18Aは、機械データ26の各データ値をそれぞれ、アドレス空間24の各データアイテムとリンクさせる。
【0062】
[2-3.効果]
上述したように、制御部18Aが最小アドレス空間28を構築した後に、機械6が起動した場合には、制御部18Aは、第1の通信部16により取得された機械構成情報と最小アドレス空間28とが対応しないことを検出する。この時、制御部18Aは、自動的にスレーブ装置4Aを再起動(サービスの再起動)することにより、最小アドレス空間28を破棄する。これにより、制御部18Aは、その後に第1の通信部16により取得された機械構成情報に基づいて、アドレス空間24を構築することができる。
【0063】
なお、実施の形態2では、スレーブ装置4Aの起動時には、機械6が起動されていないことで、スレーブ装置4Aが機械6と通信不能となる例で説明したが、これに限定されず、通信線10(
図1参照)が一時的に通信不能となる状態(例えば、有線ケーブルが接続用コネクタから抜けている状態等)から復旧した場合でも適用可能である。
【0064】
(実施の形態3)
[3-1.スレーブ装置の機能構成]
図8及び
図9を参照しながら、実施の形態3に係るスレーブ装置4Bの機能構成について説明する。
図8は、実施の形態3に係るスレーブ装置4Bの機能構成を示すブロック図である。
図9は、実施の形態3に係るアドレス空間32の一例を示す図である。
【0065】
図8に示すように、実施の形態3に係るスレーブ装置4Bでは、第1の通信部16は、通信線10(
図1参照)を介した接続先が機械6aと機械6bとの間で切り替えられることにより、機械6a及び機械6bのいずれか一方と通信することができる。機械6aの構成は、上記実施の形態1で説明した機械6の構成と同一であるので、その説明を省略する。
【0066】
機械6bは、ワークに対して加工工具を、第1の軸方向、第2の軸方向及び第3の軸方向に沿ってそれぞれ移動させるための第1の移動軸、第2の移動軸及び第3の移動軸等を有している。
【0067】
また、機械6bは、機械データ34を、通信線10を介してスレーブ装置4Bに送信する。
図9に示すように、機械6bから送信される機械データ34は、例えば、機械6bの製造元を示すデータ値「ABC(株式会社)」、機械6bのシリアルナンバーを示すデータ値「0002」、機械6bの第1の移動軸の軸位置を示すデータ値「0150(mm)」、第2の移動軸の軸位置を示すデータ値「0250(mm)」、第3の移動軸の軸位置を示すデータ値「0100(mm)」等を含む。
【0068】
さらに、機械6bは、当該機械6bの構成を示す機械構成情報を、通信線10を介してスレーブ装置4Bに送信する。機械構成情報は、例えば、機械6bの製造元を示す「Manufacture」、機械6bのシリアルナンバーを示す「Serial Number」、機械6bの第1の移動軸を示す「Spindle 1」、機械6bの第2の移動軸を示す「Spindle 2」、機械6bの第3の移動軸を示す「Spindle 3」等を含む。機械構成情報は、スレーブ装置4Bによりアドレス空間32(後述する)が構築される際に用いられる。
【0069】
また、実施の形態3に係るスレーブ装置4Bでは、制御部18Bの処理が上記実施の形態1及び実施の形態2のそれぞれの制御部18及び制御部18Aの各処理と異なっている。具体的には、制御部18Bは、第1の通信部16により取得された機械6aからの機械構成情報に基づいてアドレス空間24(
図3参照)を構築した後に、通信線10の接続先が機械6aから機械6bに切り替えられ、第1の通信部16により機械6bからの機械データ34が取得された場合であって、取得された機械データ34とアドレス空間24とがリンクしない場合には、アドレス空間24を破棄する。アドレス空間24の破棄は、例えばスレーブ装置4Bを再起動(サービスの再起動)することにより実行可能である。
【0070】
なお、制御部18Bは、第1の通信部16が機械6bと通信可能な場合には、第1の通信部16により取得された機械6bからの機械構成情報に基づいて、
図9に示すようなアドレス空間32を構築する。アドレス空間32は、機械データ34とのリンク関係を示す情報であり、第1のリンク情報の一例である。
図9に示すように、アドレス空間32は、例えば、「Machine Tools」の階層の下位の階層に、機械6bに関するデータアイテム群を有するツリー状の階層構造である。
【0071】
データアイテム群は、機械6bであることを示すデータアイテム「Machine」の下位の階層に、機械6bの識別情報を示すデータアイテム「Identification」等を有している。さらに、データアイテム群は、データアイテム「Identification」の下位の階層に、機械6bの製造元を示すデータアイテム「Manufacture」、機械6bのシリアルナンバーを示すデータアイテム「Serial Number」、機械6bの第1の移動軸の軸位置を示すデータアイテム「Spindle 1」、機械6bの第2の移動軸の軸位置を示すデータアイテム「Spindle 2」、及び、機械6bの第3の移動軸の軸位置を示すデータアイテム「Spindle 3」等を有している。ここで、アドレス空間32の各データアイテムはそれぞれ、機械構成情報に基づいて構築される。
【0072】
また、機械データ34の各データ値「ABC」、「0002」、「0150」、「0250」及び「0100」はそれぞれ、アドレス空間32の各データアイテム「Manufacture」、「Serial Number」、「Spindle 1」、「Spindle 2」及び「Spindle 3」とリンクされている。
【0073】
[3-2.スレーブ装置及び機械の各動作]
図10を参照しながら、実施の形態3に係るスレーブ装置4B、機械6a及び機械6bの各動作について説明する。
図10は、実施の形態3に係るスレーブ装置4B、機械6a及び機械6bの各動作の流れを示すシーケンス図である。
【0074】
以下、スレーブ装置4Bの起動時には、第1の通信部16と機械6aとが通信線10を介して接続されており、その後、第1の通信部16の接続先が機械6aから機械6bに切り替えられる場合について説明する。なお、実施の形態3では、マスタ装置8(ユーザ14により操作される)からスレーブ装置4Bを介して、機械6a及び機械6bに対して、機械データ26(
図3参照)の送信を要求されたとする。
【0075】
図10に示すように、まず、スレーブ装置4Bの第1の通信部16は、機械6aに対して、機械構成情報の送信を要求するためのリクエスト信号を送信し(S301)、機械6aから応答された機械構成情報を取得する(S302)。制御部18Bは、第1の通信部16により取得された機械構成情報に基づいて、アドレス空間24(
図3参照)を構築する(S303)。
【0076】
次いで、スレーブ装置4Bの第1の通信部16は、機械6aに対して、機械データ26(
図3参照)の送信を要求するためのリクエスト信号を送信し(S304)、機械6aから応答された機械データ26を取得する(S305)。制御部18Bは、第1の通信部16により取得された機械データ26を記憶部20に格納する。この時、制御部18Bは、機械データ26の各データ値をそれぞれ、アドレス空間24の各データアイテムとリンクさせる。
【0077】
次いで、第1の通信部16と機械6aとの接続が切断され(S306)、第1の通信部16と機械6bとの接続が開始される(S307)。すなわち、第1の通信部16の接続先が機械6aから機械6bに切り替えられる。ここで、当該切り替えは、第1の通信部16と機械6aとの接続を切断後(S306)、制御部18Bにより、スレーブ装置4Bから機械6bに対する機械データ26(
図3参照)の送信の要求に基づいて、自律的に行われる。
【0078】
次いで、スレーブ装置4Bの第1の通信部16は、機械6bに対して、機械データ34の送信を要求するためのリクエスト信号を送信し(S308)、機械6bから応答された機械データ34を取得する(S309)。制御部18Bは、第1の通信部16により取得された機械データ34を記憶部20に格納する。
【0079】
この時、制御部18Bは、機械データ34の各データ値をそれぞれ、アドレス空間24の各データアイテムとリンクさせようとする。しかしながら、機械データ34に含まれる、機械6bの第3の移動軸の軸位置を示すデータ値「0100(mm)」は、アドレス空間24の各データアイテム「Spindle 1」及び「Spindle 2」のいずれともリンクしない。そのため、制御部18Bは、機械データ34とアドレス空間24とがリンクしないことを検出する(S310)。そして、制御部18Bは、自動的にスレーブ装置4Bを再起動(サービスの再起動)することにより(S311)、アドレス空間24を破棄する。
【0080】
次いで、スレーブ装置4Bの第1の通信部16は、機械6bに対して、機械構成情報の送信を要求するためのリクエスト信号を送信し(S312)、機械6bから応答された機械構成情報を取得する(S313)。制御部18Bは、第1の通信部16により取得された機械構成情報に基づいて、アドレス空間32を構築する(S314)。
【0081】
次いで、スレーブ装置4Bの第1の通信部16は、機械6bに対して、機械データ34の送信を要求するためのリクエスト信号を送信し(S315)、機械6bから応答された機械データ34を取得する(S316)。制御部18Bは、第1の通信部16により取得された機械データ34を記憶部20に格納する。この時、制御部18Bは、機械データ34の各データ値をそれぞれ、アドレス空間32の各データアイテムとリンクさせる。
【0082】
[3-3.効果]
上述したように、制御部18Bは、第1の通信部16により取得された機械6aからの機械構成情報に基づいてアドレス空間24を構築した後に、第1の通信部16の接続先が機械6aから機械6bに切り替えられ、第1の通信部16により機械6bからの機械データ34が取得された場合であって、取得された機械データ34とアドレス空間24とがリンクしない場合には、スレーブ装置4Bが自動的に再起動(サービスの再起動)することにより、アドレス空間24を破棄する。
【0083】
これにより、制御部18Bは、その後に第1の通信部16により取得された機械6bからの機械構成情報に基づいて、アドレス空間32を構築することができる。機械データ34の各データ値をそれぞれ、アドレス空間32の各データアイテムとリンクさせることにより、マスタ装置8は、切り替えられた機械6bに関する機械データ34を受信することができる。
【0084】
(他の変形例等)
以上、本発明のスレーブ装置について、上記各実施の形態に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。上記各実施の形態に対して当業者が思い付く変形を施して得られる形態、及び、上記各実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【0085】
上記各実施の形態では、マスタ・スレーブ方式の通信プロトコルをOPCUAとしたが、これに限定されず、例えばMTConnect等の任意のマスタ・スレーブ方式の通信プロトコルとしてもよい。マスタ・スレーブ方式の通信プロトコルをMTConnectとした場合、第1のリンク情報は、デバイス情報となる。この場合、第2のリンク情報は、データの受信状態を示す「n.avail-」を有し、第2のリンク情報の「n.avail-」とリンクされる固定データは、機械6(6a,6b)と通信不能であることを示す「UNAVAILABLE」となる。
【0086】
上記各実施の形態では、機械6(6a,6b)を工作機械としたが、これに限定されず、例えば産業ロボット又は測定機械等の各種産業機械としてもよい。
【0087】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【産業上の利用可能性】
【0088】
本発明は、例えばマスタ・スレーブ方式の通信プロトコルに従って、機械及びマスタ装置の各々と通信するスレーブ装置等に適用することができる。
【符号の説明】
【0089】
2 通信システム
4,4A,4B スレーブ装置
6,6a,6b 機械
8 マスタ装置
10 通信線
12 ネットワーク
14 ユーザ
16 第1の通信部
18,18A,18B 制御部
20 記憶部
22 第2の通信部
24,32 アドレス空間
26,34 機械データ
28 最小アドレス空間
30 固定データ