(58)【調査した分野】(Int.Cl.,DB名)
モニタ記憶部を有するモニタ装置と、複数のロボットをそれぞれ作成済みの教示データに基づいて再生運転する複数のロボット制御装置とがネットワークを介して接続されたロボットシステムにおいて、
各ロボット制御装置は、
再生運転中に取得する前記ロボットに関するモニタ値(以下、モニタ関連情報という)を順次記憶する記憶部と、
これから行われる再生運転で取得される予定のモニタ関連情報が、前記記憶部の空き記憶容量で記憶可能か記憶不能かを判定する判定部と、
前記記憶可能の判定の下で、前記モニタ装置との通信不能となった場合は、前記記憶部が記憶した前記モニタ関連情報を保持させ、前記モニタ装置との通信が可能な場合は前記記憶部が記憶した前記モニタ関連情報を前記モニタ装置に送信する通信部と、
前記記憶不能の判定の場合、異常処理を行う制御部を備え、
前記異常処理は、前記再生運転を停止するとともに異常警告処理を含み、または前記再生運転を停止するか否かを問う質問処理を含むロボットシステム。
【発明を実施するための形態】
【0017】
以下、本発明をアーク溶接ロボットシステムに具体化した一実施形態を
図1〜
図5を参照して説明する。
図1に示すようにアーク溶接ロボットシステム10は、アーク溶接を行うように構成された複数のロボット(図示しない)と、各ロボットを制御するロボット制御装置RC1,RC2〜RCN及びモニタ装置PCを有する。
【0018】
ロボット制御装置RC1,RC2〜RCNがそれぞれ制御するロボットは公知の多関節ロボットであるため、簡略して説明する。ロボットを構成するマニピュレータは、フロア等の適当な箇所に固定されるベース部材と、それに複数の関節を介して連結された複数のアームと、各アームを駆動する図示しない駆動モータとによって構成されている。前記駆動モータには、図示しないロータリエンコーダを備え、前記駆動モータの現在位置の検出が可能である。マニピュレータ先端の手首部の先端には、被溶接物であるワーク(図示しない)に対してアーク溶接を行う溶接トーチが取付けられている。
【0019】
また各ロボット制御装置RC1〜RCNには、作業者が各ロボットを操作するためのティーチペンダント(図示しない)及び溶接機Y1〜YNがそれぞれ接続されている。
ロボット制御装置RC1〜RCN及びモニタ装置PCは、有線のネットワーク20を介して互いに接続されている。前記ネットワーク20では、情報通信系ネットワーク及び制御系ネットワークのためにそれぞれ通信回線が独立して設けられている。また、ネットワーク20には、図示はしないが上位コントローラも接続されている。前記ネットワーク20は、例えばLAN方式のイーサネット(登録商標)にて構成されている。なお、ネットワーク20は、LAN方式のイーサネットに限定されるものではなく、他のネットワークで構成されていてもよい。
【0020】
前記ネットワーク20における情報通信のための通信回線では、ロボット制御装置間での情報交換と、ロボット制御装置とモニタ装置PC間の情報通信が行われる。また、ネットワーク20における制御のための通信回線では、ロボット制御装置RC1〜RCNがロボットを制御するための入出力データ、並びに各種信号の通信が行われる。
【0021】
(ロボット制御装置)
次に、ロボット制御装置及び溶接機を説明する。なお、ロボット制御装置RC1〜RCNの構成は同じのため、代表してロボット制御装置RC1の構成を説明する。
【0022】
図1に示すようにロボット制御装置RC1は、CPU(中央処理装置)11、ROM12、RAM13、通信制御部14、記憶装置15、主制御部16、及びネットワーク通信部17等を備え、各部は図示しないバスを介して相互に接続されている。CPU11は、制御装置を構成している各部をコントロールする。
【0023】
前記ROM12には、前記制御装置自体のシステムプログラムが格納されている。RAM13は、揮発性のメモリであって、後述する作業プログラム等の各種プログラムを実行するときの作業メモリとなる。通信制御部14は、溶接機Y1との通信を行う。前記記憶装置15は、書き込み読出し可能なメモリであって、例えばハードディスク、半導体メモリ等からなる。記憶装置15は、ロボットの作業プログラム及び後述するモニタ関連情報が記憶される。記憶装置15は、記憶部に相当する。また、ロボット制御装置RC1には、警告ランプ、或いは警告ブザー等の警告装置18が設けられている。
【0024】
(作業プログラムの例)
図5に各種の教示データが記述された作業プログラムの例を示す。
図5に示す作業プログラムでは、作業プログラム番号、ワーク番号及び複数の教示ステップ番号001〜nが記述されている。溶接を開始する教示ステップ(
図5の例では教示ステップ004)では、溶接開始命令が記述されるとともに溶接を終了する教示ステップ(
図5の例では教示ステップ008)では、溶接終了命令が記述されている。前記溶接開始命令、溶接終了命令は教示データの一例である。
【0025】
前記溶接開始命令が記述された教示ステップ(
図4の例では教示ステップ004)では、さらに、溶接電流、溶接電圧及び移動速度(速度指令)(
図5の例では、それぞれ200A,18.0V及び50cm/min)が記述されている。ここで、前記溶接開始命令とともに記述されている前記溶接電流、溶接電圧、及び移動速度(速度指令)が溶接開始のときの溶接指令条件の例である。前記溶接電流、溶接電圧、速度指令は教示データの一例である。
【0026】
また、教示終了命令が記述された教示ステップ(
図5の例の教示ステップ008)では、さらに、溶接電流、及び溶接電圧(
図5の例では、180A,17.0V)が記述されている。前記溶接終了命令とともに記述されている溶接電流、溶接電圧、及び移動速度(速度指令)が溶接終了のときの溶接指令条件の例である。
【0027】
また、教示ステップ001〜003では、位置決め命令と移動速度(速度指令)が記述されている。教示ステップ005〜007では、直線補間命令と移動速度が記述されている。前記移動命令が記述された教示ステップでは、教示点が記憶装置15に記憶されている。
【0028】
ここで、前記位置決め命令、及び直線補間命令は、移動命令の例である。なお、
図5の例では図示されていないが、移動命令は、位置決め命令、直線補間命令以外にも円弧補間命令等がある。これらの移動命令が記述された教示ステップには、
図5に示すように当該教示ステップの教示点へ移動するときの溶接トーチの移動速度も記述されている。
【0029】
前記作業プログラム番号、ワーク番号、教示ステップ番号、溶接指令条件等は、指令情報に相当する。
主制御部16は、図示しないティーチペンダントで教示データが教示された前記作業プログラムの各教示ステップを解析する解析部16aと、解析部16aが解析した解析報等に基づき公知の方法で軌道計画及び補間演算を行い、前記マニピュレータの関節に設けられた図示しない前記ロータリエンコーダからの現在位置情報等に基づき制御値を生成する実行部16bを備えている。実行部16bは、前記制御値を図示しないサーボドライバを介して、前記マニピュレータの各関節に設けられた図示しない駆動モータを回転制御し、前記マニピュレータの手首部の前記溶接トーチを移動する。主制御部16は制御部及び判定部の一例である。ネットワーク通信部17は、ネットワーク20の情報通信系ネットワークを介して他のロボット制御装置RC2〜RCN、及びモニタ装置PCと通信を行う。ネットワーク通信部17は、通信部に相当する。
【0030】
(溶接機)
次に、溶接機について説明する。溶接機Y1〜YNの構成は同じのため、代表して溶接機Y1の構成を説明する。
【0031】
溶接機Y1は、CPU(中央処理装置)21、ROM22、RAM23、通信制御部24、及び溶接制御部25等を備えており、各部は図示しないバスを介して相互に接続されている。
【0032】
また、溶接機Y1は、溶接電源28を備えている。溶接電源28は、図示しないデジタルインバータ制御回路を備え、外部から入力される商用電源(たとえば3相200V)をインバータ制御回路によって高速応答で精密な溶接電流波形制御が行われる。すなわち溶接電源28の出力側は、図示しない電源ケーブルを介して溶接トーチとワークとの間に溶接電圧を供給する。CPU21は、溶接機Y1の前記各部をコントロールする。ROM22は、溶接機Y1が備える溶接制御部25(もしくは溶接電源28)や図示しないワイヤ送給装置等の動作を制御するための制御ソフトウェアを格納する。RAM23は、揮発性のメモリであって、CPU21に対して作業領域を提供するものであり、計算データ等を一時的に記憶する。
【0033】
溶接制御部25は、ロボット制御装置RC1から送信される溶接条件に応じて、溶接電源28を制御して溶接電流を前記溶接トーチへ供給する。
通信制御部24は、通信ケーブル40を介してロボット制御装置RC1の通信制御部14に接続され、通信が可能である。
【0034】
溶接電源28の出力側は、電流検出部26及び電圧検出部27を備えている。前記電流検出部26により、図示しない溶接ワイヤに流れる溶接電流を検出する。また、電圧検出部27により、前記図示しない溶接ワイヤの先端とワークとの間に印加した溶接電圧を検出する。電流検出部26及び電圧検出部27による検出データ(すなわち、溶接電流、溶接電圧)は、モニタ値として同じサンプリング周期で通信制御部24、通信ケーブル40を介してロボット制御装置RC1の通信制御部14に送信される。
【0035】
(モニタ装置)
次にモニタ装置PCを説明する。モニタ装置PCは、コンピュータからなり、CPU(中央処理装置)31、ROM32、RAM33、記憶装置34及びネットワーク通信部35等を備えている。CPU31は、モニタ装置PC自体のシステムをコントロールする。ROM32は、前記モニタ装置自体のシステムのプログラムが格納されている。RAM33は、揮発性のメモリであって、各種プログラムを実行するときの作業メモリとなる。記憶装置34は、書き込み読出し可能なメモリであって、例えばハードディスク、半導体メモリ、磁気抵抗RAM等からなる。なお、記憶装置34が半導体メモリの場合には、バックアップ電源が不要な不揮発性のメモリが好ましいが、限定されるものではなく、バックアップ電源が必要な半導体メモリでもよい。記憶装置34はモニタ記憶部に相当する。
【0036】
ネットワーク通信部35は、ネットワーク20を介して各ロボット制御装置RC1〜RCNと通信を行う。ネットワーク通信部35は、送信部に相当する。また、モニタ装置PCには、出力装置50が接続されている。出力装置50は、例えば表示装置或いはプリンタから構成されている。
【0037】
(実施形態の作用)
上記のように構成されたアーク溶接ロボットシステムの作用を
図2〜
図4を参照して説明する。以下では、説明の便宜上、ロボット制御装置RC1が実行する処理について説明する。
【0038】
図2は、主制御部16が、実行するモニタ処理プログラムのフローチャートであり、前記モニタ処理プログラムは、前記作業プログラムに基づき図示しないマニピュレータ及び溶接電源28を制御する際に、前記作業プログラムの処理と平行に処理される。なお、以下の説明では、説明の便宜上、
図2〜
図4のフローチャートの「ステップ」にはSを付し、作業プログラムの「教示ステップ」にはSを付さないものとする。また、作業プログラムの処理は公知であるため、説明を省略する。
【0039】
(ステップS1) S1では、主制御部16は、作業プログラムを再生実行する制御周期の下で、溶接開始命令のタイミングになったか否かを判定する。溶接開始命令のタイミングでない場合には,S23にジャンプし、溶接開始命令のタイミングとなった場合には,S2に移行する。
【0040】
(ステップS2) S2では、主制御部16は、これから溶接を開始して溶接が終了するまでの期間中に取得する各種データ(モニタ関連情報)の全てを、記憶装置15が記憶できるか否かを判定する。すなわち、記憶装置15に、これから溶接を開始する時点から溶接が終了する時点までの期間中に各種データ(モニタ関連情報)を取得した場合、その各種データを記憶する空き記憶容量、すなわち空いている記憶領域が記憶装置15にあるか否かを判定する。
【0041】
(溶接区間のモニタ関連情報のデータサイズの算出)
ここで、これから溶接を開始する溶接区間におけるモニタ関連情報のデータサイズの算出について、
図4を参照して説明する。
【0042】
図4は、主制御部16の解析部16aが実行する解析処理プログラムのフローチャートであり、所定の制御周期で実行される。なお、このプログラムは、解析部16aが、前記マニピュレータを各教示ステップに基づいて制御を実行する以前の先読み処理で行われる。
【0043】
S101では、解析部16aは、作業プログラムの中で、後述するカレントステップで指定された解析すべき1つの教示ステップを解析する。なお、カレントステップの初期値は、教示ステップの最初の教示ステップ番号である。
図5の作業プログラムの例では、カレントステップは001である。
【0044】
S102ではS101の解析した当該教示ステップに溶接開始命令があったか否かを判定する。
S102で、解析した教示ステップに溶接開始命令がない場合には、S113に移行し、S101で解析して得た解析情報を解析部16aが備える実行部16bに通知し、S114において、カレントステップを1つ進めて、このプログラムを一旦終了する。なお、前記カレントステップは、S101で解析対象の教示ステップを特定するためのものである。
【0045】
S102で解析した教示ステップに溶接開始命令がある場合、S103で解析部16aは溶接トーチの溶接区間の移動時間Taを0にリセットする。
S104では、解析部16aはさらに次の教示ステップを先行解析し、S105ではS104で先行解析した結果、その教示ステップに溶接終了命令があるか否かを判定する。
【0046】
S105において、S104での解析結果が溶接終了命令でない場合には、S106で、S104での解析結果が移動命令か否かを判定する。S106でS104での解析結果が移動命令ではない場合には、図示はしないが、S104で取得した先行解析情報を一時バッファに記憶してS104に戻る。また、S106でS104での解析結果が移動命令である場合には、S107において、移動時間Tmvを算出する。
【0047】
この移動時間Tmvの算出は、具体的には、S107に移行する前の最新のS104で解析した当該教示ステップ(以下、最新解析教示ステップという)の教示点をP1とし、以前にS104で解析されるとともに最新解析教示ステップの教示点に隣接した教示点をP2としたとき、P1・P2間距離と、最新解析教示ステップに記述された移動速度に基づいて行われる。S108では、解析部16aは、以前に算出した移動時間Taに今回算出した移動時間Tmvを加算して、移動時間Taを更新する。S109では、解析部16aは、S104で取得した先行解析情報を一時バッファに記憶してS104に戻る。
【0048】
S105において、S104での解析結果が溶接終了命令である場合には、S110に移行する。S110では、作業プログラムの溶接開始命令に溶接区間の移動時間Taを付加して実行部16bに通知する。S111では、前記バッファ上の各教示ステップの解析情報を実行部16bに教示ステップ順に通知する。S112では、カレントステップを溶接終了命令があった教示ステップまで進めて、このプログラムを一旦終了する。
【0049】
上記のようにして解析部16aで取得した溶接区間の移動時間Taは、当該溶接区間の溶接時間と略等しいと考えることができる。なお、移動時間と溶接時間とが略等しいとしたのは、厳密には、アーク溶接開始の際のアークスタートが、環境によって遅れる場合等があるからであるが、その遅れは移動時間全体からみれば微差であるからである。
【0050】
このため、主制御部16は、下記のようにして、当該溶接区間のモニタ値の総データサイズを算出する。すなわち、前記総データサイズは、当該溶接区間の移動時間Taと、モニタ値のサンプリング周期、1サンプリング当たりのモニタ値のデータサイズに基づいて次式で算出する。
【0051】
総データサイズ=Ta÷(1/サンプリング周波数)×(1サンプリング当たりのモニタ値のデータサイズ)
なお、式中の1サンプリング当たりのモニタ値のデータサイズは、溶接電流と溶接電圧の合計の値であり、本実施形態のそれぞれのサンプリング周期は同じである。なお、溶接電流と溶接電圧のサンプリング周期が異なる場合は、溶接電流の総データサイズと、溶接電圧の総データサイズを個別に算出して得た値を合計すればよいが、同期した同じサンプリング周期が好ましい。
【0052】
また、当該溶接区間で、溶接実行時に出力される指令情報は、予めデータサイズが分かるため、この溶接区間で出力される指令情報のデータサイズは、予め記憶装置15に作業プログラムと共に記憶されている。本実施形態では、前記当該溶接区間で、溶接実行時に出力される指令情報及び前記モニタ値をモニタ関連情報としている。
【0053】
ここで、
図2のフローチャートに戻り、S2において、当該溶接区間のモニタ関連情報のデータサイズは、当該溶接区間で出力される指令情報のデータサイズと、当該溶接区間での前記モニタ値の総データサイズの合計値である。
【0054】
S2において、モニタ関連情報の記憶領域が記憶装置15にない場合は、前記当該溶接区間のモニタ関連値について記憶不能であるとして、S4に移行し、モニタ関連情報の記憶領域が記憶装置15にある場合には、S3に移行する。
【0055】
(ステップS4) S4では、主制御部16は異常処理を行う。すなわち、主制御部16は異常処理として、警告装置18に異常表示及び警告音を発生させる異常警告処理とともに、図示しないマニピュレータの作業プログラムの再生を停止し、すなわち、マニピュレータの動作を停止しS23に移行する。なお、異常警告処理は、異常表示或いは警告音の発生のいずれか一方でもよい。
【0056】
このS4において、マニピュレータの動作停止は、モニタ装置PCとの通信切断状態であって、溶接区間におけるモニタ関連情報のデータサイズが、記憶装置15の空き記憶容量を越えているときに発生する。すなわち、これ以上、溶接区間をマニピュレータが再生動作すると、トレーサビリティを確保できないため、マニピュレータの再生運転を停止させるのである。
【0057】
(ステップS3) S3では、主制御部16は、作業プログラムから溶接開始のときの溶接指令条件を読み取って、ワーク識別情報とともに記憶装置15の通信のための記憶領域に一旦記憶し、モニタ装置PCに対してネットワーク通信部17にて送信する。なお、前記ワーク識別情報は、予め、作業プログラムが再生される前に、図示しない入力装置又は上位コントローラからロボット制御装置RC1の作業プログラムと関連付けられて記憶装置15に記憶されたものである。前記ワーク識別情報は、個々のワークを特定するための情報であり、例えばシリアル番号であるが、限定されるものではない。
【0058】
(ステップS5) S5では、主制御部16は、モニタ装置PCから一定時間以内にS3で送信したデータに対して正常に受信した旨の信号(以下、ACKという)を受信したか否かを判定する。
【0059】
(ステップS6,S7) S5において、ACKを受信した場合には,S6でPC接続状態のステータスを「接続中」にセットしてS8に移行する。また、S5において、ACKを受信しなかった場合には、S7でPC接続状態のステータスを「切断中」にセットしてS8に移行する。なお、PC接続状態のステータスの初期値は、「切断中」にセットされている。
【0060】
(ステップS8) 溶接機Y1では予め設定されたサンプリング周期で前記溶接電流、溶接電圧を電流検出部26及び電圧検出部27で検出しており、溶接機Y1はリアルタイムで通信制御部24を介してロボット制御装置RC1にサンプリングした溶接電流と溶接電圧、すなわちモニタ値を送信している。S8では、主制御部16は、この溶接機Y1から送信されたモニタ値を受信したか否かを確認する。モニタ値の受信を確認していない場合には、主制御部16は、S20にジャンプし、モニタ値の受信を確認した場合には、S9に移行する。
【0061】
(ステップS9) S9では、受信したモニタ値と、そのモニタ値と関連する溶接している部位を特定するために、現在再生している作業プログラムのプログラム番号(カレントプログラム番号)及び教示ステップ番号を相互に関連させて同時に記憶装置15の空いている記憶領域に記憶する。
【0062】
(ステップS10) ステップS10では、主制御部16は、PC接続状態のステータスを確認し、PC接続状態のステータスが「切断中」の場合にはS14に移行して前記ステータスを「切断中」のままとして、S20に移行する。また、PC接続状態のステータスが「接続中」の場合には、S11に移行する。
【0063】
(ステップS11) ステップS11では、S9で記憶装置15に記憶したモニタ値、プログラム番号(カレントプログラム番号)及び教示ステップ番号をモニタ装置PCにネットワーク通信部17を介して送信する。
【0064】
(ステップS12) S12では、主制御部16は、モニタ装置PCからのACKが一定時間内に受信できたかを確認し、ACKを一定時間内に受信できなかった場合には前記S14に移行し、ACKを一定時間内に受信できた場合には、S13に移行する。
【0065】
(ステップS13) S13では、主制御部16は、PC接続状態のステータスを「接続中」に新たに更新し、S20に移行する。
(ステップS20) S20では、主制御部16は、作業プログラムを再生実行する制御周期の下で、溶接終了命令を実行するタイミングになったか否かを判定する。溶接終了命令を実行するタイミングとなった場合には,S21に移行し、溶接終了命令を実行するタイミングとなっていない場合には、S22に移行する。
【0066】
(ステップS21) S21では、主制御部16は、作業プログラムから溶接終了のときの溶接指令条件を読み取って、ワーク識別情報とともに記憶装置15の通信のための記憶領域に一旦記憶し、モニタ装置PCに対してネットワーク通信部17にて送信し、S31に移行する。
【0067】
(ステップS31) S31では、主制御部16は、モニタ装置PCから一定時間以内にS21で送信したデータに対するACKを受信したか否かを判定する。
(ステップS32,S33) S31において、ACKを受信した場合には,S32でPC接続状態のステータスを「接続中」にセットしてS8に移行する。また、S31において、ACKを受信しなかった場合には、S33でPC接続状態のステータスを「切断中」にセットしてS8に移行する。
【0068】
(ステップS22) S20からS22に移行した場合、ステップS22では主制御部16は、溶接終了か否かを、モニタ値である溶接電流、すなわちアーク電流が0となったか否かで判定する。このステップが設けられている理由は、次の通りである。すなわち、S20で溶接終了命令のタイミングであるとして「YES」と判定された場合、主制御部16は、マニピュレータ(図示しない)及び溶接機Y1にそのための指令情報を出力するが、この指令情報が出されたときから、実際にアーク電流が切断されるまでには遅延時間があるためである。この遅延時間内に、S22で溶接終了がされていないと判定されると、S8に移行して、S8〜S13、又はS14の処理を行わせるためである。
【0069】
ここでS8〜S13では、溶接区間中に行われる処理であり、この溶接区間中で取得されたモニタ関連情報は記憶装置15に記憶されることになる。また、モニタ装置PCとの通信接続が可能な場合には、記憶装置15に記憶されたモニタ関連情報は、S11でモニタ装置PCに送信され、モニタ装置PCとの通信接続が不能な場合には、記憶装置15に一時的にモニタ関連情報が記憶されることになる。なお、この溶接区間中に、記憶されたモニタ関連情報は、モニタ装置PCに送信された後も、後述するS29でクリアされるまでは、記憶保持されることになる。
【0070】
S22で、溶接が終了された、すなわちアーク電流(溶接電流)が0となったと判定された場合は、S23に移行する。
次に、S23〜S30、S34,S35は、1つの溶接区間が終了した場合の後処理である。
【0071】
(ステップS23〜S25、S34,S35) S23に移行したとき、モニタ装置PCとの通信接続ができていない場合があるため、PC接続状態のステータスを再確認する。すなわち、S23では、主制御部16はPC接続状態のステータスが「接続中」か否かを確認する。PC接続状態のステータスが「接続中」である場合は、S26にジャンプし、PC接続状態のステータスが「切断中」である場合は、S24でネットワーク通信部17によりモニタ装置PCに対して接続確認要求を行わせてS25でモニタ装置PCからACKを一定時間以内に受信したか否かを判定する。S25において、一定時間以内にACKを受信しない場合には、S34でPC接続状態のステータスを「切断中」にしてS35で予め設定された所定時間待機した後、モニタ装置PCとの通信復帰処理を実行するためS1に戻る。すなわち、S1に戻った後、S1で「NO」からS23へ移行させる機会を付与する。S25において、主制御部16は、一定時間内にACKを受信すると、S26に移行する。
【0072】
次に、S26〜S30は、記憶装置15に溶接終了後に未送信のデータの有無に応じて行う処理である。
(ステップS26) S26では、主制御部16は、記憶装置15の記憶領域に未送信のモニタ関連情報が、存在するか否かを判定し、存在しない場合には、S30にジャンプし、存在する場合には、S27に移行する。
【0073】
(ステップS27) S27では、主制御部16は、記憶装置15に未送信のモニタ関連情報を全てモニタ装置PCにネットワーク通信部17を介して送信する。
(ステップS28) S28では、主制御部16は、モニタ装置PCから一定時間以内にS27で送信したデータに対するACKを受信したか否かを判定し、ACKを一定時間内に受信できなかった場合には前記S34に移行し、ACKを一定時間内に受信できた場合には、S29に移行する。
【0074】
(ステップS29) S29では、主制御部16は、記憶装置15に記憶していた、当該作業プログラムの当該溶接区間に関する再生時における全てのモニタ関連情報をクリアし、S30に移行する。
【0075】
(ステップS30) S30では、主制御部16は、PC接続状態のステータスを「接続中」にセットし、このプログラムを一旦終了する。
本実施形態において、S1の溶接開始命令のタイミングがきた時から、S22の溶接終了が「YES」となるまでの制御工程は、溶接制御工程であり、ロボット制御工程に相当する。
【0076】
なお、S24及びS25、並びにS27及びS28による通信復帰処理がそれぞれ失敗した場合に、S34、S35の処理を行わせて、S1に戻るようにし、S24に戻さないようにしている。このようにS24及びS25、並びにS27及びS28による通信復帰処理がそれぞれ失敗した場合にS24に戻さない理由は、モニタ装置PCとの通信が復帰するまで時間がかかり、その間に次の溶接区間の溶接が実行されても、その溶接区間中のモニタ関連情報を記憶装置15で記憶できるようにするためである。
【0077】
上記のようにして、ロボット制御装置RC1におけるモニタ関連情報がモニタ装置PCの記憶装置34に記憶される。
他のロボット制御装置RC2〜RCNについても、同様にしてモニタ関連情報がモニタ装置PCの記憶装置34に記憶される。なお、各ロボット制御装置で再生される作業プログラムには、それぞれユニークな作業プログラム番号が付与されている。
【0078】
そして、これらのモニタ関連情報は、ロボット制御装置毎の識別コード、或いは、ロボット制御装置の作業プログラム番号毎に区分して記憶装置34に記憶される。
モニタ装置PCでは、上記したように、ロボット制御装置RC1〜RCNからの送信されたモニタ関連情報等を受信すると、それらのモニタ関連情報等を時系列に記憶装置34に記憶するとともに、受信完了後は、上記したようにACKを返信する。
【0079】
この結果、モニタ装置PCは、1つのワークを複数台の溶接ロボットで同時に溶接する場合、複数の溶接ロボットのモニタ関連情報をそれぞれ確実に保存することができる。すなわち、それぞれの溶接ロボットの溶接施工結果のトレーサビリティを確保することができる。
【0080】
本実施形態のアーク溶接ロボットシステム及びロボット制御装置によれば、下記の特徴がある。
(1) 本実施形態のアーク溶接ロボットシステムは、記憶装置34(モニタ記憶部)を有するモニタ装置PCと、複数のロボットをそれぞれ制御する複数のロボット制御装置RC1〜RCNとがネットワークを介して接続されている。各ロボット制御装置RC1〜RCNは、溶接制御工程(ロボット制御工程)中のモニタ関連情報を溶接制御工程順に記憶動作する記憶装置15(記憶部)と、これから行われる溶接制御工程中のモニタ関連情報が、記憶装置15(記憶部)の空き記憶容量で記憶可能か記憶不能かを判定する主制御部16(判定部)を備える。
【0081】
また、各ロボット制御装置RC1〜RCNは、前記記憶可能の判定の下で、モニタ装置PCとの通信不能となった場合は、記憶装置15(記憶部)が記憶した前記モニタ関連情報を保持させ、モニタ装置PCとの通信が可能な場合は記憶装置15(記憶部)が記憶したモニタ関連情報をモニタ装置PCに送信するネットワーク通信部17(通信部)を備える。さらに、ロボット制御装置RC1〜RCNは、前記記憶不能の判定の場合、異常処理を行い、記憶装置15(記憶部)へのこれから行われる溶接制御工程(ロボット制御工程)のモニタ関連情報の記憶をさせない主制御部16(制御部)を備える。
【0082】
この結果、本実施形態によれば、1つのワークの加工作業を複数台のロボットに行わせるアーク溶接ロボットシステムにおいて、モニタ値及び指令情報を含むモニタ関連情報を確実に保存してトレーサビリティを確保できるとともに、一元管理することもできる。すなわち、複数のマニピュレータのモニタ関連情報をモニタ装置で一元管理することができる。より具体的には、ネットワークに接続された複数のロボットが1つのワークに対して同時に加工作業を行うような生産ラインにおいて特に効果を発揮する。このような生産ラインでは、例えば、1台のロボットとネットワーク間のケーブル断線や無線通信の一時的遮断などにより通信異常が発生し、残りのロボットでは通信異常が発生していない場合が想定される。このような場合、従来技術では、通信異常を検出したロボットはモニタ関連情報をモニタ装置に転送できないことになる。このことは、生産ライン全体としてのトレーサビリティを確保することができないということを意味している。この点、本実施形態では、ネットワークに通信異常が発生している場合はモニタ関連情報をモニタ装置に転送するのではなく、自身の記憶装置に一時的に保存するようにしたことによって、生産ラインに配置された全てのロボットのモニタ関連情報を確実に保存することができる。すなわち、生産ライン全体におけるトレーサビリティを確保することができる。
【0083】
また、ロボット制御装置とモニタ装置との通信に一時的な障害が発生したとしても、ロボット制御装置自体、或いはモニタ装置の稼働を止めることなく、モニタ関連情報を保存し続け、トレーサビリティを確保することができる。さらに、各ロボット制御装置にロボット制御工程が終了して、当該ロボット制御工程で取得したモニタ関連情報を全て送信した後はクリアするため、ロボット制御装置には大容量の記憶装置を搭載する必要がなく、システムを安価に構成できる。また、モニタ関連情報の保守はモニタ装置の1箇所で実施できるため、保守作業を簡素化できる。さらに、ロボット制御装置とモニタ装置との通信状態が正常である場合には、モニタ装置側で履歴データを保存しながら、ロボット制御工程のリアルタイムモニタも可能となる。
【0084】
(2) 本実施形態のアーク溶接ロボットシステムでは、前記異常処理は、ロボット制御を停止するとともに異常警告処理を含むようにしている。この結果、本実施形態によれば、異常警告により、作業者は、記憶装置15(記憶部)へのこれから行われる溶接制御工程(ロボット制御工程)のモニタ関連情報の記憶をされないことを知ることができ、その対応の処置を迅速に行うことができる。
【0085】
(4) 本実施形態のアーク溶接ロボットシステムでは、ロボットを溶接ロボットとし、記憶装置15(記憶部)にモニタ関連情報の記憶が必要であるロボット制御工程は、溶接制御工程とし、前記モニタ値は、溶接電流及び溶接電圧を含むようにした。この結果、本実施形態によれば、アーク溶接ロボットシステムにおいて、上記(1)の効果を実現することができる。
【0086】
(5) 本実施形態のアーク溶接ロボットシステムでは、モニタ装置PCの記憶装置34(モニタ記憶部)は、ロボット制御装置RC1〜RCNのそれぞれから送信されたモニタ関連情報を、ロボット制御装置毎に記憶するようにした。この結果、本実施形態によれば、複数のロボット制御装置から送信されたモニタ関連情報をロボット制御装置毎に一元管理することができる。
【0087】
(6) 本実施形態のロボット制御装置は、溶接制御工程(ロボット制御工程)中のモニタ関連情報を溶接制御工程順に記憶動作する記憶装置15(記憶部)と、これから行われる溶接制御工程中のモニタ関連情報が、記憶装置15(記憶部)の空き記憶容量で記憶可能か記憶不能かを判定する主制御部16(判定部)を備える。また、各ロボット制御装置RC1〜RCNは、前記記憶可能の判定の下で、モニタ装置PCとの通信不能となった場合は、記憶装置15(記憶部)が記憶した前記モニタ関連情報を保持させ、モニタ装置PCとの通信が可能な場合は記憶装置15(記憶部)が記憶したモニタ関連情報をモニタ装置PCに送信するネットワーク通信部17(通信部)を備える。さらに、ロボット制御装置RC1〜RCNは、前記記憶不能の判定の場合、異常処理を行い、記憶装置15(記憶部)へのこれから行われる溶接制御工程(ロボット制御工程)のモニタ関連情報の記憶をさせない主制御部16(制御部)を備える。この結果、このロボット制御装置を複数台モニタ装置とネットワークを介して接続した場合、上記(1)の効果を容易に実現することができる。
【0088】
なお、本発明は前記実施形態に限定されるものではなく、下記のように構成してもよい。
・ 前記実施形態において、モニタ装置PCのCPU31は、記憶装置34(モニタ記憶部)の空き記憶容量が予め設定された空き記憶容量以下か否かを判定し、前記空き記憶容量が予め設定された空き記憶容量以下とCPU31が判定した場合には、ネットワーク通信部35(送信部)は前記ネットワークに接続された複数のロボット制御装置RC1〜RCNに対して、警告信号を送信するようにしてもよい。
【0089】
そして、ロボット制御装置RC1〜RCNの主制御部16(制御部)は、ネットワーク通信部35からの前記警告信号に基づいて、モニタ関連情報の記憶が必要である溶接制御工程(ロボット制御工程)の制御、すなわち、次の溶接区間に入る前に該制御を停止してもよい。この場合、前記予め設定された記憶容量は、各ロボット制御装置からの1溶接区間に関してモニタ関連情報の記憶を完了する毎に、例えば下記のようにして自動的に算出するものとする。
【0090】
例えば、CPU31は、同じ作業プログラムで各ロボット制御装置RC1〜RCNが同期して溶接制御作業を行う場合、各ロボット制御装置から受信した1溶接区間のモニタ関連情報の最大値を基にして、ロボット制御装置RC1〜RCNが同時にロボット制御を開始したときに必要とする最大必要記憶容量を「最大値×ロボット制御装置の接続台数」に基づいて自動的に算出する。
【0091】
そして、モニタ装置PCのCPU31は、次回の溶接区間に入る前に、前記最大必要記憶容量に、記憶装置34の現在の空き記憶容量が達していないと判定としたときは、前記警告信号を各ロボット制御装置RC1〜RCNに送信する。
【0092】
このように構成すれば、モニタ装置PCにおける記憶装置34の記憶容量が不足する場合、各ロボット制御装置が溶接制御工程に入る前にロボットの再生運転を停止できるため、アーク溶接ロボットシステムにおいて、モニタ値及び指令情報を含むモニタ関連情報を確実に保存してトレーサビリティを確保することができる。
【0093】
・ 前記実施形態では、例えば、
図3のS24,S25において各ロボット制御装置RC1〜RCN側からモニタ装置PCへ接続確認要求を行うようにしているが、ロボット制御装置からの接続確認要求に代えて、モニタ装置PCからロボット制御装置RC1〜RCNに接続要求確認を行うようにしてもよい。例えば、モニタ装置PCの電源オン時に、ネットワーク20の情報通信系ネットワークを介してモニタ装置PCからロボット制御装置RC1〜RCNに接続要求確認を行ったり、前記電源オン時にともない、各ロボット制御装置RC1〜RCNに前記作業プログラムのネットワーク20の制御系ネットワークを介して起動指令を出力するとともに、情報通信系ネットワークにてロボット制御装置RC1〜RCNに接続要求確認を行ったりしてもよい。この場合、モニタ装置PCは、上位コントローラとすることが好ましい。
【0094】
・ 前記実施形態において、
図4のフローチャートのS105からS110に移行した場合、溶接区間の移動時間Taに、予め定めたオフセット時間を加算し、このオフセット時間を加算した値を移動時間Taとして、溶接区間のモニタ値の総データサイズを算出するようにしてもよい。前記オフセット時間は、溶接開始を主制御部16の実行部16bが指令してから、アークが発生してマニピュレータが動作し始めるまでや、マニピュレータが溶接終了点に到達してから溶接終了するまでにはある時間を要する場合があり、その間に取得されるモニタ関連情報の記憶領域を確保するためのものである。このようなオフセット時間は、作業プログラムで試験を行うことより取得することができる。
【0095】
・ 前記各実施形態ではモニタ値を、溶接電流及び溶接電圧としたが、モニタ値は溶接電流及び溶接電圧に限定するものではない。例えば、図示はしないが、溶接トーチに溶接ワイヤを供給するワイヤ送給装置によるワイヤ送り速度を検出するセンサを設けておき、そのワイヤ送り速度をモニタ値としたり、或いは、アーク溶接時に溶接トーチから溶接施工部位に吐出するシールドガスの単位時間当たりのガス流量をモニタ値としてもよい。
【0096】
・ モニタ値として、溶接電流のみ、又は溶接電圧のみとしてもよい。
・ モニタ値として、溶接電流と前記ワイヤ送り速度とすること、或いは溶接電圧と前記シールドガス流量とすること、或いは溶接電圧と前記ワイヤ送り速度とすること、或いは溶接電圧と前記シールドガス流量とすること、或いは、溶接電流、前記ワイヤ送り速度及び前記シールドガス流量とすること、或いは、溶接電圧、前記ワイヤ送り速度及び前記シールドガス流量とすること、或いは、溶接電流、溶接電圧、前記ワイヤ送り速度及び前記シールドガス流量とすること。
【0097】
・ 上述のように前記各実施形態と異なるモニタ値の溶接区間における総データサイズは、前記実施形態と同様の方法で算出すればよい。
・ 前記各実施形態では、アーク溶接ロボットシステムに具体化して、前記溶接区間で、溶接実行時に出力される指令情報及び前記モニタ値をモニタ関連情報としているが、アーク溶接ロボットシステム以外の他のロボットシステムに具体化した場合、モニタ値の取得が必要な制御工程区間で、出力される指令情報及びモニタ値をモニタ関連情報としてもよい。
【0098】
・ 前記各実施形態では、異常処理では、ロボット制御装置RC1〜RCNの警告装置18により、異常警告処理を行い、ロボットの再生運転を停止するようにしたが、再生運転を停止する前に、警告装置18に異常警告処理を行わせ、ロボット制御装置RC1〜RCNが備える表示装置(図示しない)、及び、ティーチペンダント(図示しない)が備えるディスプレイの少なくともいずれか一方に再生運転を停止しても良いか否かを問う質問表示(質問処理)を行わせるようにしてもよい。或いは、ロボット制御装置RC1〜RCNに、図示しない合成音声生成部を備えさせ、前記合成音声生成部でロボット制御を停止しても良いか否かを問う質問の合成音声を生成してスピーカで行わせるようにしてもよい。この場合、この質問に答えさせるために、ティーチペンダント、或いは図示しない入力装置に、ロボットの動作を停止させる停止信号を入力させるスイッチを備えさせるものとする。
【0099】
・ 前記実施形態において、
図2のフローチャートにおいて、S1とS2の順をS2とS1の順にしてもよい。
・ 前記ネットワーク20は、有線で構成したが、無線ネットワークで構成してもよい。
【0100】
・ 前記各実施形態では、複数のロボットにより同時に溶接加工したときのモニタ結果を1台のモニタ装置に記憶するようネットワーク化されたロボットシステムに具体化して説明したが、1台のモニタ装置と1台のロボット制御装置とが1対1で接続されているロボットシステムにおいても、前記実施形態と同様の処理を行うことにより、モニタ値及び指令情報を含むモニタ関連情報を確実に保存することができる。すなわち、上述した実施形態と同様に、通信異常が発生している場合はモニタ関連情報をモニタ装置に転送するのではなく、自身の記憶装置に一時的に保存するようにすることによって、モニタ関連情報を確実に保存してトレーサビリティを確保することができる。