IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サイレックス・テクノロジー株式会社の特許一覧

特開2023-173166スレーブ装置、スレーブ装置の制御方法及びプログラム
<>
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図1
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図2
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図3
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図4
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図5
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図6
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図7
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図8
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図9
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図10
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図11
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図12
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図13
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図14
  • 特開-スレーブ装置、スレーブ装置の制御方法及びプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173166
(43)【公開日】2023-12-07
(54)【発明の名称】スレーブ装置、スレーブ装置の制御方法及びプログラム
(51)【国際特許分類】
   G06F 13/14 20060101AFI20231130BHJP
   G06F 16/182 20190101ALI20231130BHJP
【FI】
G06F13/14 320J
G06F16/182 100
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022085231
(22)【出願日】2022-05-25
(71)【出願人】
【識別番号】500112146
【氏名又は名称】サイレックス・テクノロジー株式会社
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】縣 俊成
(57)【要約】
【課題】機械から取得した特定のデータのデータ値をアドレスに適切に格納することができるスレーブ装置を提供する。
【解決手段】スレーブ装置4は、機械6に関する複数のデータを機械6から取得する取得部16と、複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、複数のデータ項目に対してそれぞれ割り当てられた複数のアドレスと、複数のアドレスにそれぞれ格納される複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示す対応情報24を記憶する記憶部20と、取得部16が特定のデータを取得した場合に、特定のデータのデータ項目が対応情報24における複数のデータ項目のうちいずれかと一致するか否かに応じて、複数のアドレスのうち特定のアドレスを特定のデータのデータ値の格納先として決定し、決定した特定のアドレスに特定のデータのデータ値を格納する制御部18とを備える。
【選択図】図5
【特許請求の範囲】
【請求項1】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置、及び、複数の部品を含む機械の各々と通信するスレーブ装置であって、
前記機械に関する複数のデータを前記機械から取得する取得部と、
前記複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、前記複数のデータ項目に対してそれぞれ割り当てられた複数のアドレスと、前記複数のアドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示す対応情報を記憶する記憶部と、
前記取得部が特定のデータを取得した場合に、前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のうちいずれかと一致するか否かに応じて、又は、前記特定のデータの取得順に基づいて、前記複数のアドレスのうち特定のアドレスを前記特定のデータのデータ値の格納先として決定し、決定した前記特定のアドレスに前記特定のデータのデータ値を格納する制御部と、を備え、
前記対応情報における前記複数のデータ項目はそれぞれ、前記複数の部品の各々の名称をそれぞれ示す複数の部品名、又は、前記取得部による前記複数のデータの取得順と対応付けられている
スレーブ装置。
【請求項2】
前記対応情報における前記複数のデータ項目はそれぞれ、前記複数の部品名と対応付けられており、
前記制御部は、
前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のうちいずれかと一致する場合には、当該一致するデータ項目に対応する前記特定のアドレスを前記特定のデータのデータ値の格納先として決定し、
前記複数の部品名の少なくとも1つが変更された場合であって、前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のいずれとも一致しない場合には、前記複数のデータ項目のうち変更後の前記複数の部品名のいずれとも対応付けられていない未使用の前記特定のアドレスを前記特定のデータのデータ値の格納先として決定する
請求項1に記載のスレーブ装置。
【請求項3】
前記対応情報における前記複数のデータ項目はそれぞれ、前記取得部による前記複数のデータの取得順と対応付けられており、
前記制御部は、前記取得部が前記特定のデータを含む前記複数のデータを順に取得した場合に、前記対応情報における前記複数のデータ項目のうち、前記特定のデータの取得順に対応するデータ項目に対応する前記特定のアドレスを前記特定のデータのデータ値の格納先として決定する
請求項1に記載のスレーブ装置。
【請求項4】
前記対応情報は、固定対応情報及び可変対応情報を含み、
前記固定対応情報は、前記データの固定項目を示すデータ固定項目と、前記データ固定項目に対して割り当てられた固定アドレスと、前記固定アドレスに格納される前記データの値を示すデータ値との対応関係を示し、
前記可変対応情報は、前記複数のデータの各々の可変項目をそれぞれ示す複数のデータ可変項目と、前記複数のデータ可変項目に対してそれぞれ割り当てられた複数の可変アドレスと、前記複数の可変アドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示し、
前記固定対応情報における前記データ値は、前記複数の可変アドレスのうち先頭の可変アドレスと一致し、
前記制御部は、前記取得部が前記特定のデータを含む前記複数のデータを順に取得した場合に、前記可変対応情報における前記複数のデータ可変項目のうち、前記特定のデータの取得順に対応するデータ可変項目に対応する前記可変アドレスを前記特定のデータのデータ値の格納先として割り当てる
請求項3に記載のスレーブ装置。
【請求項5】
前記通信プロトコルは、Modbus(登録商標) TCPである
請求項1~4のいずれか1項に記載のスレーブ装置。
【請求項6】
マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、
(a)前記機械に関する複数のデータを前記機械から取得するステップと、
(b)前記複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、前記複数のデータ項目に対してそれぞれ割り当てられた複数のアドレスと、前記複数のアドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示す対応情報を記憶部に記憶するステップと、
(c)前記(a)で特定のデータを取得した場合に、予め定められたルールに基づいて、前記複数のアドレスのうち特定のアドレスを前記特定のデータのデータ値の格納先として決定し、決定した前記特定のアドレスに前記特定のデータのデータ値を格納するステップと、を含む
スレーブ装置の制御方法。
【請求項7】
請求項6に記載のスレーブ装置の制御方法をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スレーブ装置、スレーブ装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
Modbus(登録商標) TCPは、Modicon社がプログラマブルロジックコントローラ(PLC)向けに策定したシリアル通信プロトコルを、TCP/IP上で用いるためのマスタ・スレーブ方式の通信プロトコルである。
【0003】
この種の通信プロトコルに従って、マスタ装置とスレーブ装置との間で機械に関するデータのやり取りを行う技術が知られている(例えば、特許文献1参照)。具体的には、スレーブ装置は、機械に関するデータを機械から取得し、取得したデータを記憶部に記憶する。マスタ装置は、スレーブ装置にリクエスト信号を送信し、スレーブ装置は、マスタ装置からのリクエスト信号に対するレスポンスとして、スレーブ装置の記憶部に格納されているデータをマスタ装置に送信する。これにより、マスタ装置は、スレーブ装置からのデータを、マスタ装置の記憶部に保持する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009-104283号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
マスタ装置とスレーブ装置との間でやり取りされる複数のデータには、例えば機械の複数の移動軸(X移動軸、Y移動軸及びZ移動軸)の各軸位置をそれぞれ示す複数の軸位置データが含まれる。この場合、マスタ装置とスレーブ装置との間で、複数の軸位置データをそれぞれ格納するための複数のアドレスを予め決めておく必要がある。
【0006】
しかしながら、マスタ装置とスレーブ装置との間でやり取りを開始した後、機械において複数の移動軸のいずれかの名称が変更された場合(例えば、Y移動軸の名称が「Y」から「T」に変更された場合)には、当該名称が変更された移動軸(例えば、T移動軸)の軸位置データを、スレーブ装置における複数のアドレスのいずれにも格納することができないという課題が生じる。
【0007】
本発明は、このような課題に鑑みてなされたものであり、その目的は、機械から取得した特定のデータのデータ値をアドレスに適切に格納することができるスレーブ装置、スレーブ装置の制御方法及びプログラムを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明の一態様に係るスレーブ装置は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置、及び、複数の部品を含む機械の各々と通信するスレーブ装置であって、前記機械に関する複数のデータを前記機械から取得する取得部と、前記複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、前記複数のデータ項目に対してそれぞれ割り当てられた複数のアドレスと、前記複数のアドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示す対応情報を記憶する記憶部と、前記取得部が特定のデータを取得した場合に、前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のうちいずれかと一致するか否かに応じて、又は、前記特定のデータの取得順に基づいて、前記複数のアドレスのうち特定のアドレスを前記特定のデータのデータ値の格納先として決定し、決定した前記特定のアドレスに前記特定のデータのデータ値を格納する制御部と、を備え、前記対応情報における前記複数のデータ項目はそれぞれ、前記複数の部品の各々の名称をそれぞれ示す複数の部品名、又は、前記取得部による前記複数のデータの取得順と対応付けられている。
【0009】
本態様によれば、制御部は、特定のデータのデータ項目が対応情報における複数のデータ項目のうちいずれかと一致するか否かに応じて、又は、特定のデータの取得順に基づいて、複数のアドレスのうち特定のアドレスを、取得部により取得された特定のデータのデータ値の格納先として決定し、決定した特定のアドレスに特定のデータのデータ値を格納する。その結果、例えば機械の部品名が変更された場合であっても、機械から取得した特定のデータのデータ値を特定のアドレスに適切に格納することができる。
【0010】
例えば、前記対応情報における前記複数のデータ項目はそれぞれ、前記複数の部品名と対応付けられており、前記制御部は、前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のうちいずれかと一致する場合には、当該一致するデータ項目に対応する前記特定のアドレスを前記特定のデータのデータ値の格納先として決定し、前記複数の部品名の少なくとも1つが変更された場合であって、前記特定のデータのデータ項目が前記対応情報における前記複数のデータ項目のいずれとも一致しない場合には、前記複数のデータ項目のうち変更後の前記複数の部品名のいずれとも対応付けられていない未使用の前記特定のアドレスを前記特定のデータのデータ値の格納先として決定するように構成してもよい。
【0011】
本態様によれば、例えば機械の部品名が変更された場合であっても、機械から取得した特定のデータのデータ値を特定のアドレスに適切に格納することができる。
【0012】
例えば、前記対応情報における前記複数のデータ項目はそれぞれ、前記取得部による前記複数のデータの取得順と対応付けられており、前記制御部は、前記取得部が前記特定のデータを含む前記複数のデータを順に取得した場合に、前記対応情報における前記複数のデータ項目のうち、前記特定のデータの取得順に対応するデータ項目に対応する前記特定のアドレスを前記特定のデータのデータ値の格納先として決定するように構成してもよい。
【0013】
本態様によれば、例えば機械の部品名が変更された場合であっても、機械から取得した特定のデータのデータ値を特定のアドレスに適切に格納することができる。
【0014】
例えば、前記対応情報は、固定対応情報及び可変対応情報を含み、前記固定対応情報は、前記データの固定項目を示すデータ固定項目と、前記データ固定項目に対して割り当てられた固定アドレスと、前記固定アドレスに格納される前記データの値を示すデータ値との対応関係を示し、前記可変対応情報は、前記複数のデータの各々の可変項目をそれぞれ示す複数のデータ可変項目と、前記複数のデータ可変項目に対してそれぞれ割り当てられた複数の可変アドレスと、前記複数の可変アドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示し、前記固定対応情報における前記データ値は、前記複数の可変アドレスのうち先頭の可変アドレスと一致し、前記制御部は、前記取得部が前記特定のデータを含む前記複数のデータを順に取得した場合に、前記可変対応情報における前記複数のデータ可変項目のうち、前記特定のデータの取得順に対応するデータ可変項目に対応する前記可変アドレスを前記特定のデータのデータ値の格納先として割り当てるように構成してもよい。
【0015】
本態様によれば、例えば機械の部品名が増減された場合であっても、機械から取得した特定のデータのデータ値を特定のアドレス(可変アドレス)に適切に格納することができる。
【0016】
例えば、前記通信プロトコルは、Modbus(登録商標) TCPであるように構成してもよい。
【0017】
本態様によれば、マスタ・スレーブ方式の通信プロトコルとして、Modbus TCPを適用することができる。
【0018】
また、本発明の一態様に係るスレーブ装置の制御方法は、マスタ・スレーブ方式の通信プロトコルに従って、マスタ装置及び機械の各々と通信するスレーブ装置の制御方法であって、(a)前記機械に関する複数のデータを前記機械から取得するステップと、(b)前記複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、前記複数のデータ項目に対してそれぞれ割り当てられた複数のアドレスと、前記複数のアドレスにそれぞれ格納される前記複数のデータの各々の値をそれぞれ示す複数のデータ値との対応関係を示す対応情報を記憶部に記憶するステップと、(c)前記(a)で特定のデータを取得した場合に、予め定められたルールに基づいて、前記複数のアドレスのうち特定のアドレスを前記特定のデータのデータ値の格納先として決定し、決定した前記特定のアドレスに前記特定のデータのデータ値を格納するステップと、を含む。
【0019】
本態様によれば、予め定められたルールに基づいて、複数のアドレスのうち特定のアドレスを、取得された特定のデータのデータ値の格納先として決定し、決定した特定のアドレスに特定のデータのデータ値を格納する。その結果、例えば機械の部品名が変更された場合であっても、機械から取得した特定のデータのデータ値を特定のアドレスに適切に格納することができる。
【0020】
また、本発明の一態様に係るプログラムは、上述したスレーブ装置の制御方法をコンピュータに実行させる。
【発明の効果】
【0021】
本発明の一態様に係るスレーブ装置等によれば、機械から取得した特定のデータのデータ値をアドレスに適切に格納することができる。
【図面の簡単な説明】
【0022】
図1】実施の形態1に係る通信システムの概要を示すブロック図である。
図2】実施の形態1に係るスレーブ装置の機能構成を示すブロック図である。
図3】実施の形態1に係る対応情報の一例を示す図である。
図4】実施の形態1に係るスレーブ装置の動作の流れを示すフローチャートである。
図5】実施の形態1に係るスレーブ装置の動作を説明するための図である。
図6】実施の形態2に係るスレーブ装置の機能構成を示すブロック図である。
図7】実施の形態2に係る対応情報の一例を示す図である。
図8】実施の形態2に係るスレーブ装置の動作の流れを示すフローチャートである。
図9】実施の形態2に係るスレーブ装置の動作の流れを示すフローチャートである。
図10】実施の形態2に係るスレーブ装置の動作を説明するための図である。
図11】実施の形態3に係るスレーブ装置の機能構成を示すブロック図である。
図12】実施の形態3に係る固定対応情報及び可変対応情報の一例を示す図である。
図13】実施の形態3に係るスレーブ装置の動作の流れを示すフローチャートである。
図14】実施の形態3に係るスレーブ装置の動作の流れを示すフローチャートである。
図15】実施の形態3に係るスレーブ装置の動作を説明するための図である。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0024】
(実施の形態1)
[1-1.通信システムの概要]
まず、図1を参照しながら、実施の形態1に係る通信システム2の概要について説明する。図1は、実施の形態1に係る通信システム2の概要を示すブロック図である。
【0025】
図1に示すように、通信システム2は、スレーブ装置4と、機械6と、マスタ装置8とを備えている。本実施の形態では、通信システム2は、例えば工場内に構築された通信システムである。
【0026】
なお、本実施の形態では、通信システム2は1つの機械6を備えているが、これに限定されず、複数の機械6を備えていてもよい。また、本実施の形態では、通信システム2は1つのマスタ装置8を備えているが、これに限定されず、複数のマスタ装置8を備えていてもよい。
【0027】
スレーブ装置4と機械6とは、通信線10を介して接続されている。通信線10は、例えばEthernet(登録商標)、IP(Internet Protocol)、又は、RS-232C(シリアル通信)等の通信プロトコルで通信可能な通信線である。通信線10で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、通信線10は、例えば有線LAN(Local Area Network)で構成された有線ネットワーク、IEEE802.11規格に準拠した無線ネットワーク、又は、ローカル接続するための有線ケーブル等で構築されている。
【0028】
スレーブ装置4とマスタ装置8とは、ネットワーク12を介して接続されている。ネットワーク12で実現される通信は、有線通信であってもよいし、無線通信であってもよい。具体的には、ネットワーク12は、例えば有線LANで構築された有線ネットワーク、又は、IEEE802.11規格に準拠した無線ネットワークで構築されている。
【0029】
スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6及びマスタ装置8の各々と通信するためのサーバ装置である。より具体的には、スレーブ装置4は、マスタ・スレーブ方式の通信プロトコルに従って、機械6とマスタ装置8との間で、各種データを中継する中継装置である。マスタ・スレーブ方式の通信プロトコルは、例えばModbus TCPである。
【0030】
機械6は、例えばワークに対して所定の加工を施すための旋盤等の工作機械である。機械6は、ワークに対して加工工具を、X軸方向、Y軸方向及びZ軸方向に沿ってそれぞれ移動させるためのX移動軸、Y移動軸及びZ移動軸(複数の部品の一例)を有している。機械6に搭載されたメモリには、X移動軸、Y移動軸及びZ移動軸の各々の名称である軸名としてそれぞれ、「X」、「Y」及び「Z」(部品名の一例)が予め登録されている。なお、機械6を操作する作業者等(図示せず)は、X移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」を、スレーブ装置4と別個にそれぞれ任意の軸名に変更することができる。
【0031】
また、機械6は、加工工具のX軸方向、Y軸方向及びZ軸方向における位置をそれぞれ示すX軸位置、Y軸位置及びZ軸位置を検出するためのセンサを有している。機械6は、センサの検出結果に基づいて、X軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータ(機械6に関する複数のデータの一例)を、通信線10を介してスレーブ装置4に送信する。
【0032】
なお、X軸位置を示すデータは、当該データの項目を示すデータ項目(例えば、「軸位置(X)」)、及び、当該データの値を示すデータ値(例えば、「100(mm)」)を含む。Y軸位置を示すデータは、当該データの項目を示すデータ項目(例えば、「軸位置(Y)」)、及び、当該データの値を示すデータ値(例えば、「200(mm)」)を含む。Z軸位置を示すデータは、当該データの項目を示すデータ項目(例えば、「軸位置(Z)」)、及び、当該データの値を示すデータ値(例えば、「300(mm)」)を含む。
【0033】
また、機械6は、X移動軸、Y移動軸及びZ移動軸のそれぞれの軸名「X」、「Y」及び「Z」を示すデータを、通信線10を介してスレーブ装置4に送信する。なお、軸名「X」、「Y」及び「Z」を示すデータは、当該データの項目を示すデータ項目(例えば、「軸名」)、及び、当該データの値を示すデータ値(例えば、「XYZ」とする)を含む。
【0034】
マスタ装置8は、上述したマスタ・スレーブ方式の通信プロトコルに従って、スレーブ装置4と通信するためのクライアント装置であり、例えばユーザ14により操作されるパーソナルコンピュータ等の各種端末装置である。マスタ装置8は、ネットワーク12を介して、スレーブ装置4からのデータを取得し、取得したデータをユーザ14に提示する。なお、マスタ装置8は、ユーザ14に限定されることなく、例えば通信システム2の管理者等により操作されてもよい。より具体的には、通信システム2の管理者が、例えば工場の外から外部ネットワークを利用して、工場内のマスタ装置8を遠隔操作してもよい。また、通信システム2の管理者が、手元でマスタ装置8を操作し工場の外から外部ネットワークを利用することで、ネットワーク12を介して、スレーブ装置4からデータを直接に取得してもよい。
【0035】
[1-2.スレーブ装置の機能構成]
図2及び図3を参照しながら、実施の形態1に係るスレーブ装置4の機能構成について説明する。図2は、実施の形態1に係るスレーブ装置4の機能構成を示すブロック図である。図3は、実施の形態1に係る対応情報24の一例を示す図である。
【0036】
図2に示すように、スレーブ装置4は、取得部16と、制御部18と、記憶部20と、通信部22とを備えている。
【0037】
取得部16は、通信線10(図1参照)を介して、機械6からの複数のデータを例えば所定の周期で取得する。取得部16は、取得した複数のデータを制御部18に出力する。なお、所定の周期は、例えば、通信システム2の管理者等が設定ツール(図示せず)等を用いることにより、適宜設定される。
【0038】
制御部18は、予め定められたルールに基づいて、記憶部20に記憶された対応情報24(後述する)における複数のアドレスのうち特定のアドレスを、取得部16により取得された特定のデータのデータ値の格納先として決定する。そして、制御部18は、決定した特定のアドレスに、取得部16により取得された特定のデータのデータ値を格納する。
【0039】
具体的には、制御部18は、取得部16により取得された特定のデータ(X軸位置、Y軸位置及びZ軸位置のいずれかを示すデータ)のデータ項目が対応情報24における複数のデータ項目のうちいずれかと一致する場合には、当該一致するデータ項目に対応するアドレスを特定のデータのデータ値の格納先として決定する。また、制御部18は、機械6において軸名「X」、「Y」及び「Z」の少なくとも1つが変更された場合であって、取得部16により取得された特定のデータのデータ項目が対応情報24における複数のデータ項目のいずれとも一致しない場合には、複数のデータ項目のうち変更後の軸名のいずれとも対応付けられていない未使用のアドレスを、特定のデータのデータ値の格納先として決定する。
【0040】
記憶部20は、対応情報24を記憶するためのメモリである。対応情報24は、例えば図3に示すようなテーブルデータであり、スレーブ装置4とマスタ装置8とで共有されている。図3に示すように、対応情報24は、複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、複数のデータ項目にそれぞれ割り当てられた複数のアドレスと、複数のアドレスにそれぞれ格納される複数のデータの値を示す複数のデータ値との対応関係を示す情報である。なお、対応情報24における複数のアドレスの各々は、例えばModbusアドレスである。
【0041】
具体的には、対応情報24の1行目には、データ項目「軸名」、アドレス「500」、及び、データ値「XYZ」が格納されている。また、対応情報24の2行目には、データ項目「軸位置(X)」、アドレス「1000」、及び、データ値「100(mm)」が格納されている。また、対応情報24の3行目には、データ項目「軸位置(Y)」、アドレス「1004」、及び、データ値「200(mm)」が格納されている。また、対応情報24の4行目には、データ項目「軸位置(Z)」、アドレス「1008」、及び、データ値「300(mm)」が格納されている。ここで、対応情報24における複数のデータ項目「軸位置(X)」、「軸位置(Y)」及び「軸位置(Z)」はそれぞれ、軸名「X」、「Y」及び「Z」と対応付けられている。
【0042】
通信部22は、ネットワーク12(図1参照)を介して、マスタ装置8との間でデータを送受信する。具体的には、通信部22は、マスタ装置8からのリクエスト信号を受信する。また、通信部22は、受信したリクエスト信号に対するレスポンスとして、対応情報24に格納されているデータをマスタ装置8に送信する。
【0043】
[1-3.スレーブ装置の動作]
図4及び図5を参照しながら、実施の形態1に係るスレーブ装置4の動作について説明する。図4は、実施の形態1に係るスレーブ装置4の動作の流れを示すフローチャートである。図5は、実施の形態1に係るスレーブ装置4の動作を説明するための図である。
【0044】
まず、機械6において、X移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」がいずれも変更されていない場合における、スレーブ装置4の動作について説明する。
【0045】
図4に示すように、取得部16は、X移動軸、Y移動軸及びZ移動軸のそれぞれの軸名「X」、「Y」及び「Z」を示すデータを機械6から取得する(S101)。制御部18は、取得部16により取得された軸名「X」、「Y」及び「Z」を示すデータを、対応情報24に格納する。具体的には、図5の(a)に示すように、制御部18は、対応情報24の1行目において、データ項目「軸名」に割り当てられたアドレス「500」に、データ値「XYZ」を格納する。
【0046】
また、取得部16は、X軸位置を示すデータを機械6から取得する(S102)。X軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(X)」、及び、当該データの値を示すデータ値「100(mm)」を含む。ここで、制御部18は、取得されたX軸位置を示すデータのデータ項目「軸位置(X)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0047】
取得されたX軸位置を示すデータのデータ項目「軸位置(X)」は、対応情報24の2行目におけるデータ項目「軸位置(X)」と一致する(S103でYES)。この場合、制御部18は、対応情報24の2行目におけるデータ項目「軸位置(X)」に割り当てられたアドレス「1000」を、取得されたX軸位置を示すデータのデータ値「100(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1000」に、X軸位置を示すデータのデータ値「100(mm)」を格納する(S104)。取得部16がX軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得していない場合には(S105でNO)、上述したステップS102に戻る。
【0048】
次いで、取得部16は、Y軸位置を示すデータを機械6から取得する(S102)。Y軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Y)」、及び、当該データの値を示すデータ値「200(mm)」を含む。ここで、制御部18は、取得されたY軸位置を示すデータのデータ項目「軸位置(Y)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0049】
取得されたY軸位置を示すデータのデータ項目「軸位置(Y)」は、対応情報24の3行目におけるデータ項目「軸位置(Y)」と一致する(S103でYES)。この場合、制御部18は、対応情報24の3行目におけるデータ項目「軸位置(Y)」に割り当てられたアドレス「1004」を、取得されたY軸位置を示すデータのデータ値「200(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1004」に、Y軸位置を示すデータのデータ値「200(mm)」を格納する(S104)。取得部16がX軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得していない場合には(S105でNO)、上述したステップS102に戻る。
【0050】
次いで、取得部16は、Z軸位置を示すデータを機械6から取得する(S102)。Z軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Z)」、及び、当該データの値を示すデータ値「300(mm)」を含む。ここで、制御部18は、取得されたZ軸位置を示すデータのデータ項目「軸位置(Z)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0051】
取得されたZ軸位置を示すデータのデータ項目「軸位置(Z)」は、対応情報24の4行目におけるデータ項目「軸位置(Z)」と一致する(S103でYES)。この場合、制御部18は、対応情報24の4行目におけるデータ項目「軸位置(Z)」に割り当てられたアドレス「1008」を、取得されたZ軸位置を示すデータのデータ値「300(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1008」に、Z軸位置を示すデータのデータ値「300(mm)」を格納する(S104)。取得部16がX軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得した場合には(S105でYES)、図4のフローチャートを終了する。
【0052】
次に、機械6において、例えばY移動軸の軸名が「Y」から「T」に変更された場合における、スレーブ装置4の動作について説明する。なお、機械6において、X移動軸の軸名「X」及びZ移動軸の軸名「Z」はともに、変更されていないものとする。
【0053】
図4に示すように、取得部16は、X移動軸、T移動軸(旧Y移動軸)及びZ移動軸のそれぞれの軸名「X」、「T」及び「Z」を示すデータを機械6から取得する(S101)。制御部18は、取得部16により取得された軸名「X」、「T」及び「Z」を示すデータを、対応情報24に格納する。具体的には、図5の(b)に示すように、制御部18は、対応情報24の1行目において、データ項目「軸名」に割り当てられたアドレス「500」に、データ値「XTZ」を格納する。
【0054】
また、取得部16は、X軸位置を示すデータを機械6から取得する(S102)。X軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(X)」、及び、当該データの値を示すデータ値「150(mm)」を含む。ここで、制御部18は、取得されたX軸位置を示すデータのデータ項目「軸位置(X)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0055】
取得されたX軸位置を示すデータのデータ項目「軸位置(X)」は、対応情報24の2行目におけるデータ項目「軸位置(X)」と一致する(S103でYES)。この場合、制御部18は、対応情報24の2行目におけるデータ項目「軸位置(X)」に割り当てられたアドレス「1000」を、取得されたX軸位置を示すデータのデータ値「150(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1000」に、X軸位置を示すデータのデータ値「150(mm)」を格納する(S104)。取得部16がX軸位置、T軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得していない場合には(S105でNO)、上述したステップS102に戻る。
【0056】
次いで、取得部16は、T軸位置を示すデータを機械6から取得する(S102)。T軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(T)」、及び、当該データの値を示すデータ値「250(mm)」を含む。ここで、制御部18は、取得されたT軸位置を示すデータのデータ項目「軸位置(T)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0057】
取得されたT軸位置を示すデータのデータ項目「軸位置(T)」は、対応情報24における複数のデータ項目のいずれとも一致しない(S103でNO)。この場合、制御部18は、対応情報24における複数のデータ項目のうち、変更後の軸名「X」、「T」及び「Z」のいずれとも対応付けられていない未使用のアドレス「1004」(すなわち、データ項目「軸位置(Y)」に相当)を、取得されたT軸位置を示すデータのデータ値「250(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1004」に、T軸位置を示すデータのデータ値「250(mm)」を格納する(S106)。取得部16がX軸位置、T軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得していない場合には(S105でNO)、ステップS102に戻る。
【0058】
次いで、取得部16は、Z軸位置を示すデータを機械6から取得する(S102)。Z軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Z)」、及び、当該データの値を示すデータ値「350(mm)」を含む。ここで、制御部18は、取得されたZ軸位置を示すデータのデータ項目「軸位置(Z)」が、対応情報24における複数のデータ項目のいずれかと一致するか否かを判断する(S103)。
【0059】
取得されたZ軸位置を示すデータのデータ項目「軸位置(Z)」は、対応情報24の4行目におけるデータ項目「軸位置(Z)」と一致する(S103でYES)。この場合、制御部18は、対応情報24の4行目におけるデータ項目「軸位置(Z)」に割り当てられたアドレス「1008」を、取得されたZ軸位置を示すデータのデータ値「350(mm)」の格納先として決定する。そして、制御部18は、決定したアドレス「1008」に、Z軸位置を示すデータのデータ値「350(mm)」を格納する(S104)。取得部16がX軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータを全て取得した場合には(S105でYES)、図4のフローチャートを終了する。
【0060】
[1-4.効果]
本実施の形態では、上述したように機械6において例えばY移動軸の軸名を「Y」から「T」に変更した場合であっても、T軸位置を示すデータのデータ値「250(mm)」をアドレス「1004」に適切に格納することができる。
【0061】
(実施の形態2)
[2-1.スレーブ装置の機能構成]
図6及び図7を参照しながら、実施の形態2に係るスレーブ装置4Aの機能構成について説明する。図6は、実施の形態2に係るスレーブ装置4Aの機能構成を示すブロック図である。図7は、実施の形態2に係る対応情報24Aの一例を示す図である。なお、以下に示す各実施の形態において、上記実施の形態1における構成要素と同一の構成要素には同一の符号を付して、その説明を省略する。
【0062】
図6に示すように、実施の形態2に係るスレーブ装置4Aでは、制御部18A及び記憶部20Aの各構成が上記実施の形態1と異なっている。
【0063】
制御部18Aは、予め定められたルールに基づいて、記憶部20Aに記憶された対応情報24A(後述する)における複数のアドレスのうち特定のアドレスを、取得部16により取得された特定のデータのデータ値の格納先として決定する。そして、制御部18Aは、決定した特定のアドレスに、取得部16により取得された特定のデータのデータ値を格納する。
【0064】
具体的には、制御部18Aは、取得部16が特定のデータを含む複数のデータを1つずつ順に取得した場合に、対応情報24Aにおける複数のデータ項目を、特定のデータの取得順に、そのデータ値の格納先として決定する。
【0065】
記憶部20Aに記憶されている対応情報24Aは、複数のデータの各々の項目をそれぞれ示す複数のデータ項目と、複数のデータ項目にそれぞれ割り当てられた複数のアドレスと、複数のアドレスにそれぞれ格納される複数のデータの値を示す複数のデータ値との対応関係を示す情報である。
【0066】
具体的には、図7に示すように、対応情報24Aの1行目には、データ項目「軸名」、アドレス「500」、及び、データ値「XYZ」が格納されている。また、対応情報24Aの2行目には、データ項目「軸位置(1)」、アドレス「1000」、及び、データ値「100(mm)」が格納されている。また、対応情報24の3行目には、データ項目「軸位置(2)」、アドレス「1004」、及び、データ値「200(mm)」が格納されている。また、対応情報24の4行目には、データ項目「軸位置(3)」、アドレス「1008」、及び、データ値「300(mm)」が格納されている。すなわち、対応情報24Aにおける複数のデータ項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」はそれぞれ、取得部16による複数のデータの取得順「1番目」、「2番目」、「3番目」と対応付けられている。
【0067】
[2-2.スレーブ装置の動作]
図8図9及び図10を参照しながら、実施の形態2に係るスレーブ装置4Aの動作について説明する。図8及び図9は、実施の形態2に係るスレーブ装置4Aの動作の流れを示すフローチャートである。図10は、実施の形態2に係るスレーブ装置4Aの動作を説明するための図である。
【0068】
まず、図8及び図10の(a)を参照しながら、機械6においてX移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」がいずれも変更されていない場合における、スレーブ装置4Aの起動時におけるスレーブ装置4Aの動作について説明する。
【0069】
図8に示すように、スレーブ装置4Aの起動時には、取得部16は、X移動軸、Y移動軸及びZ移動軸のそれぞれの軸名「X」、「Y」及び「Z」を示すデータを機械6から取得する(S201)。制御部18Aは、取得部16により取得された軸名「X」、「Y」及び「Z」を示すデータを、対応情報24Aに格納する。具体的には、図10の(a)に示すように、制御部18Aは、対応情報24Aの1行目において、データ項目「軸名」に割り当てられたアドレス「500」に、データ値「XYZ」を格納する。ここで、データ値「XYZ」における「X」、「Y」及び「Z」の並び順は、取得部16によるX軸位置を示すデータ、Y軸位置を示すデータ及びZ軸位置を示すデータの取得順を示している。
【0070】
次いで、制御部18Aは、対応情報24Aにおけるデータ項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」に対してそれぞれ、アドレス「1000」、「1004」及び「1008」を付与する(S202)。
【0071】
次に、図9及び図10の(a)を参照しながら、機械6においてX移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」がいずれも変更されていない場合における、スレーブ装置4AによるX軸位置、Y軸位置及びZ軸位置をそれぞれ示す複数のデータの収集時におけるスレーブ装置4Aの動作について説明する。
【0072】
取得部16は、X軸位置を示すデータ、Y軸位置を示すデータ及びZ軸位置を示すデータを、この順に機械6から取得する(S301)。X軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(X)」、及び、当該データの値を示すデータ値「100(mm)」を含む。Y軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Y)」、及び、当該データの値を示すデータ値「200(mm)」を含む。Z軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Z)」、及び、当該データの値を示すデータ値「300(mm)」を含む。
【0073】
制御部18Aは、X軸位置を示すデータ、Y軸位置を示すデータ及びZ軸位置をそれぞれ示す複数のデータの取得順に、対応情報24Aからアドレス「1000」、「1004」及び「1008」を読み出す(S302)。
【0074】
図10の(a)に示すように、制御部18Aは、対応情報24Aの2行目におけるデータ項目「軸位置(1)」に割り当てられたアドレス「1000」を、1番目に取得されたX軸位置を示すデータのデータ値「100(mm)」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1000」に、X軸位置を示すデータのデータ値「100(mm)」を格納する(S303)。
【0075】
また、制御部18Aは、対応情報24Aの3行目におけるデータ項目「軸位置(2)」に割り当てられたアドレス「1004」を、2番目に取得されたY軸位置を示すデータのデータ値「200(mm)」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1004」に、Y軸位置を示すデータのデータ値「200(mm)」を格納する(S303)。
【0076】
さらに、制御部18Aは、対応情報24Aの4行目におけるデータ項目「軸位置(3)」に割り当てられたアドレス「1008」を、3番目に取得されたZ軸位置を示すデータのデータ値「300mm」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1008」に、Z軸位置を示すデータのデータ値「300(mm)」を格納する(S303)。
【0077】
次に、図8及び図10の(b)を参照しながら、機械6においてX移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」がそれぞれ、「A」、「B」及び「C」に変更された場合における、スレーブ装置4Aの起動時におけるスレーブ装置4Aの動作について説明する。
【0078】
図8に示すように、スレーブ装置4Aの起動時には、取得部16は、A移動軸、B移動軸及びC移動軸のそれぞれの軸名「A」、「B」及び「C」を示すデータを機械6から取得する(S201)。制御部18Aは、取得部16により取得された軸名「A」、「B」及び「C」を示すデータを、対応情報24Aに格納する。具体的には、図10の(b)に示すように、制御部18Aは、対応情報24Aの1行目において、データ項目「軸名」に割り当てられたアドレス「500」に、データ値「ABC」を格納する。ここで、データ値「ABC」における「A」、「B」及び「C」の並び順は、取得部16によるA軸位置を示すデータ、B軸位置を示すデータ及びC軸位置を示すデータの取得順を示している。
【0079】
次いで、制御部18Aは、対応情報24Aにおけるデータ項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」に対してそれぞれ、アドレス「1000」、「1004」及び「1008」を付与する(S202)。
【0080】
次に、図9及び図10の(b)を参照しながら、機械6においてX移動軸の軸名「X」、Y移動軸の軸名「Y」及びZ移動軸の軸名「Z」がそれぞれ、「A」、「B」及び「C」に変更された場合における、スレーブ装置4AによるA軸位置、B軸位置及びC軸位置をそれぞれ示す複数のデータの収集時におけるスレーブ装置4Aの動作について説明する。
【0081】
取得部16は、A軸位置を示すデータ、B軸位置を示すデータ及びC軸位置を示すデータを、この順に機械6から取得する(S301)。A軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(A)」、及び、当該データの値を示すデータ値「150(mm)」を含む。B軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(B)」、及び、当該データの値を示すデータ値「250(mm)」を含む。C軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(C)」、及び、当該データの値を示すデータ値「350(mm)」を含む。
【0082】
制御部18Aは、A軸位置を示すデータ、B軸位置を示すデータ及びC軸位置を示すデータの取得順に、対応情報24Aからアドレス「1000」、「1004」及び「1008」を読み出す(S302)。
【0083】
図10の(b)に示すように、制御部18Aは、対応情報24Aの2行目におけるデータ項目「軸位置(1)」に割り当てられたアドレス「1000」を、1番目に取得されたA軸位置を示すデータのデータ値「150(mm)」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1000」に、A軸位置を示すデータのデータ値「150(mm)」を格納する(S303)。
【0084】
また、制御部18Aは、対応情報24Aの3行目におけるデータ項目「軸位置(2)」に割り当てられたアドレス「1004」を、2番目に取得されたB軸位置を示すデータのデータ値「250(mm)」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1004」に、B軸位置を示すデータのデータ値「250(mm)」を格納する(S303)。
【0085】
さらに、制御部18Aは、対応情報24Aの4行目における「軸位置(3)」に割り当てられたアドレス「1008」を、3番目に取得されたC軸位置を示すデータのデータ値「350(mm)」の格納先として決定する。そして、制御部18Aは、決定したアドレス「1008」に、C軸位置を示すデータのデータ値「350(mm)」を格納する(S303)。
【0086】
[2-3.効果]
本実施の形態では、上述したように機械6において例えば軸名「X」、「Y」及び「Z」をそれぞれ「A」、「B」及び「C」に変更した場合であっても、A軸位置を示すデータのデータ値「150(mm)」をアドレス「1000」に格納し、且つ、B軸位置を示すデータのデータ値「250(mm)」をアドレス「1004」に格納し、且つ、C軸位置を示すデータのデータ値「350(mm)」をアドレス「1008」に格納することができる。
【0087】
(実施の形態3)
[3-1.スレーブ装置の機能構成]
図11及び図12を参照しながら、実施の形態3に係るスレーブ装置4Bの機能構成について説明する。図11は、実施の形態3に係るスレーブ装置4Bの機能構成を示すブロック図である。図12は、実施の形態3に係る固定対応情報24Ba及び可変対応情報24Bbの一例を示す図である。
【0088】
図11に示すように、実施の形態3に係るスレーブ装置4Bでは、制御部18B及び記憶部20Bの各構成が上記実施の形態1と異なっている。
【0089】
制御部18Bは、予め定められたルールに基づいて、記憶部20Bに記憶された可変対応情報24Bb(後述する)における複数の可変アドレスのうち特定の可変アドレスを、取得部16により取得された特定のデータのデータ値の格納先として決定する。そして、制御部18Bは、決定した特定の可変アドレスに、取得部16により取得された特定のデータのデータ値を格納する。
【0090】
具体的には、制御部18Bは、取得部16が特定のデータを含む複数のデータを1つずつ順に取得した場合に、可変対応情報24Bにおける複数のデータ可変項目を、特定のデータの取得順に、そのデータ値の格納先として決定する。
【0091】
記憶部20Bに記憶されている固定対応情報24Baは、複数のデータの各々の固定項目をそれぞれ示す複数のデータ固定項目(固定情報)と、複数のデータ固定項目にそれぞれ割り当てられた複数の固定アドレスと、複数の固定アドレスにそれぞれ格納される複数のデータの値を示す複数のデータ値との対応関係を示す情報である。
【0092】
具体的には、図12の左図に示すように、固定対応情報24Baの3行目には、データ固定項目「軸名」、固定アドレス「1016」、及び、データ値「XYZ」が格納されている。また、固定対応情報24Baの4行目には、データ固定項目「軸位置」、固定アドレス「1024」、及び、データ値「5000」が格納されている。このデータ値「5000」は、後述する可変対応情報24Bbにおける複数のデータ可変情報「軸位置(1)」~「軸位置(3)」にそれぞれ割り当てられた複数の可変アドレスのうち、先頭の可変アドレス「5000」と一致している。また、固定対応情報24Baの5行目には、データ固定項目「軸速度」、固定アドレス「1026」、及び、データ値「5024」が格納されている。このデータ値「5024」は、後述する可変対応情報24Bbにおける複数のデータ可変情報「軸速度(1)」~「軸速度(3)」にそれぞれ割り当てられた複数の可変アドレスのうち、先頭の可変アドレス「5024」と一致している。
【0093】
記憶部20Bに記憶されている可変対応情報24Bbは、複数のデータの各々の可変項目をそれぞれ示す複数のデータ可変項目(可変情報)と、複数のデータ可変項目にそれぞれ割り当てられた複数の可変アドレスと、複数の可変アドレスにそれぞれ格納される複数のデータの値を示す複数のデータ値との対応関係を示す情報である。
【0094】
具体的には、図12の右図に示すように、可変対応情報24Bbの1行目には、データ可変項目「軸位置(1)」、可変アドレス「5000」、及び、データ値「100(mm)」が格納されている。また、可変対応情報24Bbの2行目には、データ可変項目「軸位置(2)」、可変アドレス「5008」、及び、データ値「200(mm)」が格納されている。また、可変対応情報24Bbの3行目には、データ可変項目「軸位置(3)」、可変アドレス「5016」、及び、データ値「300(mm)」が格納されている。すなわち、可変対応情報24Bbにおける複数のデータ項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」はそれぞれ、取得部16による軸位置を示す複数のデータの取得順「1番目」、「2番目」、「3番目」と対応付けられている。
【0095】
また、可変対応情報24Bbの4行目には、データ可変項目「軸速度(1)」、可変アドレス「5024」、及び、データ値「10(mm/s)」が格納されている。また、可変対応情報24Bbの5行目には、データ可変項目「軸速度(2)」、可変アドレス「5032」、及び、データ値「20(mm/s)」が格納されている。また、可変対応情報24Bbの6行目には、データ可変項目「軸速度(3)」、可変アドレス「5040」、及び、データ値「30(mm/s)」が格納されている。すなわち、可変対応情報24Bbにおける複数のデータ項目「軸速度(1)」、「軸速度(2)」及び「軸速度(3)」はそれぞれ、取得部16による軸速度を示す複数のデータの取得順「1番目」、「2番目」、「3番目」と対応付けられている。
【0096】
[3-2.スレーブ装置の動作]
図13図14及び図15を参照しながら、実施の形態3に係るスレーブ装置4Bの動作について説明する。図13及び図14は、実施の形態3に係るスレーブ装置4Bの動作の流れを示すフローチャートである。図15は、実施の形態3に係るスレーブ装置4Bの動作を説明するための図である。
【0097】
まず、図13及び図15の(a)を参照しながら、機械6においてX移動軸、Y移動軸及びZ移動軸の各軸名がそれぞれ「X」、「Y」及び「Z」である場合における、スレーブ装置4Bの起動時におけるスレーブ装置4Bの動作について説明する。
【0098】
図13に示すように、スレーブ装置4Bの起動時には、取得部16は、X移動軸、Y移動軸及びZ移動軸のそれぞれの軸名「X」、「Y」及び「Z」を示すデータを機械6から取得する(S401)。制御部18Bは、取得部16により取得された軸名「X」、「Y」及び「Z」を示すデータを、固定対応情報24Baに格納する。具体的には、図15の(a)の左図に示すように、制御部18Bは、固定対応情報24Baの3行目において、データ固定項目「軸名」に割り当てられた固定アドレス「1016」に、データ値「XYZ」を格納する。ここで、データ値「XYZ」における「X」、「Y」及び「Z」の並び順は、取得部16によるX移動軸を示すデータ、Y移動軸を示すデータ及びZ移動軸を示すデータの取得順を示している。
【0099】
制御部18Bは、図15の(a)の右図に示すように、可変対応情報24Bbにおけるデータ可変項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」にそれぞれ割り当てられる複数の可変アドレスのうち先頭の可変アドレスとして「5000」を付与する(S402)。次いで、制御部18Bは、固定対応情報24Baにおけるデータ固定項目「軸位置」に対応する固定アドレス「1024」を取得する(S403)。
【0100】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸位置(1)」、「軸位置(2)」及び「軸位置(3)」に対してそれぞれ、可変アドレス「5000」、「5008」及び「5016」を付与する(S404)。ここで、可変アドレス「5000」は、上述したステップS402で付与した先頭の可変アドレスである。次いで、制御部18Bは、上述したステップS403で取得した固定アドレス「1024」に、上述したステップS402で付与した先頭の可変アドレス「5000」をデータ値として格納する(S405)。「軸位置」以外の他のデータ可変項目がある場合には(S406でYES)、上述したステップS402に戻る。ここでは、データ可変項目として、「軸位置」以外に「軸速度」がある場合について説明する。
【0101】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸速度(1)」、「軸速度(2)」及び「軸速度(3)」にそれぞれ割り当てられる複数の可変アドレスのうち先頭の可変アドレスとして「5024」を付与する(S402)。次いで、制御部18Bは、固定対応情報24Baにおけるデータ固定項目「軸速度」に対応する固定アドレス「1026」を取得する(S403)。
【0102】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸速度(1)」、「軸速度(2)」及び「軸速度(3)」に対してそれぞれ、可変アドレス「5024」、「5026」及び「5028」を付与する(S404)。ここで、可変アドレス「5024」は、上述したステップS402で付与した先頭の可変アドレスである。次いで、制御部18Bは、ステップS403で取得した固定アドレス「1026」に、上述したステップS402で付与した先頭の可変アドレス「5024」をデータ値として格納する(S405)。「軸位置」及び「軸速度」以外の他のデータ可変項目が無い場合には(S406でNO)、図13のフローチャートを終了する。
【0103】
次に、図14及び図15の(a)を参照しながら、機械6においてX移動軸、Y移動軸及びZ移動軸の各軸名がそれぞれ「X」、「Y」及び「Z」である場合における、スレーブ装置4BによるX軸位置、Y軸位置及びZ軸位置、並びに、これらの軸速度を示すデータの収集時におけるスレーブ装置4Bの動作について説明する。
【0104】
取得部16は、X軸位置を示すデータ、Y軸位置を示すデータ及びZ軸位置を示すデータをこの順に機械6から取得する(S501)。X軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(X)」、及び、当該データの値を示すデータ値「100(mm)」を含む。Y軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Y)」、及び、当該データの値を示すデータ値「200(mm)」を含む。Z軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Z)」、及び、当該データの値を示すデータ値「300(mm)」を含む。
【0105】
制御部18Bは、固定対応情報24Baから、データ固定項目「軸位置」に割り当てられた固定アドレス「1024」に格納されたデータ値「5000」を読み出す。そして、制御部18Bは、X軸位置を示すデータ、Y軸位置を示すデータ及びZ軸位置を示すデータの取得順に、可変対応情報24Bbから、上述のように読み出したデータ値「5000」を先頭の可変アドレスとして、可変アドレス「5000」、「5008」及び「5016」を読み出す(S502)。
【0106】
図15の(a)に示すように、制御部18Bは、可変対応情報24Bbの1行目における「軸位置(1)」に割り当てられたアドレス「5000」を、1番目に取得されたX軸位置を示すデータのデータ値「100(mm)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5000」に、X軸位置を示すデータのデータ値「100(mm)」を格納する(S503)。
【0107】
また、制御部18Bは、可変対応情報24Bbの2行目における「軸位置(2)」に割り当てられたアドレス「5008」を、2番目に取得されたY軸位置を示すデータのデータ値「200(mm)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5008」に、Y軸位置を示すデータのデータ値「200(mm)」を格納する(S503)。
【0108】
さらに、制御部18Bは、可変対応情報24Bbの3行目における「軸位置(3)」に割り当てられた可変アドレス「5016」を、3番目に取得されたZ軸位置を示すデータのデータ値「300(mm)」の格納先として決定する。そして、制御部18Bは、決定した可変アドレス「5016」に、Z軸位置を示すデータのデータ値「300(mm)」を格納する(S503)。
【0109】
次に、取得部16は、X軸速度を示すデータ、Y軸速度を示すデータ及びZ軸速度を示すデータをこの順に機械6から取得する(S504)。X軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(X)」、及び、当該データの値を示すデータ値「10(mm/s)」を含む。Y軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(Y)」、及び、当該データの値を示すデータ値「20(mm/s)」を含む。Z軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(Z)」、及び、当該データの値を示すデータ値「30(mm/s)」を含む。
【0110】
制御部18Bは、固定対応情報24Baから、データ固定項目「軸速度」に割り当てられた固定アドレス「1026」に格納されたデータ値「5024」を読み出す。そして、制御部18Bは、X軸速度を示すデータ、Y軸速度を示すデータ及びZ軸速度を示すデータの取得順に、可変対応情報24Bbから、上述のように読み出したデータ値「5024」を先頭の可変アドレスとして、可変アドレス「5024」、「5032」及び「5040」を読み出す(S505)。
【0111】
図15の(a)に示すように、制御部18Bは、可変対応情報24Bbの4行目における「軸速度(1)」に割り当てられたアドレス「5024」を、1番目に取得されたX軸速度を示すデータのデータ値「10(mm/s)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5024」に、X軸速度を示すデータのデータ値「10(mm/s)」を格納する(S506)。
【0112】
また、制御部18Bは、可変対応情報24Bbの5行目における「軸速度(2)」に割り当てられたアドレス「5032」を、2番目に取得されたY軸速度を示すデータのデータ値「20(mm/s)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5032」に、Y軸速度を示すデータのデータ値「20(mm/s)」を格納する(S506)。
【0113】
さらに、制御部18Bは、可変対応情報24Bbの6行目における「軸速度(3)」に割り当てられた可変アドレス「5040」を、3番目に取得されたZ軸速度を示すデータのデータ値「30(mm/s)」の格納先として決定する。そして、制御部18Bは、決定した可変アドレス「5040」に、Z軸速度を示すデータのデータ値「30(mm/s)」を格納する(S506)。
【0114】
次に、図13及び図15の(b)を参照しながら、機械6において移動軸の数が3つ(X移動軸、Y移動軸及びZ移動軸)から4つ(X移動軸、Y移動軸、Z移動軸及びA移動軸)に変更された場合における、スレーブ装置4Bの起動時におけるスレーブ装置4Bの動作について説明する。なお、ここでは、スレーブ装置4Bの動作は、例えば電源投入時、及び、機械6と通信できなくなった場合を含む再起動の動作を想定している。
【0115】
図13に示すように、スレーブ装置4Bの起動時には、取得部16は、X移動軸、Y移動軸、Z移動軸及びA移動軸のそれぞれの軸名「X」、「Y」、「Z」及び「A」を示すデータを機械6から取得する(S401)。制御部18Bは、取得部16により取得された軸名「X」、「Y」、「Z」及び「A」を示すデータを、固定対応情報24Baに格納する。具体的には、図15の(b)に示すように、制御部18Bは、固定対応情報24Baの3行目において、データ固定項目「軸名」に割り当てられた固定アドレス「1016」に、データ値「XYZA」を格納する。ここで、データ値「XYZA」における「X」、「Y」、「Z」及び「A」の並び順は、取得部16によるX移動軸を示すデータ、Y移動軸を示すデータ、Z移動軸を示すデータ及びA移動軸を示すデータの取得順を示している。
【0116】
制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸位置(1)」、「軸位置(2)」、「軸位置(3)」及び「軸位置(4)」にそれぞれ割り当てられる複数の可変アドレスのうち先頭の可変アドレスとして「5000」を付与する(S402)。次いで、制御部18Bは、固定対応情報24Baにおけるデータ固定項目「軸位置」に対応する固定アドレス「1024」を取得する(S403)。
【0117】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸位置(1)」、「軸位置(2)」、「軸位置(3)」及び「軸位置(4)」に対してそれぞれ、可変アドレス「5000」、「5008」、「5016」及び「5024」を付与する(S404)。ここで、可変アドレス「5000」は、上述したステップS402で付与した先頭の可変アドレスである。次いで、制御部18Bは、上述したステップS403で取得した固定アドレス「1024」に、上述したステップS402で付与した先頭の可変アドレス「5000」をデータ値として格納する(S405)。「軸位置」以外の他のデータ可変項目がある場合には(S406でYES)、上述したステップS402に戻る。ここでは、データ可変項目として、「軸位置」以外に「軸速度」がある場合について説明する。
【0118】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸速度(1)」、「軸速度(2)」、「軸速度(3)」及び「軸速度(4)」にそれぞれ割り当てられる複数の可変アドレスのうち先頭の可変アドレスとして「5032」を付与する(S402)。次いで、制御部18Bは、固定対応情報24Baにおけるデータ固定項目「軸速度」に対応する固定アドレス「1026」を取得する(S403)。
【0119】
次いで、制御部18Bは、可変対応情報24Bbにおけるデータ可変項目「軸速度(1)」、「軸速度(2)」、「軸速度(3)」及び「軸速度(4)」に対してそれぞれ、可変アドレス「5032」、「5040」、「5048」及び「5056」を付与する(S404)。次いで、制御部18Bは、上述したステップS403で取得した固定アドレス「1026」に、上述したステップS402で付与した先頭の可変アドレス「5032」をデータ値として格納する(S405)。「軸位置」及び「軸速度」以外の他のデータ可変項目が無い場合には(S406でNO)、図13のフローチャートを終了する。
【0120】
次に、図14及び図15の(b)を参照しながら、機械6において移動軸の数が3つ(X移動軸、Y移動軸及びZ移動軸)から4つ(X移動軸、Y移動軸、Z移動軸及びA移動軸)に変更された場合における、スレーブ装置4BによるX軸位置、Y軸位置、Z軸位置及びA軸位置、並びに、これらの軸速度をそれぞれ示す複数のデータの収集時におけるスレーブ装置4Bの動作について説明する。
【0121】
取得部16は、X軸位置を示すデータ、Y軸位置を示すデータ、Z軸位置を示すデータ及びA軸位置を示すデータをこの順に機械6から取得する(S501)。X軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(X)」、及び、当該データの値を示すデータ値「100(mm)」を含む。Y軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Y)」、及び、当該データの値を示すデータ値「200(mm)」を含む。Z軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(Z)」、及び、当該データの値を示すデータ値「300(mm)」を含む。A軸位置を示すデータは、当該データの項目を示すデータ項目「軸位置(A)」、及び、当該データの値を示すデータ値「400(mm)」を含む。
【0122】
制御部18Bは、固定対応情報24Baから、データ固定項目「軸位置」に割り当てられた固定アドレス「1024」に格納されたデータ値「5000」を読み出す。そして、制御部18Bは、X軸位置を示すデータ、Y軸位置を示すデータ、Z軸位置を示すデータ及びA軸位置を示すデータの取得順に、可変対応情報24Bbから、上述のように読み出したデータ値「5000」を先頭の可変アドレスとして、可変アドレス「5000」、「5008」、「5016」及び「5024」を読み出す(S502)。
【0123】
図15の(b)に示すように、制御部18Bは、可変対応情報24Bbの1行目における「軸位置(1)」に割り当てられたアドレス「5000」を、1番目に取得されたX軸位置を示すデータのデータ値「100(mm)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5000」に、X軸位置を示すデータのデータ値「100(mm)」を格納する(S503)。
【0124】
また、制御部18Bは、可変対応情報24Bbの2行目における「軸位置(2)」に割り当てられたアドレス「5008」を、2番目に取得されたY軸位置を示すデータのデータ値「200(mm)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5008」に、Y軸位置を示すデータのデータ値「200(mm)」を格納する(S503)。
【0125】
また、制御部18Bは、可変対応情報24Bbの3行目における「軸位置(3)」に割り当てられた可変アドレス「5016」を、3番目に取得されたZ軸位置を示すデータのデータ値「300(mm)」の格納先として決定する。そして、制御部18Bは、決定した可変アドレス「5016」に、Z軸位置を示すデータのデータ値「300(mm)」を格納する(S503)。
【0126】
さらに、制御部18Bは、可変対応情報24Bbの4行目における「軸位置(4)」に割り当てられた可変アドレス「5024」を、4番目に取得されたA軸位置を示すデータのデータ値「400(mm)」の格納先として決定する。そして、制御部18Bは、決定した可変アドレス「5024」に、A軸位置を示すデータのデータ値「400(mm)」を格納する(S503)。
【0127】
次に、取得部16は、X軸速度を示すデータ、Y軸速度を示すデータ、Z軸速度を示すデータ及びA軸速度を示すデータをこの順に機械6から取得する(S504)。X軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(X)」、及び、当該データの値を示すデータ値「10(mm/s)」を含む。Y軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(Y)」、及び、当該データの値を示すデータ値「20(mm/s)」を含む。Z軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(Z)」、及び、当該データの値を示すデータ値「30(mm/s)」を含む。A軸速度を示すデータは、当該データの項目を示すデータ項目「軸速度(A)」、及び、当該データの値を示すデータ値「40(mm/s)」を含む。
【0128】
制御部18Bは、固定対応情報24Baから、データ固定項目「軸速度」に割り当てられた固定アドレス「1026」に格納されたデータ値「5032」を読み出す。そして、制御部18Bは、X軸速度を示すデータ、Y軸速度を示すデータ、Z軸速度を示すデータ及びA軸速度を示すデータの取得順に、可変対応情報24Bbから、上述のように読み出したデータ値「5032」を先頭の可変アドレスとして、可変アドレス「5032」、「5040」、「5048」及び「5056」を読み出す(S505)。
【0129】
図15の(b)に示すように、制御部18Bは、可変対応情報24Bbの5行目における「軸速度(1)」に割り当てられたアドレス「5032」を、1番目に取得されたX軸速度を示すデータのデータ値「10(mm/s)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5032」に、X軸速度を示すデータのデータ値「10(mm/s)」を格納する(S506)。
【0130】
また、制御部18Bは、可変対応情報24Bbの6行目における「軸速度(2)」に割り当てられたアドレス「5040」を、2番目に取得されたY軸速度を示すデータのデータ値「20(mm/s)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5040」に、Y軸速度を示すデータのデータ値「20(mm/s)」を格納する(S506)。
【0131】
また、制御部18Bは、可変対応情報24Bbの7行目における「軸速度(3)」に割り当てられた可変アドレス「5048」を、3番目に取得されたZ軸速度を示すデータのデータ値「30(mm/s)」の格納先として決定する。そして、制御部18Bは、決定した可変アドレス「5048」に、Z軸速度を示すデータのデータ値「30(mm/s)」を格納する(S506)。
【0132】
さらに、制御部18Bは、可変対応情報24Bbの8行目における「軸速度(4)」に割り当てられたアドレス「5056」を、4番目に取得されたA軸速度を示すデータのデータ値「40(mm/s)」の格納先として決定する。そして、制御部18Bは、決定したアドレス「5056」に、A軸速度を示すデータのデータ値「40(mm/s)」を格納する(S506)。
【0133】
[3-3.効果]
本実施の形態では、上述したように機械6において例えば移動軸の数を3つ(X移動軸、Y移動軸及びZ移動軸)から4つ(X移動軸、Y移動軸、Z移動軸及びA移動軸)に変更した場合であっても、X軸位置を示すデータのデータ値「100(mm)」をアドレス「5000」に格納し、且つ、Y軸位置を示すデータのデータ値「200(mm)」をアドレス「5008」に格納し、且つ、Z軸位置を示すデータのデータ値「300(mm)」をアドレス「5016」に格納し、且つ、A軸位置を示すデータのデータ値「400(mm)」をアドレス「5024」に格納することができる。
【0134】
また、X軸速度を示すデータのデータ値「10(mm/s)」をアドレス「5032」に格納し、且つ、Y軸速度を示すデータのデータ値「20(mm/s)」をアドレス「5040」に格納し、且つ、Z軸速度を示すデータのデータ値「30(mm/s)」をアドレス「5048」に格納し、且つ、A軸速度を示すデータのデータ値「40(mm/s)」をアドレス「5056」に格納することができる。
【0135】
なお、本実施の形態では、機械6において移動軸の数が増加する場合について説明したが、これに限定されず、移動軸の数が減少する場合にも上記と同様の効果を奏する。
【0136】
(他の変形例等)
以上、本発明のスレーブ装置について、上記各実施の形態に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。上記各実施の形態に対して当業者が思い付く変形を施して得られる形態、及び、上記各実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【0137】
上記各実施の形態では、マスタ・スレーブ方式の通信プロトコルをModbus TCPとしたが、これに限定されず、他の任意のマスタ・スレーブ方式の通信プロトコルとしてもよい。
【0138】
上記各実施の形態では、機械6を工作機械としたが、これに限定されず、例えば産業ロボット又は測定機械等の各種産業機械としてもよい。
【0139】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【産業上の利用可能性】
【0140】
本発明は、例えばマスタ・スレーブ方式の通信プロトコルに従って、機械及びマスタ装置の各々と通信するスレーブ装置等に適用することができる。
【符号の説明】
【0141】
2 通信システム
4,4A,4B スレーブ装置
6 機械
8 マスタ装置
10 通信線
12 ネットワーク
14 ユーザ
16 取得部
18,18A,18B 制御部
20,20A,20B 記憶部
22 通信部
24,24A 対応情報
24Ba 固定対応情報
24Bb 可変対応情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15