JPH0492902A - 自動組立装置の制御装置 - Google Patents
自動組立装置の制御装置Info
- Publication number
- JPH0492902A JPH0492902A JP2206785A JP20678590A JPH0492902A JP H0492902 A JPH0492902 A JP H0492902A JP 2206785 A JP2206785 A JP 2206785A JP 20678590 A JP20678590 A JP 20678590A JP H0492902 A JPH0492902 A JP H0492902A
- Authority
- JP
- Japan
- Prior art keywords
- program
- robot
- task
- command
- programs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- General Factory Administration (AREA)
- Numerical Control (AREA)
Abstract
め要約のデータは記録されません。
Description
クを供給する物品供給装置よりなる自動組立装置を制御
する自動組立制御装置に関するものである。
トおよび供給部に対して各々独立動作を行なわせるため
に、各々個別に制御装置を必要としていた。
動作プログラム及びティーチングポイント格納用のRA
M、処理プログラム、命令解釈部を格納するROM (
またはRAM)、前記処理プログラムを実行するための
CPUを持っている。
必要となりコスト高の要因になっていた。
に際して、融通性のきかないものであった。
提案されたもので、その目的は、ロボットを制御するロ
ボット動作手順プログラムとそのロボットにワークを供
給する供給部を制御する動作手順プログラムとを別個に
設けつつも、これらの動作手順プログラムを解釈する解
釈プログラム及び実行する手段を単一化した制御装置を
提案するものである。
するための本発明の構成は、組付作業を行なうロボット
と、該ロボットにロボットが要求するワークを供給する
物品供給部より成る自動組立装置を制御するための制御
装置であって、上記ロボット及び物品供給部の各々の動
作手順を記述する夫々の動作手順プログラムを記憶する
第1の記憶手段と、上記動作手順プログラムための各々
個別のデータ部分を記憶する第2の記憶手段と、上記ロ
ボット及び物品供給部のための夫々のプログラムを解釈
する1つの解釈プログラムを記憶し、この解釈プログラ
ムを上記動作手順プログラム毎のデータ部分を用いるこ
とにより、これらの動作手順プログラムをリエントラン
ト方式で実行する実行手段とを具備することを特徴とす
る。
、解釈プログラム及び実行手段の単一化が図れる。
ボット、ストッカー、エレベータ、バッファ装置からな
る自動組立装置に適用した実施例に基づいて説明する。
装置は大きく分類すると、先端部にワークを把持をする
フィンガー8をもつ組立用ロボット1と、このロボット
1にワークをイ共糸合するストッカ一部13と、ストッ
カー13内のパレットを交換するエレベータ部14と、
外部よりパレットを受は入れ一部蓄えておき、所定のパ
レットをエレベータ14に供給するバッファ部16より
構成されている。
つ直交型で、本装置の架台18上にX軸ベース2をロボ
ット支持部19により固定されている。Y軸フレーム2
4はX軸ベース2にそって位置決め可能に、ロボットX
軸モーク3により移動可能となっている。25はz−8
部であって、ロボットY軸モータ4によりY軸フレーム
24に沿って所定の位置へ移動可能となっている。前記
X軸方向とY軸方向は互いに直交している。2−8部5
はZ−Sガイド26(第2図)を有し、Z軸のモータ6
により上下に移動し、ロボットS軸モータ7により前記
Z軸を中心軸として回転可能となっている。
可能となっている。ロボットに装着されているフィンガ
ー8は、フィンガーラック9に係止されている他のフィ
ンガーと自動交換可能となってる。ロボット1は、引出
し部12に引出されたところのワークを収納したパレッ
ト10より所定のワークを把持し、また組付治具11上
へ移動し、また組付作業が可能なように制御装置100
により制御される。
で格納する。ストッカー13の本体は全体が不図示のモ
ータにより上下されて、所定の位置で停止するようにな
っている。停止した位置において、引出し部12の位置
にパレットが引出される。ロボット1が、パレット内の
ワークをつかんだ状態で少し上昇すると、そのパレット
はストッカー13の棚内に戻される。そして、次にロボ
ットが必要なパレットをロボットに供給するように、ス
トッカー全体が上下する。かくして、ストッカーは、次
にロボットが必要なパレットを、ロボットが組付動作を
行なっている間に、交換のための準備することが可能と
なっている。また、ストッカーは上下の方向に移動する
為、ストッカ内のパレットの必要なワークをランダムに
ロボットに供給することが可能である。
モータ15により上下に移動可能となっている。エレベ
ータ14には、バッファ部16よりパレットを引込む手
段と、該パレットをストッカー13内の所定の棚位置に
押し込むパレット押し込み手段と、ストッカー13内の
ワークが空となったパレットを引出してエレベータ14
に保持させる空パレツト引出し手段とを備えている。ま
た、エレベータ14はパレットを上下に2段保持可能と
なっている。これにより、バッファ部16から所定のパ
レットを引出して保持し、ストッカー13内の交換すべ
き空パレットを引出した後に、この引出した位置に前記
保持したパレットを押し込むという動作を、引出し部1
2にパレットが引き出されてロボットによりワークが取
られ、再度このパレットがストッカー内に押し戻される
間に、並行して行なうようになっている。
むという動作を開始するのは、ストッカー13内のパレ
ット内のワークの残数が1゛となった場合である。この
ような、残数がO”となる前にかかる準備動作を行なう
ことにより、ロボットの組付動作を滞らせることな(、
空のパレットを新たなワークの詰ったパレットと交換す
ることが可能である。
を複数量は入れ、これらを−時的に段積み状態(非分離
状態)で貯蔵しておく。そして、任意のパレットを、2
1.22の2つの分離爪と上下可能なバッファ台26に
より分離状態とすることが可能となっている。
成部、即ちロボット部、ストッカ一部。
ロボットの組付動作を滞らせることなく、独立して動作
を行なうことが不可欠で、前述の動作を制御しているの
が制御装置100である。
する種々のデータ、プログラム、コマンド等を入力し、
あるいは、当該装置からの各種情報を出力する為のパソ
コンである。
ト、ストッカー、エレベータ、バッファの4つの部分を
、便宜上、被制御部とよぶ。
ある。引出し部12にはパレットPが引出されており、
またバッファ部16においては2つの分離爪によりパレ
ットPaが分離されている。P、’、P、’は空になっ
たパレットがエレベータによりストッカー13内から引
出され、排出部17に積み重ねられた状態を示している
。
ットPL、P2.P3.P4がバッファ台に29のコン
ベアにより押し込まれるところを示し、また、PL’
P2’ P3’ P4′は無人車の下段に空のパ
レットが移載されたところを示す。
制御装置100の構成を説明する。
、3つのサーボモータ制御部20OA。
バイスの制御を行なうI10制御部250と、共有メモ
リ121とにより構成されており、これらの主制御部1
01.サーボ制御部200や共有RAM121は共有バ
ス120により接続されている。
部の動作のシーケンスを記述した一連の動作プログラム
や動作位置を記憶する一連のティーチングポイントを格
納するRAM104と、前記動作プログラムの解釈実行
や編集およびティーチングポイントの編集等を行なうプ
ログラムが格納されているROM103と、タイマ10
5とパソコン110とのデータおよびコマンドのやりと
りを行なう通信部(serial l10) 106と
、教示装置111とのデータおよびコマンドのやりとり
を行なう通信部107と、前記共有バス120と接続す
る為のマルチパスI/F108とにより構成されている
。
動作プログラムとティーチングポイント。
されている。
ボモータを制御する部分であって、本実施例では、最高
47個のサーボモータの位置決め制御が可能なように構
成されており、必要に応じて1〜4ケの新たなサーボモ
ータを制御可能なようになっている。第3図において、
これらのサーボモータ制御部のEはエンコーダを、Mは
サーボモータを意味する。
の出力素子及びセンサ(Sと示す)等の入力素子が接続
可能となっており、それらの制御を行なう。もちろん、
Iloの動作命令やモータの動作命令は、主制御部10
0の前記動作プログラム(RAM104)中に記述可能
であり、必要に応じて動作させること及びセンサの情報
を人力可能となっている。また、標準的な規格のマルチ
パス120を用い、かつ主制御部100及びサーボモー
タ制御部20OA、200B、I10制御部250は、
マルチパスインターフェースをもった少な(とも1枚の
基板で構成されており、制御部の増減は可能なことは言
うまでもなく、故障時にすみやかに交換することも可能
である。
ット部、ストッカ一部、エレベータ部7バツフア部の各
々は、前記サーボモータ制御部。
実施例においては、サーボモータ制御部Bはストッカ一
部用の2つのモータ、エレベータ部用の1つのモータ
バッファ部用の1つのモータを制御している。
AM104内に記憶されているプログラムの構成図であ
る。換言すれば、RAM104とROM103とは連続
的なメモリ空間を形成している。
組立動作を行なうロボット部と該ロボットにパレット内
に収納されたワークを供給する部品供給装置とのための
動作プログラムや、ティーチングポイントが記憶されて
いる。上記部品供給装置はストッカー、エレベータ、バ
ッファの各部より構成されるために、前記動作プログラ
ムも、それぞれの動作のシーケンスを記述している。こ
れらの動作プログラムは、ロボット動作プログラム14
0a、ストッカー動作プログラム140b、エレベータ
動作プログラム1400.バッファ動作プログラム14
0dである。RAM104には、これらの動作プログラ
ムの他に、各動作プログラムに対応して、ティーチング
ポイント141a、141b、141c 141dも
記憶されている。上記動作プログラム及びティーチング
ポイントは、入出力装置110(あるいは、教示装置1
11)により、例えば動作の変更にともなって変更可能
である。
、その動作に関わる命令の内容を示す記号と必要に応じ
てパラメータにより成っており、1つの動作を前記命令
群により表記し、RAMl04に格納可能である。
ログラムモードが用意されている。
止を管理するプログラムである。オートモードにおいて
は、命令解釈部131aにおいて動作プログラムを解釈
し、動作を記述する命令が内部関数である場合は内部処
理を行ない、一方、その命令がサーボモータ制御部又は
I10制御部への動作命令である場合は、その制御部へ
その動作指令を出力する。
して、140a〜140dの動作プログラムの格納領域
へ格納するプログラムである。
ーボモータを動かすティーチングポイントを教示するプ
ログラムである。データモード134は、前記ポイント
を入力および変更するプログラムである。アウトモード
135は、I10制御部の出力を操作するプログラムで
ある。インモード136は、I10制御部の入力を監視
するプログラムである。
タスクOSプログラム130は、第3図のROM103
内に記憶されている。本制御装置において、ロボット部
及びストッカ一部、エレベータ部、バッファ部の各々個
別の動作プログラム1408〜140dは、ティーチン
グポイント141a〜141dを用いられて、お互いに
調停を取られながら並行して実行され、ロボットは組付
動作、部品供給装置はロボットへの組付部品の準備動作
を行なう。しかしながら、ここで注意しなければならな
いのは、第3図で示すように、複数の動作プログラムの
処理を行なう処理プログラム、つまり131〜136の
各モードプログラムは1つのみ用意されているというこ
とである。マルチタスク08130が、必要な動作プロ
グラムを処理プログラムにて処理させて、ロボットの又
は、部品供給装置の構成機器を制御する各部の制御部に
命令を発行する。
ログラム(131,131a、132〜136)とCP
Uとは各々1つづつ設けられている。そして、マルチタ
スクOSにより、複数の被制御部のための動作命令の処
理等が行なわれている。CPUの処理時間の短さに対し
て、各被制御部における動作は十分に長い為に、見かけ
上は、複数の制御装置で複数の被制御部のための命令を
処理しているのとなんら変わることなく、動作を制御す
ることが可能となっている。
部に対する一連の処理プログラム(131〜136)の
実行を行なうことを言う。本実施例においては、組付手
段であるロボット部と、物品の供給手段であるストッカ
一部、エレベータ部、バッファ部の被制御部のための制
御が、1つのCPU102により、ロボットタスク、ス
トッカータスク、エレベータタスク、バッフアクスフと
して処理される。しかも、上記一連の処理プログラムを
タスク間で切換で実行することにより、あたかも、複数
のCPUで並行して被制御部のための制御を処理してい
るかのように、各タスクが独立して動作しているかのよ
うに見える。
て、マルチタスクOS内のプログラムの機能について説
明する。
ドラ154、タスクの交換プログラム155、タスクの
スケジューリングプログラム151、タスクの切り替え
プログラム152等からなる。
ログラム131〜136(第4図)の実行に先立って、
次のような登録処理を行なう。即ち、登録プログラムは
、登録されるべきタスクの動作プログラム(140a、
140b、140c、140d)の格納されている領域
のRAM 104上における基準アドレスの指定を行な
い、また、各被制御部の移動目標位置であるティーチン
グポイントの格納領域141 a、 14 l b、
141c、141dのRAM104上における基準
アドレスの指定を行なう。さらに、登録プログラムは、
各被制御部に対する動作指令や、目標位置や現在位置を
格納する領域(第6図)の基準アドレスの指定を行なう
。またタスクの数の登録もこのタスク登録プログラムに
より行う。
ログラムとその処理に不可欠なデータ領域とを併せて登
録することにより、各タスクプログラムの各々は、モー
ド処理プログラムダラム(第4図の131〜136)に
対して連続的なアドレス空間を有することとなる。即ち
、現在実行中のタスクプログラムがモード処理プログラ
ムに対して相対アドレス表記で記述され得ることになる
。そこで、タスク実行の切換時に、前記各基準アドレス
を書き替えて、使用することにより、モード処理プログ
ラムを、各タスク毎に準備する必要がなくなり、即ち、
リエントラント処理が可能となる。
示装置工11)より通信部106または107を介して
送られてきたコマンドを受は取る。この通信ハンドラ1
54は、初めに、前記通信部106もしくは107より
送られて来たタスクの割り付はコマンドによりどのタス
クを制御するかを指定する。通信ハンドラ154の所定
のデータ領域に、各タスクについてコマンド格納領域が
用意されている。タスク割り付はコマンドにより特定の
タスクが制御対象として指定された以後は、通信ハンド
ラ154は、通信部106もしくは107より送られて
来たコマンドを、上記割り付はコマンドにより指定され
たタスクについての上記コマンド格納領域に格納し、そ
の後、タスクのスケジューリング151処理を行なう。
6もしくは107より、タスクの割り付は変更コマンド
が送られるまで繰り返される。
、エレベータ、バッファの各タスクが、命令解釈部13
1aにより動作プログラム141a、141b、141
c、141dの1行を実行するたびに、呼ばれるプログ
ラムであり、現在実行しているタスクの動作プログラム
の命令解釈の実行を中断し、他のタスクの命令解釈の実
行を始める為のプログラムである。
スク154より格納されたコマンドに対する一連の処理
プログラムの実行終了後、次のコマンドが新たに格納さ
れるまで、他のタスクの処理プログラムの実行を行なう
プログラムである。
スク交換プログラム155もしくは通信ハンドラ154
により呼ばれるプログラムであり、タスクの交換時に、
もしくは通信ハンドラ154からのコマンド通達により
、実行されるべきタスクを実行待ち行列に登録を行なう
プログラムである。CPUは、タスクの交換時またはタ
スクの切換時に、前記実行待ち行列の順番に従ってタス
クを切り替え、各々のタスクに対するコマンドに処理プ
ログラム131,132,133,134.135,1
36および命令解釈部131aの実行を行なってゆく。
指令を格納する共有RAM121のメモツマツブである
。共有RAM1.21は、各制御部に対して各々個別の
領域170a、170b、170c、170dが設定さ
れ、これらの領域も、RAM104の動作プログラム等
と同じくセグメント化されている。各セグメントは基準
アドレスにより指定される。
御部に対する移動指令等の動作指令を格納する領域であ
る。目標位置領域172aは、主制御部よりのロボット
の移動に対する目標値を格納する領域であり、現在位置
領域173aは、ロボット制御部より返されたロボット
の現在位置を格納する領域である。
170c、バッファの通信領域170dも同じように設
定されている。
、前述の動作プログラム(第4図)と同様に、タスク登
録プログラム153により指定される。各タスクの命令
処理部(第4図の各モードプログラム)の実行において
、前記動作指令領域171a、171b、171c、1
7Ldと目標位置領域172a、172b、172c、
172dと現在位置領域173a、173b、173c
、173dは、前記タスク登録プログラム153により
指定された基準アドレスからの相対アドレスで指定され
る。
であり、このプログラムは、本制御装置を起動させるこ
とにより起動される。先ず、ステップS30において、
ロボットタスクの登録を行なうためにタスク登録プログ
ラム153が走る。
各タスクのための領域データに基づいて、ロボット制御
部200Aのための動作プログラム格納領域140aと
、目標位置データであるティーチングポイント格納領域
141aと、ロボット制御部の通信のための共有RAM
121の通信領域170aと、ロボットの処理プログ
ラムの実行におけるワーキング領域との基準アドレスの
指定を行なう。
グのため、タスクのスケジューリングプログラム151
を呼ぶことにより、ロボットタスクをタスクの待ち行列
へ登録する。ステップS32では、前記ロボットタスク
と同様にストッカータスクの登録を、ステップS33で
はストッカータスクのスケジューリングを行なう。同様
に、ステップS34ではエレベータタスクの登録を、ス
テップS35ではエレベータタスクのスケジューリング
を、ステップS36ではバッファタスクの登録を、ステ
ップS37ではバッファタスクのスケジューリングを行
なう。
ログラム152を呼ぶことにより、初期化プログラムを
終了し、前記タスクの待ち行列への登録を行なったロボ
ットタスク、ストッカータスク、エレベータタスク、バ
ッファタスクの各タスクの処理プログラムの実行を順次
開始するものである。しかし、タスクへのコマンドがま
だパーソナルコンビューク110から来ていない為に、
各々のタスクはコマンド待ち状態となり、CPU102
は無限ループの実行を行なう。
コン110より通信部106,107を介してコマンド
が入力された際に割り込みにより起動される通信ハンド
ラ154により再開される。通信ハンドラ154は、人
力されたコマンドがどのタスクへのコマンドかを判別し
た後に、指定されたタスクのスケジューリングを行なう
。また、前記CPU102が無限ループ実行中であれば
、前記タスクのコマンドの処理プログラムの実行を開始
する。
131aにおける動作の一例を示すために、動作プログ
ラムの1つである移動指令を例にとった場合のプログラ
ムの解釈実行のフローチャートである。
110のキー人力により、命令解釈部の実行のキーが操
作されると、ステップS2で、パーソナルコンピュータ
110から命令解釈部の実行コマンドが送出される。
プSIOにおいて、割り込みにより通信ハンドラ154
が実行される。ハンドラ154は、この実行コマンドを
、そのコマンドが向けられたタスクのコマンド格納領域
へ格納する。そして、この指定されたタスクを、タスク
スケジューリングプログラム151 (第5図)により
、待ち行列へ登録する。これにより、主制御部101に
おける割り込み処理を終了する。
てタスクを切換えて、各制御部に対する処理プログラム
の実行を行なう。タスクの切り替えの契機となるのは、
別のタスクが発したタスク交換のシステムコール(これ
により、交換プログラム155が起動される)または、
システムが発生した切り替えのシステムコール(これに
より、切換プログラム152が起動される)である。
タスクの切換により停止されると、待ち行列の順番に従
って、次のタスクが起動される。
のための処理を開始する。即ち、ステップSllで、当
該起動されたタスクのためのコマンド格納領域に格納さ
れたコマンドを解釈することにより、前記コマンドが命
令解釈部131aの起動を指示するものであれば、命令
解釈部131aにおける処理を開始する。
S17. S18が命令解釈部131aのプログラム
である。即ち、ステップS12において、タスク登録プ
ログラム153により指定されたタスク動作プログラム
(第4図の140a、140b、140c、140dの
いずれか1つ)を−行だけ解釈する。
令である場合には、ステップS13において、移動先の
位置を、ロボットタスクのためのティーチングポイント
領域(第4図の141a)より取り出して、共有RAM
121のロボットタスクのための目標位置領域(第6図
の172a)へ格納する。これらのティーチングポイン
ト領域及び目標位置領域は、前記タスク登録プログラム
153によりロボットタスクの登録時(ステップ530
)指定されたものである。
プS14において、当該移動指令を前記共有RAM12
1のロボットタスク用の動作指令領域(第6図の171
a)へ格納することにより、ロボット制御部20OA
へ移動を指令する。
5によりタスクの交換を行う。これは、−船釣に被制御
部の動作時間はCPUの処理に比べて長いことより、別
のタスク(例えば、ストッカータスク)の処理プログラ
ムを実行させるためである。タスクの交換により、それ
まで実行していたロボットタスクを、タスクの待ち行列
の最後尾へ登録する。そして、CPU102はこの待ち
行列に登録されている次に実行すべきタスクの処理プロ
グラムの実行を行う。即ち、ステップS16において、
次のタスクが実行可能なタスクであるかを調べ、実行可
能であれば、ステップS18でパーソナルコンピュータ
110から終了命令が来ていないことを確認してから、
ステップS12からステップS15を繰返す。ここで、
タスク可能なタスクとは、例えば、パーソナルコンピュ
ータ110によりタスク実行を解除されたタスクや、当
該タスクへパソコン110からの終了報告がきていない
場合等である。
ステップS17に進み、動作指令領域がクリアされたタ
スクがないかを調べる。後述するように、主制御部10
1がステップS14で発行した指令に対して、個々の制
御部がその指令を実行し終了した場合に、その制御部が
動作指令領域のその指令をクリアするものであるから、
ステップS17で領域のクリアを確認することは、指令
動作の終了の確認を意味する。
フローチャートの説明を続行する。
の被制御部のための指令を、共有RAM1210ロボツ
トに対応した動作指令領域(171a)を読み込み、そ
の指令が存在すれば、ステップS21により指令を取り
出して解釈する。この指令が移動命令である場合は、ス
テップS22において、共有RAM121のロボットに
対応した目標位置領域(172a)より目標位置を取り
出し、このロボット制御部は移動のための制御を行う。
部は、ステップS23において、共有RAM121の移
動指令領域(171a)の動作指令をクリアする。
21のロボットに対応した動作指令領域(171a)が
クリアされたことを、ステップS17で判断すると、次
の動作プログラム解釈より繰り返す。
で続ける。
れば、ステップS19で、通信ハンドラ154を介して
通信部106より、命令解釈部131aの終了コマンド
をパーソナルコンピュータ110へ送出する。
制御部100より送出された終了コマンドを受は取り、
主制御部100の命令解釈部の実行終了を認識する。
グラムが一般に処理速度の速い内部命令(GOTO等)
である場合においても、他のタスクの実行のために、−
行の動作プログラムの実行ごとにタスクの交換を行って
いる・ 第4図の各動作プログラム140,140b。
けられた領域へ格納され、各々の領域はプログラム番号
により管理されている。非制御部の動作は、上記領域の
プログラムを連続して実行することにより作業を行うか
、もしくはその領域内のプログラムのみで作業を行う。
ログラムの順番を複数持つことにより複数の作業パター
ンを実現可能である。
タスクよりストッカータスクを起動させるフローチャー
トである。
、ロボット動作プログラム140a中に、 5TART 2.1 と表記されており、第一の引き数が特定のタスクを示し
、第2の引き数はこの特定されたタスクの動作プログラ
ムの番号を示している。本実施例において、この第一の
引き数としてロボットを“1”、ストッカーを“°2”
、エレベータ−を”3”、バッファを“4”として特定
している。
5TART2.1の命令が解釈されると、ステップS4
1で第一の引き数を判断する。
ドラに関連して説明したように、ストッカー用のコマン
ド格納領域に、第2の引き数で指定されるプログラム番
号への変更を指示するコマンドが格納される。この格納
は通信ハンドラ154がパーソナルコンピュータ110
もしくは教示装置よりデーターが送られて来たときに行
なわれる動作と同様の動作である。
スケジューリングプログラム151により、ストッカー
タスクを待ち行列へ登録する。ステップS43では、コ
マンド格納領域へ命令解釈実行コマンドを格納する。
、コマンドを複数格納できる構造となっており、ストッ
カー用のコマンドとして、上記例では、プログラムの変
更コマンドと命令解釈部の実行コマンドが格納される。
ラムの一行の命令解釈が終了することにより、タスク交
換プログラム155を実行し、CPU102はストッカ
ータスクの処理プログラムの実行にうつる。
ド格納領域より、最初のコマンドであるプログラム番号
の変更コマンドを取り出し、前記5TART2.1命令
で特定したプログラム番号に従い、ストッカーの動作プ
ログラムをプログラム番号を“1”へ変更する。
実行コマンドをコマンド格納領域より取り出し、コマン
ドに従い命令解釈部131aの実行を開始する。
プログラムを一行解釈する毎にタスクの交換プログラム
155を繰り返し実行し、命令解釈部の実行を行う。
って以下に説明する。但し、第10図においては、被制
御部として、第1図のX軸モータ3を用いている。
ムを読み出しそのプログラムに従って動作する。この時
に必要なデータはRAM205に記憶する。タイマー2
06は一定時間ごとにCPU201に割り込み信号を与
える。D/Aコンバータ203はCPU201からの指
令に基づいてアナログ信号を発生する。ここで発生され
たアナログ信号はモータードライバ209に与えられる
。モータードライバ209はこの与えられたアナログ信
号に従ってX軸モータ3を回転させる。
ルス信号を発生する。ここで発生したパルス信号はカウ
ンター208によってカウントされる。CPU201は
このカウンタの値を読み出すことによって、モータ3の
位置を知ることができる。リミットスイッチインターフ
ェース(SWI/F)207はリミットSW210の情
報をCPU201が取り扱える信号レベルに変換する。
タのやりとりを行う。
トで説明する。まずステップS201でRAM205及
びタイマー206の初期化を行う。次にステップ520
2で主制御部101からのコマンドがあるかどうかを調
べる。コマンドがない場合にはコマンドが来るまで待つ
。ここでコマンドが入力されると、ステップ5203に
進み、以下、ステップ5208まで順次実行し、該当す
るコマンドがあれば、ステップ3210〜ステツプ52
14の処理を実行する。もし該当するコマンドがなけれ
ば、ステップ5209で不当コマンドに対する処理を行
う。コマンドによって指示された処理が終了すると、ス
テップ5215でACK信号を主制御部101に対して
与える。そしてステップ5202のコマンド待ちへ移行
する。
する。ここでは、装置のモータごとによって変更する必
要のあるパラメータを主制御部101より受は取りRA
M205にセットする。
によって説明する。ステップ5220で、カウンター2
08よりモータ3の現在位置を読み出す。ステップ52
21では、目標位置(第6図の172a)に、読み出し
だカウンタ値をセットする。ステップ5222では、モ
ータードライバー209に対゛して、サーボON指令を
与える。ここで、ステップ5220〜221の動作を行
うのは、サーボフリー状態でモーター3を動かしていた
場合に、もとの位置にもどってしまうことを防止するた
めである。
。ここでは、モータードライバー209に対してサーボ
OFF指令を与える。
ローチャートによって説明する。ステップ5230で、
マルチパスI/F202を通して、目標位置データを共
有RAM121より読み出し、RAM205にセットす
る。ステップ5213で、マルチパスI/F202を通
して、移動速度データを共有RAM121より読み出し
、RAM205にセットする。ステップ5233で、現
在のタイマー値をタイマー206より読み出し、RAM
205にセットする。ステップ3233では、RAM2
05に格納された目標位置データ、移動速度データ及び
タイマーデータによって、モータの指令位置データを発
生する。ステップ5234では、カウンタ208より現
在位置データを読み取る。ステップ5235では、ステ
ップ5233で求めた指令位置データより、ステップ5
234で求めた現在位置データを引(ことによって、位
置偏差データを計算する。ステップ8236では、ステ
ップ5235で求めた位置偏差データをD/Aコンバー
タ203に出力する。ステップ8237では、ステップ
5233で計算した指令位置データと現在位置データと
を比較する。等しければモータの移動は終了しているの
で、MOV処理を終了する。ここで等しくない場合は、
モータが動作中なので、ステップ5232のタイマー値
READ以降を繰り返す。
よって説明する。ステップ5240で、リミットSWI
/F207より原点LS(不図示)の状態を読み取る。
8で反原点LS側にMOVを開始する。ステップ524
9で原点LSの状態を再度読み取る。ここで原点LS′
がONであれば、原点LS’がOFFするまで待つ。
ップを実行する。ステップ5241では反原点方向側に
MOVを開始する。ステップ5242で原点LS′の状
態をチエツクし、原点LS’がOFFであれば、原点L
SがONするまで待つ。ステップ5243ではスピード
をスローダウンする。ステップ5244でエンコーダの
Z相をチエツクし、2相がOFFであれば、ONするま
で待つ。ステップ5245ではMOV動作を停止させ、
ステップ5246でカウンタ208をクリアし、ステッ
プ5247でRAM205上の目標位置データをクリア
する。
説明する。
ムを読み出し、そのプログラムに従って動作する。この
時に必要なデータはRAM257に記憶する。センサ2
55からのデータはアイソレータ254で絶縁レベルに
変換され、バッファ253を通してCPU251に取り
込まれる。CPU251より出力されたSV(ソレノイ
ドバルブ)駆動信号はラッチ258で記憶され、アイソ
レータ259で絶縁レベルに変換され、SV260を駆
動する。マルチパスI/F252は主制御部101との
間でデータのやりとりを行う。
より、内部信号レベルに変換されてバッファに取り込ま
れる。
おける動作を説明する。
8 バッファ253等の初期化を行う。
るかどうかを調べる。コマンドがない場合はコマンドが
来るまで待つ。ここでコマンドが入力されると、ステッ
プ5252に進み、以下ステップ5253まで順次実行
し、該当するコマンドであれば、ステップ8256〜2
57の処理を実行する。もし該当するコマンドがなけれ
ば、ステップ5254で不当コマンドに対する処理な行
う。
プ5255でACK信号を主制御部101に対して与え
る。そして、ステップ5251のコマンド待ちへ移行す
る。
はセンサ255の番号を主制御部101から受は取り、
その番号によって指示されるセンサの状態をバッファを
介して読み取り、主制御部101へ通知する。
は5V260の番号とON10 F Fの情報を主制御
部101より受は取り、その番号によって指示されるS
Vの状態を指示された0N10FFの状態に変更する。
ある。例えば、作動部は上記実施例のロボット、ストッ
カー、エレベータ、バッファかならなる組合せに限定さ
れない。
するロボット動作手順プログラムとそのロボットにワー
クを供給する供給部を制御する動作手順プログラムとを
別個に設けつつも、これらの動作手順プログラムを解釈
する解釈プログラム及び実行する手段を単一化すること
が可能となり、コストの低減が図れる。単一化によるコ
スト低減効果は、例えば、解釈手順の変更があっても、
プログラムの変更は解釈プログラムを変更するだけで済
むという面にも更に現われる。
解釈プログラムとはマルチタスクOSの下で制御される
。
供給部は夫々の動作部を有し、前記実行・手段は、上記
解釈プログラムが解釈した上記動作部のための命令を、
これらの動作部に指令する事を特徴とする。
、バッファからなる自動組立装置に適用した場合に、そ
の実施例の構成を示す斜視図、第2図はその実施例の正
面図 第3図は第1図実施例の制御装置のハードウェア構成図
、 第4図は上記制御装置のソフトウェア構成を示す図、 第5図は第1図実施例に用いられるマルチタスクプログ
ラムOSの構造を説明する図、第6図は共有RAMの構
成を示す図、 第7図は第1図実施例におけるタスク初期化プログラム
のフローチャート、 第8図は、移動指令を例とした場合の、パーソナルコン
ピュータ110.主制御装置101.他の制御装置との
間の制御手順の関連を説明するフローチャート、 第9図は1つのタスクから他のタスクを起動する指令を
実行する場合の制御手順を示すフローチャート、 第10図はロボット制御部のハードウェア構成を示すブ
ロック図、 第11図乃至第14図はロボット制御部の制御手順を示
すフローチャート、 第15図はI10制御部のハードウェア構成を示すブロ
ック図、 第16図はI10制御部の制御手順を示すフローチャー
トである。 図中、1・・・ロボット、2・・・X軸ベース、3・・
・X軸モータ、4・・・Y軸モーク、5・・・zS軸、
6・・・2軸モータ、7・・・S軸モータ、8・・・フ
ィンガー、9・・・フィンガーラック、10・・・ワー
ク、11・・・組付治具、12・・・引出部、13・・
・ストッカー、14・・・エレベータ、15・・・エレ
ベータモータ、16・・・バッファ部、17・・・排出
部、100・・・制御装置、101・・・主制御部、1
10・・・パーソナルコンピュータである。 第4 図 マルチタスクO3 第 図 第 図 第 図 第11図 第12図 第13図 第15図 第16 図
Claims (3)
- (1)組付作業を行なうロボットと、該ロボットにロボ
ットが要求するワークを供給する物品供給部より成る自
動組立装置を制御するための制御装置であって、 上記ロボット及び物品供給部の各々の動作手順を記述す
る複数の動作手順プログラムを記憶する第1の記憶手段
と、 上記動作手順プログラムための各々個別のデータ部分を
記憶する第2の記憶手段と、 上記ロボット及び物品供給部のための夫々の動作手順プ
ログラムを解釈する1つの解釈プログラムを記憶し、こ
の解釈プログラムを上記動作手順プログラム毎のデータ
部分を用いることにより、これらの複数の動作手順プロ
グラムをリエントラント方式で実行する実行手段とを具
備する自動組立装置の制御装置。 - (2)前記動作手順プログラムと解釈プログラムとはマ
ルチタスクプログラムOSの下で制御される事を特徴と
する請求項の第1項に記載の自動組立装置の制御装置。 - (3)前記ロボット及び部品供給部は夫々の動作部を有
し、 前記実行手段は、上記解釈プログラムが解釈した上記動
作部のための命令を、これらの動作部に指令する事を特
徴とする請求項の第1項に記載の自動組立装置の制御装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2206785A JP2954294B2 (ja) | 1990-08-06 | 1990-08-06 | 自動組立装置の制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2206785A JP2954294B2 (ja) | 1990-08-06 | 1990-08-06 | 自動組立装置の制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0492902A true JPH0492902A (ja) | 1992-03-25 |
| JP2954294B2 JP2954294B2 (ja) | 1999-09-27 |
Family
ID=16529058
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2206785A Expired - Lifetime JP2954294B2 (ja) | 1990-08-06 | 1990-08-06 | 自動組立装置の制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2954294B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06214632A (ja) * | 1993-01-18 | 1994-08-05 | Canon Inc | 自動組立装置のモジュール式制御装置 |
| JPH1015836A (ja) * | 1996-07-05 | 1998-01-20 | Seiko Epson Corp | ロボット用コントローラ及びその制御方法 |
| JP2006048231A (ja) * | 2004-08-02 | 2006-02-16 | Denso Wave Inc | 制御装置及びコンピュータプログラム |
| JP2010503067A (ja) * | 2006-09-05 | 2010-01-28 | サンネン プロダクツ カンパニー | ゲージシステムの機械制御への完全統合による機械加工パラメータの自動制御のためのコントローラ |
-
1990
- 1990-08-06 JP JP2206785A patent/JP2954294B2/ja not_active Expired - Lifetime
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06214632A (ja) * | 1993-01-18 | 1994-08-05 | Canon Inc | 自動組立装置のモジュール式制御装置 |
| JPH1015836A (ja) * | 1996-07-05 | 1998-01-20 | Seiko Epson Corp | ロボット用コントローラ及びその制御方法 |
| JP2006048231A (ja) * | 2004-08-02 | 2006-02-16 | Denso Wave Inc | 制御装置及びコンピュータプログラム |
| JP2010503067A (ja) * | 2006-09-05 | 2010-01-28 | サンネン プロダクツ カンパニー | ゲージシステムの機械制御への完全統合による機械加工パラメータの自動制御のためのコントローラ |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2954294B2 (ja) | 1999-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6807461B2 (en) | Coordinated robot control from multiple remote instruction sources | |
| US6031973A (en) | Robot and its controller method | |
| US9639080B2 (en) | Controller for controlling machine tool and robot | |
| JPH07129418A (ja) | マルチタスク環境でのプログラム制御方式 | |
| JPS62282305A (ja) | ロボツトプロセス及びロボツトシステム | |
| JPS63216689A (ja) | 自動作業装置 | |
| JPH0492902A (ja) | 自動組立装置の制御装置 | |
| Nevliudov et al. | Multithreaded software control of industrial manipulator movement | |
| JPH0667709A (ja) | シーケンスプログラム作成方法及び装置並びにシーケンス制御装置 | |
| JPH0492903A (ja) | 自動組立装置の制御装置 | |
| JPH02257204A (ja) | 複数ロボット腕の衝突回避制御方式 | |
| JP2962786B2 (ja) | 自動組立装置の制御装置 | |
| JPH056213A (ja) | 産業用ロボツト制御方法およびその装置 | |
| JPS62165207A (ja) | ロボツト制御装置 | |
| JPH04305704A (ja) | ロボット制御装置 | |
| JPH089152B2 (ja) | 多腕マニピュレ−タの動作手順自動生成方法 | |
| Vistein et al. | Instantaneous switching between real-time commands for continuous execution of complex robotic tasks | |
| JPH10301608A (ja) | 作業機械の制御装置 | |
| JPH07160623A (ja) | 周辺機器制御方法およびロボット制御方法 | |
| JP3664910B2 (ja) | ロボットの制御装置 | |
| JPH08141978A (ja) | 複数ロボットの制御方法 | |
| JPH1195825A (ja) | 数値制御プログラムの実行方法 | |
| JPH09179612A (ja) | 自動溶接装置 | |
| JPS63250712A (ja) | 数値制御工作機械の制御装置 | |
| Dai | Towards Skills-based Easy Programming of Dual-arm Robot Applications. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070716 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 11 |