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