JP2001236244A - ロボットプログラムのデバッグシステム - Google Patents

ロボットプログラムのデバッグシステム

Info

Publication number
JP2001236244A
JP2001236244A JP2000045761A JP2000045761A JP2001236244A JP 2001236244 A JP2001236244 A JP 2001236244A JP 2000045761 A JP2000045761 A JP 2000045761A JP 2000045761 A JP2000045761 A JP 2000045761A JP 2001236244 A JP2001236244 A JP 2001236244A
Authority
JP
Japan
Prior art keywords
trace
program
robot program
variable
robot
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.)
Pending
Application number
JP2000045761A
Other languages
English (en)
Inventor
Hideo Yoshiie
秀男 善家
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000045761A priority Critical patent/JP2001236244A/ja
Priority to US09/604,321 priority patent/US6289264B1/en
Publication of JP2001236244A publication Critical patent/JP2001236244A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/53Means to assemble or disassemble
    • Y10T29/53039Means to assemble or disassemble with control means energized in response to activator stimulated by condition sensor
    • Y10T29/53048Multiple station assembly or disassembly apparatus
    • Y10T29/53052Multiple station assembly or disassembly apparatus including position sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Numerical Control (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)
  • Manipulator (AREA)

Abstract

(57)【要約】 【課題】 ロボットコントローラにおいて、ロボットプ
ログラムのデバッグを行う場合に、繰返し回数が少な
く、メモリ容量を節約できるデバッグシステムを得る。 【解決手段】 変数を使用したロボットプログラムにお
いて問題が発生し、デバッグを行う場合、原因と考えら
れる特定変数と関連した参照変数とを指定するととも
に、呼出されたロボットプログラム中の特定変数の有無
を検出する。そして、特定変数が現れた場合には、特定
変数、参照変数の値を取得し、ロボットプログラム情報
と併せて表示手段に表示する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ロボットプログ
ラムをデバッグする場合に、変数が定義または引用され
たときのプログラム情報と変数情報とをメモリに格納
し、格納されたプログラム情報と変数情報をモニタ装置
に表示するロボットプログラムのデバッグシステムに関
する。
【0002】
【従来の技術】図16は、例えば特開平7−33421
1号公報に示された従来のプログラマブルコントローラ
のブロック図である。図においてプログラマブルコント
ローラ10はプロセッサ11、メモリ13によって構成
され、モニタ装置20と接続されている。モニタ装置2
0は、プログラマブルコントローラ10のデータの設定
や表示のために使用される。プロセッサ11は、メモリ
13と接続されている。プロセッサ11は、例えばイン
テル社製の80486のようにデバッグ割り込み機能を
有するものであり、デバッグレジスタ12を内蔵する。
デバッグレジスタ12は、データの任意のアドレスを設
定しておけば、そのアドレスがアクセスされた直後にデ
バッグ割り込みを発生させることができる。メモリ13
には、プログラム14と変数15とトレースバッファ1
7が格納されている。
【0003】次に図17を参照して動作を説明する。図
17は、モニタ装置20の表示画面例である。PN1〜
PN4はプログラム番号、PS1〜PS4はステップ番
号、D1〜D4は変数の値である。図では1つの変数名
Aのトレースデータが4つ(トレース番号で1〜4で示
す)ある場合を例示している。プログラマブルコントロ
ーラの利用者は、モニタ装置20の画面を見ながら変数
名を設定する。設定された変数は、オペレーティングシ
ステムによってプロセッサ11の認識可能な絶対アドレ
スに変換された後、デバッグレジスタ12に設定され
る。プログラムはオペレーティングシステムによって定
周期時間毎に繰返し実行される。プログラム実行中にデ
バッグレジスタ19に設定されたアドレスをアクセスす
ると、プロセッサ11はデバッグ割り込みを発生する。
オペレーティングシステムは、デバッグ割り込みハンド
ラの中で、現在実行中のプログラムのプログラム番号
(PN1〜PN4)とプログラムステップ番号(PS1
〜PS4)およびアクセスした変数の値(D1〜D4)
を読出し、トレースバッファ17に格納する。モニタ装
置20は、メモリ13からトレースバッファ17のデー
タを読出してモニタ装置20の画面に表示する。
【0004】
【発明が解決しようとする課題】以上説明したように、
特開平7−334211号公報に示されたプログラマブ
ルコントローラの技術を、数多くの変数を有するロボッ
トコントローラに採用しても、トラブルの特定変数が多
い場合に、変数に応じた複数回のデバッグを繰返す必要
があり、トラブルの解決に多大な時間を要する。また、
特開平4−332052号公報に示されるプログラムデ
バッグ方法のように、ソースプログラムをコンパイルし
てロードモジュールファイルと追跡情報ファイルを作成
して、複数の変数を指定して表示する技術もあるが、こ
の方法によると各種ファイルやテーブルを一旦作成する
ため、多くのメモリ容量を要するなどの問題点があっ
た。
【0005】この発明は上述のような課題を解決するも
ので、特開平7−334211号公報に示された従来技
術に比較して、デバッグの繰返し回数が少ない効率の良
いデバッグシステムを得るものである。また、特開平4
−332052号公報に示されるデバッグ方法よりも、
複数のファイルやテーブルを準備することなく、小容量
のメモリでデバッグが可能なデバッグシステムを得るも
のである。
【0006】また、ロボットプログラムの中で複数回繰
返し実行される構文(FOR、NEXT文)があった場
合に、トレース領域への書込みを制御可能とすることに
より、メモリ効率のよいデバッグシステムを得るもので
ある。
【0007】また、ロボットプログラムの中の行番号あ
るいはプログラム番号とステップ番号をデバッグ省略範
囲として指定することにより、メモリ効率のよいデバッ
グシステムを得るものである。
【0008】
【課題を解決するための手段】この第1の発明に係るプ
ログラムデバッグシステムは、デバッグ対象の変数とし
て、特定変数以外の変数をも同時に参照変数として指定
可能とし、特定変数にアクセスが発生した場合に、特定
変数と参照変数の値をメモリから読出し、ロボットプロ
グラム情報と併せ、トレース情報としてメモリに格納
し、格納されたトレース情報を参照・表示する表示手段
を設けたものである。
【0009】第2の発明に係るプログラムデバッグシス
テムは、複数の特定変数のうちいずれか1つにアクセス
が発生したときに、特定変数と参照変数の値をメモリか
ら読出し、ロボットプログラム情報と併せ、トレース情
報としてメモリに格納し、格納されたトレース情報を参
照・表示する表示手段を設けたものである。
【0010】第3の発明に係るプログラムデバッグシス
テムは、特定変数にアクセスが発生したときに、特定変
数の値と参照変数の値を併せてメモリから読出し、ロボ
ットプログラム情報と特定変数と参照変数の値が、前回
の読出しと同一の場合、トレース情報として、データ長
の短い文字列を用いてメモリに格納するとともに、格納
されたトレース情報を参照・表示する表示手段を設けた
ものである。
【0011】第4の発明に係るプログラムデバッグシス
テムは、第3の発明におけるデータ長の短い文字列を用
いてメモリに格納されたトレース情報から、省略されて
いない値に復元して表示する復元手段を設けたものであ
る。
【0012】第5の発明に係るプログラムデバッグシス
テムは、繰返し部のロボットプログラムについてトレー
スを実行するか省略するかを選択する繰返し省略選択手
段を設けたものである。
【0013】第6の発明に係るプログラムデバッグシス
テムは、ロボットプログラムの開始行から終了行を指定
しトレースを実行するか省略するかを選択する行選択手
段を設けたものである。
【0014】第7の発明に係るプログラムデバッグシス
テムは、ロボットプログラムのプログラム番号とステッ
プ番号の範囲を指定しトレースを実行するか省略するか
を選択するプログラム選択手段を設けたものである。
【0015】
【発明の実施の形態】実施の形態1.図1はこの発明の
実施の形態1であるロボットコントローラとモニタ装置
のブロック図である。図において、1はロボット、10
はロボット1を制御するロボットコントローラ、20は
ロボットコントローラ10に接続されるモニタ装置であ
る。ロボットコントローラ10は、11のプロセッサ、
12のインタフェース、13のはメモリからなる。メモ
リ13は、作業者が入力したロボットプログラムを格納
するプログラム領域14、メーカ・ユーザが使用する変
数を格納する変数領域15、デバッグ情報を格納する追
跡情報領域16、デバッグ中の情報を格納するトレース
領域17、ロボットプログラムの実行およびロボットコ
ントローラ10内の制御を行うための基本プログラムを
格納するシステム領域18からなる。モニタ装置20
は、キーボード・マウスなどの入力装置21、モニタ2
2および図示しないプロセッサ、メモリ、インタフェー
スからなり、CRTを有する一般のパーソナルコンピュ
ータが使用される。
【0016】図2は、ロボットプログラムのデバッグに
必要な追跡情報領域16の格納データを示し、格納デー
タは入力装置21から編集入力されてモニタ22に表示
される。追跡情報としては、デバッグ上、最も重要と特
定された特定変数名の情報、繰返し省略モードのON・
OFF情報、特定変数のアクセス時に参照する参照変数
の個数情報、参照変数名の情報からなる。なお、図2に
おける具体的な情報としては、特定変数名=A、繰返し
省略モード=OFF、参照変数の個数=2、参照変数名
1=B、参照変数名2=Cである。
【0017】図3は、トレース領域17の格納データを
示し、モニタ22にも図のような画面が表示される。図
の左端の1〜5はトレース番号で、特定変数Aをアクセ
スした回数に相当する。PN1〜PN5はロボットプロ
グラムのプログラム番号、PS1〜PS5はステップ番
号を表わし、これらはロボットプログラム情報と呼ばれ
る。また、D1〜D5は特定変数Aの値、D101〜D
105は参照変数Bの値、D201〜D205は参照変
数Cの値である。図では、特定変数Aのトレース情報が
5回出現した例を示している。
【0018】次に動作について図4および図5を用いて
説明する。図4はロボットプログラムのデバッグ処理を
行うメインプログラムのフローチャートを示す。図5は
そのサブプログラムのフローチャートを示す。ロボット
プログラムのデバッグに当たり作業者は、モニタ22上
の図2で示される画面を見ながら、問題の発生したロボ
ットプログラム中から原因と推定される特定変数Aと、
二次原因と推定される参照変数Bおよび参照変数C等の
追跡情報を、入力装置21から設定する。次にデバッグ
のために問題の発生したロボットプログラムを実行させ
ると、ステップS41で1行分のロボットプログラムを
プロセッサ11が読み込む。ステップS42でロボット
プログラム中に特定変数Aが使用されているかを判断
し、使用されていない場合はステップS44へジャンプ
する。ステップS44において1行分のロボットプログ
ラムが、ロボットコントローラ10内のプロセッサ1
1、インタフェース12により処理実行され、ロボット
1が駆動制御されたり、ロボットコントローラ10内の
メモリ13の書換え処理等が行われる。ステップS45
でロボットプログラムの終了を判断し、終了でない場合
はステップS41に戻り処理を繰り返す。
【0019】ステップS42でロボットプログラム中に
特定変数Aが使用されていると判断されると、ステップ
S43に進み図5のサブプログラムが呼出され実行され
る。ステップS51でプロセッサ11は、追跡情報の特
定変数Aの値D1を取得し、ロボットプログラム情報の
プログラム番号PN1、ステップ番号PS1とトレース
番号とを併せてトレース領域17に書込む。ステップS
52で、追跡情報の中に参照変数があるかを判断し、参
照変数BがあるためステップS53で参照変数Bの値D
101を取得し、トレース領域17に書込む。次にステ
ップS52に戻り、参照変数Cも設定されているため、
ステップS53に進み参照変数Cの値D201を取得し
トレース領域17に書込む。ステップS52で、追跡情
報の中に他の参照変数が無いと判断されると、図5のサ
ブルーチンを抜けて図4のステップS44に戻る。
【0020】以降、ロボットプログラムが終了するまで
の間、特定変数Aが使用される度に、図5のサブプログ
ラムが実行され、トレース番号、プログラム番号、ステ
ップ番号、特定変数Aの値、参照変数Bの値、参照変数
Cの値がトレース情報としてトレース領域17に格納さ
れる。一方、トレース領域17のトレース情報は、モニ
タ装置20にも送信され、図3に示すトレース情報の表
がモニタ22の画面に表示される。その後作業者は、モ
ニタ22の画面に表示されたトレース情報を参照しなが
ら問題点の分析を実施するが、問題の分析に必要なデー
タが不足している場合には、再度追跡情報の特定変数・
参照変数の設定を変更し、ロボットプログラムを再実行
することで、さらに問題点の分析ができる。
【0021】なお、図2において特定変数が1つの場合
について説明したが、複数個の特定変数を設定可能と
し、そのうちのいずれか1つの特定変数がロボットプロ
グラム中に使用されたときに、他の特定変数と参照変数
に関するトレース処理を行うことにより、少ない回数で
デバッグが行えるためデバッグ効率が向上する。
【0022】また、図2の追跡情報として参照変数の個
数を指定する場合について説明したが、参照変数名称の
入力数をプロセッサ11によりカウントして、作業者に
よる参照変数の個数の入力を省略して、トレース処理を
行わせることもできる。
【0023】実施の形態2.実施の形態2は、実施の形
態1において特定変数のアクセスによりトレース情報の
データが取得された場合に、前回取得したデータと比較
して、同じデータのみを簡単な文字列に変換して、トレ
ース領域17に書込むようにしたものである。なお、図
4のメインプログラムのフローチャートについては、実
施の形態1と同じであるため説明を省略する。以下、実
施の形態2について図6から図9を用いて説明する。図
6は実施の形態2であるロボットコントローラ10とモ
ニタ装置20のブロック図である。図において、61は
メモリ13に設けられ、デバッグで取得した変数の値を
格納して次回取得した時の値と比較するための比較バッ
ファ、62はメモリ13に設けられ、現在取得中のデー
タを格納する一時バッファである。なお、その他は実施
の形態1と同じため説明を省略する。図7は実施の形態
2のサブプログラムのフローチャート、図8はトレース
領域17に格納されるトレース情報で、モニタ22の画
面に表示されるものである。図9はメモリ13に確保さ
れ、前回取得したトレース情報を格納しておき、新しく
取得したトレース情報と比較するための比較バッファ6
1のデータを示す。図10はメモリ13に確保され、現
在データ取得中のトレース情報を格納するための一時バ
ッファ62のデータを示す。
【0024】次に動作につき説明する。なお、追跡情報
として実施の形態1の図2に示されるものが用いられ、
デバッグの結果として図8のトレース情報が得られるこ
ととして説明する。デバッグが開始されると、図4のス
テップS41でプロセッサ11は1ステップ分のロボッ
トプログラムを読込む。ステップS42で特定変数Aが
使用されているので、ステップS43に進み図7のサブ
プログラムが呼出される。ステップS71においてプロ
セッサ11は、追跡情報の特定変数Aの値D1を取得
し、ロボットプログラム情報のプログラム番号PN1、
ステップ番号PS1とトレース番号1とを併せて一時バ
ッファ62に書込む。次にステップS72で、追跡情報
の中に参照変数があるかを判断する。追跡情報として参
照変数Bが指定されているので、ステップS73に進み
参照変数Bの値D101を取得し一時バッファ62に書
込む。次にステップS72に戻り、さらに参照変数Cが
指定されているので、ステップS73に進み参照変数C
の値D201を取得し一時バッファ62に書込む。次に
ステップS72へ戻り、他の参照変数がないのでステッ
プS74に進む。ステップS74でトレース番号が1、
すなわちトレース開始後初めての処理のためステップS
75に進み、比較バッファ61のデータを一時バッファ
62に格納されたデータで書換える。次にステップS7
9に進み、一時バッファ62に格納されたデータをトレ
ース領域17に書込む。次にサブプログラムを抜けて、
ステップS44で1ステップのプログラムを実行した
後、ステップS45のロボットプログラムの終了判断を
行う。ここでプログラム終了でなければステップS41
に戻り、上記処理が繰返される。繰返し処理中のステッ
プS41で再度、特定変数Aが使用されたロボットプロ
グラムが読込まれると、ステップS42、ステップS4
3に進み、再度、図7のサブプログラムが呼出される。
【0025】上記説明と同様に、ステップS71からス
テップS73が繰返されて一時バッファ62にトレース
番号2、プログラム番号PN1、ステップ番号PS2、
特定変数A、参照変数B、参照変数Cの値D1、D10
2、D201が格納される。すべての追跡情報中の変数
の値が取得されるとステップS74に進み、トレース番
号が2であるため、ステップS76に進んで比較バッフ
ァ61と一時バッファ62内のそれぞれの値を比較す
る。図9の比較バッファ61のデータと図10の一時バ
ッファ62のデータの場合を比較すると、プログラム番
号、特定変数A、参照変数Cの値が同一であるので、ス
テップS77に進み、一時バッファ62のプログラム番
号、特定変数A、参照変数Cの値を1バイト文字
の「:」に変更する。次にステップS78において、前
回とは異なるステップ番号、参照変数Bについては、比
較バッファ61のステップ番号、参照変数Bの値を一時
バッファ62の値で置換える。このため比較バッファ6
1には最新の実値が保存されることになる。次にステッ
プS79に進み、一時バッファ62のデータをトレース
情報としてトレース領域17に書込みサブプログラムを
抜ける。
【0026】図9、図10の比較バッファと一時バッフ
ァの具体的なデータの場合で説明すると、プログラム番
号、特定変数Aおよび特定変数Cがトレース番号1と同
一値のため、ステップS77において、一時バッファ6
2のデータが文字列「2、:、PS2、:、D10
2、:」として置換えられて、ステップS79において
トレース領域17に格納される。また比較バッファ61
のステップ番号、参照変数Bの値は書換えられて、最終
データが「2、PN1、PS2、D1、D102、D2
01」として比較バッファ61に残る。ステップS76
においてすべてのデータが異なっている場合には、ステ
ップS78に進み、一時バッファ62のデータを比較バ
ッファ61のデータで置換え、ステップS79において
一時バッファ62のデータをトレース情報としてトレー
ス領域17に書込みサブプログラムを抜ける。一方、ト
レース領域17のトレース情報は、モニタ装置20にも
送信され、モニタ22上に図8に示す表として表示され
るので、作業者は、モニタ22の画面に表示されたトレ
ース情報を参照しながら問題点の分析が実施できる。
【0027】なお、上記では一時バッファ62を用いて
動作を説明したが、プロセッサ11がアクセスした特定
変数あるいは参照変数の値を、直接比較バッファ61と
比較するように構成し、同じ値の場合にデータ長の短い
文字列を用いて、トレース領域17に直接書き込むよう
にすれば、一時バッファ62を省略してデバッグを行う
ことも可能である。
【0028】ロボットプログラムのデバッグに当たって
は、変数の内容が常に変化するわけではなく、前回アク
セス時の値と同一であることが多く、変数の値をそのま
ま毎回格納すると多くのトレース領域を必要とする。例
えばロボットの動作位置を示すための位置変数は、一個
の変数(4バイト)を表すために6自由度の要素データ
が必要であるため、4バイト×6=24バイトのトレー
ス領域を必要とする。そして図8に示すように、参照変
数Cが位置変数であって、5回分のトレースを実行開始
から終了まで行い、特定変数Aの内容が変化しなかった
場合は、24バイト×5回=120バイトのトレース領
域を必要とする。これに対し特定変数Aの値が5回とも
同じで変化しない場合に、同じ値を1バイトの省略文字
「:」で代用すると、初回の値分の24バイトと残り4
回分の代用文字の4バイト分でよく、合計でも28バイ
ト分のトレース領域でロボットプログラムのデバッグを
行うことが可能となる。
【0029】実施の形態3.実施の形態3は、実施の形
態2において省略文字を用いて格納された図8に示すよ
うなトレース情報を、実値に復元してモニタ装置に表示
するものである。以下、実施の形態3について説明す
る。図11は、図6のブロック図の基本システム領域1
8に組み込まれてトレース情報の復元処理を行うプログ
ラムのフローチャートを示す。図12は復元処理が行わ
れモニタ装置20のモニタ22に表示されたトレース情
報を示す。
【0030】以下、図11のフローチャートを用いてト
レース情報の復元・表示処理について説明する。作業者
により入力装置21から省略文字を使用して格納された
トレース情報を、省略文字を使用せずに表示するように
指示があると、プロセッサ11は、ステップS111に
おいてトレース情報領域の内、トレース番号1の行の情
報を取り出して一時バッファ62に格納する。具体的に
はプログラム番号PN1、ステップ番号PS1、特定変
数Aの値D1、参照変数Bの値D101、参照変数Cの
値D201が一時バッファ62に格納される。次にステ
ップS112において、省略文字「:」が一時バッファ
62に使用されているかを判断する。省略文字が使用さ
れていない場合は、ステップS114に進み、比較バッ
ファ61に一時バッファ62のデータを書込み、一時バ
ッファ62のデータをモニタ装置20のモニタ22に表
示するよう処理を行う。次にステップS115でトレー
ス情報の表示終了を判断し、終了でない場合は、ステッ
プS111に戻り処理を繰返す。ステップS112にお
いて、図8のトレース番号2のように、一時バッファ6
2に格納されたデータに省略記号「:」が使用されてい
ると、ステップS113に進み、一時バッファ62の省
略記号「:」を比較バッファ61から取出したデータ、
すなわちプログラム番号PN1、特定変数Aの値D1、
参照変数Cの値D201に置換える。次にステップS1
14に進み、最終、モニタ22には図12に示すような
省略記号「:」を用いない実値が表示される。
【0031】実施の形態4.実施の形態4は、実施の形
態1乃至3の構成において変数が使用されたロボットプ
ログラムの中で、デバッグ不要な部分を指定可能とした
もので、メモリ13のトレース情報領域17の減少を図
るものである。以下、図13から図15を用い、実施の
形態4について説明する。図13はロボットプログラム
のデバッグに必要な項目を表わすもので、追跡情報領域
16に格納されたデータである。実施の形態1で示した
図2に比べ、特定変数アドレス、タイプ、データ長、繰
返し省略モード、省略開始行、省略終了行の情報が追加
されたものである。なお、特定変数情報であるアドレ
ス、タイプ、データ長については、プロセッサ11が管
理している項目のため、特定変数を指定した場合に自動
的に画面に表示し、作業者に変数の種類などを確認させ
ることができる。格納データは入力装置21から編集入
力されてモニタ22にも図13と同様に表示される。図
13の具体的な追跡情報としては、調査すべき特定変数
名=A、ロボットプログラムの繰返し省略モード=O
N、ロボットプログラムの省略開始行=4、ロボットプ
ログラムの省略終了行=7である。
【0032】図14は、上記追跡情報に基づきデバッグ
を行う対象のロボットプログラムとその説明を示す。図
において、左列から順にプログラム行、ロボットプログ
ラム、指令内容の説明を示しているが、実際のロボット
コントローラ10のプログラム領域14にはプログラム
行、ロボットプログラムが格納される。また入力装置2
1等の指示により、モニタ22にもプログラム行とロボ
ットプログラムとを表示し、内容の確認ができるよう構
成されている。ロボットプログラムの各行の説明は以下
の通りである。プログラム名宣言(1行目)、動作の基
準位置を表す位置変数Aの定義(2行目)、配列変数と
して100個の作業目的位置の変数P(100)の定義
(3行目)、7行目間までをM1=1から100までの
繰返し指令(4行目)、作業目的位置P(M1)にAを
代入(5行目)、P(M1)として基準位置AにX方向
10mm*M1を加えた値を代入(6行目)、M1が1
00を超えたら8行目に、M1が100以下であれば4
行目に(7行目)、ロボットを基準位置Aに移動(8行
目)、11行目間までをM2=1から100まで繰返し
指令(9行目)、作業目的位置P(M2)にロボットを
移動(10行目)、M2が100を超えたら12行目
に、M2が100以下であれば9行目に(11行目)、
基準位置Aに移動(12行目)、プログラム終了(13
行目) 以上のプログラムは、ロボットを基準位置Aから10m
mずつX方向に100回分移動させたのち、基準位置A
に戻してプログラムを終了する内容となっている。図1
5はサブプログラムのフローチャートで、図5のサブプ
ログラムの一部に判断機能を追加したものである。ま
た、ここで説明するメインプログラムは図4と同一であ
る。
【0033】以下、図13の追跡情報、図14のロボッ
トプログラムおよび図15のフローチャートに基づいて
動作を説明する。ロボットプログラムのデバッグに当た
り作業者は、モニタ22上の図13で示される画面を見
ながら、問題の発生したロボットプログラム中から、問
題の原因と推定される特定変数A、繰返し省略モード=
ON、省略開始行=4、省略終了行=7の情報を、追跡
補助データとして入力装置21から設定し、次にデバッ
グのために問題の発生した図14のロボットプログラム
を実行させると、プロセッサ11は、ステップS41で
1行分のロボットプログラムを読み込む。ステップS4
2でロボットプログラム中に特定変数Aが使用されてい
るかを判断し、使用されていない場合はステップS44
へジャンプし、以下実施の形態1と同様に処理が行われ
る。
【0034】ステップS42で、ロボットプログラム中
に特定変数Aが使用されていると判断されると、ステッ
プS43に進み図15で示されるサブプログラムの処理
が実行される。ステップS151でプロセッサ11は、
繰返し省略モードが「ON」であるかを判断し、「O
N」の場合、「FOR」「NEXT」文中の特定変数・
参照変数などのデータ取得処理を行わずにサブプログラ
ムを抜ける。繰返し省略モード「OFF」の場合、ステ
ップS152へ進み、省略開始行から省略終了行の範囲
内かを判断する。ここで範囲内と判断されると、特定変
数・参照変数などのデータ取得処理を行わずにサブプロ
グラムを抜ける。一方、範囲内でないと判断されると、
ステップS51に進み、実施の形態1の動作と同様なト
レース処理が行われ、プログラム番号、ステップ番号、
特定変数や参照変数のデータ取得とトレース領域17へ
の書込みが行われる。なお、省略モードがONの場合に
は、省略開始行、省略終了行の表示を行わないか、ある
いは入力禁止となるよう構成すれば、作業者による指令
ミスが防止できる。
【0035】繰返し省略モード=OFF、省略開始行=
4、省略終了行=7の情報を、追跡補助データとして入
力装置21から設定してデバッグを実行すると、ロボッ
トプログラムの4行目から7行目まで範囲内は、特定変
数・参照変数のデータ取得処理を行わずにサブプログラ
ムを抜けるので、トレース処理は行われない。
【0036】また、繰返し省略モード=OFF、省略開
始行=0、省略終了行=0の情報を、追跡補助データと
して入力装置21から設定して、デバッグを実行する
と、実施の形態1と同様に特定変数が現れる度に特定変
数・参照変数のデータ取得処理を行いトレース処理を行
う。
【0037】実施の形態5.なお、実施の形態4におけ
る省略開始行と省略終了行を、省略開始と省略終了のプ
ログラム番号のみ、あるいはプログラム番号とステップ
番号の組合せに置換えて入力装置21から設定可能とし
ても、指定範囲内におけるロボットプログラムのトレー
ス処理を省略できる。
【0038】実施の形態6.なお、図1および図6にお
いて、ロボットコントローラ10とモニタ装置20を別
個のもので説明したが、入力装置21またはモニタ22
のいずれかあるいは両方をロボットコントローラ10と
一体に構成してもよい。
【0039】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。第1の
発明によれば、特定変数と参照変数を複数指定可能と
し、特定変数のアクセスがあった場合にトレース情報を
メモリに記憶するとともに、表示手段に出力するように
したので、ロボットプログラムのデバッグ回数が少なく
て済み、デバッグ作業効率が向上する。
【0040】第2の発明によれば、複数の特定変数を指
定可能とし、いずれか1つの特定変数にアクセスがあっ
た場合に、トレース処理を行うようにしたので、更にデ
バッグ回数を減少でき、デバッグ効率が向上する。
【0041】第3の発明によれば、ロボットプログラム
情報、特定変数、参照変数の値が、前回取得した値と同
じ場合に、データ長の短い文字列に置換えるようにした
ので、少ないトレース領域で済みメモリの節約ができ
る。トレース領域が一定であれば、デバッグ時間の延長
が可能となる。
【0042】第4の発明によれば、データ長の短い文字
列に置換えられたロボットプログラム情報、特定変数、
参照変数の値を、正規の値に復元して表示するようにし
たので、トレース領域の確認が容易となる。
【0043】第5乃至第7の発明によれば、ロボットプ
ログラムの中で、トレース処理が不要な部分を指定可能
としたので、デバッグの効率化とメモリの節約が可能と
なる。
【図面の簡単な説明】
【図1】 実施の形態1を示すロボットコントローラと
モニタ装置のブロック図である。
【図2】 実施の形態1におけるデバッグに必要な追跡
情報領域の格納データである。
【図3】 実施の形態1におけるトレース領域の格納デ
ータを示す図である。
【図4】 実施の形態1を示すメインプログラムのフロ
ーチャートである。
【図5】 実施の形態1を示すサブプログラムのフロー
チャートである。
【図6】 実施の形態2を示すロボットコントローラと
モニタ装置のブロック図である。
【図7】 実施の形態2を示すサブプログラムのフロー
チャートである。
【図8】 実施の形態2におけるトレース領域に格納さ
れデータを示す。
【図9】 実施の形態2における比較バッファに格納さ
れデータを示す。
【図10】 実施の形態2における現在取得中の一時バ
ッファを示す。
【図11】 実施の形態3を示すプログラムのフローチ
ャートを示す。
【図12】 実施の形態3におけるトレース情報を示
す。
【図13】 実施の形態4における追跡情報領域の格納
データである。
【図14】 実施の形態4におけるロボットプログラム
とその説明を示す。
【図15】 実施の形態4を示すサブプログラムのフロ
ーチャートである。
【図16】 従来のプログラマブルコントローラのブロ
ック図である。
【図17】 従来のプログラマブルコントローラのモニ
タ装置20の表示画面である。
【符号の説明】
1 ロボット、10 ロボットコントローラ、11 プ
ロセッサ、13 メモリ、14 ロボットプログラム領
域、15 変数領域、16 追跡情報領域、17トレー
ス領域、18 基本プログラム領域、20 モニタ装
置、21 入力装置、22 モニタ、61 比較バッフ
ァ、62 一時バッファ
フロントページの続き Fターム(参考) 3F059 FC14 5B042 GA02 GB07 HH25 HH30 HH42 LA12 MA08 MA19 MA20 MC07 MC12 NN04 5H269 BB01 BB08 EE11 EE25 QB15 QC01 QC03 QD03 QE12 QE14 9A001 HH19 LL05

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 ロボットコントローラを用い、変数を含
    むロボットプログラムの指令に基づきロボットの制御を
    行うとともに、上記ロボットプログラムのデバッグを行
    うデバッグシステムにおいて、 特定変数名と参照変数名とを、デバッグのための追跡情
    報として入力する入力手段と、 上記入力手段により入力された上記追跡情報を表示する
    表示手段と、 上記変数を格納する変数領域、上記追跡情報を格納する
    追跡情報領域、デバッグ結果を格納するトレース領域、
    作業者が入力したロボットプログラムを格納するロボッ
    トプログラム領域およびプロセッサが実行するプログラ
    ムを格納する基本プログラム領域からなるメモリ手段
    と、 上記ロボットプログラム中に上記特定変数が使用された
    ことを検出する特定変数検出手段とを備え、 上記特定変数検出手段の出力により、ロボットプログラ
    ム情報と、特定変数および参照変数の値を上記変数領域
    から取得して、上記トレース領域に格納するとともに、
    上記表示手段に出力することを特徴とするロボットプロ
    グラムのデバッグシステム。
  2. 【請求項2】 複数の特定変数名と参照変数名とを、デ
    バッグのための追跡情報として入力する入力手段と、 ロボットプログラム中に上記複数の特定変数のいずれか
    1つが使用されたことを検出する特定変数検出手段とを
    備え、 上記特定変数検出手段の出力により、ロボットプログラ
    ム情報と、特定変数および参照変数の値を変数領域から
    取得して、トレース領域に格納するとともに、表示手段
    に出力することを特徴とする請求項1に記載のロボット
    プログラムのデバッグシステム。
  3. 【請求項3】 前回取得したロボットプログラム情報、
    特定変数および参照変数の値を格納する比較バッファを
    備え、 特定変数検出手段の出力時に、ロボットプログラム情報
    と、特定変数および参照変数の値を変数領域から取得
    し、上記比較バッファに格納された上記ロボットプログ
    ラム情報、特定変数および参照変数の値を比較して、そ
    の値が同一の場合に、データ長が短くなるような文字列
    に置換えて、トレース領域に格納するとともに、表示手
    段に表示することを特徴とする請求項1乃至請求項2に
    記載のロボットプログラムのデバッグシステム。
  4. 【請求項4】 トレース領域に格納されたデータ長の短
    い文字列からなるロボットプログラム情報、特定変数お
    よび参照変数を、正規の値に復元する復元手段を設け、
    上記復元手段により復元した値を表示手段に表示するこ
    とを特徴とする請求項3に記載のロボットプログラムの
    デバッグシステム。
  5. 【請求項5】 ロボットプログラムのデバッグにおい
    て、繰返し指令内におけるトレースの実行を中止するト
    レース省略手段を設けたことを特徴とする請求項1乃至
    請求項4に記載のロボットプログラムのデバッグシステ
    ム。
  6. 【請求項6】 ロボットプログラムのデバッグにおい
    て、指定プログラム行の範囲中においてトレースの実行
    を中止するトレース省略手段を設けたことを特徴とする
    請求項1乃至請求項4に記載のロボットプログラムのデ
    バッグシステム。
  7. 【請求項7】 ロボットプログラムのデバッグにおい
    て、指定プログラム番号、ステップ番号の範囲中におい
    てトレースの実行を中止するトレース省略手段を設けた
    ことを特徴とする請求項1乃至請求項4に記載のロボッ
    トプログラムのデバッグシステム。
JP2000045761A 2000-02-23 2000-02-23 ロボットプログラムのデバッグシステム Pending JP2001236244A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000045761A JP2001236244A (ja) 2000-02-23 2000-02-23 ロボットプログラムのデバッグシステム
US09/604,321 US6289264B1 (en) 2000-02-23 2000-06-27 Debugging system for robot programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000045761A JP2001236244A (ja) 2000-02-23 2000-02-23 ロボットプログラムのデバッグシステム

Publications (1)

Publication Number Publication Date
JP2001236244A true JP2001236244A (ja) 2001-08-31

Family

ID=18568296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000045761A Pending JP2001236244A (ja) 2000-02-23 2000-02-23 ロボットプログラムのデバッグシステム

Country Status (2)

Country Link
US (1) US6289264B1 (ja)
JP (1) JP2001236244A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007061940A (ja) * 2005-08-30 2007-03-15 Toyota Motor Corp ロボットおよびロボットの情報表示方法
JP2011107883A (ja) * 2009-11-16 2011-06-02 Renesas Electronics Corp デバッグ装置
CN109483552A (zh) * 2018-12-27 2019-03-19 合肥欣奕华智能机器有限公司 一种基板搬送机器人系统软硬件调试方法及设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4108342B2 (ja) * 2001-01-30 2008-06-25 日本電気株式会社 ロボット、ロボット制御システム、およびそのプログラム
JP3594016B2 (ja) * 2001-01-30 2004-11-24 日本電気株式会社 ロボットのプログラム実行方法、ロボットシステムおよびプログラム処理装置
US7013457B2 (en) * 2001-07-26 2006-03-14 Springsoft, Inc. Prioritized debugging of an error space in program code
US20080196012A1 (en) * 2007-02-12 2008-08-14 Panaya Ltd. System and methods for static analysis of large computer programs and for presenting the results of the analysis to a user of a computer program
CN103902412B (zh) * 2012-12-24 2018-08-14 上海未来伙伴机器人有限公司 微处理设备、在线调试系统和方法
DE102015222164A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms
DE102015222168B4 (de) 2015-11-11 2024-02-22 Kuka Roboter Gmbh Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
JP6407919B2 (ja) * 2016-06-15 2018-10-17 ファナック株式会社 数値制御装置および変数判定方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283634A (ja) * 1988-09-20 1990-03-23 Nec Corp プログラムデバッグ方式
JPH0343838A (ja) * 1989-07-11 1991-02-25 Nec Ibaraki Ltd トレーサー
JPH04172504A (ja) * 1990-11-07 1992-06-19 Sony Corp ロボットプログラムの機械語翻訳装置
JPH07160533A (ja) * 1993-12-10 1995-06-23 Mitsubishi Electric Corp デバッグツール
JPH07219807A (ja) * 1994-02-08 1995-08-18 Toshiba Corp プログラマブルコントローラシステム
JPH07253909A (ja) * 1994-03-16 1995-10-03 Hitachi Ltd マイクロプログラム検証方法
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法
JPH09146759A (ja) * 1995-11-21 1997-06-06 Fujitsu Ltd 情報圧縮方法及び情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04332052A (ja) 1991-05-08 1992-11-19 Hitachi Ltd プログラムデバッグ方法
JPH07224211A (ja) 1994-02-10 1995-08-22 Mitsubishi Chem Corp ポリエステル樹脂組成物

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0283634A (ja) * 1988-09-20 1990-03-23 Nec Corp プログラムデバッグ方式
JPH0343838A (ja) * 1989-07-11 1991-02-25 Nec Ibaraki Ltd トレーサー
JPH04172504A (ja) * 1990-11-07 1992-06-19 Sony Corp ロボットプログラムの機械語翻訳装置
JPH07160533A (ja) * 1993-12-10 1995-06-23 Mitsubishi Electric Corp デバッグツール
JPH07219807A (ja) * 1994-02-08 1995-08-18 Toshiba Corp プログラマブルコントローラシステム
JPH07253909A (ja) * 1994-03-16 1995-10-03 Hitachi Ltd マイクロプログラム検証方法
JPH07334211A (ja) * 1994-06-08 1995-12-22 Yaskawa Electric Corp プログラマブルコントローラのデータトレース方法
JPH09146759A (ja) * 1995-11-21 1997-06-06 Fujitsu Ltd 情報圧縮方法及び情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007061940A (ja) * 2005-08-30 2007-03-15 Toyota Motor Corp ロボットおよびロボットの情報表示方法
JP4613752B2 (ja) * 2005-08-30 2011-01-19 トヨタ自動車株式会社 ロボットおよびロボットの情報表示方法
JP2011107883A (ja) * 2009-11-16 2011-06-02 Renesas Electronics Corp デバッグ装置
CN109483552A (zh) * 2018-12-27 2019-03-19 合肥欣奕华智能机器有限公司 一种基板搬送机器人系统软硬件调试方法及设备

Also Published As

Publication number Publication date
US6289264B1 (en) 2001-09-11

Similar Documents

Publication Publication Date Title
JP2001236244A (ja) ロボットプログラムのデバッグシステム
KR20060120539A (ko) 그래피컬 프로그래밍 장치 및 프로그래머블 표시기
US5737521A (en) Tracer system for analyzing errors in running real-time systems
JP3764405B2 (ja) デバッグ装置及びデバッグ方法
KR100417655B1 (ko) 최적화과정을참조하면서동작검증을행하도록디버그정보를생성하는디버그정보생성장치및프로그래머가최적화과정을의식하면서동작검증을할수있는디버그장치로이루어지는프로그램개발시스템
CN111324088A (zh) 信息处理装置
JP2827724B2 (ja) プログラムデバッグ処理方法
KR100229567B1 (ko) 오버레이 코딩시 좌표값과 텍스트값 생성방법
KR970011897B1 (ko) 언어해석 처리장치
JP2662533B2 (ja) ロジック・アナライザ
JPS62219140A (ja) デ−タ処理機のデバツク制御方式
JP3296477B2 (ja) ラダープログラムのデバッグ装置
JP3237554B2 (ja) 会話型デバッグ装置
JPH0462410A (ja) 測定支援装置
JP3129889B2 (ja) 数値制御装置
JPS63292338A (ja) 最適化プログラムデバツグ方式
JPH03144833A (ja) デバッグ・システム
JP2526710B2 (ja) プログラマブルコントロ―ラのプログラミング方法
JP2002073370A (ja) デバッグ支援装置およびその装置によるデバッグ方法
JPH04260943A (ja) トレース出力方式
JP3098501B2 (ja) ソースステップ実行方法およびその装置
JP2000227861A (ja) デバッグ方法及びデバッグ装置
JPH04289927A (ja) デバッガの拡張コマンド生成システム
JP2001282598A (ja) プログラム式表示装置用の操作画面管理方法
JPH0420481B2 (ja)

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060303

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060523