(57)【要約】【課題】生産機器システムにおいて、複数の駆動ユニット対して、簡単な処理により短時間で識別コードを設定する。【解決手段】ロボットシステム１０は、コマンドデータ内に含まれるＩＤを設定させるＩＤ設定コマンドを送信するコントローラ２０と、ＩＤ設定コマンドを受信した場合に、それに含まれるＩＤを自己のＩＤとして設定する複数の回転軸ユニット４０とを備える。ロボットシステム１０は、上流側からＩＤ設定コマンドを受信した場合に、それに含まれるＩＤをインクリメントしてＩＤ設定コマンドを下流側へ送信する複数のインクリメント機５０と、複数のインクリメント機５０をコントローラ２０に直列に接続するとともに、インクリメント機５０同士を接続する内部通信回線６１に回転軸ユニット４０がそれぞれ接続された通信回線とを備える。【選択図】      図１
2012195900.tif 000002
【特許請求の範囲】
【請求項１】
コード内に含まれる識別コードを設定させる設定指令を送信するコントローラと、
前記設定指令を受信した場合に、前記識別コードを自己の識別コードとして設定する複数の駆動ユニットと、
上流側から前記設定指令を受信した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信する複数の加算機と、
前記複数の加算機を前記コントローラに直列に接続するとともに、前記加算機同士を接続する部分に前記駆動ユニットがそれぞれ接続された通信回線と、
を備えることを特徴とする生産機器システム。
【請求項２】
前記加算機は、上流側から受信した指令が前記設定指令か否か判定し、上流側から受信した指令が前記設定指令であると判定した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信し、上流側から受信した指令が前記設定指令でないと判定した場合に、上流側から受信した指令をそのまま下流側へ送信し、前記設定指令を下流側へ送信したことを条件として、前記判定を省略して上流側から受信した指令をそのまま下流側へ送信する通過処理を実行する請求項１に記載の生産機器システム。
【請求項３】
前記コントローラは、起動時に前記設定指令を送信するものであり、
前記加算機は、前記コントローラが停止されるまで前記通過処理を有効とし、前記コントローラが停止された場合に前記通過処理を無効とする請求項２に記載の生産機器システム。
【請求項４】
前記通信回線は、前記加算機同士を接続する部分からそれぞれ分岐しており、前記分岐した先に前記駆動ユニットがそれぞれ接続されている請求項１〜３のいずれか１項に記載の生産機器システム。
【請求項５】
１つの前記駆動ユニットと、１つの前記加算機と、前記通信回線のうち前記駆動ユニットと前記加算機とを接続する部分とを含んで、コンポーネントを構成する請求項１〜４のいずれか1項に記載の生産機器システム。
【請求項６】
コード内に含まれる識別コードを設定させる設定指令を受信した場合に、前記識別コードを自己の識別コードとして設定する駆動ユニットと、
上流側から前記設定指令を受信した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信する加算機と、
前記駆動ユニットと前記加算機とを接続する内部通信回線と、
を備えることを特徴とする生産機器システムのコンポーネント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部機器と情報の送受信が可能な複数の駆動ユニットを備える生産機器システムに関する。
【背景技術】
【０００２】
従来、ネットワーク上で動作するサーボドライブやエンコーダ（駆動ユニット）のアドレス（ＩＤ）設定を行うものがある（例えば、特許文献１参照）。この特許文献１に記載のものでは、主局と複数の従局（サーボドライブ）とがデージーチェーンで接続されたシステムにおいて、従局のアドレス設定の際に、主局が従局から返信があるまでアドレスを変化させて送信する。そして、主局は、従局との通信が確定した後に、従局に対してアドレス設定のコマンドを送信し、これを受信した従局は、事後このアドレスを自己のアドレスとして設定する。この処理が、他の従局についても順次実行される。
【０００３】
また、電子機器システムを構成する直列に接続された複数の電子機器ユニットに、自動的に識別コード（ＩＤ）を設定するものがある（例えば、特許文献２参照）。この特許文献２に記載のものでは、複数の電子機器ユニットはそれぞれ、自らの前に他の電子機器ユニットが接続されていないことと、自らの後ろに他の電子機器ユニットが接続されていることとによって、自らが親機であることを認識し、自らの前に他の電子機器ユニットが接続されていることによって自らが子機であることを認識する。そして、自らが親機であることを認識した場合に各電子機器ユニットの識別コードを順次発生し、自らが子機であることを認識した場合に、親機である電子機器ユニットから順次発生される識別コードを、親機である電子機器ユニットから直列に接続されている順番に自己の識別コードとして自動設定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２００２１０号公報
【特許文献２】特許第４２８８２３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のものでは、予め各従局にシリアル番号等、互いに異なるアドレスを付与しておく必要があり、従局の生産管理が煩雑となる。さらに、従局から返信があるまでアドレスを変化させて送信する必要があるため、多くのアドレスが存在する場合には、アドレスの送受信に長時間かかるといった問題がある。
【０００６】
また、特許文献２に記載のものでは、親機は子機からアンサを受信する度にＩＤを１増やしてＩＤ設定指令を出力する。そして、それを受け取った子機のうちスイッチがオフでＲＳ−４８５接続がロウの子機が、そのＩＤを自己のＩＤとして設定し、親機にアンサを出力した後、スイッチをオンにしてＲＳ−４８５接続をハイにする。この動作を繰り返して、親機および接続されている全ての子機にＩＤを設定する。このように、特許文献２に記載のものでは、親機と子機とで繰り返しアンサの送受信を行ったり、スイッチのオン・オフの判別や切り替えを行ったりする必要があるため、ＩＤ設定を行うプログラム（処理）が複雑化するといった問題がある。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、生産機器システムにおいて、複数の駆動ユニット対して、簡単な処理により短時間で識別コードを設定することを主たる目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するために、以下の手段を採用した。
【０００９】
第１の発明は、生産機器システムであって、コード内に含まれる識別コードを設定させる設定指令を送信するコントローラと、前記設定指令を受信した場合に、前記識別コードを自己の識別コードとして設定する複数の駆動ユニットと、上流側から前記設定指令を受信した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信する複数の加算機と、前記複数の加算機を前記コントローラに直列に接続するとともに、前記加算機同士を接続する部分に前記駆動ユニットがそれぞれ接続された通信回線と、を備えることを特徴とする。
【００１０】
上記構成によれば、コントローラにより、コード内に含まれる識別コードを設定させる設定指令が送信される。そして、複数の駆動ユニットは、設定指令を受信した場合に、コード内に含まれる識別コードを自己の識別コードとして設定する。
【００１１】
ここで、複数の加算機が通信回線によりコントローラに直列に接続されており、通信回線において加算機同士を接続する部分に駆動ユニットがそれぞれ接続されている。そして、加算機は、上流側から上記設定指令を受信した場合に、上記識別コードに所定値を加算して設定指令を下流側へ送信する。このため、設定指令が上流側から下流側へ送信される際に、加算機を通過する毎に識別コードに所定値が加算されて、設定指令が各駆動ユニットへ送信される。したがって、コントローラによる一度の設定指令の送信により、複数の駆動ユニットに、所定値が順次加算された識別コードをそれぞれ設定することができる。その結果、複数の駆動ユニット対して、簡単な処理により短時間で識別コードを設定することができる。
【００１２】
第２の発明では、前記加算機は、上流側から受信した指令が前記設定指令か否か判定し、上流側から受信した指令が前記設定指令であると判定した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信し、上流側から受信した指令が前記設定指令でないと判定した場合に、上流側から受信した指令をそのまま下流側へ送信し、前記設定指令を下流側へ送信したことを条件として、前記判定を省略して上流側から受信した指令をそのまま下流側へ送信する通過処理を実行する。
【００１３】
上記構成によれば、加算機は、上流側から受信した指令が設定指令か否か判定し、上流側から受信した指令が設定指令であると判定した場合に、識別コードに所定値を加算して設定指令を下流側へ送信する。一方、加算機は、上流側から受信した指令が設定指令でないと判定した場合に、上流側から受信した指令をそのまま下流側へ送信する。
【００１４】
ここで、上流側から受信した指令が設定指令か否かの判定に時間を要すると、設定指令以外の通常の指令がコントローラから駆動ユニットへ送信される際に、駆動ユニットの動作が遅延するおそれがある。この点、加算機は、設定指令を下流側へ送信したことを条件として、上記判定を省略して上流側から受信した指令をそのまま下流側へ送信する通過処理を実行する。したがって、複数の駆動ユニットに識別コードが設定された後には、加算機が指令を受信してから指令を送信するまでの時間を短縮することができ、駆動ユニットの動作が遅延することを抑制することができる。なお、複数の駆動ユニットを動作させるにあたっては、初めに各駆動ユニットに識別コードを設定する必要があるため、識別コードを設定するまでの指令送信の遅延は問題とならない。
【００１５】
第３の発明では、前記コントローラは、起動時に前記設定指令を送信するものであり、前記加算機は、前記コントローラが停止されるまで前記通過処理を有効とし、前記コントローラが停止された場合に前記通過処理を無効とする。
【００１６】
上記構成によれば、加算機は、コントローラが停止された場合に上記通過処理を無効とするため、コントローラの起動時には通過処理が無効とされている。このため、コントローラの起動時に上記設定指令が送信されると、複数の駆動ユニットに識別コードがそれぞれ設定される。したがって、生産機器システムにおいて駆動ユニットの増減が行われた場合であっても、コントローラの起動時に自動的に識別コードの再設定を行うことができる。さらに、コントローラが停止されるまで通過処理が有効とされるため、コントローラの指令による駆動ユニットの制御において、駆動ユニットの動作が遅延することを抑制することができる。
【００１７】
具体的には、第４の発明のように、前記通信回線は、前記加算機同士を接続する部分からそれぞれ分岐しており、前記分岐した先に前記駆動ユニットがそれぞれ接続されているといった構成を採用することができる。こうした構成によれば、通信回線の分岐する部分から、下流側の加算機及び駆動ユニットの双方へ、指令を送信することができる。このため、駆動ユニットを介して加算機へ指令を送信する必要がなく、駆動ユニットの構成を簡素化することができる。
【００１８】
また、具体的には、第５の発明のように、１つの前記駆動ユニットと、１つの前記加算機と、前記通信回線のうち前記駆動ユニットと前記加算機とを接続する部分とを含んで、コンポーネントを構成するといった構成を採用することができる。こうした構成によれば、複数のコンポーネントを組み合わせることにより、生産機器システムを容易に形成することができる。そして、生産機器システムを形成した際に、複数の駆動ユニット対して、簡単な処理により短時間で識別コードを設定することができる。
【００１９】
第６の発明は、生産機器システムのコンポーネントであって、コード内に含まれる識別コードを設定させる設定指令を受信した場合に、前記識別コードを自己の識別コードとして設定する駆動ユニットと、上流側から前記設定指令を受信した場合に、前記識別コードに所定値を加算して前記設定指令を下流側へ送信する加算機と、前記駆動ユニットと前記加算機とを接続する内部通信回線と、を備えることを特徴とする。
【００２０】
上記構成によれば、複数のコンポーネントを直列に接続する際に、一方のコンポーネントの内部通信回線又は駆動ユニットを、他方のコンポーネントの加算機に接続することにより、通信回線において加算機同士を接続する部分に駆動ユニットがそれぞれ接続された状態を形成することができる。このため、通信回線の上流側の端部をコントローラに接続することにより、第１の発明と同様の生産機器システムを形成することができる。したがって、複数のコンポーネントを組み合わせることにより、生産機器システムを容易に形成することができる。
【図面の簡単な説明】
【００２１】
【図１】ロボットシステムの概要を示す模式図。
【図２】コマンドデータの構造を示す図。
【図３】コマンドデータ処理の手順を示すフローチャート。
【図４】ロボットシステムの変形例の概要を示す模式図。
【図５】ロボットシステムの他の変形例の概要を示す模式図。
【発明を実施するための形態】
【００２２】
（第１実施形態）
以下、一実施形態について、図面を参照しつつ説明する。本実施形態は、機械組立工場等において、機械等の組み立てを行うロボットシステムとして具体化している。
【００２３】
図１は、ロボットシステムの概要を示す模式図である。同図に示すように、ロボットシステム１０（生産機器システム）は、コントローラ２０と、複数のコンポーネント３０とを備えている。複数のコンポーネント３０は、同一の構成を備えており、互いに直列に接続されている。すなわち、各コンポーネント３０は、上流側のコンポーネント３０と、下流側のコンポーネント３０とに、それぞれ接続されている。詳しくは、複数のコンポーネント３０において、コントローラ２０に対して最も上流側に配置されたコンポーネント３０Ａは、入力通信回線２１によりコントローラ２０と接続されている。
【００２４】
コンポーネント３０は、ロボットシステム１０の一部を構成する要素であり、複数のコンポーネント３０の組み合わせにより、ロボットシステム１０が形成されている。すなわち、ロボットシステム１０では、コンポーネント３０を自由に付け加えたり、取り外したりすることができる。各コンポーネント３０は、回転軸ユニット４０、インクリメント機５０、内部通信回線６１，６５、分岐通信回線６２、入力コネクタ６３、及び出力コネクタ６４を備えている。
【００２５】
各回転軸ユニット４０（駆動ユニット）は、ロボットシステム１０において、各軸の駆動及び制動を行うものである。各回転軸ユニット４０は、各軸において前段部材に設けられており、後段部材をそれぞれ回転動作させる。各回転軸ユニット４０は、モータ４１、エンコーダ４２、及びブレーキ（図示せず）を備えている。
【００２６】
モータ４１は、サーボモータからなり、正逆両方向の回転が可能であり、原点位置を基準として駆動軸を回転させる。エンコーダ４２は、モータ４１の駆動軸の回転位置に応じたパルス信号を出力する。エンコーダ４２は、所定パターンに形成された回転子の回転を磁気的又は光学的に検出する検出素子、その検出素子の信号を処理するＩＣ、入出力ポート等を備え、情報の送受信機能を有している。そして、エンコーダ４２は、コントローラ２０からのコマンドデータ（指令）に基づいて、検出素子による検出信号をコントローラ２０へ送信する。本実施形態では、エンコーダ４２は、コントローラ２０から、コード内に含まれる識別コード（ＩＤ）を設定させるＩＤ設定コマンド（設定指令）を受信した場合に、そのＩＤを自己のＩＤとして設定する。上記ブレーキは、非励磁作動型の電磁ブレーキであり、モータ４１の駆動軸を制動する。ブレーキは、ばねの弾性力に基づき駆動軸の制動を行い、励磁コイルへの電力供給に基づき駆動軸の制動を解除する。モータ４１、エンコーダ４２、及びブレーキは、回転軸ユニット４０として一体化されている。
【００２７】
インクリメント機５０（加算機）は、内部通信回線６１により入力コネクタ６３と接続されている。また、インクリメント機５０は、内部通信回線６５により出力コネクタ６４と接続されている。入力コネクタ６３と出力コネクタ６４とは接続可能となっており、一方のコンポーネント３０の入力コネクタ６３と、他方のコンポーネント３０の出力コネクタ６４とが接続されている。すなわち、各コンポーネント３０は、入力コネクタ６３及び出力コネクタ６４により、機械的及び電気的に直列に接続されている。そして、各コンポーネント３０のインクリメント機５０は、内部通信回線６１，入力コネクタ６３、及び内部通信回線６５，出力コネクタ６４により、互いに直列に接続されている。
【００２８】
インクリメント機５０同士を接続する部分である各内部通信回線６１からは、分岐通信回線６２がそれぞれ分岐している。各分岐通信回線６２の先には、上記回転軸ユニット４０のエンコーダ４２がそれぞれ接続されている。また、最も上流側に配置されたコンポーネント３０Ａの内部通信回線６１は、入力通信回線２１によりコントローラ２０と接続されている。すなわち、コンポーネント３０Ａの回転軸ユニット４０及びインクリメント機５０は、コントローラ２０と接続されている。インクリメント機５０は、ＣＰＵ、入出力ポート等を備えており、情報処理機能を有している。そして、インクリメント機５０は、コントローラ２０からのコマンドデータ（コード）に基づいて、コード内に含まれるＩＤをインクリメントする処理（ＩＤに所定値を加算する処理）、及びコマンドデータを通過させる処理を実行する。なお、インクリメント機５０を、ＦＰＧＡ（Field Programmable Gate Array）等で構成することもできる。
【００２９】
コントローラ２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、駆動回路、位置検出回路、入出力ポート等を備えている。ＲＯＭは、ロボットシステム１０のシステムプログラムや動作プログラム等を記憶している。ＲＡＭは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、各エンコーダ４２の検出信号がそれぞれ入力される。位置検出回路は、各エンコーダ４２の検出信号に基づいて、各軸に設けられたモータ４１の回転角度を検出する。そして、ＣＰＵは、動作プログラムを実行することにより、位置検出回路から入力される位置情報に基づいて、ロボットシステム１０の各軸の回転角度を目標回転角度にフィードバック制御する。本実施形態では、コントローラ２０は、電源がＯＮにされて起動される時に、コマンドデータ内に含まれるＩＤを、回転軸ユニット４０のエンコーダ４２に、自己のＩＤとして設定させるＩＤ設定コマンドを送信する。
【００３０】
図２は、コントローラ２０が送信するコマンドデータ（コード）の構造を示す図である。同図に示すように、コマンドデータは、スタートビット、エンコーダアドレス（ＥＡ）、コマンドコード（ＣＣ）、ＣＲＣコード、及びストップビットを備えている。スタートビットは、コマンドデータの開始を示すものであり、常に０に設定されている。そして、受信側では、スタートビットの０を確認すると、その時点でタイミングをリセットして、一定の間隔でデータ取り込み処理を開始する。エンコーダアドレスは、各エンコーダ４２に設定するＩＤを示すものであり、３ビット（複数ビット）で構成されている。コマンドコードは、受信側に実行させるコマンドを示すものであり、５ビット（複数ビット）で構成されている。ＣＲＣコードは、検査用のデータであり、３ビット（複数ビット）で構成されている。ストップビットは、コマンドデータの終了を示すものであり、常に１に設定されている。
【００３１】
次に、コントローラ２０又は上流側のインクリメント機５０からのコマンドデータに基づいて、各インクリメント機５０が実行するコマンドデータ処理の手順を説明する。
【００３２】
図３は、コマンドデータ処理の手順を示すフローチャートである。なお、この一連の処理は、各インクリメント機５０により、所定の周期で繰り返し実行される。所定の周期は、コントローラ２０の制御周期（例えば８ｍｓ）よりも短い周期であり、例えば２ｍｓに設定されている。
【００３３】
まず、上流側からコマンドデータを受信する（Ｓ１１）。具体的には、最も上流側に接続されたコンポーネント３０Ａのインクリメント機５０であれば、コントローラ２０から送信されるコマンドデータを受信する。詳しくは、コマンドデータは、入力通信回線２１及び内部通信回線６１を通じて、インクリメント機５０へ送信される。また、コンポーネント３０Ａ以外のコンポーネント３０のインクリメント機５０であれば、上流側に接続されたコンポーネント３０から送信されるデータコマンドを受信する。詳しくは、コマンドデータは、上流側のコンポーネント３０の内部通信回線６５及び出力コネクタ６４、自己のコンポーネント３０の入力コネクタ６３及び内部通信回線６１を通じて、インクリメント機５０へ送信される。
【００３４】
続いて、コマンドデータをそのまま通過させることを示す通過フラグが、ＯＮになっているか否か判定する（Ｓ１２）。通過フラグがＯＮになっている場合は、コマンドデータの内容を判定することなく（判定を省略して）、コマンドデータがインクリメント機５０を素通りするようにすることを示している。通過フラグがＯＦＦになっている場合は、以降の処理によりコマンドデータの内容を判定することを示している。なお、上流側から受信したコマンドデータがＩＤ設定指令か否かの判定に時間を要すると、ＩＤ設定コマンド以外の通常の指令がコントローラ２０からエンコーダ４２へ送信される際に、エンコーダ４２の動作が遅延するおそれがある。
【００３５】
上記判定において、通過フラグがＯＮになっていると判定した場合には（Ｓ１２：ＹＥＳ）、コマンドデータをそのまま通過させる（Ｓ１７）。具体的には、受信したコマンドデータと同一のコマンドデータを、下流側に接続されたコンポーネント３０へ送信する（通過処理）。詳しくは、コマンドデータは、自己のコンポーネント３０の内部通信回線６５及び出力コネクタ６４、下流側のコンポーネント３０の入力コネクタ６３を通じて、下流側のコンポーネント３０の内部通信回線６１へ送信される。そして、下流側のコンポーネント３０において、コマンドデータは、内部通信回線６１及び分岐通信回線６２を通じて回転軸ユニット４０のエンコーダ４２へ送信され、内部通信回線６１を通じてインクリメント機５０へ送信される。その後、この一連の処理を一旦終了する（ＥＮＤ）。
【００３６】
一方、上記判定において、通過フラグがＯＮになっていないと判定した場合には（Ｓ１２：ＮＯ）、コマンドデータ中のコマンドコードがＩＤ設定コマンドのコードであるか否か判定する（Ｓ１３）。この判定において、コマンドデータ中のコマンドコードがＩＤ設定コマンドのコードでないと判定した場合には（Ｓ１３：ＮＯ）、上記のように、コマンドデータをそのまま通過させる（Ｓ１７）。その後、この一連の処理を一旦終了する（ＥＮＤ）。
【００３７】
これに対して、コマンドデータ中のコマンドコードがＩＤ設定コマンドのコードであると判定した場合には（Ｓ１３：ＹＥＳ）、コマンドデータ中のエンコーダアドレス（ＩＤ）を、インクリメントする（１加算したエンコーダアドレスとする）（Ｓ１４）。
【００３８】
続いて、下流側に接続されたコンポーネント３０へ、エンコーダアドレスがインクリメントされた上記コマンドデータ（ＩＤ設定コマンド）を送信する（Ｓ１５）。上述したように、コマンドデータは、下流側のコンポーネント３０における回転軸ユニット４０のエンコーダ４２、及びインクリメント機５０へ送信される。
【００３９】
続いて、通過フラグをＯＮに設定する（Ｓ１６）。すなわち、コマンドデータ中のＩＤをインクリメントし（Ｓ１４）、下流側に接続されたコンポーネント３０へ、ＩＤがインクリメントされたコマンドデータを送信したこと（Ｓ１５）を条件として、通過フラグをＯＮに設定する（Ｓ１６）。なお、この通過フラグは、コントローラ２０の電源がＯＦＦにされるまでＯＮに維持され、コントローラ２０の電源がＯＦＦにされた場合にＯＦＦにされる。すなわち、上述した通過処理（Ｓ１７）は、コントローラ２０が停止されるまで有効とされ、コントローラ２０が停止された場合に無効とされる。その後、この一連の処理を一旦終了する（ＥＮＤ）。
【００４０】
次に、図１を参照して、コントローラ２０の起動時に、各コンポーネント３０の回転軸ユニット４０のエンコーダ４２に、それぞれＩＤを設定する態様を説明する。このとき、各コンポーネント３０のインクリメント機５０では、上記コマンドデータ処理が実行される。なお、ロボットシステム１０では、コントローラ２０の起動に先立って、コンポーネント３０の組み替え（増減）が行われる。
【００４１】
まず、コントローラ２０は、電源がＯＮにされた時に、最も上流側に接続されたコンポーネント３０Ａに、コマンドコードがＩＤ設定コマンドのコードであるコマンドデータ（ＩＤ設定コマンド）を送信する。このＩＤ設定コマンドは、コマンドデータ内に含まれるエンコーダアドレス（ＩＤ）を、回転軸ユニット４０のエンコーダ４２に、自己のＩＤとして設定させるコマンドである。ここでは、コンポーネント３０Ａのエンコーダ４２に設定するＩＤとして、ＩＤ＝１が設定されている。
【００４２】
コンポーネント３０Ａでは、入力通信回線２１、内部通信回線６１、及び分岐通信回線６２を通じて、回転軸ユニット４０のエンコーダ４２が上記ＩＤ設定コマンドを受信する。そして、エンコーダ４２は、コマンドデータ内に含まれるＩＤ＝１を自己のＩＤとして設定する。
【００４３】
また、コンポーネント３０Ａでは、入力通信回線２１及び内部通信回線６１を通じて、インクリメント機５０がＩＤ設定コマンドを受信する。インクリメント機５０では、通過フラグがＯＦＦとなっており、コマンドデータ中のコマンドコードがＩＤ設定コマンドのコードであると判定する。このため、インクリメント機５０は、コマンドデータ中のＩＤをインクリメントし（ＩＤ＝２とし）、下流側に接続されたコンポーネント３０Ｂへ、ＩＤがインクリメントされたコマンドデータ（ＩＤ設定コマンド）を送信する。続いて、インクリメント機５０は、通過フラグをＯＮに設定する。
【００４４】
上記コマンドデータは、コンポーネント３０Ａの内部通信回線６５及び出力コネクタ６４、コンポーネント３０Ｂの入力コネクタ６３を通じて、コンポーネント３０Ｂの内部通信回線６１へ送信される。そして、コンポーネント３０Ｂにおいて、コマンドデータは、内部通信回線６１及び分岐通信回線６２を通じて回転軸ユニット４０のエンコーダ４２へ送信され、内部通信回線６１を通じてインクリメント機５０へ送信される。
【００４５】
したがって、コンポーネント３０Ａと同様にして、コンポーネント３０Ｂのエンコーダ４２によりコマンドデータ（ＩＤ設定コマンド）が受信される。そして、エンコーダ４２は、コマンドデータ内に含まれるＩＤ＝２を自己のＩＤとして設定する。また、コンポーネント３０Ｂでは、インクリメント機５０がＩＤ設定コマンドを受信し、コマンドデータ中のＩＤをインクリメントし（ＩＤ＝３とし）、下流側に接続されたコンポーネント３０Ｃへ、ＩＤがインクリメントされたコマンドデータ（ＩＤ設定コマンド）を送信する。続いて、インクリメント機５０は、通過フラグをＯＮに設定する。
【００４６】
このようにして、コマンドデータ中のＩＤが順次インクリメントされて、下流側のコンポーネント３０へ送信される。その結果、直列に接続された全てのコンポーネント３０において、回転軸ユニット４０のエンコーダ４２にそれぞれＩＤが設定される。
【００４７】
全てのコンポーネント３０のエンコーダ４２にそれぞれＩＤが設定された後、コントローラ２０から、制御対象とするエンコーダ４２のＩＤを特定して通常のコマンドが送信される。この通常のコマンドは、ＩＤ設定コマンド以外のコマンドであり、コマンドデータ中のコマンドコードが、ＩＤ設定コマンドのコード以外のコードとなっている。
【００４８】
各コンポーネント３０のインクリメント機５０では、通過フラグがＯＮとなっているため、インクリメント機５０は、受信したコマンドデータと同一のコマンドデータを、下流側に接続されたコンポーネント３０へ送信する（通過処理）。このようにして、制御対象となるエンコーダ４２まで、通常のコマンドが順次送信される。制御対象となるエンコーダ４２では、通常のコマンドを受信すると、このコマンドが自己に対するコマンドであると判定し、コマンドに応じた制御を実行する。
【００４９】
その後、通過フラグは、コントローラ２０の電源がＯＦＦにされるまでＯＮに維持され、コントローラ２０の電源がＯＦＦにされた場合にＯＦＦにされる。したがって、コントローラ２０の電源がＯＦＦにされるまでは、上記の通過処理が有効とされる。
【００５０】
以上詳述した本実施形態は以下の利点を有する。
【００５１】
・複数のインクリメント機５０が通信回線によりコントローラ２０に直列に接続されており、通信回線においてインクリメント機５０同士を接続する内部通信回線６１に回転軸ユニット４０がそれぞれ接続されている。そして、インクリメント機５０は、上流側からＩＤ設定コマンドを受信した場合に、ＩＤをインクリメントしてＩＤ設定コマンドを下流側へ送信する。このため、ＩＤ設定コマンドが上流側から下流側へ送信される際に、インクリメント機５０を通過する毎にＩＤがインクリメントされて、ＩＤ設定コマンドが各回転軸ユニット４０（エンコーダ４２）へ送信される。したがって、コントローラ２０による一度のＩＤ設定コマンドの送信により、複数の回転軸ユニット４０に、順次インクリメントされたＩＤをそれぞれ設定することができる。その結果、複数の回転軸ユニット４０対して、簡単な処理により短時間でＩＤを設定することができる。
【００５２】
・インクリメント機５０は、ＩＤ設定コマンドを下流側へ送信したことを条件として、上流側から受信したコマンドがＩＤ設定コマンドか否かの判定を省略して、上流側から受信したコマンドをそのまま下流側へ送信する通過処理を実行する。したがって、各回転軸ユニット４０にＩＤが設定された後には、インクリメント機５０がコマンドを受信してからコマンドを送信するまでの時間を短縮することができ、回転軸ユニット４０の動作が遅延することを抑制することができる。特に、ロボットシステム１０では、回転軸ユニット４０の動作遅延はロボットの動作遅延に繋がるため、これを抑制することは非常に重要である。なお、各回転軸ユニット４０を動作させるにあたっては、初めに各回転軸ユニット４０にＩＤを設定する必要があるため、ＩＤを設定するまでのコマンド送信の遅延は問題とならない。
【００５３】
・インクリメント機５０は、コントローラ２０が停止された場合に上記通過処理を無効とするため、コントローラ２０の起動時には通過処理が無効とされている。このため、コントローラ２０の起動時に上記ＩＤ設定コマンドが送信されると、複数の回転軸ユニット４０にＩＤがそれぞれ設定される。したがって、ロボットシステム１０において回転軸ユニット４０の増減が行われた場合であっても、コントローラ２０の起動時に自動的にＩＤの再設定を行うことができる。すなわち、作業者は、各回転軸ユニット４０のＩＤ設定を意識する必要がない。さらに、コントローラ２０が停止されるまで通過処理が有効とされるため、コントローラ２０のコマンドによる回転軸ユニット４０の制御において、回転軸ユニット４０の動作が遅延することを抑制することができる。
【００５４】
・通信回線は、インクリメント機５０同士を接続する内部通信回線６１からそれぞれ分岐しており、分岐した先に回転軸ユニット４０がそれぞれ接続されている。こうした構成によれば、通信回線の分岐する部分から、下流側のインクリメント機５０、及び回転軸ユニット４０の双方へ、コマンドを送信することができる。このため、回転軸ユニット４０を介してインクリメント機５０へコマンドを送信する必要がなく、回転軸ユニット４０の構成を簡素化することができる。
【００５５】
・１つの回転軸ユニット４０と、１つのインクリメント機５０と、内部通信回線６１及び分岐通信回線６２とを含んで、コンポーネント３０が構成されている。こうした構成によれば、複数のコンポーネント３０を組み合わせることにより、ロボットシステム１０を容易に形成することができる。そして、ロボットシステム１０を形成した際に、複数の回転軸ユニット４０対して、簡単な処理により短時間でＩＤを設定することができる。
【００５６】
・各コンポーネント３０において、インクリメント機５０は同一の処理を実行すればよいため、複数のコンポーネント３０に同一のインクリメント機５０を用いることができる。
【００５７】
なお、上記実施形態に限定されず、例えば次のように変形して実施することもできる。上記実施形態と同一の部材については、同一の符号を付することにより説明を省略する。
【００５８】
・上記実施形態では、コンポーネント３０において、内部通信回線６１から分岐通信回線６２が分岐する部分よりも下流側にインクリメント機５０を接続した。しかしながら、図４に示すように、コンポーネント１３０において、内部通信回線１６５から分岐通信回線６２が分岐する部分よりも上流側にインクリメント機５０を接続してもよい。この場合も、上記実施形態と同様の作用効果を奏することができる。
【００５９】
・また、図５に示すように、上記分岐通信回線６２を介さず、各コンポーネント２３０において、インクリメント機５０同士を接続する内部通信回線２６１，２６５，２６６に対して、回転軸ユニット２４０の上流側を内部通信回線２６１に接続し、下流側を内部通信回線２６５に接続する構成を採用することもできる。この場合には、上流側から回転軸ユニット２４０へ送信されるコマンドデータを、エンコーダ２４２とその下流側のインクリメント機５０とへ、同時に送信する通信回線を採用することが望ましい。こうした構成によっても、上記実施形態に準じた作用効果を奏することができる。
【００６０】
・上記実施形態及びその変形例では、コンポーネント３０，１３０が回転軸ユニット４０及びインクリメント機５０を含み、コンポーネント２３０が回転軸ユニット２４０及びインクリメント機５０を含むようにした。しかしながら、回転軸ユニット４０とインクリメント機５０とが別体でありコンポーネントになっていない構成や、回転軸ユニット２４０とインクリメント機５０とが別体でありコンポーネントになっていない構成を採用することもできる。それらの場合であっても、図１，４，５と同様の通信回線回路となるように接続すればよい。
【００６１】
・上記実施形態では、コントローラ２０は、電源がＯＮにされた時にＩＤ設定コマンドを送信するようにしたが、作業者の操作に基づいて、コントローラ２０がＩＤ設定コマンドを送信するようにしてもよい。
【００６２】
・上記実施形態では、インクリメント機５０が、上流側からＩＤ設定コマンドを受信した場合に、ＩＤをインクリメントしてＩＤ設定コマンドを下流側へ送信するようにした。しかしながら、上流側からＩＤ設定コマンドを受信した場合に、ＩＤに所定値を加算してＩＤ設定コマンドを下流側へ送信する加算機を採用することもできる。この場合であっても、コントローラ２０による一度のＩＤ設定コマンドの送信により、複数の回転軸ユニット４０（エンコーダ４２）に、所定値が順次加算されたＩＤをそれぞれ設定することができる。また、上流側からＩＤ設定コマンドを受信した場合に、ＩＤをデクリメントしてＩＤ設定コマンドを下流側へ送信するようにすることもできる。
【００６３】
・上記実施形態及びその変形例では、ロボットシステム１０，１１０，２１０が、それぞれ同一のコンポーネント３０，１３０，２３０を複数備えるようにしたが、複数の異なるコンポーネントを備えるようにしてもよい。例えば、複数のコンポーネントにおいて、回転軸ユニットが互いに異なっていてもよい。また、回転軸ユニットに代えて、駆動軸が軸線方向へ駆動される直動軸ユニット（駆動ユニット）を備えるようにしてもよい。
【符号の説明】
【００６４】
１０，１１０，２１０…ロボットシステム（生産機器システム）、２０…コントローラ、３０，１３０，２３０…コンポーネント、４０，２４０…回転軸ユニット（駆動ユニット）、５０…インクリメント機（加算機）、６２…分岐通信回線（通信回線）、６１，６５，１６１，１６５，２６１，２６５，２６６…内部通信回線（通信回線）。
【図１】
2012195900.tif 000003
【図２】
2012195900.tif 000004
【図３】
2012195900.tif 000005
【図４】
2012195900.tif 000006
【図５】
2012195900.tif 000007