(57)【特許請求の範囲】
【請求項１】
ロボットと前記ロボットを制御するロボット制御装置とを備え、前記ロボット制御装置内にプログラマブルロジックコントローラ部（以下、ＰＬＣ部という）と、溶接ロボットの動作を制御するロボット制御部と、溶接出力に関する情報を検出および／または演算する溶接制御部を有し、前記溶接出力に関する情報とロボット運転情報を、ＰＬＣ部においてシーケンス制御プログラムに基づいて処理する溶接ロボットであって、
前記ＰＬＣ部でシーケンス制御プログラムに基づいて行われる処理は、前記溶接出力に関する情報の上限値の監視、前記溶接出力に関する情報の下限値の監視、および、前記溶接出力に関する情報のＰＬＣ変数への格納を含み、前記ロボットの動作とは非同期に行われる溶接ロボット。
【請求項２】
溶接出力に関する情報は、溶接電流、溶接電圧、短絡回数、ワイヤ送給速度、ワイヤ送給モータ電流の内の少なくとも１つを含む請求項１記載の溶接ロボット。
【請求項３】
ロボット運転情報は、ロボット動作速度、エラー番号、ロボット稼動時間、溶接実行時間、教示プログラム実行回数の内の少なくとも１つを含む請求項１または２記載の溶接ロボット。
【請求項４】
＿ＰＬＣ部に設けられておりシーケンス制御プログラムに基づいてＰＬＣ機能を実行するＰＬＣ制御部を備え、ロボット制御装置内の記憶部に記憶されている溶接出力に関する情報とロボット運転情報を、前記ロボット制御部から前記ＰＬＣ制御部へ送信して、前記溶接出力に関する情報と前記ロボット運転情報を前記ＰＬＣ部でシーケンス制御プログラムに基づいて処理する請求項１から３のいずれか１項に記載の溶接ロボット。
【請求項５】
＿ＰＬＣ部に設けられておりシーケンス制御プログラムに基づいてＰＬＣ機能を実行するＰＬＣ制御部と、前記ロボット制御部と前記ＰＬＣ制御部の両方に接続されたデュアルポートメモリとを備え、ロボット制御装置内の記憶部に記憶されている溶接出力に関する情報とロボット運転情報を、前記デュアルポートメモリを経由して前記ロボット制御部から前記ＰＬＣ制御部へ送信して、前記溶接出力に関する情報と前記ロボット運転情報を前記ＰＬＣ部でシーケンス制御プログラムに基づいて処理する請求項１から３のいずれか１項に記載の溶接ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ（以下、ＰＬＣという）機能を内蔵した溶接ロボットに関するものである。
【背景技術】
【０００２】
ＰＬＣは、工場内の生産設備やエレベーターなどの電気機械をシーケンス制御するためのコンピュータであり、主に入出力を制御する装置である。溶接ロボットに溶接作業を行わせる際は、ＰＬＣからロボットへのシーケンス制御として、動作させるロボットプログラムの選択、ロボット運転起動、ロボット運転停止などのシーケンス制御を行う。そして、これとともに、ＰＬＣがロボットの周辺装置へのシーケンス制御として、ワーク搬送装置、ワーク供給装置、ワーククランプ装置、溶接アーク光の遮光装置などのシーケンス制御を行う。
【０００３】
ＰＬＣのシーケンス制御とは、接点命令や出力命令などの入出力命令や、比較演算命令や算術演算命令などの演算命令などのシーケンス命令を、ＰＬＣのシーケンス制御プログラムとして登録し、実行させることにより、ロボットや周辺装置への入出力制御を行う。
【０００４】
ＰＬＣのシーケンス制御プログラムは、多くの場合、パソコン上のソフトウェアにおいてラダー図などで作成され、パソコンとＰＬＣを通信接続してＰＬＣへ転送される。
【０００５】
従来の産業用ロボットとして、ＰＬＣ機能を内蔵しているものが知られている（例えば、特許文献１参照）。特許文献１では、ＰＬＣ機能をコンカレント入出力機能と呼称し、ロボットの入出力をシーケンサ機能と呼称しているが、このコンカレント入出力機能をロボット制御装置に内蔵し、ロボット動作やロボットのシーケンサ機能とは非同期に、コンカレント入出力機能が入出力制御を行っている。
【０００６】
また、ＰＬＣ機能をロボットの制御装置に内蔵し、ユーザによるシーケンスプログラムの変更によって、ユーザが表示させたいロボット制御装置側のデータを表示部に表示できるようにし、指示データによりユーザが表示させたいデータを簡単に切り換えて表示可能とし、ロボット制御装置側のデータ表示のための専用の表示部を別に設けることを不要としているものもある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３２８７３０４号公報
【特許文献２】特開２００３−２２８４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来の、ＰＬＣ機能を内蔵している産業ロボットにおいて、ロボット制御装置内に溶接制御装置およびＰＬＣ機能の両方を内蔵した構成はなく、また、ＰＬＣ機能はあくまで入出力状態に関するシーケンス制御を行う機能のみとなっており、溶接を行う溶接ロボットにおける溶接出力に関する情報やロボット運転情報をＰＬＣ機能でのシーケンス制御に取り込んで処理するといったことはできないという課題を有していた。
【０００９】
例えば、溶接出力に関する情報の一つである溶接電流値をＰＬＣ機能で処理したい場合、溶接電流値を電流計などを用いてアナログ計測し、さらにアナログ−デジタル変換器を用いてデジタル化してＰＬＣ機能にパラレル入力させる必要があった。
【００１０】
本発明は、ＰＬＣ機能を内蔵し、溶接出力に関する情報とロボット運転情報の少なくとも一方を、ＰＬＣ機能で動作するシーケンス制御プログラムで処理できる溶接ロボットを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の溶接ロボットは、ロボットと前記ロボットを制御するロボット制御装置とを備え、前記ロボット制御装置内にプログラマブルロジックコントローラ部（以下、ＰＬＣ部という）と、溶接ロボットの動作を制御するロボット制御部と、溶接出力に関する情報を検出および／または演算する溶接制御部を有し、前記溶接出力に関する情報とロボット運転情報を、ＰＬＣ部においてシーケンス制御プログラムに基づいて処理する溶接ロボットであって、前記ＰＬＣ部でシーケンス制御プログラムに基づいて行われる処理は、前記溶接出力に関する情報の上限値の監視、前記溶接出力に関する情報の下限値の監視、および、前記溶接出力に関する情報のＰＬＣ変数への格納を含み、前記ロボットの動作とは非同期に行われるものである。
【００１３】
また、本発明の溶接ロボットは、上記に加えて、溶接出力に関する情報は、溶接電流、溶接電圧、短絡回数、ワイヤ送給速度、ワイヤ送給モータ電流の内の少なくとも１つを含むものである。
【００１４】
また、本発明の溶接ロボットは、上記に加えて、ロボット運転情報は、ロボット動作速度、エラー番号、ロボット稼動時間、溶接実行時間、教示プログラム実行回数の内の少なくとも１つを含むものである。
【００１５】
また、本発明の溶接ロボットは、上記に加えて、＿ＰＬＣ部に設けられておりシーケンス制御プログラムに基づいてＰＬＣ機能を実行するＰＬＣ制御部を備え、ロボット制御装置内の記憶部に記憶されている溶接出力に関する情報とロボット運転情報を、前記ロボット制御部から前記ＰＬＣ制御部へ送信して、前記溶接出力に関する情報と前記ロボット運転情報を前記ＰＬＣ部でシーケンス制御プログラムに基づいて処理するものである。
【００１６】
また、本発明の溶接ロボットは、上記に加えて、＿ＰＬＣ部に設けられておりシーケンス制御プログラムに基づいてＰＬＣ機能を実行するＰＬＣ制御部と、前記ロボット制御部と前記ＰＬＣ制御部の両方に接続されたデュアルポートメモリとを備え、ロボット制御装置内の記憶部に記憶されている溶接出力に関する情報とロボット運転情報を、前記デュアルポートメモリを経由して前記ロボット制御部から前記ＰＬＣ制御部へ送信して、前記溶接出力に関する情報と前記ロボット運転情報を前記ＰＬＣ部でシーケンス制御プログラムに基づいて処理するものである。
【発明の効果】
【００１８】
以上のように、本発明によれば、溶接ロボットを制御するロボット制御部と、ＰＬＣ部を制御するＰＬＣ制御部とが相互に通信可能な構成により、溶接ロボットにおける溶接出力に関する情報とロボット運転情報の少なくとも一方を、溶接ロボットに内蔵するＰＬＣ部で動作するシーケンス制御プログラムに基づいて処理することが可能となる。
【００１９】
また、溶接出力に関する情報とロボット運転情報の少なくとも一方に関しての上限下限を監視する構成、外部ネットワークへ出力する構成、ＰＬＣ変数への格納を可能とする構成、とすることにより、外部の計測器などを使用することなく溶接出力に関する情報もしくはロボット運転情報を処理することでき、かつ、ロボットの動作とは非同期にＰＬＣ機能が溶接出力に関する情報もしくはロボット運転情報を処理することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１における溶接ロボットの概略構成を示す図
【図２】本発明の実施の形態１におけるラダープログラムの基本例を示す図
【図３】本発明の実施の形態１におけるラダープログラム例を示す図
【図４】本発明の実施の形態１におけるロボット教示プログラム例を示す図
【図５】本発明の実施の形態１における溶接出力データを処理するラダープログラム例を示す図
【図６】本発明の実施の形態１におけるロボット運転情報を処理するラダープログラム例を示す図
【発明を実施するための形態】
【００２１】
以下、本発明を実施するための形態について、図１から図６を用いて説明する。
【００２２】
（実施の形態１）
図１において、２５は複数の関節軸を持ち関節軸はモータと減速機で構成されるロボットである。１１はロボット２５を含むロボットシステム全体を制御するロボット制御装置である。
【００２３】
ロボット制御装置１１において、１７はロボットシステム全体を制御するロボット制御部としてのロボットＣＰＵであり、１８はロボット制御装置１１を制御するためのロボット制御プログラムが格納される読み出し専用メモリのロボットＲＯＭであり、１９は作業者が教示した教示プログラムが格納され随時読み出し／書き込み可能なロボットＲＡＭであり、２０はロボット２５のモータを制御してロボット２５の位置と姿勢を制御するためのロボット駆動部である。
【００２４】
また、２４は溶接対象となる溶接母材であり、２２は溶接母材２４に対して供給される溶接ワイヤであり、２３は溶接ワイヤ２２を供給するためのワイヤ送給モータを有するワイヤ送給装置である。
【００２５】
また、ロボット制御装置１１において、２１はワイヤ送給装置２３を制御するとともに溶接ワイヤ２２に電圧を供給して溶接アークを発生させるとともに溶接出力を計測する溶接制御部である。１３は接点命令、出力命令などの入出力命令や比較演算命令、算術演算命令などの演算命令などのシーケンス命令で構成されたシーケンス制御プログラムを実行するＰＬＣ制御部としてのＰＬＣ−ＣＰＵであり、１４はシーケンス制御を実行するためのシーケンス実行プログラムが格納される読み出し専用メモリのＰＬＣ−ＲＯＭであり、１５は作業者が作成したシーケンス制御プログラムを格納する随時読み出し／書き込み可能なＰＬＣ−ＲＡＭである。そして、ＰＬＣ部２８は、ＰＬＣ−ＣＰＵ１３とＰＬＣ−ＲＯＭ１４とＰＬＣ−ＲＡＭ１５とを有している。
【００２６】
また、ロボット制御装置１１において、１２はロボット制御装置１１が図示しない外部周辺装置と入出力接続するための入出力端子であり、ロボットＣＰＵ１７とＰＬＣ−ＣＰＵ１３の両方から制御可能である。ここで、入出力接続とは、ひとつの信号がひとつの入出力線で接続されるパラレル入出力のことであり、入出力線を接続するための複数の端子で構成され、比較的距離の近い周辺装置との接続を行う。
【００２７】
また、１６はロボット制御装置１１が図示しない外部周辺装置と通信接続するための外部通信ポートであり、ロボットＣＰＵ１７とＰＬＣ−ＣＰＵ１３の両方から制御可能である。ここで、通信接続とは、ＲＳ２３２Ｃなどのシリアル通信接続、イーサネット（登録商標）ケーブルでのＬＡＮ接続のことであり、少ない接続線で比較的距離の離れた周辺装置との接続が可能であり、ＬＡＮ接続の場合は複数の周辺装置との通信が可能である。
【００２８】
また、２７はロボットＣＰＵ１７とＰＬＣ−ＣＰＵ１３がデータのやり取りを行うためのデュアルポートメモリであり、デュアルポートメモリは互いのＣＰＵからアクセス可能なメモリであり、２つのＣＰＵ間で通信を行うことができる。
【００２９】
２６は教示装置であり、ロボット制御装置１１に接続され、ロボット２５の動作や溶接条件の設定等を行うためのものである。
【００３０】
作業者は教示装置２６を操作してロボット２５を動作させ、教示点および動作命令を登録し、必要に応じて入出力制御、溶接制御などを行うためのロボットシーケンス命令を登録して教示プログラムを作成する。この教示プログラムは、ロボットＲＡＭ１９に記憶される。通常、ロボットＲＡＭ１９はバックアップ用電池などが接続されており、ロボット制御装置１１の電源をオフしてもロボットＲＡＭ１９に記憶された教示プログラムは消去されずに残っている。
【００３１】
ロボット２５に溶接を行わせる場合には、作業者はロボット２５の動作を教示した教示プログラムに溶接シーケンス命令を登録する。溶接シーケンス命令では、溶接開始点ではアークＯＮ命令を登録し、溶接終了点ではアークＯＦＦ命令を登録する。
【００３２】
ロボット２５が連続運転を行う場合には、ロボットＣＰＵ１７はロボットＲＯＭ１８に記憶されたロボット制御プログラムに従ってロボットＲＡＭ１９から作業者が教示した教示プログラムを読み出し、解析しながら教示プログラムを実行する。
【００３３】
ロボットＣＰＵ１７は、教示プログラムに登録されたロボット位置データにロボット２５を動作させるための関節角度や動作軌跡を計算し、ロボット駆動部２０に対して動作指令を行う。ロボット駆動部２０は、ロボット２５の関節を構成する図示しないモータに対して回転制御を行い、ロボット２５を指令通りの位置に動作させる。
【００３４】
溶接を行う際には、ロボットＣＰＵ１７は、ロボットＲＯＭ１８に記憶されたロボット制御プログラムに従ってロボットＲＡＭ１９から作業者が教示したアークＯＮ命令、アークＯＦＦ命令等を読み出し、解釈しながら溶接制御を行う。アークＯＮ命令の実行では、ロボットＣＰＵ１７が溶接制御部２１に対してアークＯＮ指令を行う。溶接制御部２１は、アークＯＮ指令を受けると、溶接ワイヤ２２および溶接母材２４に対して溶接電圧を印加し、また、ワイヤ送給装置２３に対してワイヤ送給制御を行うことにより溶接ワイヤ２２は溶接母材２４へ供給される。
【００３５】
溶接ワイヤ２２が溶接母材２４に対して連続的に短絡接触して高電流の溶接アークが発生することにより、溶接母材２４が溶融し短絡溶接による金属接合が行われる。なお、パルス溶接の場合は、溶接制御部２１がパルス状の溶接電流を発生させるための電圧制御を行うことによりパルス状に溶接アークが発生し、溶接ワイヤ２２から溶接母材２４への溶滴移行が発生して金属接合が行われる。
【００３６】
アークＯＦＦ命令の実行では、ロボットＣＰＵ１７が溶接制御部２１に対してアークＯＦＦ指令を行う。溶接制御部２１は、アークＯＦＦ指令を受けるとワイヤ送給装置２３に対してワイヤ送給制御の停止を行い、これにより溶接ワイヤ２２の溶接母材２４に対する供給が停止し、また、溶接ワイヤ２２と溶接母材２４に対する溶接電圧の印加を停止することにより溶接が終了する。
【００３７】
なお、アーク溶接を行う場合には溶融金属の酸化を防止するためにアルゴンなどの不活性ガスを溶融金属部に供給する必要があり、アークＯＮする直前からアークＯＦＦ直後までガスを供給するのが一般的である。
【００３８】
次に、溶接出力に関する情報である溶接出力データの計測について説明する。
【００３９】
溶接出力とは溶接制御部２１が溶接アークを発生させ金属接合を行った結果、溶接ワイヤ２２と溶接母材２４との間に流れた溶接電流、溶接ワイヤ２２と溶接母材２４との間の溶接電圧、溶接ワイヤ２２が溶接母材２４に連続的に接触したときの短絡回数、ワイヤ送給装置２３が溶接ワイヤ２２を送給したときのワイヤ送給速度、ワイヤ送給装置２３が溶接ワイヤ２２を送給するために回転させたワイヤ送給モータに流れたワイヤ送給モータ電流等のこと指す。
【００４０】
溶接電流については、溶接制御部２１内に図示しない電流測定用変流器（カレント・トランス）が内蔵されており、溶接電流を計測する。なお、電流計測が可能な装置であれば電流測定用変流器でなくてもよい。
【００４１】
溶接電圧については、溶接制御部２１内に図示しない電位差計が内蔵されており、溶接電圧を計測する。なお、電圧計測が可能な装置であれば電位差計でなくてもよい。
【００４２】
短絡回数については、電圧計測の仕組みにより計測された電圧が０Ｖと計測されたとき、溶接ワイヤ２２と溶接母材２４が短絡状態にあると判定し、アーク発生して電圧が上昇したときに短絡解放であると判定し、短絡した後に短絡が開放すると短絡回数１回とカウントする。通常は、１秒間に溶接ワイヤ２２と溶接母材２４が短絡した回数を短絡回数として計測する。
【００４３】
ワイヤ送給速度については、ワイヤ送給装置２３を構成する図示しないワイヤ送給モータに図示しないエンコーダが取り付けられており、このエンコーダの出力に基づいてワイヤ送給モータの回転速度を計測し、ワイヤ送給モータの回転速度からワイヤ送給速度を溶接制御部２１で計算して計測値とする。もしくは、ワイヤ送給モータが図示しないサーボモータで構成される場合には、ワイヤ送給モータ回転速度指令値と実際のモータ回転速度との差はほとんど無いので、ワイヤ送給モータ回転速度を計算するための元となっているワイヤ送給速度指令値を計測値としても良い。
【００４４】
ワイヤ送給モータ電流については、溶接制御部２１内に溶接電流用とは別の図示しない電流測定用変流器（カレント・トランス）が内蔵され、ワイヤ送給モータに流れる電流を計測する。なお、電流計測が可能な装置であれば電流測定用変流器でなくてもよい。
【００４５】
なお、これら溶接出力データのサンプリング周期については、溶接制御部２１が溶接波形を制御するための制御周期に同期している。例えば、溶接波形の制御周期が２０ＫＨｚである場合、溶接出力のサンプリング周期は５０μｓとなる。
【００４６】
溶接制御部２１が計測した溶接出力データは、ロボットＣＰＵ１７が溶接制御部２１より読み出し、ロボットＲＡＭ１９に一時的に記録される。ロボットＣＰＵ１７は、ＰＬＣ−ＣＰＵ１３からの指令により、５０μｓごとの溶接出力データの平均化計算を行う。例えば、ＰＬＣ−ＣＰＵ１３からの指令が５００ｍｓであった場合、５０μｓごとの溶接出力データに対して１００００回分で平均計算する。
【００４７】
次に、ロボット運転情報について説明する。
【００４８】
ロボット動作速度は、教示プログラム内の動作命令に登録された動作速度とするか、もしくは、登録された動作速度に基づいてロボット駆動部２０がロボット２５を動作させたときのフィードバック値のいずれかとして選択可能である。動作命令に登録された動作速度の場合は指令値となり、加減速中の過渡状態は含まれない。フィードバック値の場合は加減速中の過渡状態が含まれる。
【００４９】
エラー番号は、ロボット運転稼働中に何らかの異常要因で停止したとき、要因を番号で表したものを示す。例えば、ロボット２５による溶接実行中にアーク切れが発生してロボット２５が停止した場合、停止した要因がアーク切れであることを示す０００１がエラー番号となる。
【００５０】
ロボット稼働時間は、ロボット２５が運転稼働中である合計時間を示す。作業者が教示プログラムを選択した状態で、ロボット制御装置１１に対して起動指示を行ったとき、ロボット２５の運転稼働が開始し、ロボット２５の稼働時間のカウントを開始し、教示プログラムを最後まで実行するか、あるいは、作業者がロボット制御装置１１に対して停止指示を行ったときにロボット２５の稼動時間のカウントを停止する。このロボット２５の稼働時間は、カウントを開始するたびにゼロクリアして開始するか、もしくはゼロクリアせずに積算してカウントするかは選択可能である。また、作業者が任意のタイミングでゼロクリアすることも可能である。
【００５１】
溶接中時間は、ロボット２５が溶接実行中である合計時間を示す。作業者が教示装置２６を用いて溶接する教示プログラムを選択して起動指示を行い、アークＯＮ命令を実行して溶接開始したときに溶接中時間のカウント開始し、アークＯＦＦ命令を実行して溶接が終了したときに溶接中時間のカウントを停止する。この溶接中時間は、カウントを開始するたびにゼロクリアして開始するか、もしくはゼロクリアせずに積算してカウントするかは選択可能である。また、作業者が任意のタイミングでゼロクリアすることが可能である。また、溶接中にロボット２５を停止させた場合にもカウント停止し、再起動した場合にもカウントを開始する。
【００５２】
教示プログラム実行回数は、作業者が教示プログラムを選択した状態で、ロボット制御装置１１に対して起動指示を行ったときに、選択した教示プログラムの実行回数に１を加算する。この教示プログラム実行回数は、教示プログラムごとに記憶される。また、作業者が任意のタイミングでゼロクリアすることも可能である。
【００５３】
これらのエラー番号、ロボット稼動時間、溶接中時間、教示プログラム実行回数等は、ロボットＲＡＭ１９に記憶される。
【００５４】
次に、ＰＬＣ−ＣＰＵ１３がシーケンス制御プログラムを実行する仕組みを説明する。
【００５５】
図２は基本的なシーケンス制御プログラムをラダー図で表したものである。ラダー図は、ラダーロジックとも呼ばれ、多くのＰＬＣで採用されているシーケンス制御プログラムの表現方法である。そして、シーケンス制御プログラムは論理回路とも呼ばれる。
【００５６】
ロボット制御装置１１に内蔵されているＰＬＣ部２８のシーケンス制御プログラムは、作業者が教示装置２６を用いて作成する、もしくは、図示しないＰＣなどの外部端末を用いてシーケンス制御プログラムを作成し、ＰＣとロボット制御装置１１を通信接続してロボット制御装置１１に転送してもよい。
【００５７】
作成されたシーケンス制御プログラムは、ＰＬＣ−ＲＡＭ１５に格納される。ＰＬＣ−ＲＡＭ１５は、バックアップ用電池などが接続されており、ロボット制御装置１１の電源をオフしてもＰＬＣ−ＲＡＭ１５に記憶されたシーケンス制御プログラムは消去されずに残っている。
【００５８】
図２の例では、ＩＮ００１は入力回路１番、ＩＮ００２は入力回路２番、ＯＵＴ００１は出力回路１番、ＯＵＴ００２は出力回路２番を表している。ＩＮ００１がＯＮすると、すなわち、入力回路１番が入力ありの状態にあると、ＯＵＴ００１がＯＮ、すなわち、出力回路１番が出力ありの状態になる。同様に、ＩＮ００２がＯＮするとＯＵＴ００２がＯＮする。
【００５９】
図２において、ＬＤ回路はパラレル入力回路であり、ＩＮ（１６）００１で定義されるパラレル１６ｂｉｔ入力端子から取り込まれる１６ｂｉｔ数値がＬＤ回路に格納され、ＳＥＴ−ＶＡＬ回路に渡される。ＳＥＴ−ＶＡＬ回路は、渡された値を変数へ転送する回路である。なお、ＳＥＴ−ＶＡＬ回路のＤ（１６）００１は、１６ｂｉｔ整数型であるＰＬＣ変数であることを表し、００１は変数番号を表す。ＬＤ回路から渡された１６ｂｉｔ数値は、１６ｂｉｔ整数型ＰＬＣ変数Ｄ（１６）００１に格納される。
【００６０】
図２において、ＬＤ−ＶＡＬ回路は、ＰＬＣ変数値を入力する回路を示し、ＰＬＣ変数Ｄ（１６）００１の値が格納される。ＬＤ−ＶＡＬ回路に格納された値は、ＭＯＮＩＴＯＲ回路に渡される。ＭＯＮＩＴＯＲ回路は、渡されたＰＬＣ変数Ｄ（１６）００１の値が下限と上限の範囲外にあるか否かを判定し、範囲内にあれば真、範囲外にあれば偽となる回路である。なお、ＭＯＮＩＴＯＲ回路のＭＩＮに続く１８０という設定値は監視の下限を示し、ＭＡＸに続く２２０という設定値は監視の上限を示す。また、ＲＥに続くＭ００１は内部リレー番号を示す。
【００６１】
例えば、ＬＤ−ＶＡＬ回路から渡されたＰＬＣ変数Ｄ（１６）００１の値が２００である場合は、下限と上限の間にあるため、ＭＯＮＩＴＯＲ回路の判定結果は真となり、内部リレーＭ００１はＯＮとなる。ＬＤ−ＶＡＬ回路から渡されたＰＬＣ変数Ｄ（１６）００１の値が１７０である場合は、下限と上限の間にないため、ＭＯＮＩＴＯＲ回路の判定結果は偽となり、内部リレーＭ００１はＯＦＦとなる。内部リレーＭ００１がＯＮとなったとき、入力回路Ｍ００１がＯＮとなり、出力回路ＯＵＴ００３がＯＮとなる。出力回路ＯＵＴ００３には、例えば、図示しないランプやブザーなどが接続され、ＰＬＣ変数Ｄ（１６）００１の値が範囲内にある場合は範囲内であることを示すランプ表示やブザー音が示され、ＰＬＣ変数Ｄ（１６）００１の値が範囲外にある場合は範囲外であることを示すランプ表示やブザー音が示される。
【００６２】
シーケンス制御プログラムおよびＰＬＣ変数は、ＰＬＣ−ＲＡＭ１５に記憶される。シーケンス制御プログラムを解釈して実行するためのシーケンス実行プログラムは、ＰＬＣ−ＲＯＭ１４に格納されている。ＰＬＣ−ＣＰＵ１３は、ＰＬＣ−ＲＯＭ１４に格納されたシーケンス実行プログラムに従いながらＰＬＣ−ＲＡＭ１５に記憶されたシーケンス制御プログラムを読み出して実行していく。そして、シーケンス制御プログラムの最終行まで実行すると、先頭行に戻って先頭行から繰り返しシーケンス制御プログラムを実行する。この実行サイクルは、ＰＬＣ部２８の性能を現わす一つの指標であり、通常は決められたシーケンス制御プログラムのサイズに対する１サイクル時間で表され、例えば、１０００回路あたり１０ミリ秒以内と表現される。
【００６３】
次に、溶接出力データおよびロボット運転情報を、ＰＬＣ部２８に転送する仕組みついて説明する。
【００６４】
ロボットＣＰＵ１７は、溶接出力データおよびロボット運転情報をロボットＲＡＭ１９より読み出し、ＰＬＣ−ＣＰＵ１３に転送する。ロボットＣＰＵ１７は、デュアルポートメモリ２７にデータをライト（書き込み）した後、ＰＬＣ−ＣＰＵ１３にデータをライトしたことをＰＬＣ−ＣＰＵ１３に対するＣＰＵ割り込みにより通知する。このＣＰＵ割り込みは、ハードウェア上で実現される。
【００６５】
ＰＬＣ−ＣＰＵ１３は、ＣＰＵ割り込みによりデュアルポートメモリ２７にデータがライトされたことを検出し、データをリードすることにより通信が実現する。同様に、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に対する通信もデュアルポートメモリ２７およびＣＰＵ割り込みにより実現される。
【００６６】
なお、ロボットＣＰＵ１７とＰＬＣ−ＣＰＵ１３とが通信する仕組みは、前述のデュアルポートメモリ２７の経由以外に、高速シリアル通信など、通信が可能であれば方式は問わない。
【００６７】
また、ロボットＣＰＵ１７がＰＬＣ−ＣＰＵ１３に溶接出力データおよびロボット運転情報を転送するタイミングについては、例えば１ｍｓごとといった周期的な転送や、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７へ要求し、ロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に応答する形で溶接出力データおよびロボット運転情報を転送してもよい。
【００６８】
ＰＬＣ−ＣＰＵ１３は、受信した溶接出力データおよびロボット運転情報をＰＬＣ−ＲＡＭ１５に格納する。
【００６９】
ロボット制御装置１１に内蔵のＰＬＣ部２８は、標準的なシーケンス制御機能を備える。例えば、入出力制御の他に、ＰＬＣ変数に対する四則演算、ＰＬＣ変数値のパラレル出力、ＰＬＣ変数値をタイムアップ設定値とするタイマ機能、ＰＬＣ変数値をカウントアップとするカウンタ機能などを備える。これらの機能はＰＬＣ機能として一般的であるので、説明を省略する。
【００７０】
次に、ＰＬＣ部２８のシーケンス制御プログラムに基づいて溶接出力データを処理する方法について図３を用いて説明する。
【００７１】
図３において、ＷＥＬＤＡＭＰ回路は溶接電流を入力する回路を示し、ＡＶＧに続く５００という設定値は５００ｍｓ単位で平均化することを示す。平均時間は、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が平均化計算を行い、５００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は受信した溶接電流平均値をＷＥＬＤＡＭＰ回路の入力として格納する。
【００７２】
次に、ＷＥＬＤＡＭＰ回路に格納された溶接電流平均値は、ＭＯＮＩＴＯＲ回路に渡される。ＭＯＮＩＴＯＲ回路は、渡された値が下限と上限の範囲外にあるかを判定し、範囲内にあれば真、範囲外にあれば偽となる回路である。ＭＯＮＩＴＯＲ回路のＭＩＮに続く１８０という設定値は監視の下限を示し、ＭＡＸに続く２２０という設定値は監視の上限を示す。ＲＥに続くＭ００１は、内部リレー番号を示す。
【００７３】
例えば、ＷＥＬＤＡＭＰ回路から渡された溶接電流平均値が２００アンペアである場合は、下限と上限の間にあるため、ＭＯＮＩＴＯＲ回路の判定結果は真となり、内部リレーＭ００１はＯＮとなる。ＷＥＬＤＡＭＰ回路から渡された溶接電流平均値が１７０アンペアである場合は、下限と上限の間にないため、ＭＯＮＩＴＯＲ回路の判定結果は偽となり、内部リレーＭ００１はＯＦＦとなる。内部リレーＭ００１がＯＮとなったときは入力回路Ｍ００１がＯＮとなり、出力回路ＯＵＴ００１がＯＮとなる。出力回路ＯＵＴ００１には、例えば図示しないランプやブザーなどが接続され、溶接電流平均値が範囲内にある場合は正常を示すランプ表示やブザー音が示され、溶接電流が範囲外にある場合は異常を示すランプ表示やブザー音が示される。
【００７４】
次に、ＷＥＬＤＡＭＰ回路に格納された溶接電流平均値は、ＮＥＴ−ＯＵＴ回路に渡される。ＮＥＴ−ＯＵＴ回路は、渡された値をネットワーク出力する回路である。Ｐｏｒｔに続く番号は出力先を表し、例えばイーサネット（登録商標）ポートや、ＲＳ２３２ＣやＵＳＢなどのシリアル通信ポート、パラレル通信ポートなどを表す。ＷＥＬＤＡＭＰ回路から渡された溶接電流平均値は、ＮＥＴ−ＯＵＴ回路を通じてネットワーク出力される。例えばネットワーク出力先が図示しないＰＣなどであった場合は、ＰＣは受信した溶接電流平均値のロギングやグラフ表示などを行う。
【００７５】
次に、ＷＥＬＤＡＭＰ回路に格納された溶接電流平均値は、ＳＥＴ−ＶＡＬ回路に渡される。ＳＥＴ−ＶＡＬ回路は、渡された値を変数へ転送する命令である。ＳＥＴ−ＶＡＬ回路により１６ｂｉｔ整数型ＰＬＣ変数Ｄ（１６）００１に格納され、ＰＬＣ−ＲＡＭ１５に記憶される。
【００７６】
次に、図４を用いて教示プログラムについて説明する。
【００７７】
図４はロボット教示プログラムの一例である。行番号１と行番号２のＭＯＶＥ命令は、ロボット動作命令である。行番号３のＩＦ命令は条件分岐命令であり、ラダープログラムのＯＵＴ回路によりＯＵＴ００１がＯＮされている状態で、図４のロボット教示プログラムの行番号３においてＯＵＴ００１の内容が判定される。ＯＵＴ００１がＯＮとなっている場合は行番号１１のＬＡＢＥＬ１にジャンプし、行番号１２のＨＯＬＤ命令が続けて実行されてロボットを停止する。ＯＵＴ００１がＯＦＦとなっている場合は行番号４のＭＯＶＥ命令が実行され、次に行番号５のＥＮＤ命令が実行されてロボット教示プログラムの実行は終了する。
【００７８】
ＰＬＣ部２８のシーケンス制御プログラムで溶接電圧、短絡回数、ワイヤ送給速度、ワイヤ送給モータ電流等を処理する方法について図５を用いて説明する。
【００７９】
図５において、ＷＥＬＤＶＯＬＴ回路は、溶接電圧を入力する回路を示し、ＡＶＧに続く５００という設定値は、５００ｍｓ単位で平均化することを示す。平均時間は、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が平均化計算を行い、５００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は、受信した溶接電圧平均値をＷＥＬＤＶＯＬＴ回路の入力として格納する。
【００８０】
次に、ＷＥＬＤＶＯＬＴ回路に格納された溶接電圧平均値は、ＳＥＴ−ＶＡＬ回路に渡される。ＳＥＴ−ＶＡＬ回路は、渡された値を変数へ転送する回路である。ＳＥＴ−ＶＡＬ回路のＤ（１６）００２は、１６ｂｉｔ整数型であるＰＬＣ変数であることを表し、００２は変数番号を表す。ＷＥＬＤＶＯＬＴ回路から溶接電圧平均値は１６ｂｉｔ整数型ＰＬＣ変数Ｄ（１６）００２に格納され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数に格納される。
【００８１】
図５において、ＷＥＬＤＳＨＯＲＴ回路は短絡回数を入力する回路を示し、ＳＵＭに続く１０００という設定値は１０００ｍｓごとに積算することを示す。積算時間は、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が積算を行い、１０００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は受信した短絡回数積算値をＷＥＬＤＳＨＯＲＴ回路の入力として格納する。
【００８２】
次に、ＷＥＬＤＳＨＯＲＴ回路に格納された短絡回数積算値は、ＳＥＴ−ＶＡＬ回路に渡され、ＷＥＬＤＶＯＬＴ回路の場合と同様にＰＬＣ変数Ｄ（１６）００３に格納される。
【００８３】
図５において、ＷＥＬＤＷＩＲＥ−Ｓ回路はワイヤ送給速度を入力する回路を示し、ＡＶＧに続く５００という設定値は５００ｍｓ単位で平均化することを示す。平均時間はＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が平均化計算を行い、５００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は受信したワイヤ送給速度平均値をＷＥＬＤＷＩＲＥ−Ｓ回路の入力として格納する。
【００８４】
次に、ＷＥＬＤＷＩＲＥ−Ｓ回路に格納されたワイヤ送給速度平均値は、ＳＥＴ−ＶＡＬ回路に渡され、ＷＥＬＤＶＯＬＴ回路の場合と同様にＰＬＣ変数Ｄ（１６）００４に格納される。
【００８５】
図５において、ＷＥＬＤＷＩＲＥ−Ａ回路はワイヤ送給モータ電流を入力する回路を示し、ＡＶＧに続く５００という設定値は５００ｍｓ単位で平均化することを示す。平均時間はＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が平均化計算を行い、５００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は、受信したワイヤ送給モータ電流平均値をＷＥＬＤＷＩＲＥ−Ａ回路の入力として格納する。
【００８６】
次に、ＷＥＬＤＷＩＲＥ−Ａ回路に格納されたワイヤ送給電流平均値は、ＳＥＴ−ＶＡＬ回路に渡され、ＷＥＬＤＶＯＬＴ回路の場合と同様にＰＬＣ変数Ｄ（１６）００５に格納される。
【００８７】
同様に、ＰＬＣ部２８のシーケンス制御プログラムでロボット動作速度、エラー番号、ロボット稼動時間、溶接中時間、教示プログラム実行回数を処理する方法について、図６を用いて説明する。
【００８８】
図６において、ＲＯＢＯＴ−Ｓ回路はロボット動作速度を入力する回路を示し、ＡＶＧに続く５００という設定値は５００ｍｓ単位で平均化することを示す。平均時間はＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７が平均化計算を行い、５００ｍｓごとにロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は受信したロボット動作速度平均値をＲＯＢＯＴ−Ｓ回路の入力として格納する。
【００８９】
次に、ＲＯＢＯＴ−Ｓ回路に格納されたロボット動作速度は、ＳＥＴ−ＶＡＬ回路に渡され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数Ｄ（１６）００６に格納される。
【００９０】
図６において、ＲＯＢＯＴ−ＥＲＲ回路はロボットエラー番号を入力する回路を示し、ＮＵＭは番号データであることを示す。ロボットエラー発生時にロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３にエラー番号が送信される。ＰＬＣ−ＣＰＵ１３は、受信したロボットエラー番号をＲＯＢＯＴ−ＥＲＲ回路の入力として格納する。
【００９１】
次に、ＲＯＢＯＴ−ＥＲＲ回路に格納されたロボットエラー番号はＳＥＴ−ＶＡＬ回路に渡され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数Ｄ（１６）００７に格納される。
【００９２】
図６において、ＲＯＢＯＴ−ＯＮ回路はロボット稼働時間を入力する回路を示し、ＨＯＵＲは単位が時間であることを示す。ロボット稼動時間は、ロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に時間が送信される。ＰＬＣ−ＣＰＵ１３は、受信したロボット稼動時間をＲＯＢＯＴ−ＯＮ回路の入力として格納する。
【００９３】
次に、ＲＯＢＯＴ−ＯＮ回路に格納されたロボット稼動時間は、ＳＥＴ−ＶＡＬ回路に渡され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数Ｄ（１６）００８に格納される。
【００９４】
図６において、ＲＯＢＯＴ−Ｗ回路は、ロボット溶接時間を入力する回路を示し、ＨＯＵＲは単位が時間であることを示す。ロボット溶接時間は、ロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に時間が送信される。ＰＬＣ−ＣＰＵ１３は受信したロボット溶接時間をＲＯＢＯＴ−ＯＮ回路の入力として格納する。
【００９５】
次に、ＲＯＢＯＴ−Ｗ回路に格納されたロボット溶接時間は、ＳＥＴ−ＶＡＬ回路に渡され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数Ｄ（１６）００９に格納される。
【００９６】
図６において、ＲＯＢＯＴ−ＥＸＥ回路はプログラム実行回数を入力する回路を示し、ＲＯＢＯＴ−ＥＸＥ回路内のＰｒｇ０００１という設定値はＰｒｏｇ０００１という教示プログラム名称であることを示す。教示プログラム名称は、ＰＬＣ−ＣＰＵ１３からロボットＣＰＵ１７に送信され、ロボットＣＰＵ１７がプログラム実行回数カウントを行い、ロボットＣＰＵ１７からＰＬＣ−ＣＰＵ１３に送信される。ＰＬＣ−ＣＰＵ１３は受信したプログラム実行回数をＲＯＢＯＴ−ＥＸＥ回路の入力として格納する。
【００９７】
次に、ＲＯＢＯＴ−ＥＸＥ回路に格納されたプログラム実行回数はＳＥＴ−ＶＡＬ回路に渡され、ＰＬＣ−ＲＡＭ１５内のＰＬＣ変数Ｄ（１６）０１０に格納される。
【００９８】
以上のように、溶接出力データおよびロボット運転情報に対して、例えばＭＯＮＩＴＯＲ回路により上限や下限の範囲判定を行い、判定結果をＯＵＴ回路で出力することにより、図示しないランプ表示やブザー音を鳴らすなどの所望の動作を行わせることができる。
【００９９】
また、範囲判定だけではなく、ネットワークへの出力や、ＰＬＣ変数への転送が可能となる。
【０１００】
また、ＰＬＣ変数に溶接出力データおよびロボット運転情報を格納することにより、溶接出力データおよびロボット運転情報に対する四則演算、パラレル出力、タイマ機能、カウンタ機能などを使用することができる。
【０１０１】
なお、本実施の形態では、ロボット制御装置１１に溶接制御部２１を内蔵する例を示したが、溶接制御部２１の機能を有する図示しない溶接電源装置をロボット制御装置１１とは別に設け、この溶接電源装置で溶接出力データの検出や演算を行い、この溶接出力データを溶接電源装置からロボット制御装置１１に送信してロボット装置１１内で処理するようにしても良い。
【産業上の利用可能性】
【０１０２】
本発明の溶接ロボットは、溶接ロボットにおける溶接出力データとロボット運転情報の少なくとも一方を、溶接ロボットに内蔵するＰＬＣ部で動作するシーケンス制御プログラムに基づいて処理することにより、溶接出力データの上限下限の監視、外部ネットワークへの出力、ＰＬＣ変数へ格納することができるので、溶接を行う溶接ロボットにおける溶接出力データやロボット運転情報をＰＬＣ機能でのシーケンス制御に取り込んで処理する溶接ロボットとして産業上有用である。
【符号の説明】
【０１０３】
１１  ロボット制御装置
１２  入出力端子
１３  ＰＬＣ−ＣＰＵ
１４  ＰＬＣ−ＲＯＭ
１５  ＰＬＣ−ＲＡＭ
１６  外部通信ポート
１７  ロボットＣＰＵ
１８  ロボットＲＯＭ
１９  ロボットＲＡＭ
２０  ロボット駆動部
２１  溶接制御部
２２  溶接ワイヤ
２３  ワイヤ送給装置
２４  溶接母材
２５  ロボット
２６  教示装置
２７  デュアルポートメモリ
２８  ＰＬＣ部
【図１】
0005609046.tif 000002
【図２】
0005609046.tif 000003
【図３】
0005609046.tif 000004
【図４】
0005609046.tif 000005
【図５】
0005609046.tif 000006
【図６】
0005609046.tif 000007