JPH05165510A - ロボット制御装置 - Google Patents

ロボット制御装置

Info

Publication number
JPH05165510A
JPH05165510A JP3330179A JP33017991A JPH05165510A JP H05165510 A JPH05165510 A JP H05165510A JP 3330179 A JP3330179 A JP 3330179A JP 33017991 A JP33017991 A JP 33017991A JP H05165510 A JPH05165510 A JP H05165510A
Authority
JP
Japan
Prior art keywords
program
robot
variable
execution
change
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
Application number
JP3330179A
Other languages
English (en)
Other versions
JP3260788B2 (ja
Inventor
Makoto Akahira
誠 赤平
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

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

Abstract

(57)【要約】 【目的】 ロボットプログラムのデバッグを効率良く行
なうことのできるロボット制御装置を提案する。 【構成】 ロボットプログラムの翻訳機能を有し、翻訳
されたプログラムに従ってロボットを制御するロボット
制御装置において、そのロボットプログラムの実行途中
で、ロボットプログラムの実行を一時中断し、そのロボ
ットプログラム中の一部変数の値をメモリ中に退避し
て、その中断されたロボットプログラムの変更を行い、
変更後のプログラムの実行過程では、変更前のプログラ
ム中の変数と同一の変数名を有する変数については、前
記メモリ中に退避された値を用いることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ロボットプログラムを
解釈実行してロボットを制御するロボット制御装置に関
し、特に、そのロボットプログラムのデバッグの容易化
に関するものである。
【0002】
【従来の技術】従来、ロボットの動作を制御するプログ
ラムデバッグ過程においては、そのプログラムを実行し
ながらデバッグする場合には、オペレータが特定のプロ
グラム文位置においてそのプログラムの実行を中断し、
それまでの実行結果を確認し、その後に、その停止位置
の次の再開ポイントからプログラムを再開するというの
が一般的である。
【0003】
【発明が解決しようとしている課題】しかし、実際のデ
バッグでは、修正すべき箇所を発見したのならば、一旦
プログラムを中断し、その箇所を修正した上で、中断ポ
イントの次から再開できることが望ましい。図1はロボ
ット制御用ソースプログラムの一例である。この例によ
り、プログラムの実行を中断し、そのプログラムを修正
した上で、その中断箇所からのプログラムを再開するこ
との有用性を説明する。図2の点P(1)乃至P(20
0)は、図1のプログラムを実行する上での200個の
教示点位置を示すものである。図1のプログラムの内容
は、引数Aの値をインクリメント(図1の行20)しな
がら、ロボットをポイントP(A)に位置に移動させる
(図21の行30)ことを、100回まで繰り返す(図
1の行100)というプログラムである。
【0004】ここで、オペレータが99回まで動作を繰
り返し行なった時点(このときの変数Aの内容99を示
している)で、200回繰り返さなくてはならないと修
正の必要性に気が付いた場合を想定する。かかる場合
は、プログラムの実行を行20〜行30までの間で一旦
停止し、オペレータはプログラムの編集モードに入る。
そして、100行目を、 IF A < 200 THEN *ABC と修正する。この時点では、ロボットのフィンガー(不
図示)は教示点P(99)にまで進んでいる筈である。
そして、もし中断したポイントからプログラムを再開で
きるならば、P(200)に至るまでには、あと199
個の教示点を通過する(換言すれば、あと199回だけ
ループを繰り返す)だけでよい。
【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,ステップS4でフエツチされた命令のオペラ
ンド中に初めて現われた変数があったとしても、その変
数が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】修正再開機能を実現するための制御手順を示す
フローチヤート。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 ロボットプログラムの翻訳機能を有し、
    翻訳されたプログラムに従ってロボットを制御するロボ
    ット制御装置において、 そのロボットプログラムの実行途中で、ロボットプログ
    ラムの実行を一時中断し、そのロボットプログラム中の
    一部変数の値をメモリ中に退避する退避手段と、 その中断されたロボットプログラムの変更を行なう変更
    手段と、 変更後のプログラムの実行過程では、変更前のプログラ
    ム中の変数と同一の変数名を有する変数については、前
    記メモリ中に退避された値を用いる実行手段とを具備す
    ることを特徴とするロボット制御装置。
  2. 【請求項2】 請求項1に記載のロボット制御装置にお
    いて、前記退避手段は、変更前のプログラムと変更後の
    プログラムとで、同一変数名を有する変数の値のみを退
    避する。
  3. 【請求項3】 請求項1乃至2に記載のロボット制御装
    置は、さらに、前記退避手段による変数値の退避を行な
    うか否かをオペレータが指示することを可能にした指示
    手段を具備する。
  4. 【請求項4】 請求項1乃至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 true JPH05165510A (ja) 1993-07-02
JP3260788B2 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
JP3260788B2 (ja) 2002-02-25

Similar Documents

Publication Publication Date Title
JPS63250702A (ja) シ−ケンスコントロ−ラ
JP2817786B2 (ja) シミュレーション装置及びシミュレーション方法
JPH05165510A (ja) ロボット制御装置
JP2007004516A (ja) 組込みシステムのプログラムデバッグ方法
JPH0410081B2 (ja)
JPS63163543A (ja) 情報処理装置
JPH045703A (ja) シーケンスプログラム作成装置
JPS6249502A (ja) プログラマブルコントロ−ラ
JPS6220032A (ja) 情報処理装置
JPS61208126A (ja) 被テスト・プログラム実行制御方式
JPH11110250A (ja) ソフトウェア実行モード切替方法
JPH0552961B2 (ja)
JPS61180342A (ja) 高級言語のステツプ実行方式
JPH07160352A (ja) プログラム実行方式
JP2751423B2 (ja) プログラムデバッグ処理方式
JPH0327453A (ja) プログラム文指定処理方式
JPH04131931A (ja) 実アドレスロード命令制御方式
JPH03233703A (ja) シーケンス制御装置
JPH0877037A (ja) ジャミング装置
JPS61241843A (ja) 情報処理装置
JPH09231088A (ja) プログラム変換実行装置およびその方法
JPS61156339A (ja) トレ−ス処理方式
JPH04178734A (ja) プログラム言語処理装置
JPH02105234A (ja) デバッグ処理装置
JPS63200243A (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