(57)【要約】【課題】干渉回避や同期制御のような負荷の大きい制御を行いつつも作業のサイクルタイムを短縮できるようにする。【解決手段】コントローラ（１００）は、すべての直交３軸ロボット（Ｍ１〜Ｍ５）の軸に対して制御の優先順位をプログラムの１ステップ毎に設定し、設定した優先順位が高い順に制御周期を短くしてすべての軸の動作を制御する。【選択図】            図１
2004272781.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの１ステップ毎に複数の制御対象の動作を順番に制御する、制御装置が備える制御周期の動的設定装置であって、
すべての制御対象に対して制御の優先順位をステップ毎に設定する優先順位設定手段と、
優先順位に応じた制御周期で前記制御対象の動作を前記ステップ毎に制御する動作制御手段と、
を有することを特徴とする制御周期の動的設定装置。
【請求項２】
前記優先順位設定手段は、
前記プログラムから前記すべての制御対象の移動指令を１ステップずつ入力する移動指令入力手段と、
各ステップの移動指令を参酌し各制御対象に対して制御の優先順位を割り当てる優先順位割当手段と、
を有することを特徴とする請求項１記載の制御周期の動的設定装置。
【請求項３】
前記優先順位割当手段は、
各ステップにおけるすべての制御対象の形状データ、配置データと各ステップにおけるすべての制御対象の移動量データを入力する手段をさらに有し、
各ステップにおけるすべての制御対象の形状データ、配置データと各ステップにおけるすべての制御対象の移動量データをさらに参酌し各制御対象に対して制御の優先順位を割り当てることを特徴とする請求項２記載の制御周期の動的設定装置。
【請求項４】
前記優先順位割当手段は、
各ステップの移動指令、各ステップにおけるすべての制御対象の形状データ、配置データ、各ステップにおけるすべての制御対象の移動量データを参酌することによって、
それぞれの制御対象が「干渉するか」否かを判断する手段と、
それぞれの制御対象が「同時に起動されるものであって相互間の位置ずれ監視が必要か」否かを判断する手段と、
それぞれの制御対象に対して「移動指令があるか」否かを判断する手段と、
「干渉する」と判断されたときには干渉する制御対象の優先順位を２番目に設定し、「干渉する」ものではないが「同時に起動されるものであって相互間の位置ずれ監視が必要」なものであると判断されたときには同時に起動される制御対象の優先順位を１番目に設定し、「干渉する」ものでも「同時に起動されるものであって相互間の位置ずれ監視が必要」なものでもないが「移動指令がある」ものと判断されたときには移動指令のある制御対象の優先順位を３番目に設定し、これら以外の制御対象の優先順位を４番目に設定する手段と、
を有することを特徴とする請求項３記載の制御周期の動的設定装置。
【請求項５】
前記動作制御手段は、
優先順位が相対的に高く設定された制御対象に対してはそれよりも優先順位が低く設定された制御対象より制御周期を短くして前記制御対象の動作を制御することを特徴とする請求項１記載の制御周期の動的設定装置。
【請求項６】
プログラムの１ステップ毎に複数の制御対象の動作を順番に制御する制御周期の動的設定方法であって、
すべての制御対象に対して制御の優先順位をステップ毎に設定する優先順位設定段階と、
優先順位に応じた制御周期で前記制御対象の動作を前記ステップ毎に制御する動作制御段階と、
を含むことを特徴とする制御周期の動的設定方法。
【請求項７】
前記優先順位設定段階は、
前記プログラムから前記すべての制御対象の移動指令を１ステップずつ入力する段階と、
各ステップにおけるすべての制御対象の形状データ、配置データと各ステップにおけるすべての制御対象の移動量データを入力する段階と、
各ステップの移動指令、各ステップにおけるすべての制御対象の形状データ、配置データ、各ステップにおけるすべての制御対象の移動量データを参酌することによって、それぞれの制御対象が「干渉するか」否か、それぞれの制御対象が「同時に起動されるものであって相互間の位置ずれ監視が必要か」否か、それぞれの制御対象に対して「移動指令があるか」否かを判断する段階と、
「干渉する」と判断されたときには干渉する制御対象の優先順位を２番目に設定し、「干渉する」ものではないが「同時に起動されるものであって相互間の位置ずれ監視が必要」なものであると判断されたときには同時に起動される制御対象の優先順位を１番目に設定し、「干渉する」ものでも「同時に起動されるものであって相互間の位置ずれ監視が必要」なものでもないが「移動指令がある」ものと判断されたときには移動指令のある制御対象の優先順位を３番目に設定し、これら以外の制御対象の優先順位を４番目に設定する段階と、
を含むことを特徴とする請求項６記載の制御周期の動的設定方法。
【請求項８】
前記動作制御段階では、
優先順位が相対的に高く設定された制御対象に対してはそれよりも優先順位が低く設定された制御対象より制御周期を短くして前記制御対象の動作を制御することを特徴とする請求項６記載の制御周期の動的設定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、それぞれの制御対象に優先順位を設定しそれぞれの制御対象の動作をその優先順位にしたがって制御する制御周期の動的設定装置および制御周期の動的設定方法に関する。
【０００２】
【従来の技術】
たとえば、自動車のパネルを複数の方向から搬送しそれらのパネルを溶接して車体を製造するステージでは、非常に狭いスペースに非常に多くの軸ユニットが設けてある。それらの軸ユニットは、下記特許文献１にも示されているような構成システムと同様に、ネットワーク回線を介して制御装置に接続され、その動作が制御される。すべての軸ユニットは、プログラムと言われる移動指令で動作するようになっており、そのプログラムは車種ごとに設けてある。
【０００３】
【特許文献１】
特開２００１−２０２３２４号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、上記のような構成のステージでは、非常に狭いスペース内に非常に多くの軸ユニットを設けているため、相互に干渉し合う位置関係にある軸ユニットも多く存在している。相互に干渉する位置関係にある軸ユニットについては、１つのステップで一方の軸ユニットを干渉しない安全な位置まで移動させた後、次のステップで他方の軸ユニットを移動させるといった制御が必要である。したがって、相互に干渉する恐れのある軸ユニットに関しては、１つのステップで同時に移動指令を出すことができず、作業のサイクルタイムが長くなるという問題がある。
【０００５】
また、ネットワーク回線を用いた制御装置の通信は各軸ユニットに対し一定周期で順番に行われる。したがって、その周期の初めの段階で移動指令が出される軸ユニットとその周期の終わりに近い段階で移動指令が出される軸ユニットとではその動作にタイムラグが生じ、緊急停止指令に対して迅速な応答をすることができなかったり、複数の軸ユニットを同期させて動作させることができなかったりするという問題がある。
【０００６】
本発明は、以上のような従来の問題を解消するために成されたものであり、干渉回避や同期制御といったきめ細かい制御を行いつつも作業のサイクルタイムを短縮することができる、制御周期の動的設定装置および制御周期の動的設定方法の提供を目的とする。
【０００７】
【課題を解決するための手段】
上記した課題を解決し、目的を達成するため、本発明では、すべての制御対象に対して制御の優先順位をプログラムの１ステップ毎に設定し、設定した優先順位が高い順に制御周期を短くして制御対象の動作を制御している。
【０００８】
たとえば、相互に干渉する恐れのある制御対象や同期制御の対象となる制御対象は優先順位が高く設定されるようにしてある。このため、これらの制御対象は、他の制御対象よりも短い制御周期で動作が制御される。
【０００９】
したがって、現在の位置情報を頻繁に検出する必要のある制御対象に対してはきめ細かな制御を行うことができ、逆に現在の位置情報を頻繁に検出する必要のない制御対象に対しては無駄な制御を行う必要がなくなる。
【００１０】
【発明の効果】
本発明によれば、すべての制御対象に対して制御の優先順位を設定し、その優先順位に応じて制御周期を変えるようにしたので、１ステップの間に複数の制御対象に移動指令を与えることができるようになり、また、短い時間間隔で制御が要求される制御対象は１ステップの間に何度もその動作が制御でき、逆に長い時間間隔で制御しても差し支えない制御対象は１ステップの間にたとえば１度だけその動作が制御できる。したがって、干渉回避や同期制御といったきめ細かい制御を行いつつも作業のサイクルタイムを短縮することが可能になる。
【００１１】
【発明の実施の形態】
以下に添付図面を参照して、本発明にかかる制御周期の動的設定装置および制御周期の動的設定方法の好適な実施の形態を詳細に説明する。
【００１２】
図１は、本発明にかかる制御周期の動的設定装置を備えた生産システムの概略構成図である。図示される生産システムは５台の直交３軸ロボットＭ１〜Ｍ５を有している。これらの直交３軸ロボットＭ１〜Ｍ５は、相互に直交するＸ，Ｙ，Ｚ軸の各方向に進退自在な軸（制御対象）を備えている。これらの直交３軸ロボットＭ１〜Ｍ５はコントローラ１００に接続されている。直交３軸ロボットＭ１〜Ｍ５のすべての軸はモータによって駆動されるようになっており、これらのモータの動作はコントローラ１００によって制御される。コントローラ１００にはＣＡＤ装置２００も接続されている。ＣＡＤ装置２００は、直交３軸ロボットＭ１〜Ｍ５の形状データ（各軸の形状データを含む）、配置データ（各軸の配置データを含む）を３次元ＣＡＤデータとして記憶している。また、ＣＡＤ装置２００は、コントローラ１００からすべての軸の移動指令、移動量データを入力し、すべての軸相互間の干渉チェックを行う。干渉チェックの結果、相互に干渉する恐れのある軸はコントローラ１００に報告される。制御周期の動的設定は、コントローラ１００とＣＡＤ装置２００が協働して行う。したがって、本発明にかかる制御周期の動的設定装置は、コントローラ１００とＣＡＤ装置２００の構成要素が構成する。また、本発明にかかる制御周期の動的設定方法は、コントローラ１００とＣＡＤ装置２００によって実行される。
【００１３】
図２は、本発明にかかる制御周期の動的設定装置のブロック図である。直交３軸ロボットＭ１〜Ｍ５を動作させるためのプログラムは、コントローラ１００に設けてあるプログラム記憶部１１０に記憶されている。プログラムの１ステップには、直交３軸ロボットＭ１〜Ｍ５のすべての軸に対する移動指令とその移動量データが記述されている。移動指令入力部１２０は、プログラム記憶部１１０に記憶されているプログラムからすべての軸の移動指令を１ステップずつ入力する。３次元ＣＡＤデータ記憶部１３０は、直交３軸ロボットＭ１〜Ｍ５の形状データ、配置データおよびこれらのロボットを構成する各軸の形状データ、配置データを記憶している。優先順位割当データ入力部１４０は、プログラム記憶部１１０に記憶されているプログラムから１ステップにおけるすべての軸の移動量データを入力し、３次元ＣＡＤデータ記憶部１３０に記憶されている直交３軸ロボットＭ１〜Ｍ５の形状データ、配置データおよびこれらのロボットを構成する各軸の形状データ、配置データを入力する。優先順位割当部１５０は、移動指令入力部１２０で入力した移動指令、優先順位割当データ入力部１４０で入力した移動量データ、形状データ、配置データを参酌して、そのステップにおける制御の優先順位をすべての軸に対して割り当てる。動作制御部１６０は、優先順位割当部１５０で各軸に割り当てられた優先順位に応じて、優先順位が相対的に高く設定された軸に対してはそれよりも優先順位が低く設定された軸より制御周期を短くして軸の動作を制御する。
【００１４】
以上のように構成された制御周期の動的設定装置は概略次のように動作する。
【００１５】
図３の上側の図に示すように、従来は、直交３軸ロボットＭ１〜Ｍ５のすべての軸を等しく制御している。すなわちロボットＭ１のＸ軸に指令を出力してその応答を入力し、次にロボットＭ２のＸ軸に指令を出力してその応答を入力するということをすべての軸に対して等しく行う。一方、本発明は、直交３軸ロボットＭ１〜Ｍ５のすべての軸に優先順位を設定し、その優先順位に応じてすべての軸を制御している。すなわち、図３の下側の図に示すように、最も優先順位の高いロボットＭ１のＸ軸に指令を出力してその応答を入力し、次に優先順位の低いロボットＭ２のＸ軸に指令を出力してその応答を入力し、再度最も優先順位の高いロボットＭ１のＸ軸に指令を出力してその応答を入力し、次に優先順位の低いロボットＭ３のＸ軸に指令を出力してその応答を入力するということを繰り返す。したがって、従来の場合は、１ステップにおける平均の通信サイクルは、１軸分の通信時間に軸数をかけた時間となる。一方、本発明の場合は、各軸に対して優先順位を設定しているので、優先順位の高いロボットＭ１のＸ軸の平均の通信サイクルＴ１は、それよりも優先順位の低いロボットＭ２のＸ軸の平均の通信サイクルＴ２よりも短くなる。
【００１６】
図４および図５は、本発明にかかる制御周期の動的設定装置の処理手順を示すメインフローチャートである。このメインフローチャートは、本発明にかかる制御周期の動的設定方法の手順をも示している。また、図６は、図４の「ステップｎの優先順位チェック」の処理手順を示すサブルーチンフローチャートを、図７は、図４の「優先順位＃４の通信タイミング設定ルーチン」の処理手順を示すサブルーチンフローチャートをそれぞれ示している。なお、これらのフローチャートは、コントローラ１００とＣＡＤ装置２００が協働して実行される。以下に、本発明にかかる制御周期の動的設定装置の処理を、これらのフローチャートに基づいて、図８から図１１を参照しながら詳細に説明する。
【００１７】
まず、コントローラ１００は、プログラムからステップｎにおけるすべての軸の移動量データ、直交３軸ロボットＭ１〜Ｍ５の形状データ、配置データおよびこれらのロボットを構成する各軸の形状データ、配置データを入力し、これらのデータを参酌してステップｎにおける制御の優先順位をすべての軸に対して割り当てる。すなわち、ステップｎの優先順位チェックをする（Ｓ１０）。このステップの詳細な処理を図６のサブルーチンフローチャートに基づいて説明する。
【００１８】
最初に、移動指令入力部１２０は、プログラム記憶部１１０に記憶されているプログラムのうちステップｎの移動指令を１つのの軸について入力する（Ｓ１１）。次に、軸の番号をインクリメントして（Ｓ１２）、ステップｎにおける次の軸の移動指令を入力する（Ｓ１３：ＮＯ、Ｓ１１）。Ｓ１１からＳ１３の処理を繰り返して、ステップｎにおけるすべての軸の移動指令を入力する（Ｓ１３：ＹＥＳ）。
【００１９】
次に、優先順位割当データ入力部１４０は、プログラム記憶部１１０に記憶されているプログラムのうちステップｎの移動量データを１つの軸について入力する（Ｓ１４）。次に、軸の番号をインクリメントして（Ｓ１５）、ステップｎにおける次の軸の移動量データを入力する（Ｓ１６：ＮＯ、Ｓ１４）。Ｓ１４からＳ１６の処理を繰り返して、ステップｎにおけるすべての軸の移動量データを入力する（Ｓ１６：ＹＥＳ）。そして、優先順位割当データ入力部１４０は、３次元ＣＡＤデータ記憶部１３０に記憶されている直交３軸ロボットＭ１〜Ｍ５の形状データ、配置データおよびこれらのロボットを構成する各軸の形状データ、配置データを入力する（Ｓ１７）。
【００２０】
優先順位割当部１５０は、移動指令入力部１２０で入力した移動指令、優先順位割当データ入力部１４０で入力した移動量データ、形状データ、配置データを参酌して、２つのペアとなる軸が干渉する可能性（干渉可能性）があるか否かを判断し（Ｓ１８）、干渉の可能性があれば（Ｓ１８：ＹＥＳ）、その軸に２番目の優先順位である優先順位＃３を割り当てる（Ｓ１９）。なお、干渉するか否かの判断は、これらの軸が正常に動くことを前提として行われる。干渉するか否かは、２つの軸の形状データにしたがってこれらの外形を描き、配置データにしたがってこれらの軸を配置させ、移動量データに基づいてこれらの軸を移動させたときに干渉する部分があるか否かを検討するという手法で行う。次に、軸の番号をインクリメントして（Ｓ２０）、次の２つのペアとなる軸が干渉する可能性があるか否かを判断する（Ｓ２１：ＮＯ、Ｓ１８）。
【００２１】
一方、優先順位割当部１５０は、干渉する可能性がない２つのペアとなる軸に対しては（Ｓ１８：ＮＯ）、移動指令入力部１２０で入力した移動指令を参酌して、これらの軸が同時に起動されるものであって相互間の位置ずれ監視が必要であるものがあるか（同時起動性）否かを判断する（Ｓ２２）。これらの軸が同時起動性が要求されるものであるときには（Ｓ２２：ＹＥＳ）、これらの軸に１番目の優先順位である＃４を割り当てる（Ｓ２３）。なお、同時起動性が要求される軸であるか否かは、これらの軸に対して出される移動指令のタイミングと移動量データによって判断できる。
【００２２】
次に、軸の番号をインクリメントして（Ｓ２０）、次の２つのペアとなる軸の干渉可能性（Ｓ１８）と同時起動性（Ｓ２２）の有無を判断し、干渉可能性も同時起動性も存在しなければ（Ｓ１８：ＮＯ、Ｓ２２：ＮＯ）、優先順位割当部１５０は移動指令入力部１２０で入力した移動指令を参酌して、これらの軸の移動指令があるか否かを判断する（Ｓ２４）。これらの軸の移動指令があれば（Ｓ２４：ＹＥＳ）、これらの軸に３番目の優先順位である＃２を割り当てる（Ｓ２５）。一方、これらの軸に移動指令がなければ（Ｓ２４：ＮＯ）、これらの軸に４番目の優先順位である＃１を割り当てる（Ｓ２６）。次に、軸の番号をインクリメントして（Ｓ２０）、次の２つのペアとなる軸についてＳ１８からＳ２６の処理を繰り返す。最後の軸までＳ１８からＳ２６の処理が繰り返されると、すべての軸に優先順位が割り当てられるので（Ｓ２１：ＹＥＳ）、以上の処理を終了する。
【００２３】
以上の処理によって、直交３軸ロボットＭ１〜Ｍ５のすべての軸に対して、プログラムのステップ毎に優先順位が割り当てられる。たとえば、図８に示すように、ステップ１では、直交３軸ロボットＭ１の軸番号１とＭ２の軸番号４が優先順位＃２に、Ｍ１の軸番号３とＭ２の軸番号６が優先順位＃４に割り当てられる。また、ステップｎでは、Ｍ１の軸番号１と２が優先順位＃２に、Ｍ２の軸番号６とＭ３の軸番号８が優先順位＃３に、Ｍ３の軸番号７と９が優先順位＃４にそれぞれ設定される。
【００２４】
以上のようにして、すべての軸に優先順位が設定されると、コントローラ１００は、この優先順位にしたがって次のように各軸を制御する。まず、コントローラ１００は、通信パターンに影響を与えるすべての軸の軸数を初期化する（Ｓ３０）。そして、通信パターンに影響を与える通信順番を初期化する（Ｓ３５）。以上の処理では、以前に設定されていた軸数と通信順番をリセットしている。つぎに、コントローラ１００は、優先順位に＃４が割り当てられた、つまり最も優先順位の高い軸に対する通信順番を設定する処理を行う（Ｓ４０）。このステップの詳細な処理を図７のサブルーチンフローチャートに基づいて説明する。
【００２５】
相互に干渉を起こす可能性があるため優先順位＃４に設定された最も制御の優先順位の高い２つのペアとなる軸のうち、番号の若い軸を通信の順番に設定する（Ｓ４１）。たとえば、図８に示したように、ステップ１における優先順位＃４の軸は、Ｍ１の軸番号３とＭ２の軸番号６であるので、軸番号の若い軸番号３の軸が１番目の通信順番に設定される。次に、通信順番をインクリメントする（Ｓ４２）。そして、優先順位＃４に設定された２つのペアとなる軸のうちまだ通信順番の設定されていない方の軸を２番目の通信順番に設定する（Ｓ４３）。たとえば、上記の例の場合、まだ通信順番が設定されていない軸番号６の軸が２番目の通信順番に設定されることになる。そして、再度通信順番をインクリメントする（Ｓ４４）。そして、優先順位＃４が設定されているすべての軸の通信順番が設定されたか否かが判断される（Ｓ４５）。優先順位＃４が設定されている軸においてまだ通信順番が設定されていない軸があるときには（Ｓ４５：ＮＯ）、Ｓ４１からＳ４５の処理をすべての軸について通信順番が設定されるまで繰り返す（Ｓ４５：ＹＥＳ）。
【００２６】
そして、コントローラ１００は、同時に起動される軸であって相互間の位置ずれ監視が必要であるため優先順位＃３に設定された２番目に制御の優先順位の高い２つのペアとなる軸のうち、番号の若い軸を通信の順番に設定する（Ｓ４６）。上記の例では、Ｓ４０の処理において２番目までの通信順位が設定されているので、優先順位＃３に設定されている軸のうち番号の若い軸は通信順番が３番目に設定される。つぎに、コントローラ１００は通信順番をインクリメントし（Ｓ５０）、Ｓ４０のステップで行われた処理とまったく同じ処理を行う（Ｓ５５）。この処理において、ペアとなる軸に通信順番が設定されるとすれば、４番目と５番目になる。つぎに、コントローラ１００は、Ｓ４６の処理で、優先順位＃３の２つのペアとなる軸のうち、通信順番が設定されなかった軸の方の通信順番を設定する（Ｓ６０）。上記の例でいうと、この軸の優先順番は６番目となる。つぎに、コントローラ１００は通信順番をインクリメントし（Ｓ６５）、優先順位＃３が設定されている軸においてまだ通信順番が設定されていない軸があるときには（Ｓ７０：ＮＯ）、Ｓ４０からＳ７０の処理をすべての軸について通信順番が設定されるまで繰り返す（Ｓ７０：ＹＥＳ）。
【００２７】
コントローラ４０は、さらに、Ｓ４０のステップで行われた処理とまったく同じ処理を行う（Ｓ７５）。つぎに、コントローラ１００は、移動指令があるため優先順位＃２に設定された軸のうち、一番番号の若い通信順番の未設定の軸を通信の順番に設定する（Ｓ８０）。つぎに、コントローラ１００は通信順番をインクリメントし（Ｓ８５）、優先順位＃２が設定されている軸においてまだ通信順番が設定されていない軸があるときには（Ｓ９０：ＮＯ）、Ｓ４０からＳ７０の処理をすべての軸について通信順番が設定されるまで繰り返す（Ｓ９０：ＹＥＳ）。つぎに、コントローラ１００は、移動指令があるため優先順位＃１に設定された軸のうち、一番番号の若い通信順番の未設定の軸を通信の順番に設定する（Ｓ９５）。つぎに、コントローラ１００は通信順番をインクリメントし（Ｓ１００）、優先順位＃１が設定されている軸においてまだ通信順番が設定されていない軸があるときには（Ｓ１０５：ＮＯ）、Ｓ４０からＳ１０５の処理をすべての軸について通信順番が設定されるまで繰り返す（Ｓ１０５：ＹＥＳ）。
【００２８】
以上の処理の理解を容易にするために、図８〜図１０を参照して通信順位の設定がどのように行われるのかを説明する。まず、直交３軸ロボットＭ１〜Ｍ３の各軸（１〜９）に対して、プログラムのステップ毎に図８のような優先順位が設定されているとする。ステップ２では、Ｍ１のＹ軸（軸番号２）とＭ２のＹ軸（軸番号５）が、ステップ１において相互に干渉の可能性があるためその優先順位が最上位から２番目の＃３に設定されている。残りの軸は移動指令がないため優先順位が最下位の＃１に設定されている。なお、優先順位（＃２〜＃４）の左側に記載されている数字はその軸の移動量を表し、優先順位が最下位の＃１に設定されている場合には優先順位は記載せず移動量が０と記載してある。
【００２９】
ステップ２のように各軸の優先順位が設定されている場合、通信順位は、図９に示すように、Ｓ４６の処理によってまず２軸が１番目の通信順番に設定され、次にＳ６０の処理によって５軸が２番目の通信順番に設定され、最後に、Ｓ９５の処理によって１軸が３番目の通信順番に設定される。以上と同様にして、Ｓ４６の処理によって２軸が４番目の通信順番に設定され、次にＳ６０の処理によって５軸が５番目の通信順番に設定され、最後に、Ｓ９５の処理によって３軸が６番目の通信順番に設定される。
【００３０】
以上の処理がすべての軸に対して行われると、最終的に通信順番は次のように設定される。
【００３１】
２軸−５軸−１軸−２軸−５軸−３軸−２軸−５軸−４軸−２軸−５軸−６軸−２軸−５軸−７軸−２軸−５軸−８軸−２軸−５軸−９軸となる。したがって、図９に示すように、優先順位の高い２軸と５軸は、制御周期が３軸分の指令・応答時間（通信時間）となるが、優先順位の最も低い１軸、３軸、４軸、６軸、７軸、８軸、９軸は、制御周期が３軸分の通信時間×優先順位１の軸数７となる。以上のようにして通信順番が設定されると、図１０に示すように、コントローラ１００はその設定された通信順番にしたがって各軸の動作を制御する。まず、干渉を避ける動作をする２軸の動作が制御され、次に干渉を起こす動作をする５軸の動作が制御され、優先順位の一番低い１軸の動作が制御（軸を動かさない制御）される。
【００３２】
また、図８のステップｎに示すように、Ｍ１のＸ軸（軸１）とＹ軸（軸２）の優先順位が最下位から２番目の＃２に設定され、Ｍ１のＺ軸（軸３）、Ｍ２のＸ軸（軸４）とＹ軸（軸５）の優先順位が最下位の＃１に設定され、Ｍ２のＺ軸（軸６）とＭ３のＹ軸（軸８）の優先順位が最上位から２番目の＃３に設定され、Ｍ３のＸ軸（軸７）とＭ３のＺ軸（軸９）の優先順位が最上位の＃４に設定されているとした場合には、図４及び図５のフローチャートの処理をすることによって図１１に示すように各軸の通信順番が設定される。
【００３３】
このように通信順番が設定されると、最も優先順位の高い軸７と軸９はその制御周期が３軸分の通信時間となり、次に優先順位の高い６軸と８軸はその制御周期が９軸分の通信時間となり、その次に優先順位の高い１軸と２軸はその制御周期が２１軸分の通信時間となり、最も優先順位の低い３軸、４軸と５軸はその制御周期が６３軸分の通信時間となる。
【００３４】
以上のように、請求項１または６に記載の発明によれば、すべての制御対象に対して制御の優先順位を設定し、その優先順位に応じて制御周期を変えるようにしたので、１ステップの間に複数の制御対象に移動指令を与えることができるようになり、また、短い時間間隔で制御が要求される制御対象は１ステップの間に何度もその動作が制御でき、逆に長い時間間隔で制御しても差し支えない制御対象は１ステップの間にたとえば１度だけその動作が制御できる。したがって、干渉回避や同期制御といったきめ細かい制御を行いつつも作業のサイクルタイムを短縮することが可能になる。
【００３５】
請求項２に記載の発明によれば、各ステップについて移動指令の有無に応じて優先順位を割り当てることができ、移動指令のある軸の動作を優先的に制御できるようになる。
【００３６】
請求項３に記載の発明によれば、制御対象の形状データ、配置データ、移動量データに基づいて、軸同士の干渉の有無を判断できるので、干渉の可能性の有無に応じて優先順位を割り当てることができ、干渉の恐れのある軸を優先的に制御できるようになる。
【００３７】
請求項４または７に記載の発明によれば、軸相互の干渉有無、同時起動性、移動指令の有無に基づいて、４段階の優先順位の設定が可能となり、よりきめ細かく軸の動作を制御することができる。
【００３８】
請求項５または８に記載の発明によれば、優先順位の高い順に、制御周期を短く設定することができ、効率的な制御が可能となる。
【図面の簡単な説明】
【図１】本発明にかかる制御周期の動的設定装置を備えた生産システムの概略構成図である。
【図２】本発明にかかる制御周期の動的設定装置のブロック図である。
【図３】本発明にかかる制御周期の動的設定装置の動作説明に供する図である。
【図４】本発明にかかる制御周期の動的設定装置の処理手順を示すメインフローチャートである。
【図５】本発明にかかる制御周期の動的設定装置の処理手順を示すメインフローチャートである。
【図６】図４の「ステップｎの優先順位チェック」の処理手順を示すサブルーチンフローチャートである。
【図７】図４の「優先順位４の通信タイミング設定ルーチン」の処理手順を示すサブルーチンフローチャートである。
【図８】図４から図７のフローチャートの動作説明に供する図である。
【図９】図４から図７のフローチャートの動作説明に供する図である。
【図１０】図４から図７のフローチャートの動作説明に供する図である。
【図１１】図４から図７のフローチャートの動作説明に供する図である。
【符号の説明】
１００…コントローラ、
１１０…プログラム記憶部、
１２０…移動指令入力部、
１３０…３次元ＣＡＤデータ記憶部、
１４０…優先順位割当データ入力部、
１５０…優先順位割当部、
１６０…動作制御部、
２００…ＣＡＤ装置、
Ｍ１〜Ｍ５…直交３軸ロボット。
【図１】
2004272781.tif 000003
【図２】
2004272781.tif 000004
【図３】
2004272781.tif 000005
【図４】
2004272781.tif 000006
【図５】
2004272781.tif 000007
【図６】
2004272781.tif 000008
【図７】
2004272781.tif 000009
【図８】
2004272781.tif 000010
【図９】
2004272781.tif 000011
【図１０】
2004272781.tif 000012
【図１１】
2004272781.tif 000013
【手続補正書】
【提出日】平成15年4月1日(2003.4.1)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2004272781.tif 000014
【図２】
2004272781.tif 000015
【図３】
2004272781.tif 000016
【図４】
2004272781.tif 000017
【図５】
2004272781.tif 000018
【図６】
2004272781.tif 000019
【図７】
2004272781.tif 000020
【図８】
2004272781.tif 000021
【図９】
2004272781.tif 000022
【図１０】
2004272781.tif 000023
【図１１】
2004272781.tif 000024