JP3260788B2 - ロボット制御装置及び方法 - Google Patents

ロボット制御装置及び方法

Info

Publication number
JP3260788B2
JP3260788B2 JP33017991A JP33017991A JP3260788B2 JP 3260788 B2 JP3260788 B2 JP 3260788B2 JP 33017991 A JP33017991 A JP 33017991A JP 33017991 A JP33017991 A JP 33017991A JP 3260788 B2 JP3260788 B2 JP 3260788B2
Authority
JP
Japan
Prior art keywords
program
robot
variable
interrupted
robot program
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 - Fee Related
Application number
JP33017991A
Other languages
English (en)
Other versions
JPH05165510A (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 JP33017991A priority Critical patent/JP3260788B2/ja
Publication of JPH05165510A publication Critical patent/JPH05165510A/ja
Application granted granted Critical
Publication of JP3260788B2 publication Critical patent/JP3260788B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ロボットプログラムを
解釈実行してロボットを制御するロボット制御装置及び
方法に関し、そのロボットプログラムのデバッグの容易
化に関するものである。
【0002】
【従来の技術】従来、ロボットの動作を制御するプログ
ラムデバッグ過程においては、そのプログラムを実行し
ながらデバッグする場合には、オペレータが特定のプロ
グラム文位置においてそのプログラムの実行を中断し、
それまでの実行結果を確認し、その後に、その停止位置
の次のプログラム上の位置(以下、プログラムポイン
ト)からプログラムを再開するというのが一般的であ
る。
【0003】
【発明が解決しようとしている課題】しかし、実際のデ
バッグでは、修正すべき箇所を発見したのならば、一旦
プログラムを中断し、その箇所を修正した上で、中断
たプログラムポイントの次から再開できることが望まし
い。図1はロボット制御用ソースプログラムの一例であ
る。この例により、プログラムの実行を中断し、そのプ
ログラムを修正した上で、その中断箇所からのプログラ
ムを再開することの有用性を説明する。図2の点P
(1)乃至P(200)は、図1のプログラムを実行す
る上での200個の教示点位置を示すものである。図1
のプログラムの内容は、引数Aの値をインクリメント
(図1の行20)しながら、ロボットの位置を教示点
(A)に移動させる(図21の行30)ことを、100
回まで繰り返す(図1の行100)というプログラムで
ある。
【0004】ここで、オペレータが99回まで動作を繰
り返し行なった時点(このときの変数Aの内容99を示
している)で、200回繰り返さなくてはならないと修
正の必要性に気が付いた場合を想定する。かかる場合
は、プログラムの実行を行20〜行30までの間で一旦
停止し、オペレータはプログラムの編集モードに入る。
そして、100行目を、 IF A < 200 THEN *ABC と修正する。この時点では、ロボットのフィンガー(不
図示)は教示点P(99)にまで進んでいる筈である。
そして、もし中断したプログラムポイントからプログラ
ムを再開できるならば、P(200)に至るまでには、
あと100個の教示点を通過する(換言すれば、あと1
00回だけループを繰り返す)だけでよい。
【0005】しかしながら、従来のロボットの制御装置
の翻訳プログラム(翻訳言語)は、ソースプログラム内
の命令の変更及び変数の追加、削減があった場合、すべ
ての変数の値を初期化してしまうようになっている。こ
の初期化のために、上記中断プログラムポイントまでの
情報は失われてしまい、そのために、中断プログラム
イントからの再開は不可能となっている。命令の変更及
び変数の追加、削減があった場合に変数を初期化するこ
とは、変数の定義領域が特別に設けられていないタイプ
のロボット言語では必須だからである。
【0006】一方、変数の定義領域が手続領域とは別個
に設けられているタイプのロボット言語では、手続領域
では変数の追加削除を不可能にし、プログラムの変更に
より変数の値の初期化が行なわれないようにしている。
しかしながら、この場合は、変数の定義を別画面または
別操作で行わなくてはならず、プログラム作成効率が悪
いという問題を現出する。そこで、本発明の目的は、ロ
ボットプログラムのデバッグを効率良く行なうことので
きるロボット制御装置を提案するものである。
【0007】
【課題を解決するための手段】上記課題を達成するため
の本発明のロボット制御装置は、ロボットプログラムの
翻訳機能を有し、翻訳されたプログラムに従ってロボッ
トを制御するロボット制御装置において、そのロボット
プログラムの実行途中で、ロボットプログラムの実行を
一時中断し、オペレータにその中断されたロボットプロ
グラムの編集をさせる変更手段と、中断されたロボット
プログラムの再開前に、そのロボットプログラム中の変
数であって、当該プログラムの翻訳時に逐次的に変数領
域が確保される変数のうちの少なくとも一部について、
変数名と前記変更手段による中断時点の変数値とをメモ
リ中に退避する退避手段と、変更後のプログラムの実行
過程では、前記退避手段によりメモリ中に退避された変
数名から変更のプログラム中の変数と同一の変数名を
検索し、検索された変数名の変数値を用いて前記中断さ
れたロボットプログラムを再開する再開手段とを具備す
る。また、上記課題を達成するための本発明のロボット
制御方法は、ロボットプログラムの翻訳機能を有し、翻
訳されたプログラムに従ってロボットを制御するロボッ
ト制御方法において、そのロボットプログラムの実行途
中で、ロボットプログラムの実行を一時中断し、オペレ
ータにその中断されたロボットプログラムの編集をさせ
変更工程と、中断されたロボットプログラムの再開前
に、そのロボットプログラム中の変数であって、当該プ
ログラムの翻訳時に逐次的に変数領域が確保される変数
のうちの少なくとも一部について、変数名と前記変更手
段による中断時点の変数値とをメモリ中に退避する退避
工程と、変更後のプログラムの実行過程では、前記退避
工程においてメモリ中に退避された変数名から変更
プログラム中の変数と同一の変数名を検索し、検索され
た変数名の変数値を用いて前記中断されたロボットプロ
グラムを再開する再開工 程とを具備する。
【0008】
【作用】上記構成のロボット制御装置によれば、ロボッ
トプログラムの実行途中でその実行を一時中断して当該
ロボットプログラムの編集を行なうことができる。編集
によってロボットプログラムが変更された場合、プログ
ラムの翻訳時に逐次的に変数領域が確保される変数に関
して、その変数名と、プログラムの中断時における変数
値とがメモリ中に退避される。そして、変更後のプログ
ラムの実行過程において、変更前のプログラム中の変数
と同一の変数名を有する変数が検索され、検索された変
については、メモリ中に退避された変数値を用いる
このため編集前のプログラムによる実行結果を編集
のプログラムが継承しながらロボットプログラムを再開
させることができ、プログラムのデバッグの効率が上が
る。
【0009】
【実施例】添付図面を参照しながら本発明の好適な実施
例を説明する。図3は本発明に係わるロボット制御装置
100の実施例の構成を示すブロック図である。1はロ
ボット制御装置100の動作をROM3に格納されたプ
ログラムに従って制御するCPUを示す。2はCPU1
を動作させるための制御プログラム,翻訳プログラムを
格納しているROMを示す。3はROM3の各種プログ
ラムを実行させるワークエリア、ロボットを動作させる
ロボット言語で記述されたロボットプログラムを格納す
るためのRAMを示す。4はロボットプログラムの作成
及び翻訳並びにロボットの動作指示をするためのキーボ
ード、5はロボットプログラム及び動作データを記憶す
る装置を示す。6はロボットの制御時等の表示画面を形
成する表示部、7はロボットプログラム,データ等を出
力するプリンタを示す。
【0010】このロボット制御装置100は、インター
フェース11を介して外部のコントローラ12に解釈さ
れた命令を送り、その命令に基づいてコントローラ12
がロボット13を制御する。この実施例で用いられるプ
ログラム言語は、変数を別領域で宣言するタイプではな
く、プログラム中に新たに変数が登場する毎に新しい変
数領域をRAM3内に設けるというものである。図3に
おいて、8は翻訳の際にロボット語内で使用している変
数を値ごと記憶する変数退避エリア、9は修正後のロボ
ットプログラム内で使用している変数を8の変数退避エ
リアから検索する手段を示し、10は9の検索結果に従
って変数をロボットプログラムの変数エリアに登録する
手段を示す。
【0011】本実施例の制御装置100の特徴的な機能
(『修正再開機能』と呼ぶ)動作が図4に示されてい
る。即ち、制御装置100は、ロボットプログラムが実
行中に停止されたならば、その変数値を全て退避エリア
8に退避しておき、修正後のプログラム中の変数で、修
正前のプログラムの変数名と同じ名前を有する変数の値
を、修正後のプログラムを再開するに際して用いるので
ある。修正後のプログラム中の変数と同じ名前を有する
変数が修正前のプログラムの変数中にあるか否かは図3
の検索部9が行なう。そして、再開に際して、登録部1
0は、検索された変数名に対応する変数領域をRAM3
内に確保するとともに、検索された変数の値を退避エリ
アから読み出してきてRAM3内に確保された各変数領
域にセットする。尚、本実施例では、キーボード4上の
所定のキー(退避キー)が押された場合にのみ、前記退
避が行なわれるようになっている。
【0012】図5は上述の修正再開機能を果すための制
御プログラムのフローチヤートである。通常、CPU1
は、ステップS2〜ステップS4で、ロボットプログラ
ムの各文をフエツチし実行するというサイクルを、オペ
レータが停止指示を出すめで繰り返す。この停止指示は
通常キーボード4を介して行なわれる。停止指示がある
と、ステップS8ではその停止プログラムポイントを記
憶する。ステップS10では、ロボットプログラムが修
正されたか否かを判断する。修正されないならば、再開
キーが押されるまで、ステップS24〜ステップS10
で待つ。再開キーが押されたならば、ステップS8で退
避しておいた停止プログラムポイントの次の文を再開
ログラムポイントとして、ステップS2に戻る。
【0013】ステップS10でロボットプログラムが修
正されたならば、ステップS12では修正後のロボット
プログラムを翻訳する。ステップS14では、オペレー
タがプログラム変数値を退避を指示したかを調べる。オ
ペレータが退避を指示したならば、ステップS16でそ
の変数名とその変数値とを関連付けて退避エリア8内に
退避する。そして、ステップS18で、修正後のプログ
ラム中の変数の名前と修正前のプログラムの変数の名前
とを照合し、同名のものを検索する。ステップS20で
は、修正されたプログラムRAM3内で次に実行すべき
プログラムとして登録するとともに、その変数エリア内
に、同名の変数のための領域を予め確保し、その各々の
変数の値として検索された値をセットする。
【0014】そして、ステップS22では、オペレータ
にプログラムの再開プログラムポイントの指定を促す。
再開プログラムポイントが無指定ならば、ステップS8
で退避されていたプログラムポイントの次の文が次に実
行されるべきプログラム文として判断される。ステップ
S2〜ステップS6では、修正されたプログラムを新た
に実行する。修正されたプログラムを新たに実行すると
はいうものの、次の点で従来の装置におけるプログラム
の新規実行と異なる。即ち、ステップS2,ステップS
4でフエツチされた命令のオペランド中に初めて現われ
た変数があったとしても、その変数がRAM3内に既に
登録されている変数であったならば、その登録されてい
る変数の値を用いることとするのである。
【0015】この実施例装置100の動作を図1のプロ
グラムを用いた場合について具体的に説明する。オペレ
ータが図1のプログラムループを99回まで動作を繰り
返し行なった時点でそのプログラムを一旦停止し、10
0行目を、 IF A < 200 THEN *ABC と修正したとする。すると、図5の制御手順では、修正
後のプログラムが再開される前には、ステップS20に
より、変数領域AがRAM3内に既に確保されていると
ともに、Aには値“99”がセットされている。このた
めに、修正後のプログラムは、A=0から繰り返すこと
なしに再翻訳後も現時点から連続して動作させることが
可能になる。
【0016】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることは言うまでもない。また、上記実施例では、ロ
ボット言語は変数領域を予め設定しないというタイプの
ロボット言語であったが、本発明はそれに限定されず、
変数領域を予め設定しておくタイプのロボット言語を用
いる制御装置にも適用可能である。この場合には、ステ
ップS20で変数領域を予め設定する必要はなく、単に
検索した変数値を設定するだけになる。
【0017】
【発明の効果】以上説明した本発明のロボット制御装置
によれば、プログラムの翻訳時に逐次的に変数領域が確
保される変数に関して、その変数名と、プログラムの中
断時における変数値とがメモリ中に退避され、変更後の
プログラムの実行過程において、変更前のプログラム中
の変数と同一の変数名を有する変数については、メモリ
中に退避された値を用いるので、修正前のプログラムに
よる実行結果を修正後のプログラムが継承することがで
き、これによりデバッグの効率が上がる。
【図面の簡単な説明】
【図1】ロボットプログラムの一例を示す図。
【図2】図1のプログラムに用いられる教示点を示す
図。
【図3】本実施例の制御装置の構成を示すブロック図。
【図4】実施例に特徴的な修正再開機能の原理を説明す
る図。
【図5】修正再開機能を実現するための制御手順を示す
フローチヤート。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/18 - 19/46 B25J 3/00 - 3/04 B25J 9/10 - 9/22 B25J 13/00 - 13/08 B25J 19/02 - 19/06 G06F 9/06,11/28

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 ロボットプログラムの翻訳機能を有し、
    翻訳されたプログラムに従ってロボットを制御するロボ
    ット制御装置において、 そのロボットプログラムの実行途中で、ロボットプログ
    ラムの実行を一時中断し、オペレータにその中断された
    ロボットプログラムの編集をさせる変更手段と、中断されたロボットプログラムの再開前に、 そのロボッ
    トプログラム中の変数であって、当該プログラムの翻訳
    時に逐次的に変数領域が確保される変数のうちの少なく
    とも一部について、変数名と前記変更手段による中断時
    点の変数値とをメモリ中に退避する退避手段と、 変更後のプログラムの実行過程では、前記退避手段によ
    りメモリ中に退避された変数名から変更のプログラム
    中の変数と同一の変数名を検索し、検索された変数名の
    変数値を用いて前記中断されたロボットプログラムを再
    開する再開手段とを具備することを特徴とするロボット
    制御装置。
  2. 【請求項2】 前記再開手段は、更にオペレータに前記
    ロボットプログラムの再開ポイントの指定を促し、再開
    ポイントが無指定ならば、前記変更手段において中断さ
    れたポイントの次に実行されるべきプログラム文から前
    記ロボットプログラムを再開することを特徴とする請求
    項1に記載のロボット制御装置。
  3. 【請求項3】 ロボットプログラムの翻訳機能を有し、
    翻訳されたプログラムに従ってロボットを制御するロボ
    ット制御方法において、 そのロボットプログラムの実行途中で、ロボットプログ
    ラムの実行を一時中断し、オペレータにその中断された
    ロボットプログラムの編集をさせる変更工程と、中断されたロボットプログラムの再開前に、 そのロボッ
    トプログラム中の変数であって、当該プログラムの翻訳
    時に逐次的に変数領域が確保される変数のうちの少なく
    とも一部について、変数名と前記変更手段による中断時
    点の変数値とをメモリ中に退避する退避工程と、 変更後のプログラムの実行過程では、前記退避工程にお
    いてメモリ中に退避された変数名から変更のプログラ
    ム中の変数と同一の変数名を検索し、検索され た変数名
    の変数値を用いて前記中断されたロボットプログラムを
    再開する再開工程とを具備することを特徴とするロボッ
    ト制御方法。
  4. 【請求項4】 前記再開工程は、更にオペレータに前記
    ロボットプログラムの再開ポイントの指定を促し、再開
    ポイントが無指定ならば、前記変更工程において中断さ
    れたポイントの次に実行されるべきプログラム文から前
    記ロボットプログラムを再開することを特徴とする請求
    項3に記載のロボット制御方法。
JP33017991A 1991-12-13 1991-12-13 ロボット制御装置及び方法 Expired - Fee Related JP3260788B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33017991A JP3260788B2 (ja) 1991-12-13 1991-12-13 ロボット制御装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33017991A JP3260788B2 (ja) 1991-12-13 1991-12-13 ロボット制御装置及び方法

Publications (2)

Publication Number Publication Date
JPH05165510A JPH05165510A (ja) 1993-07-02
JP3260788B2 true JP3260788B2 (ja) 2002-02-25

Family

ID=18229711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33017991A Expired - Fee Related JP3260788B2 (ja) 1991-12-13 1991-12-13 ロボット制御装置及び方法

Country Status (1)

Country Link
JP (1) JP3260788B2 (ja)

Also Published As

Publication number Publication date
JPH05165510A (ja) 1993-07-02

Similar Documents

Publication Publication Date Title
EP0447685B1 (en) Programmable controller
JP3260788B2 (ja) ロボット制御装置及び方法
JPH04205386A (ja) イメージデータ編集制御方法
JPS6249502A (ja) プログラマブルコントロ−ラ
JPH04131931A (ja) 実アドレスロード命令制御方式
JPH0736510A (ja) プログラマブルコントローラ
JPS63163543A (ja) 情報処理装置
JPS61208142A (ja) プロセス間の通信方式
JPH07152541A (ja) システム無中断プログラム切替え方法
JP2887488B2 (ja) マルチプロセス処理装置
JPS63228341A (ja) プログラム構文チエツク方式
JP3130421B2 (ja) プログラム解析方法および装置
JPH02260049A (ja) プログラム起動チエツク方法
JPH03265905A (ja) シーケンス命令実行プロセッサ
JPH02253336A (ja) プログラム起動方式
JPH0259829A (ja) マイクロコンピュータ
JPS61156339A (ja) トレ−ス処理方式
JPS625439A (ja) 命令コ−ド拡張方式
JPH04175823A (ja) 編集テーブル初期化制御方式
JPS6172339A (ja) プログラム実行表示制御方式
JPS629950B2 (ja)
JPH05119810A (ja) シーケンス制御装置
JPS60120437A (ja) ロボット言語実行方法
JPH0261715A (ja) 記憶機能付きコマンドインタプリタ
JPH06149616A (ja) プログラムデバッグ方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011116

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees