(57)【要約】通信路を介して、複数の自動機械を安全に制御する自動機械制御システムを提供する。【課題】【解決手段】複数の自動機械R1、S1、R2と、自動機械R1、S1、R2を制御する複数の制御装置C1、C2、C3とを備え、複数の制御装置間C1、C2、C3を通信路1で接続し、複数の自動機械を同期制御する自動機械制御システムにおいて、複数の自動機械R1、S1、R2のうち１つ以上の自動機械に対して、複数の制御装置R1、S1、R2から通信路1を介して間接制御可能とする共有軸を設定する共有軸設定部11、21、31とを備え、共有軸S1を駆動する駆動制御部204を備えて共有軸S1を直接制御する制御装置C2は、共有軸に設定された自動機械S1を同時に複数の制御装置R1、R2から制御可能とならないように排他制御する共有軸排他制御部3とを備える。【選択図】図１
2005173849.tif 000002
【特許請求の範囲】
【請求項１】
複数の自動機械と、前記複数の自動機械を制御する複数の制御装置とを備え、前記複数の制御装置間を通信路で接続し、前記複数の自動機械を同期制御する自動機械制御システムにおいて、
前記複数の自動機械の少なくともひとつの自動機械は、
他の前記自動機械から前記通信路を介して間接制御可能とする共有軸と、
他の前記自動機械から前記通信路を介して前記共有軸の占有を制御する共有軸排他制御部と、を備え、
前記共有軸排他制御部は、前記共有軸を前記複数の制御装置から同時に間接制御可能とならないように排他制御することを特徴とする自動機械制御システム。
【請求項２】
前記制御装置は、前記自動機械を操作するための教示装置を備え、
前記共有軸の占有状態を表示する占有状態表示部とを備えることを特徴とする請求項１記載の自動機械制御システム
【請求項３】
前記共有軸を間接制御する制御装置は、前記共有軸を直接制御する制御装置に対して、前記通信路を介して前記共有軸の位置指令を送信することを特徴とする請求項１または２記載の自動機械制御システム。
【請求項４】
前記自動機械は、多関節ロボットまたはポジショナのいずれかを含むことを特徴とする請求項１乃至３記載の自動機械制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動機械により作業を行うために、通信路を介して接続されている複数の自動機械を制御する自動機械制御システムに関する。
【背景技術】
【０００２】
通信路を介して複数のロボット制御装置を制御する従来例を以下に図７を用いて説明する。ロボットR1とロボットR2は、各々の制御装置C1、C2により制御される。制御装置間C1、C2は、通信路1により接続されている。例えば、この通信路1に接続されている制御装置C1、C2は、単独機能実行モード、マスタ機能実行モードおよびスレーブ機能実行モードのうち少なくとも１つを制御プログラムによって選択的に実行可能とされる。また、各制御装置のうち１つが、マスタ機能実行モードに設定され、他の制御装置の少なくとも１つがスレーブ機能実行モードに設定され、マスタ機能実行モードに設定されたマスタロボットと、スレーブ機能実行モードに設定されたスレーブロボットは、協調動作をするという技術が開示されている（特許文献１）。
【特許文献１】特開２００３−１４５４６２号公報（第７頁左列第４５行〜右列第３行）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以上に述べた従来のロボット制御装置の問題点を図８に示して説明する。制御装置C1、C2、C3は、通信路1に接続されている。ここで、制御装置C1はロボットR1を、制御装置C2はロボットR2、制御装置C3は、ロボットR3を直接的に制御する。ここで、直接的に制御するとは、ロボットの駆動部に関する指令を発行するサーボアンプが制御装置内に設けられていることを意味する。つまり、ロボットR1を駆動するサーボアンプは、制御装置C1に設けられている。
例えば、ロボットR1とロボットR2の協調制御において、R1をマスタロボット、R2をスレーブロボットとする作業プログラムが実行中に、R3をマスタロボット、R2をスレーブロボットとする作業プログラムが実行された場合には、R2は、異なる制御装置C1、C3から動作指令を受信することになり、R2の動作が保証されない。また、R3のロボットが単独で作業プログラムを実行中に、R1をマスタロボット、R2をスレーブロボットとする作業プログラムが実行され、R1のロボットからR3のロボットへ動作指令が送信された場合には、同様にR3のロボットの動作は保証されない。
【０００４】
本発明は、このような従来の構成が有していた問題を解決しようとするものであり、通信路を介して、複数の制御装置により制御される自動機械システムで、複数の制御装置より間接制御される共有軸を備える自動機械を排他的に管理して、複数の自動機械を安全にかつ安定に制御する自動機械制御システムを提供するものである。
【課題を解決するための手段】
【０００５】
本発明の請求項１記載の自動機械制御システムは、複数の自動機械と、前記複数の自動機械を制御する複数の制御装置とを備え、前記複数の制御装置間を通信路で接続し、前記複数の自動機械を同期制御する自動機械制御システムにおいて、前記複数の自動機械の少なくともひとつの自動機械は、他の前記自動機械から前記通信路を介して間接制御可能とする共有軸と、他の前記自動機械から前記通信路を介して前記共有軸の占有を制御する共有軸排他制御部と、を備え、前記共有軸排他制御部は、前記共有軸を前記複数の制御装置から同時に間接制御可能とならないように排他制御することを特徴とするものである。
【０００６】
本発明の請求項２記載の自動機械制御システムは、前記制御装置は、前記自動機械を操作するための教示装置を備え、前記共有軸の占有状態を表示する占有状態表示部とを備えることを特徴とするものである。
【０００７】
本発明の請求項３記載の自動機械制御システムは、前記共有軸を間接制御する制御装置は、前記共有軸を直接制御する制御装置に対して、前記通信路を介して前記共有軸の位置指令を送信することを特徴とするものである。
本発明の請求項４記載の自動機械制御システムは、前記自動機械は、多関節ロボットまたはポジショナのいずれかを含むことを特徴とするものである。
【発明の効果】
【０００８】
本発明は、通信路を介して共有される自動機械を排他制御することにより、他の制御装置が直接的に制御する自動機械を安全にかつ安定に間接的制御できるという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態として図１〜図７に基づいて説明する。
【実施例１】
【００１０】
実施例１の自動機械制御システムの概要を図１に基づいて説明する。
制御装置C1は、作業プログラム格納部101、命令解釈部102、動作指令部103、駆動制御部104、通信制御部105を備える。駆動制御部104には、ロボットR1を駆動するサーボアンプを含む。同様に、制御装置C2、C3は、作業プログラム格納部201、301、命令解釈部202、203、動作指令部203、303、駆動制御部204、304、通信制御部205、305を備えている。駆動制御部204には、ポジショナS1を駆動するサーボアンプを、駆動制御部304には、ロボットR2を駆動するサーボアンプを含む。制御装置C1には、操作者が操作するペンダントP1が接続され、同様に、制御装置C2、C3には、ペンダントP2、P3が接続されている。また、制御装置C1、C2、C3は、共有軸を設定する共有軸設定部11、21、31を持つ。制御装置C2は、共有軸排他制御部3を備える。
作業プログラム格納部101、201、301は、ロボットR1、R2及びポジショナS1の移動、外部とのインターフェースに関する命令及び命令に付加されるデータを格納している。例えば、命令が直線補間の命令の場合には、その命令の付加データは、目標値や速度である。
【００１１】
以下に、制御装置C1がロボットR1を作業プログラムに基づいて動作させる詳細を説明する。作業プログラム格納部101から指定された作業プログラムが読み出される。この作業プログラムの指定方法は、予め呼び出し作業プログラムを登録しておき、呼び出し信号の入信により、作業プログラムを指定する。または、ペンダントP1から操作者が実行させたい作業プログラムをペンダントP1のキーを操作することで、指定することもできる。
作業プログラム格納部101から読み出された作業プログラムは、命令解釈部102において、命令の書式チェックなどの実行可能かどうかをチェックされる。実行可能と判断されれば、各命令に処理を分岐させる。例えば、直線補間命令の場合、目標位置までの軌跡が演算される。この演算内容は、１マシンサイクルあたりのロボットR1の動作ベクトルと、目標位置までに必要なマシンサイクル数を算出する。命令解釈部102は、この演算結果を動作指令部103へ出力する。補間演算の基本式を式（１）に示す。
Ｐ(k) ＝Ｐs ＋（ｋ／Ｎ）×（Ｐe −Ｐs ）  …（１）
ただし、Ｐs は始点位置を表すベクトル、Ｐe は終点位置を表すベクトル、Ｐ(k) はＰs からＰe 間の任意の位置を表すベクトル、ＮはＰs からＰe まで指定された動作速度で移動させる場合に必要なサンプリング回数であり、動作速度、サンプリング周期および移動距離から求められる。k は整数であり、サンプリング周期毎に、ｋを０からＮまで１づつ加算させることによって、つまり、サンプリング周期毎に（１／Ｎ）×（Ｐe −Ｐs ）を出力することにより、Ｐ(k) が始点Ｐs から終点Ｐe までの間を指定された動作速度で変化することになる。
【００１２】
動作指令部103は、マシンサイクルと呼ばれる一定周期で駆動制御部104に各関節軸の動作指令を出力する。駆動制御部104では、動作指令部103よりもさらに小さい周期で、ロボットR1の関節を駆動するサーボモータに指令を出力する。
【００１３】
制御装置C1、C2、C3は、同期通信を行う通信路1で接続されている。一定周期で、各制御装置に同期信号を発行する制御装置をC1とする。他の制御装置C2、C3は、同期スレーブとして動作する。この同期通信が、動作指令部103で使用するマシンサイクルと同期している。つまり、同期スレーブの制御装置C2、C3は、マシンサイクルをこの同期信号に基づいて活性化している。このようにすることで、制御装置C1、C2、C3の各マシンクロックは同期している。
【００１４】
まず、ポジショナS1が、通信路1を介して、制御装置C1、C3から間接制御可能となるように共有軸設定を行う。この設定をはじめシステムの環境設定はスーパユーザモードで行なわれる。共有軸設定は、図２に示すペンダントP1の設定画面において、共有軸をS1とする設定を行う。ペンダントP1からの設定データは、共有軸設定部11に格納される。また、図２に示すように、制御装置C1では、最大局数を設定する。この最大局数は、通信路1に何台の制御装置が接続されているかを示すものである。また、通信路1で使用される局番を設定する。また、制御装置C1、C2、C3は、各々直接的に制御するロボットR1、R2、ポジショナS1の機構データを設定する。この機構データとは、各アーム長や各関節の取り付け位置、減速比などの機構に関する諸情報である。
スーパーユーザとは、システムの構築状態に基づいて制御装置に各種設定を行うことのできる操作者であり、ロボットシステムを教示のみ、または画面表示のみ行える操作者より、大きな権限を持つ操作者である。本実施例では制御装置C1に共有軸設定を行ない、図４で説明する手順で他の制御装置C2、C3にその情報を伝えるが、この情報伝達を省き、制御装置C1、C2、C3の各々に設定してもかまわない。
【００１５】
制御装置C1、C2、C3は、通信制御部105、205、305を介して通信路105で相互間通信をおこなうが、この通信はトークンパス方式により制御される。
制御装置C1から送信されたトークンは、次に局番の小さい制御装置C2にパスされる。その後、制御装置2から制御装置C3へと順次パスされ、トークンを獲得した制御装置が送信権を持つ。
図３は制御装置C1、C2、C3の制御電源をＯＮした時の処理手順を示す。
制御装置C2、C3は、制御装置C1からの同期信号を待つ。制御装置C2、C3は、自にトークンがパスされれば、同期信号アンサーを通信路1に送信して、同期が確立したことを同期マスタである制御装置をC1へ通知する。制御装置C1は、共有軸にS1が設定されていることを共有軸設定部11から読み出す。読み出された共有軸に関する情報を、通信制御部105を介して通信路1に対して送信する。このとき送信するデータには、共有軸にS1が設定され、そのS1の直接制御する制御装置（本実施例ではC2）、共有軸の識別符号（制御装置C2における物理番号、システムにおける論理番号）等の諸情報を含んでいる。制御装置C2では、共有軸情報を受信後、共有軸設定部21にポジショナS1が共有軸に設定されたことを登録する。制御装置C3も同様に、共有軸設定部31にポジショナS1が共有軸に設定されたことを登録する。
以上のようにして、制御装置C2の直接制御するポジショナS1に関する情報が制御装置C1、C3に転送される。
【００１６】
制御装置C1、C2、C3のサーボ電源がＯＮされて、制御装置C1から制御装置C2の共有軸のポジショナS1を操作する場合の例を図４に示して、排他制御部3について説明する。制御装置C1は、通信路1に、ポジショナS1の占有を開始する要求を送信する（C010）。制御装置C2では、制御装置C1からのポジショナS1占有を開始する要求を受信する（C201）。ポジショナS1が他の制御装置に占有されていた場合には、占有不可のアンサーを通信路1に送信する（C202）。ポジショナS1が他の制御装置に占有されていない場合には、ポジショナS1の占有許可を通信路1に送信する（C203）。その後、ポジショナS1が制御装置C1により占有中であることを共有軸排他制御部3に記憶する（C204）。尚、占有不可、占有許可の送信はトークンを獲得している間に送信される。
制御装置C1は、ポジショナS1の占有許可を受信すると、ポジショナS1の位置指令を通信路1に送信する（C102）。制御装置C2は、制御装置C1からのポジショナS1に対する位置指令を受信（C205）し、ポジショナS1へ動作指令を行う(C206)。この動作指令は、図１に示す動作指令部203により、駆動制御部204を介して、ポジショナS1を動作させる。
制御装置C1は、ポジショナS1の占有不可を受信すると、ポジショナS1は他の制御装置より占有されていることを表し、制御装置C1による動作はできないため動作禁止とする（C103）。この時、異常発生などのアラームを表示してもかまわない。
【００１７】
図５、図６に共有軸排他制御部3の詳細を説明する。
共有軸排他制御部3は、占有状態記憶部4を備えている。占有状態記憶部4には、共有軸を特定する識別符号、占有状態、占有主が記憶されている。本実施例では、識別符号をポジショナS1としている。例えば、ポジショナS1が占有されていない状態の占有状態記憶部4の例を図５に示す。この状態で、制御装置C1からのポジショナS1の占有開始要求を受信した場合、共有軸排他制御部3は、占有状態記憶部4を読み出す。共有軸S1の占有状態がＯＦＦとなっているので、占有を許可する。その後、図６に示すように占有状態記憶部4の占有状態をＯＮし、占有主をC1として記憶する。
【００１８】
例えば、制御装置C1が、ポジショナS1を占有しているときに、制御装置C3がポジショナS1を動作させる作業プログラムが起動されたとする。このとき制御装置C3からの占有開始要求に対して、制御装置C2では、共有軸排他制御部3で占有状態記憶部4が読み出され、ポジショナS1が制御装置C1により占有されていると識別される。このため、制御装置C2から制御装置C3に対しては、占有不可を送信する。
以上のように、共有軸排他制御部3では、制御装置C1からポジショナS1が占有されている場合には、他の制御装置C3からはポジショナS1を動作させないようにすることができる。このようにすることで通信路1に接続されているロボットやポジショナなどの自動機械を自由に組み合わせて動作させることができる。
【実施例２】
【００１９】
実施例２では、共有軸をポジショナS1とした場合のペンダントP1、P2、P3の表示に関して説明する。制御装置C1、制御装置C2、C3のペンダントP1、P2、P3の画面には、共有軸S1の図５、６に示す占有状態記憶部4の情報が表示されている。
この占有情報の表示は、制御装置C2の共有軸排他制御部3の情報を通信路1に所定の周期で送信しているものであり、制御装置C1では操作者の指示の基でペンダントP1へその表示を行なっている。制御装置C2、C3についても同様である。このようにすることで、制御装置C1、C2、C3は、ポジショナS1の現在の占有状態を知ることができ、操作者が、ポジショナS1をペンダントP1、P2、P3から操作可能かどうか容易に把握することができる。
【産業上の利用可能性】
【００２０】
通信路を介して接続されている複数の自動機械で、複数の自動機械を協調動作制御して、作業を行う自動機械制御システムに有用である。
【図面の簡単な説明】
【００２１】
【図１】本発明のシステム構成図
【図２】本発明の共有軸設定画面の図
【図３】本発明の電源投入時のフロー
【図４】本発明の排他制御のフロー
【図５】本発明の排他制御部の構成図
【図６】本発明の占有状態記憶部の構成図
【図７】従来技術の図
【図８】課題の説明図
【符号の説明】
【００２２】
C1、C2、C3：制御装置
R1、R2：ロボット
S1：ポジショナ
1：通信路
3：共有軸排他制御部
4：占有状態記憶部
11、21、31：共有軸設定部
P1、P2、P3：ペンダント
【図１】
2005173849.tif 000003
【図２】
2005173849.tif 000004
【図３】
2005173849.tif 000005
【図４】
2005173849.tif 000006
【図５】
2005173849.tif 000007
【図６】
2005173849.tif 000008
【図７】
2005173849.tif 000009
【図８】
2005173849.tif 000010