JP2954294B2 - 自動組立装置の制御装置 - Google Patents

自動組立装置の制御装置

Info

Publication number
JP2954294B2
JP2954294B2 JP2206785A JP20678590A JP2954294B2 JP 2954294 B2 JP2954294 B2 JP 2954294B2 JP 2206785 A JP2206785 A JP 2206785A JP 20678590 A JP20678590 A JP 20678590A JP 2954294 B2 JP2954294 B2 JP 2954294B2
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.)
Expired - Lifetime
Application number
JP2206785A
Other languages
English (en)
Other versions
JPH0492902A (ja
Inventor
敏弘 山本
雄策 我妻
正輝 安原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2206785A priority Critical patent/JP2954294B2/ja
Publication of JPH0492902A publication Critical patent/JPH0492902A/ja
Application granted granted Critical
Publication of JP2954294B2 publication Critical patent/JP2954294B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • General Factory Administration (AREA)
  • Numerical Control (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、ロボツト等とこのロボットに所定の組立ワ
ークを供給する物品供給装置よりなる自動組立装置を制
御する自動組立制御装置に関するものである。
[従来の技術] 従来、かかる構成の自動組立装置の制御装置は、ロボ
ツトおよび供給部に対して各々独立動作を行なわせるた
めに、各々個別に制御装置を必要としていた。
[発明が解決しようとしている課題] かかる従来例においては、各制御装置は、各々個別
に、動作プログラム及びテイーチングポイント格納用の
RAM、処理プログラム、命令解釈部を格納するROM(また
はRAM)、前記処理プログラムを実行するためのCPUを持
っている。そのために、各制御装置毎にCPU,RAM,ROMが
必要となりコスト高の要因になっていた。また、このた
めに、バージョンアップやシステムの変更に際して、融
通性のきかないものであった。
本発明はこのような従来技術の問題点を解消するため
に提案されたもので、その目的は、ロボット等を制御す
る複数の動作手順プログラムを夫々異なるモード下にお
いて夫々解釈可能なモード解釈プログラムとをマルチタ
スクオペレーティングシステム下において実行する自動
組立装置の制御装置において、複数の動作手順プログラ
ムを各モード解釈プログラムに共通化することにより、
メモリ資源の肥大化を防止した制御装置を提案するもの
である。
[課題を解決するための手段及び作用] 上記課題を達成するための本発明の構成は、 組付作業を行なうロボットと、該ロボットにロボット
が要求するワークを供給する物品供給部とを備える自動
組立装置を制御するための制御装置であって、 上記ロボット及び物品供給部の各々の動作手順をマル
チタスク形式で記述する複数の動作手順プログラムを記
憶する第1の記憶手段と、 上記複数の動作手順プログラムにより制御される上記
ロボット及び物品供給部の夫々の被駆動部の各々の位置
に関する位置データの記憶領域を有する第2の記憶手段
と、 夫々異なる複数の解釈モードの下で上記ロボット及び
物品供給部のための夫々の動作手順プログラムを夫々実
行可能な複数のモード解釈プログラムを記憶し、前記複
数の動作手順プログラムの各々のアドレス空間と、前記
第2の記憶手段内の位置データの記憶領域のアドレス空
間とを各々のモード解釈プログラムとリンクさせること
により、各々モード解釈プログラム下で任意の動作手順
プログラムをマルチタスクオペレーティングシステム下
でのリエントラント方式で実行する実行手段とを具備す
る。
これにより、各モード解釈プログラムの夫々に動作手
順プログラムの夫々を割り当てることを不要にしたこと
を特徴とする。
[実施例] 以下添付図面を参照しながら、本発明の制御装置を、
ロボット,ストツカー,エレベータ,バツフア装置から
なる自動組立装置に適用した実施例に基づいて説明す
る。
〈自動組立装置の概略〉 第1図はこの実施例の自動組立装置の全景図である。
本装置は大きく分類すると、先端部にワークを把持する
フインガー8をもつ組立用ロボツト1と、このロボツト
1にワークを供給するストツカー部13と、ストツカー13
内のパレツトを交換するエレベータ部14と、外部よりパ
レツトを受け入れ一部蓄えておき、所定のパレツトをエ
レベータ14に供給するバツフア部16より構成されてい
る。
ロボツト1は、本実施例では一例として、4自由度を
もつ直交型で、本装置の架台18上にX軸ベース2をロボ
ツト支持部19により固定されている。Y軸フレーム24は
X軸ベース2にそつて位置決め可能に、ロボツトX軸モ
ータ3により移動可能となつている。25はZ−S部であ
って、ロボツトY軸モータ4によりY軸フレーム24に沿
って所定の位置へ移動可能となつている。前記X軸方向
とY軸方向は互いに直交している。Z−S部5はZ−S
ガイド26(第2図)を有し、Z軸のモータ6により上下
に移動し、ロボツトS軸モータ7により前記Z軸を中心
軸として回転可能となつている。
フィンガー8はワークを把持可能であり、自動的に着
脱可能となつている。ロボットに装着されているフィン
ガー8は、フインガーラツク9に係止されている他のフ
インガーと自動交換可能となつている。ロボツト1は、
引出し部12に引出されたところのワークを収納したパレ
ツト10より所定のワークを把持し、また組付治具11上へ
移動し、また組付作業が可能なように制御装置100によ
り制御される。
ストツカー13は内部に複数のパレツトを分離した状態
で格納する。ストツカー13の本体は全体が不図示のモー
タにより上下されて、所定の位置で停止するようになっ
ている。停止した位置において、引出し部12の位置にパ
レツトが引出される。ロボツト1が、パレツト内のワー
クをつかんだ状態で少し上昇すると、そのパレツトはス
トツカー13の棚内に戻される。そして、次にロボツトが
必要なパレツトをロボットに供給するように、ストツカ
ー全体が上下する。かくして、ストツカーは、次にロボ
ツトが必要なパレツトを、ロボツトが組付動作を行なつ
ている間に、交換のための準備することが可能となつて
いる。また、ストツカーは上下の方向に移動する為、ス
トツカ内のパレツトの必要なワークをランダムにロボツ
トに供給することが可能である。
エレベータ部においては、エレベータ14がエレベータ
モータ15により上下に移動可能となつている。エレベー
タ14には、バツフア部16よりパレツトを引込む手段と、
該パレツトをストツカー13内の所定の棚位置に押し込む
パレツト押し込み手段と、ストツカー13内のワークが空
となつたパレツトを引出してエレベータ14に保持させる
空パレツト引出し手段とを備えている。また、エレベー
タ14はパレツトを上下に2段保持可能となつている。こ
れにより、バツフア部16から所定のパレツトを引出して
保持し、ストツカー13内の交換すべき空パレツトを引出
した後に、この引出した位置に前記保持したパレツトを
押し込むという動作を、引出し部12にパレツトが引き出
されてロボツトによりワークが取られ、再度このパレツ
トがストツカー内に押し戻される間に、並行して行なう
ようになつている。
エレベータ14が、バツフア部16よりパレツトを引込む
という動作を開始するのは、ストツカー13内のパレツト
内のワークの残数が“1"となつた場合である。このよう
な、残数が“0"となる前にかかる準備動作を行なうこと
により、ロボツトの組付動作を滞らせることなく、空の
パレツトを新たなワークの詰ったパレツトと交換するこ
とが可能である。
バツフア部16は、外部からワークのつまつたパレツト
を複数受け入れ、これらを一時的に段積み状態(非分離
状態)で貯蔵しておく。そして、任意のパレツトを、2
1,22の2つの分離爪と上下可能なバツフア台26により分
離状態とすることが可能となつている。
このように本自動組立装置は、大きく分類して4つの
構成部、即ちロボツト部,ストツカー部,エレベータ
部,バツフア部がお互いに調停をとりながらロボツトの
組付動作を滞らせることなく、独立して動作を行なうこ
とが不可欠で、前述の動作を制御しているのが制御装置
100である。
第1図,第2図において、110は本自動組立装置に対
する種々のデータ、プログラム、コマンド等を入力し、
あるいは、当該装置からの各種情報を出力する為のパソ
コンである。
なお、本発明において、実際に独立して動作するロボ
ツト,ストツカー,エレベータ,バツフアの4つの部分
を、便宜上、被制御部とよぶ。
第2図は自動組立装置内のパレツトの動きを示した図
である。引出し部12にはパレツトPが引出されており、
またバツフア部16においては2つの分離爪によりパレツ
トPaが分離されている。P1′,P2′は空になつたパレツ
トがエレベータによりストツカー13内から引出され、排
出部17に積み重ねられた状態を示している。
27は無人車で無人車の上段に乗せられたあなたなパレ
ツトP1,P2,P3,P4がバツフア台に29のコンベアにより押
し込まれるところを示し、また、P1′,P2′,P3′,P4′
は無人車の下段に空のパレツトが移載されたところを示
す。
〈制御装置の構成〉 第3図により、第1図,第2図に示した自動組立装置
の制御装置100の構成を説明する。
第3図において、制御装置100は、主制御部101と、3
つのサーボモータ制御部200A,200B,200Cと、センサやソ
レノイド等の入出デバイスの制御を行なうI/O制御部250
と、共有メモリ121とにより構成されており、これらの
主制御部101,サーボ制御部200や共有RAM121は共有バス1
20により接続されている。
主制御部101は、1個のCPU102と、各被制御部の動作
のシーケンスを記述した一連の動作プログラムや動作位
置を記憶する一連のテイーチングポイントを格納するRA
M104と、前記動作プログラムの解釈実行や編集およびテ
イーチングポイントの編集等を行なうプログラムが格納
されているROM103と、タイマ105とパソコン110とのデー
タおよびコマンドのやりとりを行なう通信部(serial I
/O)106と、教示装置111とのデータおよびコマンドのや
りとりを行なう通信部107と、前記共有バス120と接続す
る為のマルチバスI/F108とにより構成されている。
RAM104には、前述のストツカー等の各被制御部の動作
プログラムとテイーチングポイントが記憶されているた
め、バツテリーによりバツクアツプされている。
サーボモータ制御部200A,200Bは、複数のサーボモー
タを制御する部分であって、本実施例では、最高47個の
サーボモータの位置決め制御が可能なように構成されて
おり、必要に応じて1〜4ケの新たなサーボモータを制
御可能なようになっている。第3図において、これらの
サーボモータ制御部のEはエンコーダを、Mはサーボモ
ータを意味する。
I/O制御部250には、電磁弁(図中、Vと示す)等の出
力素子及びセンサ(Sと示す)等の入力素子が接続可能
となつており、それらの制御を行なう。もちろん、I/O
の動作命令やモータの動作命令は、主制御部100の前記
動作プログラム(RAM104)中に記述可能であり、必要に
応じて動作させること及びセンサの情報を入力可能とな
つている。また、標準的な規格のマルチバス120を用
い、かつ主制御部100及びサーボモータ制御部200A,200
B、I/O制御部250は、マルチバスインターフエースをも
つた少なくとも1枚の基板で構成されており、制御部の
増減は可能なことは言うまでもなく、故障時にすみやか
に交換することも可能である。
また、第3図に示すように、4つの被制御部であるロ
ボツト部,ストツカー部,エレベータ部,バツフア部の
各々は、前記サーボモータ制御部,I/O制御部にそのまま
対応していない。たとえば、本実施例においては、サー
ボモータ制御部Bはストツカー部用の2つのモータ,エ
レベータ部用の1つのモータ,バツフア部用の1つのモ
ータを制御している。
〈主制御部におけるプログラム構成〉 第4図は、第3図の主制御部101のROM103とRAM104内
に記憶されているプログラムの構成図である。換言すれ
ば、RAM104とROM103とは連続的なメモリ空間を形成して
いる。
第4図において、RAM104には、本自動組立装置の組立
動作を行なうロボツト部と該ロボツトにパレツト内に収
納されたワークを供給する部品供給装置とのための動作
プログラムや、テイーチングポイントが記憶されてい
る。上記部品供給装置はストツカー,エレベータ,バツ
フアの各部より構成されるために、前記動作プログラム
も、それぞれの動作のシーケンスを記述している。これ
らの動作プログラムは、ロボツト動作プログラム140a,
ストツカー動作プログラム140b,エレベータ動作プログ
ラム140c,バツフア動作プログラム140dである。RAM104
には、これらの動作プログラムの他に、各動作プログラ
ムに対応して、テイーチングポイント141a,141b,141c,1
41dも記憶されている。上記動作プログラム及びテイー
チングポイントは、入出力装置110(あるいは、教示装
置111)により、例えば動作の変更にともなつて変更可
能である。
上記動作プログラムの一つの単位は、順序を示す番号
と、その動作に関わる命令の内容を示す記号と必要に応
じてパラメータにより成つており、1つの動作を前記命
令郡により表記し、RAM104に格納可能である。
〈リエントラント制御〉 本実施例の制御装置には、第4図に示すように6つの
プログラムモードが用意されている。
オートモード131は、前記動作プログラムの実行,停
止を管理するプログラムである。オートモードにおいて
は、命令解釈部131aにおいて動作プログラムを解釈し、
動作を記述する命令が内部関数である場合は内部処理を
行ない、一方、その命令がサーボモータ制御部又はI/O
制御部への動作命令である場合は、その制御部へその動
作指令を出力する。
プログラムモード132は、前記動作プログラムを編集
して、140a〜140dの動作プログラムの格納領域へ格納す
るプログラムである。
テイーチモード133は、ストツカー等の被制御部のサ
ーボモータを動かすテイーチングポイントを教示するプ
ログラムである。データモード134は、前記ポイントを
入力および変更するプログラムである。アウトモード13
5は、I/O制御部の出力を操作するプログラムである。イ
ンモード136は、I/O制御部の入力を監視するプログラム
である。
上記6つのモードプログラム131〜136及びマルチタス
クOSプログラム130は、第3図のROM103内に記憶されて
いる。本制御装置において、ロボツト部及びストツカー
部,エレベータ部,バツフア部の各々個別の動作プログ
ラム140a〜140dは、テイーチングポイント141a〜141dを
用いられて、お互いに調停を取られながら並行して実行
され、ロボツトは組付動作、部品供給装置はロボツトへ
の組付部品の準備動作を行なう。しかしながら、ここで
注意しなければならないのは、第3図で示すように、複
数の動作プログラムの処理を行なう処理プログラム、つ
まり131〜136の各モードプログラムは1つのみ用意され
ているということである。マルチタスクOS130が、必要
な動作プログラムを処理プログラムにて処理させて、ロ
ボツトの又は、部品供給装置の構成機器を制御する各部
の制御部に命令を発行する。
主制御部101における、命令の処理を行なうためのプ
ログラム(131,131a,132〜136)とCPUとは各々1つづつ
設けられている。そして、マルチタスクOSにより、複数
の被制御部のための動作命令の処理等が行なわれてい
る。CPUの処理時間の短さに対して、各被制御部におけ
る動作は十分に長い為に、見かけ上は、複数の制御装置
で複数の被制御部のための命令を処理しているのとなん
ら変わることなく、動作を制御することが可能となつて
いる。
ここで、タスクとは、主制御部101が、1つの被制御
部に対する一連の処理プログラム(131〜136)の実行を
行なうことを言う。本実施例においては、組付手段であ
るロボツト部と、物品の供給手段であるストツカー部,
エレベータ部,バツフア部の被制御部のための制御が、
1つのCPU102により、ロボツトタスク,ストツカータス
ク,エレベータタスク,バツフアタスクとして処理され
る。しかも、上記一連の処理プログラムをタスク間で切
換て実行することにより、あたかも、複数のCPUで並行
して被制御部のための制御を処理しているかのように、
各タスクが独立して動作しているかのように見える。
第5図はマルチタスクOSの構造図である。同図に沿つ
て、マルチタスクOS内のプログラムの機能について説明
する。
OS130は、タスク登録プログラム153、通信ハンドラ15
4、タスクの交換プログラム155、タスクのスケジューリ
ングプログラム151、タスクの切り替えプログラム152等
からなる。
タスク登録153は、サーボ制御部200A,200B及びI/O制
御部250に対するモード処理プログラム131〜136(第4
図)の実行に先出って、次のような登録処理を行なう。
即ち、登録プログラムは、登録されるべきタスクの動作
プログラム(140a,140b,140c,140d)の格納されている
領域のRAM104上における基準アドレスの指定を行ない、
また、各被制御部の移動目標位置であるテイーチングポ
イントの格納領域141a,141b,141c,141dのRAM104上にお
ける基準アドレスの指定を行なう。さらに、登録プログ
ラムは、各被制御部に対する動作指令や、目標位置や現
在位置を格納する領域(第6図)の基準アドレスの指定
を行なう。またタスクの数の登録もこのタスク登録プロ
グラムにより行う。
このようなタスク登録、即ち、登録されるべきタスク
プログラムとその処理に不可欠なデータ領域とを併せて
登録することにより、各タスクプログラムの各々は、モ
ード処理プログラム(第4図の131〜136)に対して連続
的なアドレス空間を有することとなる。即ち、現在実行
中のタスクプログラムがモード処理プログラムに対して
相対アドレス表記で記述され得ることになる。そこで、
タスク実行の切換時に、前記各基準アドレスを書き替え
て、使用することにより、モード処理プログラムを、各
タスク毎に準備する必要がなくなり、即ち、リエントラ
ント処理が可能となる。
通信ハンドラ154は、パソコン110(あるいは、教示装
置111)より通信部106または107を介して送られてきた
コマンドを受け取る。この通信ハンドラ154は、初め
に、前記通信部106もしくは107より送られて来たタスク
の割り付けコマンドによりどのタスクを制御するかを指
定する。通信ハンドラ154の所定のデータ領域に、各タ
スクについてコマンド格納領域が用意されている。タス
ク割り付けコマンドにより特定のタスクが制御対象とし
て指定された以後は、通信ハンドラ154は、通信部106も
しくは107より送られて来たコマンドを、上記割り付け
コマンドにより指定されたタスクについての上記コマン
ド格納領域に格納し、その後、タスクのスケジューリン
グ151処理を行なう。
上述のタスクに対してのコマンドの通達は、通信部10
6もしくは107より、タスクの割り付け変更コマンドが送
られるまで繰り返される。
タスク交換プログラム155は、ロボツト,ストツカ
ー,エレベータ,バツフアの各タスクが、命令解釈部13
1aにより動作プログラム140a,140b,140c,140dの1行を
実行するたびに、呼ばれるプログラムであり、現在実行
しているタスクの動作プログラムの命令解釈の実行を中
断し、他のタスクの命令解釈の実行を始める為のプログ
ラムである。
タスク切換えプログラム152は、前記通信ハンドラタ
スク154より格納されたコマンドに対する一連の処理プ
ログラムの実行終了後、次のコマンドが新たに格納され
るまで、他のタスクの処理プログラムの実行を行なうプ
ログラムである。
タスクのスケジユーリングプログラム151は、前記タ
スク交換プログラム155もしくは通信ハンドラ154により
呼ばれるプログラムであり、タスクの交換時に、もしく
は通信ハンドラ154からのコマンド通達により、実行さ
れるべきタスクを実行待ち行列に登録を行なうプログラ
ムである。CPUは、タスクの交換時またはタスクの切換
時に、前記実行待ち行列の順番に従つてタスクを切り替
え、各々のタスクに対するコマンドに処理プログラム13
1,132,133,134,135,136および命令解釈部131aの実行を
行つてゆく。
第6図は、各サーボ制御部200に対して送られる動作
指令を格納する共有RAM121のメモリマツプである。共有
RAM121は、各制御部に対して各々個別の領域170a,170b,
170c,170dが設定され、これらの領域も、RAM104の動作
プログラム等と同じくセグメント化されている。各セグ
メントは基準アドレスにより指定される。
同図において、動作指令領域171aは、ロボツトの制御
部に対する移動指令等の動作指令を格納する領域であ
る。目標位置領域172aは、主制御部よりのロボツトの移
動に対する目標値を格納する領域であり、現在位置領域
173aは、ロボツト制御部より返されたロボツトの現在位
置を格納する領域である。
ストツカーの通信領域170b,エレベータの通信領域170
c,バツフアの通信領域170dも同じように設定されてい
る。
この共有RAM121の各領域のための基準アドレスも、前
述の動作プログラム(第4図)と同様に、タスク登録プ
ログラム153により指定される。各タスクの命令処理部
(第4図の各モードプログラム)の実行において、前記
動作指令領域171a,171b,171c,171dと目標位置領域172a,
172b,172c,172dと現在位置領域173a,173b,173c,173d
は、前記タスク登録プログラム153により指定された基
準アドレスからの相対アドレスで指定される。
タスクの登録 第7図は本発明の初期化のプログラムのフローチャー
トであり、このプログラムは、本制御装置を起動させる
ことにより起動される。先ず、ステツプS30において、
ロボツトタスクの登録を行なうためにタスク登録プログ
ラム153が走る。このプログラムが走ることにより、予
め入力しておいた各タスクのための領域データに基づい
て、ロボツト制御部200Aのための動作プログラム格納領
域140aと、目標位置データであるテイーチングポイント
格納領域141aと、ロボツト制御部の通信のための共有RA
M121の通信領域170aと、ロボツトの処理プログラムの実
行におけるワーキング領域との基準アドレスの指定を行
なう。
ステツプS31では、ロボツトタスクのスケジユーリン
グのため、タスクのスケジユーリングプログラム151を
呼ぶことにより、ロボツトタスクをタスクの待ち行列へ
登録する。ステツプS32では、前記ロボツトタスクと同
様にストツカータスクの登録を、ステツプS33ではスト
ツカータスクのスケジユーリングを行なう。同様に、ス
テツプS34ではエレベータタスクの登録を、ステツプS35
ではエレベータタスクのスケジユーリングを、ステツプ
S36ではバツフアタスクの登録を、ステツプS37ではバツ
フアタスクのスケジユーリングを行なう。
ステツプS37は初期化プログラムによりタスク切換プ
ログラム152を呼ぶことにより、初期化プログラムを終
了し、前記タスクの待ち行列への登録を行なつたロボツ
トタスク,ストツカータスク,エレベータタスク,バツ
フアタスクの各タスクの処理プログラムの実行を順次開
始するものである。しかし、タスクへのコマンドがまだ
パーソナルコンピユータ110から来ていない為に、各々
のタスクはコマンド待ち状態となり、CPU102は無限ルー
プの実行を行なう。
前記コマンド待ちで中断しているタスクの処理は、パ
ソコン110より通信部106,107を介してコマンドが入力さ
れた際に割り込みにより起動される通信ハンドラ154に
より再開される。通信ハンドラ154は、入力されたコマ
ンドがどのタスクへのコマンドかを判別した後に、指定
されたタスクのスケジユーリングを行なう。また、前記
CPU102が無限ループ実行中であれば、前記タスクのコマ
ンドの処理プログラムの実行を開始する。
命令の実行 第8図は、オートモードプログラム131の命令解釈部1
31aにおける動作の一例を示すために、動作プログラム
の1つである移動指令を例にとった場合のプログラムの
解釈実行のフローチヤートである。
先ず、ステツプS1において、パーソナルコンピユータ
110のキー入力により、命令解釈部の実行のキーが操作
されると、ステツプS2で、パーソナルコンピユータ110
から命令解釈部の実行コマンドが送出される。
この実行コマンドを受けた主制御部101では、ステツ
プS10において、割り込みにより通信ハンドラ154が実行
される。ハンドラ154は、この実行コマンドを、そのコ
マンドが向けられたタスクのコマンド格納領域へ格納す
る。そして、この指定されたタスクを、タスクスケジユ
ーリングプログラム151(第5図)により、待ち行列へ
登録する。これにより、主制御部101における割り込み
処理を終了する。
CPU102は、上記待ち行列中のキューの順番に従ってタ
スクを切換えて、各制御部に対する処理プログラムの実
行を行なう。タスクの切り替えの契機となるのは、別の
タスクが発したタスク交換のシステムコール(これによ
り、交換プログラム155が起動される)または、システ
ムが発生した切り替えのシステムコール(これにより、
切換プログラム152が起動される)である。
現在実行しているタスクが、上記タスクの交換若しく
はタスクの切換により停止されると、待ち行列の順番に
従って、次のタスクが起動される。即ち、CPU102はステ
ツプS11より、そのタスクのための処理を開始する。即
ち、ステツプS11で、当該起動されたタスクのためのコ
マンド格納領域に格納されたコマンドを解釈することに
より、前記コマンドが命令解釈部131aの起動を指示する
ものであれば、命令解釈部131aにおける処理を開始す
る。
ステツプS12,S13,S14,S15,S16,S17,S18が命令解釈部1
31aのプログラムである。即ち、ステツプS12において、
タスク登録プログラム153により指定されたタスク動作
プログラム(第4図の140a,140b,140c,140dのいずれか
1つ)を一行だけ解釈する。
この動作プログラムの一行が例えば、ロボットの移動
指令である場合には、ステツプS13において、移動先の
位置を、ロボットタスクのためのテイーチングポイント
領域(第4図の141a)より取り出して、共有RAM121のロ
ボットタスクのための目標位置領域(第6図の172a)へ
格納する。これらのテイーチングポイント領域及び目標
位置領域は、前記タスク登録プログラム153によりロボ
ットタスクの登録時(ステツプS30)指定されたもので
ある。
共有RAM121へ目標位置を格納した後に、ステツプS14
において、当該移動指令を前記共有RAM121のロボットタ
スク用の動作指令領域(第6図の171a)へ格納すること
により、ロボット制御部200Aへ移動を指令する。
ステツプS15においては、タスク交換プログラム155に
よりタスクの交換を行う。これは、一般的に被制御部の
動作時間はCPUの処理に比べて長いことより、別のタス
ク(例えば、ストツプカータスク)の処理プログラムを
実行させるためである。タスクの交換により、それまで
実行していたロボットタスクを、タスクの待ち行列の最
後尾へ登録する。そして、CPU102はこの待ち行列に登録
されている次に実行すべきタスクの処理プログラムを実
行を行う。即ち、ステツプS16において、次のタスクが
実行可能なタスクであるかを調べ、実行可能であれば、
ステツプS18でパーソナルコンピユータ110から終了命令
が来ていないことを確認してから、ステツプS12からス
テツプS15を繰返す。ここで、タスク可能なタスクと
は、例えば、パーソナルコンピユータ110によりタスク
実行を解除されたタスクや、当該タスクへパソコン110
からの終了報告がきていない場合等である。
ステツプS16で、実行可能なタスクがない場合には、
ステツプS17に進み、動作指令領域がクリアされたタス
クがないかを調べる。後述するように、主制御部101が
ステツプS14で発行した指令に対して、個々の制御部が
その指令を実行し終了した場合に、その制御部が動作指
令領域のその指令をクリアするものであるから、ステツ
プS17で領域のクリアを確認することは、指令動作の終
了の確認を意味する。
再び、ロボットに対する移動指令を例にして、第8図
のフローチヤートの説明を続行する。
ロボット制御部は、ステツプS20において、ロボット
の被制御部のための指令を、共有RAM121のロボットに対
応した動作指令領域(171a)を読み込み、その指令が存
在すれば、ステツプS21により指令を取り出して解釈す
る。この指令が移動命令である場合は、ステツプS22に
おいて、共有RAM121のロボットに対応した目標位置領域
(172a)より目標位置を取り出し、このロボット制御部
は移動のための制御を行う。即ち、アームを移動する等
を行なう。
アーム等の被制御部の移動が終了すると、ロボット制
御部は、ステツプS23において、共有RAM121の移動指令
領域(171a)の動作指令をクリアする。
主制御部100が、ロボット制御部による共有RAM121の
ロボットに対応した動作指令領域(171a)がクリアされ
たことを、ステツプS17で判断すると、次の動作プログ
ラム解釈より繰り返す。
かかる動作を命令解釈終了命令(END)を解釈するま
で続ける。
ステツプS18にて解釈した動作プログラムが終了であ
れば、ステツプS19で、通信ハンドラ154を介して通信部
106より、命令解釈部131aの終了コマンドをパーソナル
コンピユータ110へ送出する。
パーソナルコンピユータ110は、ステツプS3で、主制
御部100より送出され4た終了コマンドを受け取り、主
制御部100の命令解釈部の実行終了を認識する。
なお、命令解釈部131aの実行においては、動作プログ
ラムが一般に処理速度の速い内部命令(GOTO等)である
場合においても、他のタスクの実行のために、一行の動
作プログラムの実行ごとにタスクの交換を行つている。
第4図の各動作プログラム140,140b,140c,140dは、一
連の動作のパターンごとに分けられた領域へ格納され、
各々の領域はプログラム番号により管理されている。非
制御部の動作は、上記領域のプログラムを連続して実行
することにより作業を行うか、もしくはその領域内のプ
ログラムのみで作業を行う。
領域内のプログラムもしくは連続して実行する領域の
プログラムの順番を複数持つことにより複数の作業パタ
ーンを実現可能である。
プログラムによる他のタスクの起動 第9図は、実施例における動作の一例として、ロボツ
トタスクよりストツカータスクを起動させるフローチヤ
ートである。
ストツカータスクの動作プログラムを起動させる命令
は、ロボツト動作プログラム140a中に、 START 2,1 と表記されており、第一の引き数が特定のタスクを示
し、第2の引き数はこの特定されたタスクの動作プログ
ラムの番号を示している。本実施例において、この第一
の引き数としてロボツトを“1"、ストツカーを“2"、エ
レベーターを“3"、バツフアを“4"として特定してい
る。
ロボツトタスクにより、命令解釈部131aにおいて、ST
ART2,1の命令が解釈されると、ステツプS41で第一の引
き数を判断する。第1の引き数は“2"であるから、第5
図の通信ハンドラに関連して説明したように、ストツカ
ー用のコマンド格納領域に、第2の引き数で指定される
プログラム番号への変更を指示するコマンドが格納され
る。この格納は通信ハンドラ154がパーソナルコンピユ
ータ110もしくは教示装置よりデーターが送られて来た
ときに行なわれる動作と同様の動作である。
コマンド格納領域にコマンドを書き込んだ後にタスク
のスケジユーリングプログラム151により、ストツカー
タスクを待ち行列へ登録する。ステツプS43では、コマ
ンド格納領域へ命令解釈実行コマンドを格納する。
このコマンド格納領域はコマンドを上書きしないよう
に、コマンドを複数格納できる構造となつており、スト
ツカー用のコマンドとして、上記例では、プログラムの
変更コマンドと命令解釈部の実行コマンドが格納され
る。
ステツプS44で、ロボツトタスクは、その動作プログ
ラムの一行の命令解釈が終了することにより、タスク交
換プログラム155を実行し、CPU102はストツカータスク
の処理プログラムの実行にうつる。
ステツプS51において、ストツカータスクは、コマン
ド格納領域より、最初のコマンドであるプログラム番号
の変更コマンドを取り出し、前記START2.1命令で特定し
たプログラム番号を従い、ストツカーの動作プログラム
をプログラム番号を“1"へ変更する。
ステツプS52にて、次のコマンドである命令解釈部の
実行コマンドをコマンド格納領域より取り出し、コマン
ドに従い命令解釈部131aの実行を開始する。
以後ロボツトタスク及びストツカータスクは各々の動
作プログラムを一行解釈する毎にタスクの交換プログラ
ム155を繰り返し実行し、命令解釈部の実行を行う。
ロボット制御部 ロボツト制御部200Bの動作について、第10図に従って
以下に説明する。但し、第10図においては、被制御部と
して、第1図のX軸モータ3を用いている。
CPU201はROM204に格納されているプログラムを読み出
しそのプログラムに従つて動作する。この時に必要なデ
ータはRAM205に記憶する。タイマー206は一定時間ごと
にCPU201に割り込み信号を与える。D/Aコンバータ203は
CPU201からの指令に基づいてアナログ信号を発生する。
ここで発生されたアナログ信号はモータードライバ209
に与えられる。モータードライバ209はこの与えられた
アナログ信号に従つてX軸モータ3を回転させる。
モータが回転するとモータ3に付属のエンコーダーが
パルス信号を発生する。ここで発生したパルス信号はカ
ウンター208によつてカウントされる。CPU201はこのカ
ウンタの値を読み出すことによつて、モータ3の位置を
知ることができる。リミツトスイツチインターフェース
(SWI/F)207はリミツトW210の情報をCPU201が取り扱え
る信号レベルに変換する。マルチバスI/F202は主制御部
101との間でデータのやりとりを行う。
ロボット制御部の動作について第11図のフローチヤー
トで説明する。まずステツプS201でRAM205及びタイマー
206の初期化を行う。次にステツプS202で主制御部101か
らのコマンドがあるかどうかを調べる。コマンドがない
場合にはコマンドが来るまで待つ。ここでコマンドが入
力されると、ステツプS203に進み、以下、ステツプS208
まで順次実行し、該当するコマンドがあれば、ステツプ
S210〜ステツプS214の処理を実行する。もし該当するコ
マンドがなければ、ステツプS209で不当コマンドに対す
る処理を行う。コマンドによつて指示された処理が終了
すると、ステツプS215でACK信号を主制御部101に対して
与える。そしてステツプS202のコマンド待ちへ移行す
る。
ステツプS210のパラメータセツト処理について説明す
る。ここでは、装置のモータごとによつて変更する必要
のあるパラメータを主制御部101より受け取りRAM205に
セツトする。
ステツプS211のサーボロツク処理について第12図によ
つて説明する。ステツプS220で、カウンター208よりモ
ータ3の現在位置を読み出す。ステツプS221では、目標
位置(第6図の172a)に、読み出したカウンタ値をセツ
トする。ステツプS222では、モータードライバー209に
対して、サーボON指令を与える。ここで、ステツプS220
〜221の動作を行うのは、サーボフリー状態でモーター
3を動かしていた場合に、もとの位置にもどつてしまう
ことを防止するためである。
ステツプS212のサーボフリー処理について説明する。
ここでは、モータードライバー209に対してサーボOFF指
令を与える。
ステツプS213のMOV処理について、第13図のフローチ
ヤートによつて説明する。ステツプS230で、マルチバス
I/F202を通して、目標位置データを共有RAM121より読み
出し、RAM205にセツトする。ステツプS213で、マルチバ
スI/F202を通して、移動速度データを共有RAM121より読
み出し、RAM205にセツトする。ステツプS233で、現在の
タイマー値をタイマー206より読み出し、RAM205にセツ
トする。ステツプS233では、RAM205に格納された目標位
置データ、移動速度データ及びタイマーデータによつ
て、モータの指令位置データを発生する。ステツプS234
では、カウンタ208より現在位置データを読み取る。ス
テツプS235では、ステツプS233で求めた指令位置データ
より、ステツプS234で求めた現在位置データを引くこと
によつて、位置偏差データを計算する。ステツプS236で
は、ステツプS235で求めた位置偏差データをD/Aコンバ
ータ203に出力する。ステツプS237では、ステツプS233
で計算した指令位置データと現在位置データとを比較す
る。等しければモータの移動は終了しているので、MOV
処理を終了する。ここで等しくない場合は、モータが動
作中なので、ステツプS232のタイマー値READ以降を繰り
返す。
ステツプS208の原点出し処理について、第14図によつ
て説明する。ステツプS240で、リミツトSWI/F207より原
点LS(不図示)の状態を読み取る。ここで原点LSがONし
ていた場合は、ステツプS248で反原点LS側にMOVを開始
する。ステツプS249で原点LSの状態を再度読み取る。こ
こで原点LS′がONであれば、原点LS′がOFFするまで待
つ。原点LSがOFFしたら、ステツプS241以降のステツプ
を実行する。ステツプS241では反原点方向側にMOVを開
始する。ステツプS242で原点LS′の状態のチエツクし、
原点LS′がOFFであれば、原点LSがONするまで待つ。ス
テツプS243ではスピードをスローダウンする。ステツプ
S244でエンコーダのZ相をチエツクし、Z相がOFFであ
れば、ONするまで待つ。ステツプS245ではMOV動作を停
止させ、ステツプS246でカウンタ208をクリアし、ステ
ツプS247でRAM205上の目標位置データをクリアする。
I/O制御部 I/O制御部250の動作について、第15図に従って説明す
る。
CPU251はROM256に格納されているプログラムを読み出
し、そのプログラムに従つて動作する。この時に必要な
データはRAM257に記憶する。センサ255からのデータは
アイソレータ254で絶縁レベルに変換され、バツフア253
を通してCPU251に取り込まれる。CPU251より出力された
SV(ソレノイドバルブ)駆動信号はラツチ258で記憶さ
れ、アイソレータ259で絶縁レベルに変換され、SV260を
駆動する。マルチバスI/F252は主制御部101との間でデ
ータのやりとりを行う。
一方、センサ255からの信号はアイソレータ254によ
り、内部信号レベルに変換されてバツフアに取り込まれ
る。
第16図の動作フローチヤートに従ってI/O制御部にお
ける動作を説明する。
まず、ステツプS250でRAM257及びラッチ258,バツフア
253等の初期化を行う。ステツプS251で主制御部101から
のコマンドがあるかどうかを調べる。コマンドがない場
合はコマンドが来るまで待つ。ここでコマンドが入力さ
れると、ステツプS252に進み、以下ステツプS253まで順
次実行し、該当するコマンドであれば、ステツプS256〜
257の処理を実行する。もし該当するコマンドがなけれ
ば、ステツプS254で不当コマンドに対する処理を行う。
コマンドによつて指示された処理が終了すると、ステ
ツプS255でACK信号を主制御部101に対して与える。そし
て、ステツプS251のコマンド待ちへ移行する。
ステツプS256のIN処理について説明する。ここではセ
ンサ255の番号を主制御部101から受け取り、その番号に
よつて指示されるセンサの状態をバツフアを介して読み
取り、主制御部101へ通知する。
ステツプS257のON処理について説明する。ここではSV
260の番号とON/OFFの情報を主制御部101より受け取り、
その番号によつて指示されるSVの状態を指示されたON/O
FFの状態に変更する。
本発明はその主旨を逸脱しない範囲で種々変形が可能
である。例えば、作動部は上記実施例のロボット,スト
ツカー、エレベータ,バツフアかならなる組合せに限定
されない。
[発明の効果] 以上説明したように、本発明によれば、ロボット等を
制御するための複数の動作手順プログラムの夫々を、異
なる複数のモードの各々において実行させる制御環境に
おいて、動作手順プログラムの各々のアドレス空間等と
各々のモード解釈プログラムとをリンクさせて、各々モ
ード解釈プログラム下で任意の動作手順プログラムをマ
ルチタスクオペレーティングシステム下でのリエントラ
ント方式で実行可能とさせることにより、各モード解釈
プログラムに対して複数の動作手順プログラムの夫々を
共通化させることが可能となり、メモリ資源を有効利用
できる。例えば、例えば、解釈手順の変更があっても、
プログラムの変更は解釈プログラムを変更するだけで済
むという面に現われる。
【図面の簡単な説明】
第1図は本発明を、ロボット、ストツカー,エレベー
タ,バツフアからなる自動組立装置に適用した場合に、
その実施例の構成を示す斜視図、 第2図はその実施例の正面図 第3図は第1図実施例の制御装置のハードウエア構成
図、 第4図は上記制御装置のソフトウエア構成を示す図、 第5図は第1図実施例に用いられるマルチタスクプログ
ラムOSの構造を説明する図、 第6図は共有RAMの構成を示す図、 第7図は第1図実施例におけるタスク初期化プログラム
のフローチヤート、 第8図は、移動指令を例とした場合の、パーソナルコン
ピユータ110,主制御装置101,他の制御装置との間の制御
手順の関連を説明するフローチヤート、 第9図は1つのタスクから他のタスクを起動する指令を
実行する場合の制御手順を示すフローチヤート、 第10図はロボット制御部のハードウエア構成を示すブロ
ツク図、 第11図乃至第14図はロボット制御部の制御手順を示すフ
ローチヤート、 第15図はI/O制御部のハードウエア構成を示すブロツク
図、 第16図はI/O制御部の制御手順を示すフローチヤートで
ある。 図中、1……ロボット、2……X軸ベース、3……X軸
モータ、4……Y軸モータ、5……ZS軸、6……Z軸モ
ータ、7……S軸モータ、8……フィンガー、9……フ
ィンガーラツク、10……ワーク、11……組付治具、12…
…引出部、13……ストツカー、14……エレベータ、15…
…エレベータモータ、16……バツフア部、17……排出
部、100……制御装置、101……主制御部、110……パー
ソナルコンピユータである。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭64−41906(JP,A) 特開 平1−274977(JP,A) 特開 平2−182688(JP,A) (58)調査した分野(Int.Cl.6,DB名) G05B 19/418,19/4155

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】組付作業を行なうロボットと、該ロボット
    にロボットが要求するワークを供給する物品供給部とを
    備える自動組立装置を制御するための制御装置であっ
    て、 上記ロボット及び物品供給部の各々の動作手順をマルチ
    タスク形式で記述する複数の動作手順プログラムを記憶
    する第1の記憶手段と、 上記複数の動作手順プログラムにより制御される上記ロ
    ボット及び物品供給部の夫々の被駆動部の各々の位置に
    関する位置データの記憶領域を有する第2の記憶手段
    と、 夫々異なる複数の解釈モードの下で上記ロボット及び物
    品供給部のための夫々の動作手順プログラムを夫々実行
    可能な複数のモード解釈プログラムを記憶し、前記複数
    の動作手順プログラムの各々のアドレス空間と、前記第
    2の記憶手段内の位置データの記憶領域のアドレス空間
    とを各々のモード解釈プログラムとリンクさせることに
    より、各々モード解釈プログラム下で任意の動作手順プ
    ログラムをマルチタスクオペレーティングシステム下で
    のリエントラント方式で実行する実行手段、 とを具備することにより、各モード解釈プログラムの夫
    々に動作手順プログラムの夫々を割り当てることを不要
    にしたことを特徴とする自動組立装置の制御装置。
  2. 【請求項2】前記複数の動作手順プログラムの各々のア
    ドレス空間と前記位置データの記憶領域のアドレス空間
    とを登録する登録手段とを具備することを特徴とする請
    求項の第1項に記載の自動組立装置の制御装置。
  3. 【請求項3】前記ロボット及び部品供給部は夫々の動作
    部を有し、 前記実行手段は、夫々のモード解釈プログラムが解釈し
    た上記動作部のための命令を、これらの動作部に指令す
    る事を特徴とする請求項の第1項に記載の自動組立装置
    の制御装置。
  4. 【請求項4】前記複数のモード解釈プログラムはROMに
    記憶され、前記複数の動作手順プログラムはRAMに記憶
    され、夫々実行されることを特徴とする請求項1に記載
    の自動組立装置の制御装置。
JP2206785A 1990-08-06 1990-08-06 自動組立装置の制御装置 Expired - Lifetime JP2954294B2 (ja)

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 JPH0492902A (ja) 1992-03-25
JP2954294B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214632A (ja) * 1993-01-18 1994-08-05 Canon Inc 自動組立装置のモジュール式制御装置
JP3832517B2 (ja) * 1996-07-05 2006-10-11 セイコーエプソン株式会社 ロボット用コントローラ及びその制御方法
JP4442358B2 (ja) * 2004-08-02 2010-03-31 株式会社デンソーウェーブ 制御装置及びコンピュータプログラム
CN101529431B (zh) * 2006-09-05 2011-06-08 森南产品公司 通过将测量仪系统完全集成到机器控制中进行加工参数的自动控制

Also Published As

Publication number Publication date
JPH0492902A (ja) 1992-03-25

Similar Documents

Publication Publication Date Title
JP3832517B2 (ja) ロボット用コントローラ及びその制御方法
US6807461B2 (en) Coordinated robot control from multiple remote instruction sources
US4803613A (en) Decentralized master-slave control apparatus
US5742824A (en) Program control system in multitask environment
US5204942A (en) Robot control system for controlling a set of industrial robots for cooperative operation
EP0298396A2 (en) Function-distributed control apparatus
US5984499A (en) Method and apparatus for a numerical control system for processing multiple job streams
KR100896705B1 (ko) 지능형 로봇의 지능적 작업 관리를 위한 컴포넌트 기반의 작업 관리 시스템
JP2954294B2 (ja) 自動組立装置の制御装置
JP2962786B2 (ja) 自動組立装置の制御装置
JPH02257204A (ja) 複数ロボット腕の衝突回避制御方式
JPH0492903A (ja) 自動組立装置の制御装置
JPS6274533A (ja) 自動組立装置の部品実装方法
JP3591919B2 (ja) 自動機の制御装置
JPH089152B2 (ja) 多腕マニピュレ−タの動作手順自動生成方法
May et al. Control and communications for multiple, cooperating robots
JP3365421B2 (ja) ロボット制御装置
JP2672217B2 (ja) サーボモータ制御方法および装置
JP3664910B2 (ja) ロボットの制御装置
KR100221491B1 (ko) 다수의 로보트 제어방법
JPH04305704A (ja) ロボット制御装置
JPS63250712A (ja) 数値制御工作機械の制御装置
JP3460426B2 (ja) ロボット制御装置
JPH0433002A (ja) 制御装置
JP3793246B2 (ja) 位置決めシステム

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