(57)【特許請求の範囲】
【請求項１】
制御装置と１つまたは複数の制御対象装置とがネットワークを介して接続される通信制御システムであって、
前記複数の制御対象装置の少なくとも一つは、互いに同期制御されるべきサブマスターおよびサブスレーブを有し、
前記制御装置は、
前記制御対象装置との同期を取るための期間である同期周期、当該同期周期の１周期中に複数設けられた期間である通信周期、および前記サブマスターおよび前記サブスレーブが前記同期周期より小さい相互通信周期で相互に通信するための相互通信制御情報、それぞれの情報を記憶する記憶手段と、
前記制御対象装置に対して同期して動作するように指令するための制御指令を当該制御対象装置ごとに演算する演算手段と、
前記少なくとも一つの制御対象装置の前記サブマスターおよび前記サブスレーブに、前記相互通信制御情報を含む前記制御指令を送信する通信制御手段と、を備える
通信制御システム。
【請求項２】
請求項１に記載の通信制御システムであって、
前記サブマスターと前記サブスレーブ間の相互通信で、前記サブマスターと前記サブスレーブ間の動作補正を行う場合、前記サブマスターを基準として、前記サブスレーブが自身の動作の調整をする、通信制御システム。
【請求項３】
請求項１または２に記載の通信制御システムであって、
前記同期周期が前記相互通信周期の倍数であり、前記同期周期は１０ｍｓｅｃ以下であり、前記相互通信周期は５００μｓｅｃ以下であり、前記同期周期と前記相互通信周期の比率が２０以上である、通信制御システム。
【請求項４】
請求項１から３のいずれか１項に記載の通信制御システムであって、
前記サブマスターの制御方式は位置制御であり、前記サブスレーブは位置制御またはトルク制御のどちらかの選択が可能である、通信制御システム。
【請求項５】
制御装置と１つまたは複数の制御対象装置との間で通信を行い同期させる通信制御方法であって、前記複数の制御対象装置の少なくとも一つは、互いに同期制御されるべきサブマスターおよびサブスレーブを有し、
前記制御対象装置との同期を取るための期間である同期周期、当該同期周期の１周期中に複数設けられた期間である通信周期、および前記サブマスターおよび前記サブスレーブが前記同期周期より小さい相互通信周期で相互に通信するための相互通信制御情報、それぞれの情報を記憶するステップと、
前記制御対象装置に対して同期して動作するように指令するための制御指令を当該制御対象装置ごとに演算するステップと、
前記少なくとも一つの制御対象装置の前記サブマスターおよび前記サブスレーブに、前記相互通信制御情報を含む前記制御指令を送信するステップと、
を含む通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システム及び通信制御方法に関する。
【背景技術】
【０００２】
例えば溶接に用いられる産業用ロボットは、溶接電源、ポジショナ、スライダといった周辺の装置と時刻同期して動作するのが一般的である。同期させる方法としては、例えば、ＲＳ−２３２Ｃ、ＲＳ−４８５、ＲＳ−４２２、Ｅｔｈｅｒｎｅｔ（登録商標）、ＣＡＮ（Controller Area Network）（登録商標）などを用いたネットワークを介して通信制御する方法が用いられる。
【０００３】
装置間で同期を取るための従来技術として、例えば、特許文献１には、ネットワークを介して、ひとつまたは複数の制御装置と通信する通信制御装置において、任意の時刻で送信要求を発生する非定周期送信部と、定周期で送信要求を発生する定周期送信部と、非定周期送信部と定周期送信部の送信データをネットワークと通信する通信部と、定周期送信部の送信内容を通信部に伝送し、送信要求のある非定周期送信部通信処理に要する通信処理時間を演算し、定周期送信部の定周期の残り時間を求め、通信処理時間と定周期の残り時間とを比較して、非定周期送信部の送信内容を通信部に伝送するスケジュール部とを有することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１７００３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の装置を同期して動作させるためには、通常、装置間でデータの送受信が行われるが、例えば、関節が多い多軸の産業用ロボットを使用したり、同期させる装置の数が増えたりすることにより、同期のために送受信するデータの容量が増加してしまう場合がある。ただし、１回の通信で送受信可能なデータ容量には制限があるのが一般的である。そのため、同期のために送受信するデータ容量が増加したために、１回の同期通信ではデータの送受信が行えず、各装置間で正常に同期が行われない場合があった。なお、特許文献１の技術は、同期のために送受信するデータが大容量になった場合のものではない。
【０００６】
そして、複数の装置の中には、ポジショナやスライダのように、装置の中で複数の駆動軸（例えば２軸）を有するものがあり、当該装置の駆動軸の間での同期を確保することも重要である。しかしながら、上述した様に装置間での同期のためのデータ容量が増加する状況では、装置内の複数の駆動軸の間での同期制御の精度を向上させることは難しい。
【０００７】
本発明の目的は、複数の装置を同期して動作させつつ、装置内での駆動軸の同期の精度も確保することを可能にすることにある。
【課題を解決するための手段】
【０００８】
本発明は、制御装置と１つまたは複数の制御対象装置とがネットワークを介して接続される通信制御システムであって、前記複数の制御対象装置の少なくとも一つは、互いに同期制御されるべきサブマスターおよびサブスレーブを有し、前記制御装置は、前記制御対象装置との同期を取るための期間である同期周期、当該同期周期の１周期中に複数設けられた期間である通信周期、および前記サブマスターおよび前記サブスレーブが前記同期周期より小さい相互通信周期で相互に通信するための相互通信制御情報、それぞれの情報を記憶する記憶手段と、前記制御対象装置に対して同期して動作するように指令するための制御指令を当該制御対象装置ごとに演算する演算手段と、前記少なくとも一つの制御対象装置の前記サブマスターおよび前記サブスレーブに、前記相互通信制御情報を含む前記制御指令を送信する通信制御手段と、を備える。
【０００９】
本発明の一実施態様として、例えば前記サブマスターと前記サブスレーブ間の相互通信で、前記サブマスターと前記サブスレーブ間の動作補正を行う場合、前記サブマスターを基準として、前記サブスレーブが自身の動作の調整をする。
【００１０】
本発明の一実施態様として、例えば前記同期周期が前記相互通信周期の倍数であり、前記同期周期は１０ｍｓｅｃ以下であり、前記相互通信周期は５００μｓｅｃ以下であり、前記同期周期と前記相互通信周期の比率が２０以上である。
【００１１】
本発明の一実施態様として、例えば前記サブマスターの制御方式は位置制御であり、前記サブスレーブは位置制御またはトルク制御のどちらかの選択が可能である。
【００１２】
本発明は、制御装置と１つまたは複数の制御対象装置との間で通信を行い同期させる通信制御方法であって、前記複数の制御対象装置の少なくとも一つは、互いに同期制御されるべきサブマスターおよびサブスレーブを有し、前記制御対象装置との同期を取るための期間である同期周期、当該同期周期の１周期中に複数設けられた期間である通信周期、および前記サブマスターおよび前記サブスレーブが前記同期周期より小さい相互通信周期で相互に通信するための相互通信制御情報、それぞれの情報を記憶するステップと、前記制御対象装置に対して同期して動作するように指令するための制御指令を当該制御対象装置ごとに演算するステップと、前記少なくとも一つの制御対象装置の前記サブマスターおよび前記サブスレーブに、前記相互通信制御情報を含む前記制御指令を送信するステップと、を含む。
【発明の効果】
【００１３】
本発明によれば、複数の装置を同期して動作させつつ、複数の駆動軸を有する装置に関し、装置内での駆動軸をも同期して動作させることを可能にすることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態に係る溶接システムの概略構成の一例を示す図である。
【図２】本実施の形態に係る制御装置の機能構成例を示したブロック図である。
【図３】制御装置のハードウェア構成例を示す図である。
【図４】溶接システムにおいて行われる通信の処理手順の一例を示すフローチャートである。
【図５】定期通信にて制御装置が各スレーブ装置に送信する制御指令フレームの一例を説明するための図である。
【図６】定期通信にて制御装置が各スレーブ装置に送信する制御指令フレームの一例を説明するための図である。
【図７】ポジショナ、スライダの具体例の斜視図を示し、（ａ）はポジショナの一例を示し、（ｂ）はスライダの一例を示す図である。
【図８】サブマスターとサブスレーブの間の相互通信の例を示すシーケンス図である。
【図９】定期通信にて制御装置が各スレーブ装置に送信する制御指令フレームおよび相互通信フレームの一例を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
＜システム構成＞
まず、本実施の形態に係る溶接システム１について説明する。図１は、本実施の形態に係る溶接システム１の概略構成の一例を示す図である。
【００１６】
図１に示すように、本実施の形態に係る溶接システム１は、制御装置１０と、溶接ロボット２１と、溶接電源２２と、ポジショナ２３と、スライダ２４と、デジタル入力装置２５と、デジタル出力装置２６とを備えている。ここで、制御装置１０はマスター、その他の溶接ロボット２１、溶接電源２２、ポジショナ２３、スライダ２４、デジタル入力装置２５、デジタル出力装置２６はスレーブとして機能する。そして、溶接システム１は、マスターから送信されたフレームが順番に全てのスレーブを通過していき、折り返して再びマスターへ戻ることにより、マスター及びスレーブを同期して動作させるように構成される。
【００１７】
以下では、溶接ロボット２１、溶接電源２２、ポジショナ２３、スライダ２４、デジタル入力装置２５、デジタル出力装置２６を区別する必要がない場合には、スレーブ装置２０と称する場合がある。また、本実施の形態では、制御対象装置の一例として、スレーブ装置２０が用いられる。そして、制御装置１０とスレーブ装置２０がネットワークにより接続されて、通信制御方法を実施する通信制御システムが構築される。
【００１８】
また、本実施の形態では、ネットワークにおいて有線による通信が行われ、通信方式にはＥｔｈｅｒＣＡＴ（登録商標）を用いるものとして説明するが、このような構成に限られるものではない。本実施の形態において、通信方式の種類はＥｔｈｅｒＣＡＴに限られず、また有線による通信でも無線による通信でも良いものとする。
【００１９】
制御装置１０は、溶接システム１における処理を制御する装置であり、各スレーブ装置２０に対して同期して動作するように指令するための制御指令を生成する。ここで、制御装置１０は、スレーブ装置２０ごとに制御指令を生成し、生成した制御指令をフレームに格納して、各スレーブ装置２０に送信する。即ち、制御装置１０がスレーブ装置２０の制御指令として送信するフレーム（以下、制御指令フレームと称する）の中には、例えば、溶接ロボット２１用の制御指令のデータや、溶接電源２２用の制御指令のデータなどが格納される。
【００２０】
また、制御装置１０が制御指令フレームを送信するにあたり、制御装置１０とスレーブ装置２０との間で同期を取るための期間（以下、同期周期と称する）が予め定められている。また、同期周期をさらに分割した期間である通信周期も予め定められている。即ち、同期周期の１周期中に、同期周期よりも短い通信周期が複数設けられており、同期周期は、２つの通信周期以上の長さを有している。
【００２１】
ここで、溶接システム１にて同期して動作させるために送受信されるフレームのフォーマットは、例えばＥｔｈｅｒＣＡＴのような通信方式にて定められており、１回で送受信可能なフレームの最大容量（例えば、１５００ｂｙｔｅ）も決まっている。そのため、最大容量を超えたバイト数の制御指令フレームが送信されても、例えば受信側の装置にて破棄されて、データの送受信が正常に行われない。本実施の形態においても、制御装置１０は、全てのスレーブ装置２０用の制御指令を１つの制御指令フレームに格納しようとすると、定められたフレームの最大容量を超えてしまう。
【００２２】
そこで、制御装置１０は、全てのスレーブ装置２０用の制御指令を１つの通信周期に集中させて１回で送信するのではなく、フレームの最大容量に収まるように、同期周期の中で複数設けられた通信周期のそれぞれに各スレーブ装置２０用の制御指令を分散させる。
そして、制御装置１０は、通信周期ごとに制御指令フレームを生成して送信する。
【００２３】
例えば、同期周期内での１つ目の通信周期において、制御装置１０は、溶接ロボット２１用の制御指令のデータ、溶接電源２２用の制御指令のデータ、デジタル出力装置２６用の制御指令のデータを制御指令フレームに格納して送信する。次に、例えば、同期周期内での２つ目の通信周期において、制御装置１０は、溶接ロボット２１用の制御指令のデータ、溶接電源２２用の制御指令のデータ、ポジショナ２３用の制御指令のデータ、スライダ２４用の制御指令のデータを制御指令フレームに格納して送信する。ただし、制御装置１０は全てのスレーブ装置２０との間で同期を取るため、それぞれのスレーブ装置２０用の制御指令は、同期周期中に複数設けられた通信周期のうち少なくとも１つの通信周期に割り当てて送信される。
【００２４】
また、制御装置１０は、同期周期ごとに、各スレーブ装置２０に対して同期のタイミングを知らせるためのクロック信号を送信する。制御装置１０は、このようなクロック信号及び制御指令フレームを送信する処理を同期周期ごとに繰り返し実行して、各スレーブ装置２０との間で同期を取る制御を行う。
【００２５】
次に、各スレーブ装置２０について説明する。
溶接ロボット２１は、複数の関節を有する腕（アーム）を備え、溶接に関する各種作業を行う。また、溶接ロボット２１の腕の先端には、ワークに対する溶接作業を行うための溶接トーチが設けられる。
【００２６】
溶接電源２２は、溶接ロボット２１の溶接トーチに保持された電極（例えば、溶接ワイヤ）に電力を供給する。溶接電源２２が電力を供給することにより、溶接ロボット２１に設けられた溶接トーチの電極にてアークが発生する。
【００２７】
ポジショナ２３は、ワークの位置を調節する。
スライダ２４は、溶接ロボット２１の下に配置され、溶接ロボット２１を移動させる。
デジタル入力装置２５は、例えば、キーボード、タッチパネルディスプレイであり、外部からデジタルデータの入力を受け付ける。
デジタル出力装置２６は、例えば、ディスプレイを有する表示装置であり、デジタルデータを外部に出力する。
【００２８】
そして、各スレーブ装置２０は、自身宛ての制御指令のデータ（以下、制御装置１０が生成した制御指令のデータをコマンドデータと称する）が格納された制御指令フレームを受信すると、制御指令フレームの中から自身宛てのコマンドデータを取得する。また、各スレーブ装置２０は、クロック信号の受信間隔を同期周期として、クロック信号を受信したタイミングごとに、１つの同期周期内で取得済みのコマンドデータの制御指令を反映させて動作を実行する。
【００２９】
また、各スレーブ装置２０は、自身宛てのコマンドデータが格納された制御指令フレームを受信すると、受信した時点における動作状況（即ち、受信した時点における制御指令の実行結果）をフィードバックする内容のデータを生成する（以下、制御指令の実行結果として生成されるデータをモニタデータと称する）。そして、各スレーブ装置２０は、自身宛てのコマンドデータに代えて、生成したモニタデータを制御指令フレームに格納し、制御装置１０へ送信する。
【００３０】
このようにして、制御指令フレームは、制御装置１０から各スレーブ装置２０に送信され、全てのスレーブ装置２０で受信された後、折り返してまた全てのスレーブ装置２０を通過して最終的に制御装置１０に戻る。そして、制御装置１０は、戻ってきた制御指令フレームに格納されている各スレーブ装置２０のモニタデータを取得する。制御装置１０と各スレーブ装置２０との間でコマンドデータ及びモニタデータがやり取りされて、制御装置１０による同期制御が行われる。
【００３１】
＜制御装置の機能構成＞
次に、本実施の形態に係る制御装置１０の機能構成について説明する。図２は、本実施の形態に係る制御装置１０の機能構成例を示したブロック図である。制御装置１０は、各スレーブ装置２０に対する制御指令を生成して制御指令フレームを出力する制御指令部１１と、同期周期及び通信周期に関する情報を記憶する記憶部１２と、各スレーブ装置２０との間でデータの送受信を行う通信部１３とを備える。
【００３２】
制御指令部１１は、各スレーブ装置２０の動作を指定する指定値を演算してコマンドデータを生成する。そして、制御指令部１１は、生成したコマンドデータを格納した制御指令フレームを、通信部１３を介して各スレーブ装置２０に送信する。また、制御指令部１１は、各スレーブ装置２０を通過して戻ってきた制御指令フレームを通信部１３から受け取り、受け取った制御指令フレームに格納されているモニタデータを取得して、各スレーブ装置２０の処理結果を認識する。さらに、制御指令部１１は、同期周期ごとに、各スレーブ装置２０に対してクロック信号を送信する。
【００３３】
また、制御指令部１１は、各スレーブ装置２０にクロック信号や制御指令フレームを送信する前に、スレーブ装置２０の動作に用いられるパラメータの設定およびパラメータの補正等を行うための指令を各スレーブ装置２０に送信する。ここで送信される指令は、同期周期または通信周期のような一定周期で送信される定期的な指令に対して、不定期に送信される指令であり、同期周期や通信周期の余剰時間を利用して送信される。以下では、このようなスレーブ装置２０のパラメータ設定等のために行われる通信を非定期通信と称し、非定期通信が行われた後の同期周期または通信周期にて行われる通信を定期通信と称することとする。本実施の形態では、演算手段、通信制御手段の一例として、制御指令部１１が用いられる。
【００３４】
記憶部１２は、同期周期及び通信周期に関する情報を定めたデータベース（以下、同期ＤＢと称する）を記憶する。この同期ＤＢには、同期周期及び通信周期の時間の長さ、同期周期の中で各スレーブ装置２０宛てのコマンドデータを送信する通信周期のタイミング、各スレーブ装置２０宛てのコマンドデータが格納される制御指令フレーム内の位置などの情報が記憶される。この同期ＤＢの情報は、制御指令部１１が定期通信でクロック信号及び制御指令フレームを送信する際に用いられる。本実施の形態では、記憶手段の一例として、記憶部１２が用いられる。
【００３５】
通信部１３は、定期通信及び非定期通信においてデータの送受信を行う。例えば、定期通信において、通信部１３は、制御指令部１１が生成した制御指令フレームを、制御装置１０から各スレーブ装置２０に送信する。また、通信部１３は、各スレーブ装置２０を通過して戻ってきた制御指令フレームを受信し、受信した制御指令フレームを制御指令部１１に出力する。
【００３６】
＜制御装置のハードウェア構成＞
次に、制御装置１０のハードウェア構成について説明する。図３は、制御装置１０のハードウェア構成例を示す図である。
【００３７】
図３に示すように、制御装置１０は、例えば汎用のＰＣ（Personal Computer）等により実現され、ＣＰＵ１０１と、記憶領域であるメインメモリ１０２及び磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１０３とを備える。ここで、ＣＰＵ１０１は、ＯＳ（Operating System）やアプリケーションソフトウェア等の各種プログラムを実行し、制御装置１０の各機能を実現する。また、メインメモリ１０２は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域であり、ＨＤＤ１０３は、各種プログラムに対する入力データや各種プログラムからの出力データ等を記憶する記憶領域である。
【００３８】
また、制御装置１０は、外部との通信を行うための通信Ｉ／Ｆ１０４と、ビデオメモリやディスプレイ等からなる表示機構１０５と、キーボードやマウス等の入力デバイス１０６と、記憶媒体に対してデータの読み書きを行うためのドライバ１０７とを備える。
【００３９】
そして、例えば、ＣＰＵ１０１がＯＳやアプリケーションソフトウェア等の各種プログラムを実行することにより、制御装置１０における制御指令部１１の機能が実現される。
また、記憶部１２は、例えば、ＨＤＤ１０３により実現される。さらに、通信部１３は、例えば、通信Ｉ／Ｆ１０４により実現される。ただし、図３はハードウェアの構成例に過ぎず、制御装置１０は図示の構成に限定されない。なお、本発明の実施の形態を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【００４０】
＜通信の処理手順＞
次に、溶接システム１において行われる通信の処理手順について説明する。図４は、溶接システム１において行われる通信の処理手順の一例を示すフローチャートである。
【００４１】
まず、作業者が制御装置１０の電源を入れると、制御装置１０の制御指令部１１は、記憶部１２に記憶された同期ＤＢの情報を取得する（ステップ１０１）。次に、制御指令部１１は、溶接システム１内のネットワーク上に存在する各スレーブ装置２０を検出する（ステップ１０２）。ここで、各スレーブ装置２０の検出に際し、予め各スレーブ装置２０のＩＰアドレス等の情報が同期ＤＢ等に記憶されている。そして、制御指令部１１は、ネットワークにデータを送信し、予め定められたＩＰアドレスを有するスレーブ装置２０がネットワーク上にどのような順番で配置されているかを検出する。
【００４２】
次に、制御指令部１１は、検出した各スレーブ装置２０におけるパラメータ設定及びパラメータの補正を行うために、通信部１３を介して各スレーブ装置２０に非定期通信の指令を送信する（ステップ１０３）。非定期通信の指令により各スレーブ装置２０のパラメータ設定及び補正が行われた後、制御指令部１１は、定期通信を開始する（ステップ１０４）。
【００４３】
定期通信において、制御指令部１１は、ステップ１０１で取得した同期ＤＢの情報をもとに、同期周期ごとにクロック信号を生成し、各スレーブ装置２０に送信する。また、制御指令部１１は、スレーブ装置２０ごとにコマンドデータを生成する。そして、制御指令部１１は、同期ＤＢの情報をもとに、各スレーブ装置２０に対応するコマンドデータのそれぞれを、同期周期中の通信周期の少なくとも１つの通信周期に割り当てて、割り当てたコマンドデータを含む制御指令フレームを通信周期ごとに送信する。
【００４４】
また、制御指令部１１は、全てのスレーブ装置２０を通過して戻ってきた制御指令フレームを受け取り、制御指令フレームに格納されているモニタデータをもとに各スレーブ装置２０の処理結果を認識する。このような制御指令フレームの送受信が通信周期ごとに行われて、１つの同期周期の処理となる。さらに、１つの同期周期の処理が繰り返し実行されて、各スレーブ装置２０が同期して動作するように制御される。
【００４５】
＜定期通信にて送信される制御指令フレームの説明＞
次に、定期通信にて制御装置１０が各スレーブ装置２０に送信する制御指令フレームについて説明する。図５及び図６は、定期通信にて制御装置１０が各スレーブ装置２０に送信する制御指令フレームの一例を説明するための図である。図５及び図６に示す例では、同期周期が５分割され、同期周期中に通信周期が５つ含まれている。また、同期周期が５ｍｓｅｃ、通信周期が１ｍｓｅｃとして予め定められているものとする。
【００４６】
図５に示すように、データ１〜データ６は、スレーブ装置２０宛てのコマンドデータとしてスレーブ装置２０ごとに生成されるデータである。ここで、データ１は溶接ロボット２１用のデータ、データ２は溶接電源２２用のデータ、データ３はポジショナ２３用のデータである。また、データ４はスライダ２４用のデータ、データ５はデジタル入力装置２５用のデータ、データ６はデジタル出力装置２６用のデータである。
【００４７】
そして、制御装置１０は、記憶部１２に記憶された同期ＤＢをもとに、各スレーブ装置２０宛てのデータであるデータ１〜データ６を、各通信周期に割り当てて送信する。図５に示す例では、１つ目の通信周期で、データ１、データ２、データ６が送信される。２つ目の通信周期では、データ１、データ２、データ３、データ４が送信される。３つ目の通信周期では、２つ目の通信周期と同様に、データ１、データ２、データ３、データ４が送信される。４つ目の通信周期では、データ１、データ２、データ５が送信される。最後の５つ目の通信周期では、データ１、データ２が送信される。
【００４８】
付言すると、溶接ロボット２１用のデータ１、溶接電源２２用のデータ２は、５つの通信周期の全てで送受信が行われる。また、ポジショナ２３用のデータ３、スライダ２４用のデータ４は、５つの通信周期のうち２つ目及び３つ目の通信周期で送受信が行われる。
さらに、デジタル入力装置２５用のデータ５は、４つ目の通信周期で送受信が行われ、デジタル出力装置２６用のデータ６は、１つ目の通信周期で送受信が行われる。
【００４９】
具体的には、図６に示すように、定期通信の開始時間を「０ｍｓｅｃ」とすると、送信開始から１ｍｓｅｃ後に、データ１、データ２、データ６を格納した制御指令フレームが送信される。同様に、同じ同期周期内の処理として、送信開始から２ｍｓｅｃ後、送信開始から３ｍｓｅｃ後、送信開始から４ｍｓｅｃ後、送信開始から５ｍｓｅｃ後において、制御指令フレームが送信される。また、送信開始から５ｍｓｅｃ後、５つ目の通信周期にて制御指令フレームの送受信が行われると、１つの同期周期が終了する。そして、次の同期周期が開始する。即ち、送信開始から６ｍｓｅｃ後、次の同期周期の１つ目の通信周期において、データ１、データ２、データ６を格納した制御指令フレームが送信される。
【００５０】
このように、同期して動作するためのデータを各通信周期に割り当てることにより、１回に送受信可能なフレームの最大容量を超えないようにデータの送受信が行われる。また、制御装置１０及び各スレーブ装置２０で同期して動作するためには、各スレーブ装置２０用のデータは、１回の同期周期における複数の通信周期のうちの少なくともいずれか１つの通信周期で送受信されれば良い。即ち、図６に示す例では、データ１〜データ６の各データは、５つに分割された通信周期のうちの少なくともいずれか１つの通信周期で送受信されれば良い。
【００５１】
また、各スレーブ装置２０は、クロック信号を受信したタイミングごとに、１つの同期周期内で取得済みのコマンドデータを反映させて動作するが、取得済みのコマンドデータが複数ある場合には、最後に取得したコマンドデータを反映させる。即ち、スレーブ装置２０は、１つの同期周期内で複数のコマンドデータを受信した場合には、その同期周期の最後に受信したコマンドデータを反映させる。
【００５２】
図６に示す例では、溶接ロボット２１及び溶接電源２２に対して、同期周期内で５つの通信周期の全てでコマンドデータが送信されるため、最後の５つ目の通信周期で送信されたコマンドデータの内容が反映される。即ち、溶接ロボット２１及び溶接電源２２は、１つ目〜４つ目の通信周期でコマンドデータを受信した際には、その時点における動作状況を示すモニタデータを格納して制御装置１０に送信するが、結果的に１つ目〜４つ目の通信周期のコマンドデータは動作の実行には使用されないこととなる。
同様に、ポジショナ２３及びスライダ２４では、同期周期内で２つ目及び３つ目の通信周期にてコマンドデータが送信されるため、３つ目の通信周期で送信されたコマンドデータの内容が反映される。
【００５３】
また、ノイズ等の発生が原因でコマンドデータの送受信が正常に行われなかった場合には、同じ同期周期内で１つ前のコマンドデータが採用される。例えば、溶接ロボット２１において、５つ目の通信周期にてコマンドデータの送受信が正常に行われなかった場合には、１つ前にあたる４つ目の通信周期にて送受信されたコマンドデータの内容が反映される。そのため、１回の同期周期中に２つ以上の通信周期にてコマンドデータの送受信が行われることで、例えば、１回の同期周期中に１つの通信周期のみでコマンドデータの送受信が行われる構成と比較して、コマンドデータを確保し易くなり同期制御の信頼性が向上する。
【００５４】
また、例えば、アーク倣いの安定性向上やタッチセンシングの精度向上などの観点から、同期周期及び通信周期は短いことが好ましい。ここで、アーク倣いとは、溶接作業において、教示された溶接線の軌跡とのずれが生じても、溶接トーチの先端と溶接線との相対位置を一定に保ち、溶接トーチの狙い位置が開先からずれないようにする機能である。また、タッチセンシングとは、ワークと溶接ワイヤとの間に電圧を印加しておき、溶接ワイヤがワークに接触したときに生じる電圧降下の現象を利用することによりワークの位置を検出し、検出したワークの位置をもとに溶接ロボット２１の位置を補正する機能である。
【００５５】
上述したように、図５、図６において、溶接ロボット２１用のデータ１、溶接電源２２用のデータ２は、５つの通信周期の全てで送受信が行われる。一方、ポジショナ２３用のデータ３、スライダ２４用のデータ４は、５つの通信周期のうち２つ目及び３つ目の通信周期のみで送受信が行われる。溶接システム１において、溶接ロボット２１、溶接電源２２の重要性は高いと考えられるため、溶接ロボット２１、溶接電源２２用のデータの送受信回数は、ポジショナ２３、スライダ２４用のデータの送受信回数と比較して高く設定されている。
【００５６】
しかしながら、ポジショナ２３、スライダ２４は、それら自身（装置自身）の中で複数の駆動軸（例えば２軸）を有するものであり、これら複数の駆動軸の間での同期を確保することが、正確な動作を確保するために重要である。
【００５７】
図７はポジショナ２３、スライダ２４の具体例の斜視図を示す。図７（ａ）はポジショナ２３の一例を示す。ポジショナ２３は、ワークＷの位置決めをするため、それぞれ矢印Ａ方向に動く２つの駆動部２３ａ、２３ｂを有する。そして、主となる駆動軸としての主モーターＭ１が駆動部（主駆動部）２３ａを駆動させる。さらに主モーターＭ１に追従する追従モーターＭ２が追従する駆動軸として設けられ、追従モーターＭ２は、駆動部（追従駆動部）２３ｂを駆動させる。
【００５８】
追従する追従モーターＭ２は、主モーターＭ１に対して追従する関係にあるため、主モーターＭ１がマスター、追従モーターＭ２がスレーブとして定義される。ただし、溶接システム１において、制御装置１０がマスター、各スレーブ装置２０がスレーブとして定義されているため、以下、主モーターＭ１をサブマスター、追従モーターＭ２をサブスレーブとして定義する。
【００５９】
このようなポジショナ２３は、柱のように長い構造物であるワークＷを回転する必要があり、ワークＷに捩れが生じないよう、サブマスターである主モーターＭ１と、サブスレーブである追従モーターＭ２ができるだけ正確に同期する必要がある。
【００６０】
図７（ｂ）はスライダ２４の一例を示す。スライダ２４はロボットＲを移動させるため、矢印Ｂ方向に動く２つの駆動部２４ａ、２４ｂを有する。そして、主となる駆動軸としての主モーターＭ１が駆動部（主駆動部）２４ａを駆動させる。さらに主モーターＭ１に追従する追従モーターＭ２が追従する駆動軸として設けられ、追従モーターＭ２は、駆動部（追従駆動部）２４ｂを駆動させる。ここでもポジショナ２３と同様に、主モーターＭ１をサブマスター、追従モーターＭ２をサブスレーブとして定義する。
【００６１】
このようなスライダ２４は門型の構造を呈し、駆動部２４ａ、２４ｂがそれぞれ二つの柱部分に相当しており、スライダ２４自身に捩れが生じないよう、サブマスターである主モーターＭ１と、サブスレーブである追従モーターＭ２ができるだけ正確に同期する必要がある。
【００６２】
従来は、サブマスターの移動位置（回転位置）をエンコーダによりモニタし、モニタに基づくパルス信号の指令をサブスレーブに送り、サブスレーブをサブマスターに同期させる方式が採られていた。しかしながら、このような方式では、サブマスターの動作結果をもとにサブスレーブを動作させるため、動作開始に遅れが生じ、加速・減速時など、運転状況が大きく変わる際に、サブマスターとサブスレーブ間の位置偏差の偏差が大きくなり、同期制御が困難なものとなっていた。また、パルスエンコーダ、当該パルスエンコーダのための特殊なサーボアンプ等、特殊な部品が必要であり、コストなどを増加させる要因となっていた。
【００６３】
そこで、本実施形態では、ポジショナ２３、スライダ２４の、複数の駆動軸の間での相互の通信により同期を確保することにより、容易に高い同期精度を確保することを可能にしている。
【００６４】
前提として、制御指令部１１は、図４のステップ１０３で、検出した各スレーブ装置２０におけるパラメータ設定及びパラメータの補正を行うために、通信部１３を介して各スレーブ装置２０に非定期通信の指令を送信する。ここで、演算手段、通信制御手段としての制御指令部１１は、さらにスレーブ装置２０の中のポジショナ２３、スライダ２４については、他のスレーブ装置に対する非定期通信の指令に加えて、複数の駆動軸、すなわちサブマスターおよびサブスレーブの動作や相互通信に用いられるパラメータの設定、パラメータの補正等を行うための指令をも送信する。
【００６５】
記憶部１２は、同期周期及び通信周期に関する情報に加え、サブマスターおよびサブスレーブが相互に通信する相互通信に関する情報をも記憶する。すなわち、記憶部１２の同期ＤＢには、サブマスターおよびサブスレーブのネットワーク上での位置、サブマスターとサブスレーブの間で相互通信を行うデータ種別（位置データ、トルクデータなど）、相互補正制御の機能のオン・オフの命令や、補正比率パラメータなどの如き、サブマスターとサブスレーブの間で相互通信を行うにあたって、相互通信の各種設定に関する相互通信設定情報が記憶される。この同期ＤＢの情報は、制御指令部１１が定期通信でクロック信号及び制御指令フレームを送信する際に用いられる。本実施の形態では、記憶手段の一例として、記憶部１２が用いられる。
【００６６】
そして、本実施形態では、マスターとしての制御装置１０（演算手段、通信制御手段としての制御指令部１１）は、記憶部１２にて記憶された情報をもとに、ポジショナ２３（またはスライダ２４）への制御指令において、２軸に対応するサブマスター、サブスレーブ各々に対する制御指令の演算をも行う。ポジショナ２３（またはスライダ２４）への指令にサブマスター、サブスレーブ各々に対する指令、すなわち、サブマスター、サブスレーブが目標とすべき目標値、相互通信の各種設定が含まれていると理解してもよい。さらに制御装置１０（演算手段、通信制御手段としての制御指令部１１）は、ポジショナ２３（またはスライダ２４）に対し、相互通信周期で相互通信すべき指令を含む制御指令を送信する。すなわち、この制御指令は、ポジショナ２３（またはスライダ２４）のサブマスター、サブスレーブが相互通信するにあたって必要な相互通信設定情報、目標値などを包括的に含む相互通信制御情報を含む。ポジショナ２３（またはスライダ２４）は、この制御指令を受信し、そのサブマスター、サブスレーブが、相互通信制御情報を参照しながら目標値に向かって、相互通信を行いながら動作する。
【００６７】
相互通信制御情報（相互通信設定情報、目標値などを含む）を含む制御指令（以下、単に「制御指令」と述べる）を受信したポジショナ２３（またはスライダ２４）は、サブマスターおよびサブスレーブ間の相互通信を開始する。ここで、相互通信の周期は、先述した同期周期より小さい。以下、相互通信について、図８を用いて具体的に説明する。相互通信の方式は、例えばＣＡＮ（Controller Area Network）のような従来型の通信方式を採用することができる。
【００６８】
図８は、ポジショナ２３（またはスライダ２４）におけるサブマスターとサブスレーブの間の相互通信の例を示すシーケンス図である。まず、サブマスターおよびサブスレーブは、制御装置（マスター）１０からの制御指令を受信する（ステップ１１およびステップ２１）。
【００６９】
そして、サブマスターが制御指令に基づき動作するとともに（ステップ１２）、サブスレーブも制御指令に基づき動作する（ステップ２２）。そして、サブマスターが動作中の状態をサブスレーブへ送信するとともに（ステップ１３）、サブスレーブが動作中の状態をサブマスターへ送信する（ステップ２３）。
【００７０】
サブマスターは、ステップ２３に対応してサブスレーブの動作中の状態を受信するとともに（ステップ１４）、サブスレーブは、ステップ１３に対応してサブマスターの動作中の状態を受信する（ステップ２４）。そして、サブスレーブは、サブマスターの動作状態にあわせて、自身の動作を補正する（ステップ２５）。サブスレーブはサブマスターの動作状態を基準として自らの動作を制御しており、サブスレーブはサブマスターに追従しているということができる。基本的に、サブマスターは、サブスレーブの動作状態にあわせて、自身の動作を補正することはしない。
【００７１】
サブマスターは、サブスレーブの異常が検出された場合は動作を停止し（ステップ１５）、サブスレーブは、サブマスターの異常が検出された場合は動作を停止する（ステップ２６）。そして、サブマスターおよびサブスレーブは、動作結果を制御装置（マスター）１０へ送信する（ステップ１６およびステップ２７）。以下、ステップ１１およびステップ２１以降の動作が繰り返される。
【００７２】
上述の例では、１つのサブマスターに対１つのサブスレーブが存在する場合について説明したが、１つのサブマスターに対し複数のサブスレーブが存在してもよい。このような場合であっても、サブスレーブがサブマスターの動作に追従することにより、効率的な動作補正が可能となる。すなわち、サブマスターとサブスレーブ間の相互通信で、サブマスターとサブスレーブ間の動作補正を行う場合、サブマスターを基準として、サブスレーブが自身の動作の調整をすることができる。
【００７３】
また、同期周期は、ここでの相互通信の周期（相互通信周期）よりも大きいが、相互通信周期の倍数であってよい。また、同期周期は１０ｍｓｅｃ以下、相互通信周期は５００μｓｅｃ以下であり、同期周期と相互通信周期の比率（同期周期／相互通信周期）は２０以上になるように設定することができる。たとえば、上述の例の様に同期周期が５ｍｓｅｃの場合、相互通信周期を１２５μｓｅｃに設定することができる（同期周期／相互通信周期＝４０）。この条件を満たすことで、サブマスターとサブスレーブ間で相互通信を用いることによるメリットが大きくなる。尚、相互通信周期の値は制御装置１０の記憶部１２に記憶して、通信制御手段（制御指令部１１）が制御指令に含めて送信してもよいが、サブマスター、サブスレーブが独立してメモリなどの記憶装置に記憶しておくのが好ましい。
【００７４】
スレーブ装置の内部では、同期周期（５ｍｓｅｃ）よりも速い周期（１２５μｓｅｃ）である相互通信周期で動作制御を行うため、動作制御中に刻々動作状態が変わっても、高い追従性を確保することができる。追従性の観点からは相互通信周期は小さいほど好ましい。
【００７５】
本実施形態では、同期周期が５ｍｓｅｃ、通信周期が１ｍｓｅｃ、相互通信周期が１２５μｓｅｃに定められている。５ｍｓｅｃの長い同期周期をもって、複数のスレーブ装置が同期制御され、１２５μｓｅｃの極めて小さい相互通信周期をもって、スレーブ装置内のサブマスターとサブスレーブが高速に動作補正され、１ｍｓｅｃのやや短い通信周期をもって、各スレーブ装置の動作結果がモニタされる。
【００７６】
溶接システム１において、サブマスターの制御方式は位置制御に固定し、サブスレーブは位置制御またはトルク制御のどちらかを選択するように設定することができる。位置制御は、サブマスター、サブスレーブの位置（モーターの場合は回転角度）を制御する制御方式であり、トルク制御は、電流の制御によりモーターの発生トルクを制御する方式である。サブマスターの制御方式が位置制御であり、サブスレーブの制御方式も位置制御である場合、両者の位置の偏差の偏差を減少させるような制御がなされる。サブマスターの制御方式が位置制御であり、サブスレーブの制御方式がトルク制御である場合、サブマスターのトルクの指令が、サブスレーブのトルクの指令として伝達される。
【００７７】
また、サブマスターの制御方式は位置制御に固定し、状況（ポジショナ、スライダーにおけるワークの偏荷重、熱による歪等）に従って、サブスレーブの制御方式を位置制御またはトルク制御に切り替えることもできる。
【００７８】
また、サブマスターの制御方式は位置制御または速度制御を用いるようにすることができる。速度制御は、移動速度指令（モーターの場合は回転速度指令）に応じて、無段階にサブマスターの速度を切り替える方式である。サブマスターの制御方式に速度制御を用いる場合、一般的にサブスレーブの制御方式としては、トルク制御が用いられる。
【００７９】
図９は、図６に対応して、本実施形態の定期通信における制御装置が各スレーブ装置に送信する制御指令フレームに対し、サブマスターとサブスレーブ間の相互通信に対応した相互通信フレームがどのような関係にあるかを示す図である。同期周期が５分割され、同期周期中に通信周期が５つ含まれているが、通信周期に相互通信周期が含まれる。また、同期周期が５ｍｓｅｃ、通信周期が１ｍｓｅｃ、相互通信周期が１２５μｓｅｃとして予め定められている。
【００８０】
エンコーダのパルス信号を制御入力として用いる等の従来の方式では、サブマスターが動作後にサブスレーブが追従する制御である。このような制御方式では、サブスレーブの動きに遅れが生ずることとなり、円滑な動作が妨げられ得る。一方本発明では、サブマスターおよびサブスレーブが相互通信により同時にスタートし、動作中に相互に補正する方式であるため、サブスレーブの動きに遅れが生ずることを防止し、より円滑な制御が容易となる。
【００８１】
また、サブマスターとサブスレーブ間の相互通信周期が、スレーブ装置間の同期周期より小さいため、スレーブ装置の高い追従性が確保される。
【００８２】
また、従来の方式では、位置検出用のセンサからの位置フィードバックパルス信号を制御入力信号として使用するため、パルス出力を行うパルスエンコーダという特殊品をもっぱら必要としていたため、コストの増加を招いていた。しかしながら、本発明の採用によりその様な特殊品を採用する必要はなくなり、コストの増加を抑えることができる。
【００８３】
また、本実施の形態では、溶接を行うシステムにて同期制御する場合について説明したが、このような構成に限られるものではない。本実施の形態については、産業用ロボットを含む他のシステムに適用される。
【００８４】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００８５】
１…溶接システム、１０…制御装置、１１…制御指令部、１２…記憶部、１３…通信部、２０…スレーブ装置、２１…溶接ロボット、２２…溶接電源、２３…ポジショナ、２４…スライダ、２５…デジタル入力装置、２６…デジタル出力装置
【図１】
0006594813.tif 000002
【図２】
0006594813.tif 000003
【図３】
0006594813.tif 000004
【図４】
0006594813.tif 000005
【図５】
0006594813.tif 000006
【図６】
0006594813.tif 000007
【図７】
0006594813.tif 000008
【図８】
0006594813.tif 000009
【図９】
0006594813.tif 000010