JP5287367B2 - Robot control system - Google Patents
Robot control system Download PDFInfo
- Publication number
- JP5287367B2 JP5287367B2 JP2009051954A JP2009051954A JP5287367B2 JP 5287367 B2 JP5287367 B2 JP 5287367B2 JP 2009051954 A JP2009051954 A JP 2009051954A JP 2009051954 A JP2009051954 A JP 2009051954A JP 5287367 B2 JP5287367 B2 JP 5287367B2
- Authority
- JP
- Japan
- Prior art keywords
- log
- cycle
- long
- execution
- stored
- 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.)
- Active
Links
- 238000003860 storage Methods 0.000 claims description 466
- 230000007774 longterm Effects 0.000 claims description 287
- 238000012545 processing Methods 0.000 claims description 49
- 230000007787 long-term memory Effects 0.000 claims description 43
- 238000000034 method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 25
- 230000000737 periodic effect Effects 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 5
- 230000005012 migration Effects 0.000 description 33
- 238000013508 migration Methods 0.000 description 33
- 230000006399 behavior Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 239000012636 effector Substances 0.000 description 7
- 239000004973 liquid crystal related substance Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Debugging And Monitoring (AREA)
- Numerical Control (AREA)
Description
本発明は、ロボット制御システムに関し、特に制御装置で実行されるロボット制御プログラムのバグを解析するためのログを取得するロボット制御システムに関する。 The present invention relates to a robot control system, and more particularly to a robot control system that acquires a log for analyzing a bug of a robot control program executed by a control device.
ロボット制御システムは、各種のプログラムを実行する例えばパーソナルコンピュータなどの電子計算機、シーケンサなどの各種の外部入出力機器、実際の動作を実行するロボット、並びにこれら電子計算機、外部入出力機器およびロボットからの種々の入力または出力に応じてロボットを制御する制御装置によって構成されている。ロボット制御システムは、システムを構成する電子計算機、外部入出力機器およびロボットを接続した状態で制御装置においてロボット制御プログラムを実行することにより、正常に作動するか否かが確認される。一方、ロボット制御プログラムは、プログラムの異常いわゆるバグなどを含んでいる場合があり、最初から完全でないこともある。そのため、システムの作動を確認するためには、ロボット制御プログラムの実行時に実行記録を取得する、いわゆるログの取得が必須となる(例えば、特許文献1参照)。 The robot control system executes various programs such as an electronic computer such as a personal computer, various external input / output devices such as a sequencer, a robot that executes an actual operation, and these electronic computers, external input / output devices, and robots. It is comprised by the control apparatus which controls a robot according to various inputs or outputs. Whether or not the robot control system operates normally is confirmed by executing the robot control program in the control device in a state where the computer, the external input / output device, and the robot constituting the system are connected. On the other hand, the robot control program may contain a so-called bug of the program and may not be complete from the beginning. Therefore, in order to confirm the operation of the system, it is essential to acquire a so-called log that acquires an execution record when the robot control program is executed (for example, see Patent Document 1).
しかしながら、ロボット制御プログラムは、一般に多数の行にわたる比較的長いものが多い。しかも、電子計算機、外部入出力機器およびロボットから構成されるシステムの場合、ロボット制御プログラムの実行に影響を与えるデータは時々刻々と電子計算機、外部入出力機器およびロボットから入力される。そのため、ロボット制御プログラムに基づくシステムの挙動は、これらデータの入力に応じて刻々と変化する。また、ロボット制御プログラムの場合、例えば実行の停止をともなう自身の不備だけでなく、プログラム自体は正常に実行されるものの例えばロボットの不適切な挙動などについても確認する必要がある。これらを確認するために、ロボット制御プログラムのすべてのログを取得すると、正確なロボット制御プログラムの確認のために膨大な時間を必要とするだけでなく、ログの取得に膨大な記憶領域が必要になるという問題がある。また、ロボット制御プログラムのうち問題を生じる部分いわゆるバグは一部である。そのため、ロボット制御プログラムのすべてのログを取得すると、バグの発見が困難になるという問題がある。 However, many robot control programs are generally relatively long over many lines. In addition, in the case of a system composed of an electronic computer, an external input / output device and a robot, data affecting the execution of the robot control program is input from the electronic computer, the external input / output device and the robot every moment. Therefore, the behavior of the system based on the robot control program changes every moment according to the input of these data. In the case of a robot control program, it is necessary to check not only the inadequacies associated with, for example, stopping the execution, but also the inappropriate behavior of the robot, although the program itself is executed normally. Acquiring all the logs of the robot control program to confirm these not only requires an enormous amount of time to confirm the accurate robot control program, but also requires an enormous storage area to acquire the log. There is a problem of becoming. Further, a part of the robot control program that causes a problem, a so-called bug, is a part. Therefore, if all the logs of the robot control program are acquired, there is a problem that it is difficult to find bugs.
そこで、本発明の目的は、記憶容量の増大を招くことなく不適切な挙動に対応するログが取得され、短時間でロボット制御プログラムの正確な確認が容易なロボット制御システムを提供することにある。 Accordingly, an object of the present invention is to provide a robot control system in which a log corresponding to an inappropriate behavior is acquired without causing an increase in storage capacity and an accurate confirmation of a robot control program can be easily performed in a short time. .
請求項1または3記載の発明では、実行ログ取得手段は、ロボット制御プログラムの実行にともなってロボット、電子計算機および外部入出力機器から出力された信号に基づいて変化しつつロボット制御プログラムで使用される実行行および変数を取得する。実行行および実行変数ログは、ログ取得スタート行からログ取得エンド行までロボット制御プログラムが周回するごとに一周期ログとして取得される。そして、取得した一周期ログが蓄積された長期記憶一周期ログのうち最新の長期記憶一周期ログと異なるとき、その取得した一周期ログは長期記憶が必要であると判断されて長期記憶手段に記憶される。すなわち、ロボット制御プログラムの実行の一周期において実行行および変数に変化が生じると、取得される一周期ログは、長期記憶一周期ログとして長期記憶手段に記憶され、次回以降の一周期ログとの比較の対象となる。表示手段は、長期記憶手段に最初に記憶された長期記憶一周期ログ、一時記憶手段に現在記憶されている一周期ログ、または全ての長期記憶一周期ログを選択的に表示する。そのため、ロボット制御プログラムに基づいてシステムが作動しているときでも、実行行および変数の変化にともなう不適切な挙動は、表示手段に表示された最初の長期記憶一周期ログ、現在記憶されている一周期ログ、または全ての長期記憶一周期ログなどを対比することによって認識される。したがって、短時間でロボット制御プログラムの動作を正確かつ容易に確認することができる。
In the invention according to
また、請求項1記載の発明では、比較手段は、一周期ログに含まれる対応するロボット制御プログラムの一行ごとに、取得する一周期ログと長期記憶手段に記憶されている最新の長期記憶一周期ログとを逐次比較する。対応するロボット制御プログラムの一行ごとに長期記憶一周期ログと比較することにより、比較は短時間で実行される。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、ロボット制御プログラムの動作を正確に比較することができる。さらに、取得される一周期ログが最新の長期記憶一周期ログと同一の場合、一時記憶手段に記憶された一周期ログは長期記憶手段に記憶されることなくクリアされる。そのため、例えば今回取得した一周期ログが前回の周期と同一であれば今回取得した一周期ログはクリアされる。すなわち、最新の長期記憶一周期ログと重複する一周期ログは長期記憶手段に記憶されることなく、前回の周期との間で変化が生じた一周期ログのみが長期記憶一周期ログとして長期記憶手段に記憶される。したがって、長期記憶手段の記憶容量の増大を招くことなく、挙動の変化の変遷を追跡することができる。 In the first aspect of the present invention, the comparison means includes, for each line of the corresponding robot control program included in the one-cycle log, the latest long-term storage one cycle stored in the one-cycle log to be acquired and the long-term storage means. Compare logs sequentially. By comparing each line of the corresponding robot control program with the long-term storage one-cycle log, the comparison is executed in a short time. Therefore, even when a log is acquired from a robot control program that circulates between a log acquisition start line and a log acquisition end line in a short time, the operations of the robot control program can be accurately compared. Further, when the acquired one-cycle log is the same as the latest long-term storage one-cycle log, the one-cycle log stored in the temporary storage unit is cleared without being stored in the long-term storage unit. Therefore, for example, if the one-cycle log acquired this time is the same as the previous cycle, the one-cycle log acquired this time is cleared. That is, the one-cycle log that overlaps with the latest one-cycle log of the long-term storage is not stored in the long-term storage means, and only the one-cycle log that has changed from the previous cycle is stored as the long-term storage one-cycle log. Stored in the means. Therefore, it is possible to track the change in behavior without causing an increase in the storage capacity of the long-term storage means.
請求項2記載の発明では、実行ログ取得手段は、ロボット制御プログラムの実行にともなってロボット、電子計算機および外部入出力機器から出力された信号に基づいて変化しつつロボット制御プログラムで使用される実行行および変数を取得する。実行変数ログは、ログ取得スタート行からログ取得エンド行までロボット制御プログラムが周回するごとに取得される。移行処理手段は、n周期目に取得したn周期ログが第m記憶領域に記憶された一周期ログと一致するとき、n周期ログが記憶された第m+1記憶領域を更新せずに次回の一周期ログの取得へ移行し、n周期ログが第m記憶領域に記憶された一周期ログと異なるとき、n周期ログを記憶した第m+1記憶領域を長期保護領域とする。すなわち、ロボット制御プログラムの実行のn周期目において、第m記憶領域に記憶された一周期ログとの間で実行行および変数に変化が生じると、取得されるn周期ログは、n周期ログが記憶された第m+1記憶領域において長期保護領域として保護される。そして、n+1周期目のn+1周期ログは、第m+1記憶領域の次のアドレスに位置する第m+2記憶領域に記憶される。長期保護領域に記憶されたn周期ログは、次回以降の一周期ログとの比較の対象となる。表示手段は、長期保護領域として最初に設定された記憶領域に記憶された長期記憶一周期ログ、記憶手段に記憶されている最新の一周期ログ、または全ての一周期ログを選択的に表示する。そのため、ロボット制御プログラムに基づいてシステムが作動しているときでも、実行行および変数の変化にともなう不適切な挙動は、表示手段に表示された最初の長期記憶一周期ログ、最新の一周期ログ、または長期保護対象の全ての一周期ログなどを対比することによって認識される。したがって、短時間でロボット制御プログラムの動作を正確かつ容易に確認することができる。
In the invention described in
また、請求項2記載の発明では、移行処理手段は、一周期ログに含まれる対応するロボット制御プログラムの一行ごとに、取得する一周期ログと第m記憶領域で長期保護の対象となっている一周期ログとを逐次比較する。対応するロボット制御プログラムの一行ごとに長期記憶一周期ログと比較することにより、比較は短時間で実行される。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、ロボット制御プログラムの動作を正確に比較することができる。さらに、取得される一周期ログが長期保護領域に記憶されている長期記憶一周期ログと同一の場合、記憶領域に記憶された一周期ログは次回の一周期ログによって上書きされる。そのため、一周期ログが変化するごとに、長期保護領域が形成されつつ、新たな一周期ログが取得される。すなわち、最新の長期保護領域に記憶された一周期ログと重複する一周期ログが記憶された記憶領域は長期保護領域と設定されることなく、前回の周期との間で一周期ログに変化が生じたときのみ長期保護領域が設定される。したがって、記憶容量の増大を招くことなく単一の記憶手段を一時記憶のための領域および長期保護のための領域として共用しつつ、挙動の変化の変遷を追跡することができる。
In the invention according to
また、請求項3記載の発明では、比較手段は、一時記憶手段に設けられている複数の一時記憶領域のいずれか一つに最新の一周期ログを記憶している間に、一時記憶領域に記憶されている最古一周期ログと長期記憶手段に記憶されている最新長期記憶一周期ログとを比較する。一時記憶手段に複数の一時記憶領域を設け、一時記憶領域に記憶された最古一周期ログと長期記憶一周期ログとを比較することにより、比較のために必要な時間は長く設定可能となる。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、制御装置のプロセッサの性能を高めることなくロボット制御プログラムの動作を正確に比較することができる。さらに、最古一周期ログが最新の長期記憶一周期ログと同一の場合、一時記憶手段に記憶された最古一周期ログは長期記憶手段に記憶されることなくクリアされる。そのため、最新の長期記憶一周期ログと重複する最古一周期ログは長期記憶手段に記憶されることなく、前回の周期との間で変化が生じた最古一周期ログのみが長期記憶一周期ログとして長期記憶手段に記憶される。したがって、長期記憶手段の記憶容量および制御装置の処理能力の増大を招くことなく、挙動の変化の変遷を追跡することができる。
In the invention according to
以下、本発明の実施形態を図面に基づいて説明する。なお、複数の実施形態において実質的に同一の構成部位には同一の符号を付し、説明を省略する。
(第1実施形態)
第1実施形態によるロボット制御システムを図1および図2に示す。ロボット制御システム10は、図1に示すようにロボット11、電子計算機としてのパーソナルコンピュータ(以下、「パソコン」と省略する。)12、外部入出力機器13および制御装置14を備えている。ロボット11は、例えば部品の組み立て用あるいは部品の検査用など、任意の構成のロボットである。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Note that, in a plurality of embodiments, substantially the same components are denoted by the same reference numerals, and description thereof is omitted.
(First embodiment)
A robot control system according to the first embodiment is shown in FIGS. As shown in FIG. 1, the
ロボット11は、例えば六軸の垂直多関節型のロボットとして構成されている。ロボット11は、周知の通り、アーム15を有している。アーム15は、それぞれアクチュエータであるサーボモータ16などからの駆動力で駆動される。アーム15は、先端にエンドエフェクタ17を有している。例えばロボット11で部品の運搬や組み立てなどを行う場合、これらの部品を保持するためのハンドがエンドエフェクタ17として用いられる。また、例えばロボット11で部品の検査などを行う場合、対象となる部品を撮影するカメラなどがエンドエフェクタ17として用いられる。このように、エンドエフェクタ17は、ロボット11を適用する工程に応じて任意に選択される。サーボモータ16からアーム15のエンドエフェクタ17までの間には、図示しない減速機構やリンクなどの駆動力伝達機構が設けられている。これにより、アーム15の先端に設けられているエンドエフェクタ17は、サーボモータ16からの駆動力によって駆動される。ロボット11と制御装置14との間は、通信手段としての接続ケーブル18によって接続されている。通信手段は、接続ケーブル18などの有線に限らず、無線であってもよい。ロボット11と制御装置14との間を接続ケーブル18によって接続することにより、ロボット11の各軸を駆動するサーボモータ16および作業を実施するエンドエフェクタ17は、制御装置14によって制御される。
The
パソコン12は、例えば汎用のノートパソコンなどから構成され、制御装置14と相互に通信可能に接続している。ユーザは、プログラミングソフトをパソコン12で実行することにより、アプリケーションに応じてロボット11の動作手順などを記述したロボット制御プログラムを作成可能である。この場合、ユーザは、アプリケーションに応じてパッケージ命令を組み合わせたり、修正を加えたりすることにより、比較的簡単にロボット制御プログラムを作成することができる。パソコン12は、必要に応じてロボット制御システム10の作動中に所定のデータを入力する際にも利用される。
The
外部入出力機器13は、例えばPLC(Programmable Logic Controller)やティーチングペンダントなどが含まれる。例えばPLCやティーチングペンダントなどの外部入出力機器13と制御装置14との間では、ロボット制御システム10の作動中に外部入出力機器13から制御装置14へデータやパラメータが適宜入力されたり、制御装置14から外部入出力機器13へデータやパラメータが適宜出力される。このように、制御装置14は、ロボット制御システム10の作動中、すなわちロボット制御作動プログラムの実行中に、ロボット11、パソコン12および外部入出力機器13からデータの入力および出力が行われる。
The external input /
制御装置14は、図2に示すように制御部21を有している。制御部21は、図示しないCPU、ROMおよびRAMなどからなるマイクロコンピュータを主体として構成されている。制御部21は、予め入力および記憶されたロボット制御プログラム、ロボット11、パソコン12あるいは外部入出力機器13から入力された各種データやパラメータなどの変数に基づいて、サーボ制御部22を経由してロボット11の各軸のサーボモータ16を駆動する。これにより、制御装置14は、ロボット11の動作を制御する。
The
制御装置14は、上記の制御部21に加え、プログラム実行部23、実行ログ取得部24、記憶部25、比較部26、長期記憶判断部27、移行処理部28および表示部29を備えている。これらプログラム実行部23、実行ログ取得部24、比較部26、長期記憶判断部27および移行処理部28は、制御部21で実行されるコンピュータプログラムによってソフトウェア的に機能する構成でもよく、ハードウェアとして機能する構成でもよい。
In addition to the
プログラム実行部23は、例えばパソコン12から入力されたスタート指示によりロボット制御プログラムを実行する。プログラム実行部23は、ロボット制御プログラムを実行することにより、ロボット11、パソコン12および外部入出力機器13から出力された信号に基づいて変数の値またはロボット制御プログラムの実行行を変更する。
The
実行ログ取得部24は、ロボット制御プログラムに含まれるログ取得プログラムにしたがって作動する。実行ログ取得部24は、ロボット制御プログラムにおいて変化した実行行および実行変数ログを取得する。実行変数ログは、制御装置14に接続するロボット11、パソコン12および外部入出力機器13から出力された信号によって変化しつつロボット制御プログラムで使用される変数のログである。実行ログ取得部24は、これらの変化する実行行および実行変数ログを、ロボット制御プログラムの所定の範囲で一周するごと、すなわち一周期ごとに一周期ログとして取得する。ここで、一周期とは、ロボット制御プログラムにおいて予め設定されているログ取得スタート行からこのログ取得スタート行が再び実行されるまでの間、またはロボット制御プログラムにおいてログ取得スタート行から予め設定されているログ取得エンド行までのログ取得範囲を意味する。そして、一周期ログとは、上記のように設定した一周期において取得された実行行および実行変数ログを記録したログを意味する。
The execution
記憶部25は、一時記憶部31および長期記憶部32を有している。一時記憶部31は、制御部21のRAMと共用され、実行ログ取得部24で取得された一周期ログを一時的に記憶する。一方、長期記憶部32は、例えば不揮発性メモリやHDDなどの長期記憶可能な媒体で構成されており、一時記憶部31に記憶された一周期ログのうち長期記憶判断部27において長期記憶が必要と判断された長期記憶一周期ログを逐次蓄積しながら記憶する。なお、長期記憶部32は、例えば制御部21のRAMをバッテリなどでバックアップする構成としてもよい。
The
比較部26は、実行ログ取得部24で一周期ログを取得するとき、一周期ログとして取得されるロボット制御プログラムの一行ごとに、取得される現在の一周期ログと長期記憶部32に記憶された長期記憶一周期ログとを逐次比較する。比較部26は、長期記憶部32に記憶されている長期記憶一周期ログのうち、最新の長期記憶一周期ログと取得される現在の一周期ログとを比較する。比較部26は、上記のように、現在の一周期ログと長期記憶一周期ログとを、現在の一周期ログに対応するロボット制御プログラムのログが一行得られるごとに、逐次最新の長期記憶一周期ログの対応するロボット制御プログラムのログの一行と比較する。長期記憶判断部27は、取得する現在の一周期ログと最新の長期記憶一周期ログとを比較部26で比較した結果、互いに異なるとき、取得する現在の一周期ログについて長期記憶が必要であると判断する。長期記憶判断部27は、長期記憶が必要であると判断すると、長期記憶フラグをオンにする。
When the execution
移行処理部28は、ロボット制御プログラムにおいてログ取得スタート行が再実行、またはログ取得エンド行が実行されると、所定の処理を実行して次回の一周期ログの取得へ移行する。具体的には、移行処理部28は、ログ取得スタート行が再実行またはログ取得エンド行が実行されると、一時記憶部31に記憶されている一周期ログの長期記憶フラグがオンであるか否かを判断する。移行処理部28は、その一周期ログの長期記憶フラグがオフであれば、一時記憶部31をクリアして、一時記憶部31に記憶された一周期ログを消去する。一方、移行処理部28は、その一周期ログの長期記憶フラグがオンであれば、一時記憶部31に記憶されている一周期ログを長期記憶部32に書き込み、一時記憶部31に記憶された一周期ログを消去する。
When the log acquisition start line is re-executed or the log acquisition end line is executed in the robot control program, the
表示部29は、パソコン12の例えば液晶ディスプレイと共用される。表示部29は、長期記憶部32に最初に記憶された長期記憶一周期ログ、一時記憶部31に記憶されている現在の一周期ログ、または長期記憶部32に記憶されている全ての長期記憶一周期ログのいずれか一つまたは全部を選択的に表示する。
The
次に、上記の構成によるロボット制御システム10の作動について、図3に示す処理の流れに基づいて説明する。
ロボット制御システム10が起動されると、制御装置14はプログラム実行部23においてロボット制御プログラムを実行する(S101)。プログラム実行部23は、パソコン12で設定されたロボット制御プログラムを実行する。ロボット制御プログラムが実行されると、実行ログ取得部24は、ロボット制御プログラムに含まれるログ取得プログラムにしたがって、実行行および実行変数ログを一周期ログとして取得する(S102)。実行ログ取得部24は、取得した一周期ログを一時記憶部31に記憶する(S103)。
Next, the operation of the
When the
例えば図4に示すように、ロボット制御プログラム40は記述されており、入力される変数の値(例えば、「I[0]=3」など)によって実行行が変化する。この入力される変数は、ロボット11、パソコン12または外部入出力機器13の動作などによって逐次変化する。そのため、実行ログ取得部24は、ロボット制御プログラム40の実行の際に、変化しつつ入力される変数のログである実行変数ログ、および変数の変化にともなって選択される実行行を取得する。この場合、入力される変数および実行行は、ロボット制御プログラム40の全体において変化するとは限らない。そのため、実行ログ取得部24は、ロボット制御プログラム40のうち、予め設定されたログ取得スタート行41からログ取得エンド行42までのログを一周期ログとして取得する。また、実行ログ取得部24は、予め設定されたログ取得スタート行41が実行されるごとに、ログ取得スタート行41以降のログを一周期ログとして取得してもよい。以下、実行ログ取得部24は、ログ取得スタート行41からログ取得エンド行42までのログを一周期ログとして取得する例について説明する。
For example, as shown in FIG. 4, the
実行ログ取得部24は、例えば図5に示すように実行行およびその実行行における変数の値を関連づけて一周期ログ43を作成して一時記憶部31に記憶する。図5に示す一周期ログ43の例の場合、実行ログ取得部24は、ロボット制御プログラム40においてログ取得スタート行41以降の最初の実行行である「3行目」で変数「I[0]=3」が入力されたことを一時記憶部31に記憶する。そして、実行ログ取得部24は、「4行目」および「5行目」が実行行となったことを一時記憶部31へ順に記憶する。さらに、実行ログ取得部24は、6行目も実行行となるため、「6行目」についても変数「I[0]=3」を一時記憶部31に記憶する。「3行目」で変数「I[0]=3」が入力された場合、7行目から12行目は実行行に該当しないため、実行ログ取得部24はこれらの行を一時記憶部31に記憶することなくログ取得エンド行42である「13行目」を実行行として一時記憶部31に記憶する。このように、実行ログ取得部24は、ログ取得スタート行41からログ取得エンド行42までの実行行および実行変数ログを一周期ログ43として一時記憶部31に記憶する。
For example, as shown in FIG. 5, the execution
制御装置14は、一周期ログ43が取得および記憶されると、取得した現在の一周期ログ43が第1周期目の取得であるか否かを比較部26において判断する(S104)。ロボット制御プログラム40は、ロボット11の作動によって同一のプログラムが何度も繰り返して実行される。そのため、実行行および実行変数は、ロボット制御プログラム40の実行とともに変化し、繰り返し実行されるロボット制御プログラム40に応じて図4に示すように繰り返し何度も変化する。比較部26は、既に説明したように過去に取得した一周期ログ43のうち長期記憶部32に記憶されている最新の長期記憶一周期ログと現在取得した一周期ログ43とを比較する。取得した一周期ログ43が第1周期目の取得である場合、長期記憶部32には比較の対象となる長期記憶一周期ログが記憶されていない。そこで、比較部26は、取得した現在の一周期ログ43がロボット制御プログラム40の実行によって取得された第1周期目の一周期ログであれば(S104:Yes)、取得した現在の一周期ログ43について長期記憶が必要であると判断し、長期記憶フラグを「オン」にする(S105)。
When the one-
一方、比較部26は、取得した現在の一周期ログ43が第1周期目でないと判断すると(S104:No)、取得した現在の一周期ログ43と最新の長期記憶一周期ログとを比較する(S106)。取得した現在の一周期ログ43が第1周期目の取得でない場合、すなわち第2周期目以降の取得であれば、長期記憶部32には既に少なくとも一つの長期記憶一周期ログが記憶されている。そこで、比較部26は、取得した現在の一周期ログ43と長期記憶部32に記憶されている最新の長期記憶一周期ログとを比較する。例えば取得した現在の一周期ログ43が第2周期目の取得であれば、比較部26は第2周期目に取得した現在の一周期ログ43と長期記憶一周期ログとして第1周期目に取得した一周期ログとを比較する。
On the other hand, when the
比較部26は、現在の一周期ログ43と最新の長期記憶一周期ログとが同一であるか否かを判断する(S107)。第1実施形態の場合、比較部26は、現在の一周期ログ43を構成する実行変数ログまたは実行行を取得するごとに、長期記憶一周期ログを構成する実行変数ログまたは実行行と逐次比較する。例えば図6に示す場合、長期記憶部32には、時期的に最古の長期記憶一周期ログ44から最新の長期記憶一周期ログである最新長期記憶一周期ログ45まで少なくとも一つ以上の長期記憶一周期ログが記憶されている。なお、図6の場合、長期記憶の対象となった長期記憶一周期ログ44および最新長期記憶一周期ログ45などの各長期記憶一周期ログは、実行行および実行変数ログを関連づけて記憶する例について示している。しかし、長期記憶の対象となった一周期ログは、実行行および実行変数ログだけでなく、実行の対象となったロボット制御プログラム40の全体をログとして記憶してもよい。記憶形態としていずれを採用するかは、長期記憶部32の記憶容量などに応じて任意に選択することができる。
The
図6に示す場合、比較部26は、現在の一周期ログ43を構成する実行変数ログとしてログ取得スタート行である「3行目」が取得されると、最新長期記憶一周期ログ45の「3行目」と比較する。図6に示す場合、現在の一周期ログ43の「3行目」で取得された変数「I[0]=3」は最新長期記憶一周期ログ45の「3行目」で取得された変数「I[0]=3」とは同一であるので、比較部26はそのまま処理を継続する。一方、図6に示す場合、現在の一周期ログ43の実行行である「5行目」は最新長期記憶一周期ログ45の実行行である「7行目」と異なる。同様に、現在の一周期ログ43の実行行である「6行目」、「13行目」は、いずれも最新長期記憶一周期ログ45の実行行である「8行目」、「15行目」と異なる。このように、比較部26は、現在の一周期ログ43を構成する実行変数ログまたは実行行を取得するごとに、最新長期記憶一周期ログ45の各実行変数ログまたは実行行と比較する。
In the case illustrated in FIG. 6, when the “third line” that is the log acquisition start line is acquired as the execution variable log that constitutes the current one-
比較部26による比較の結果、現在の一周期ログ43が最新長期記憶一周期ログ45と同一であるとき(S107:Yes)、長期記憶判断部27は取得した現在の一周期ログ43について「長期記憶フラグ」を「オフ」にする(S108)。一方、図6に示すように現在の一周期ログ43が最新長期記憶一周期ログ45と異なるとき(S107:No)、長期記憶判断部27は取得した現在の一周期ログ43について「長期記憶フラグ」を「オン」にする(S109)。
As a result of the comparison by the
長期記憶判断部27は、現在の一周期ログ43の実行変数ログまたは実行行が取得されると一行ごとに比較部26において最新長期記憶一周期ログ45と逐次比較する。この比較の結果、現在の一周期ログ43と最新長期記憶一周期ログ45との間に異なる実行変数ログまたは実行行があれば長期記憶フラグを「オン」にする。すなわち、図6に示す場合、現在の一周期ログ43の実行行である「5行目」が取得された時点で最新長期記憶一周期ログ45の実行行である「7行目」と異なると比較部26において判断され、長期記憶判断部27は「長期記憶フラグ」を「オン」にする。一方、ログ取得スタート行41からログ取得エンド行42までの間に、現在の一周期ログ43と最新長期記憶一周期ログ45との間で実行変数ログまたは実行行の変化がないと比較部26で判断されたとき、長期記憶判断部27は長期記憶フラグを「オフ」にする。
When the execution variable log or execution row of the current one-
長期記憶フラグがオンまたはオフされると、移行処理部28は長期記憶フラグが「オン」であるか否かを判断する(S110)。移行処理部28は、長期記憶フラグが「オン」であれば(S110:Yes)、一時記憶部31に記憶されている取得された現在の一周期ログ43を長期記憶部32に書き込む(S111)。長期記憶フラグが「オン」であるとき、取得された現在の一周期ログ43は後のログ解析などのために利用する必要がある。そのため、移行処理部28は、一時記憶部31に記憶された一周期ログ43の長期記憶フラグが「オン」であれば、その一周期ログ43を長期記憶部32へ書き込む。この長期記憶部32へ書き込まれた一周期ログ43は、その後に取得される一周期ログとの比較の対象となる最新長期記憶一周期ログとなる。また、移行処理部28は、取得した現在の一周期ログ43が第1周期目の取得であり(S104:Yes)、S105において長期記憶フラグが「オン」されている場合も、その一周期ログ43すなわち第1周期目に取得した一周期ログ43を長期記憶部32へ記憶する。
When the long-term storage flag is turned on or off, the
移行処理部28は、S111において一時記憶部31の一周期ログ43を長期記憶部32へ書き込んだ後、およびS110において長期記憶フラグが「オフ」であると判断されると(S110:No)、一時記憶部31をクリアする(S112)。すなわち、移行処理部28は、一時記憶部31へ一時的に記憶された現在の一周期ログ43を消去し、次回以降に取得される一周期ログの取得に備える。なお、移行処理部28は、一時記憶部31へ一時的に記憶された現在の一周期ログ43を消去することなく、次回以降に取得される一周期ログを上書きする構成としてもよい。移行処理部28は、一時記憶部31のクリアが完了すると、次回の一周期ログの取得へ移行し(S113)、S102へリターンする。
When the
上記の手順によって取得された一周期ログ43や長期記憶一周期ログは、例えばパソコン12の液晶ディスプレイと共用される表示部29に表示される。表示部29は、長期記憶部32に最初に記憶された長期記憶一周期ログすなわち最古の長期記憶一周期ログ44、一時記憶部31に記憶されている現在の一周期ログ43、または長期記憶部32に記憶されている全ての長期記憶一周期ログなどを、いずれか一つまたは全部を選択的に表示する。
The one-
以上説明した第1実施形態では、実行ログ取得部24は、ロボット制御プログラム40の実行にともなってロボット11、パソコン12および外部入出力機器13から出力された信号に基づいて変化しつつロボット制御プログラム40で使用される実行行および変数を取得する。実行行および実行変数ログは、ログ取得スタート行41からログ取得エンド行42までロボット制御プログラム40が周回するごとに一周期ログ43として取得される。比較部26は、取得された現在の一周期ログ43と、長期記憶部32に蓄積された長期記憶一周期ログのうち最新長期記憶一周期ログ45とを比較する。長期記憶判断部27は、取得された現在の一周期ログ43と、最新長期記憶一周期ログ45とが異なるとき、取得した現在の一周期ログ43の長期記憶が必要であると判断し、取得した現在の一周期ログ43を長期記憶部32に記憶する。すなわち、ロボット制御プログラム40の実行の一周期において実行行および変数に変化が生じると、取得される現在の一周期ログ43は、長期記憶一周期ログとして長期記憶部32に記憶され、次回以降に取得する一周期ログとの比較の対象となる。表示部29は、長期記憶部32に最初に記憶された最古の長期記憶一周期ログ44、一時記憶部31に現在記憶されている一周期ログ43、または全ての長期記憶一周期ログを選択的に表示する。そのため、ロボット制御プログラム40に基づいてロボット制御システム10が作動しているときでも、実行行および変数の変化にともなう不適切な挙動は、表示部29に表示された最古の長期記憶一周期ログ44、現在記憶されている一周期ログ43、または全ての長期記憶一周期ログなどを対比することによって認識される。したがって、短時間でロボット制御プログラム40の動作を正確かつ容易に確認することができる。そして、これらを対比することにより、ロボット制御プログラム40のバグであるのか入力された変数に問題があるのかを容易に区別して認識することができる。
In the first embodiment described above, the execution
また、第1実施形態では、比較部26は、一周期ログ43に含まれる対応するロボット制御プログラム40の一行ごとに、取得する一周期ログ43と長期記憶部32に記憶されている最新長期記憶一周期ログ45とを逐次比較する。対応するロボット制御プログラム40の一行ごとに比較することにより、ログの比較は短時間で実行される。そのため、ログ取得スタート行41とログ取得エンド行42との間を短時間で周回するロボット制御プログラム40からログを取得する場合でも、ロボット制御プログラム40の動作を正確に比較することができる。さらに、取得される現在の一周期ログ43が最新長期記憶一周期ログ45と同一の場合、一時記憶部31に記憶された一周期ログ43は長期記憶部32に記憶されることなくクリアされる。そのため、例えば今回取得した一周期ログ43が前回の周期と同一であれば今回取得した一周期ログ43はクリアされる。すなわち、最新長期記憶一周期ログ45と重複する一周期ログ43は長期記憶部32に記憶されることなく、前回の周期との間で変化が生じた一周期ログ43のみが長期記憶一周期ログとして長期記憶部32に記憶される。したがって、長期記憶部32の記憶容量の増大を招くことなく、挙動の変化の変遷を追跡することができる。
Further, in the first embodiment, the
なお、第1実施形態では、S104において一周期ログ43の取得は第1周期目であるか否かを判断している。しかし、S104の処理を省略してもよい。この場合、第1周期目に取得した一周期ログは、比較の対象となる最新長期記憶一周期ログが存在しないため、この最新長期記憶一周期ログと必然的に異なることになる。そのため、S104の処理を省略しても、S106において第1周期目に取得した一周期ログはS109において長期フラグが「オン」となる。したがって、S104の処理を省略しても、上記の第1実施形態と同様の処理を実行することができる。
In the first embodiment, it is determined whether or not the acquisition of the one-
(第2実施形態)
第2実施形態によるロボット制御システムを図7に示す。
図7に示す第2実施形態によるロボット制御システム10は、制御装置14の記憶部25を除きその構成が第1実施形態と同一であるので相違点のみを説明し、同一点については説明を省略する。第2実施形態の場合、記憶部25は、一時記憶部51および長期記憶部52を有している。一時記憶部51は、第1実施形態と同様に制御部21のRAMと共用される。一時記憶部51は、実行ログ取得部24で取得された一周期ログを一時的に記憶する複数の一時記憶領域53を有している。一時記憶領域53は、二つ以上の複数が設定されている。すなわち、第2実施形態の場合、一時記憶部51は複数の一時記憶領域53で構成されている。一方、長期記憶部52は、第1実施形態と同様である。実行ログ取得部24は、一周期ログを取得すると、一時記憶部51のいずれかの一時記憶領域53に取得した一周期ログを一時的に記憶させる。一時記憶部51は、実行ログ取得部24で取得された一周期ログを複数の一時記憶領域53のいずれかに割り当てながら順次記憶する。
(Second Embodiment)
A robot control system according to the second embodiment is shown in FIG.
Since the configuration of the
比較部26は、一時記憶部51のいずれかの一時記憶領域53に記憶された一周期ログのうち記憶時期が最も古い最古一周期ログと、長期記憶部52に記憶された時期が最も新しい最新長期記憶一周期ログとを比較する。比較部26は、実行ログ取得部24で最新の一周期ログを一時記憶領域53のいずれかに記憶している間に、一時記憶領域53の他のいずれかに既に記憶されている最古一周期ログと最新長期記憶一周期ログとを比較する。すなわち、比較部26は、実行ログ取得部24で最新の一周期ログが取得されている間に、既に記憶されている最古一周期ログの全体と最新長期記憶一周期ログの全体とを比較する。
The
長期記憶判断部27は、この比較部26で比較した最古一周期ログと最新長期記憶一周期ログとが互いに異なるとき、比較の対象となった最古一周期ログについて長期記憶が必要であると判断する。長期記憶判断部27は、長期記憶が必要であると判断すると、長期記憶フラグをオンにする。
The long-term
次に、上記の構成の第2実施形態によるロボット制御システム10の作動について説明する。第2実施形態によるロボット制御システム10の作動についても、その処理の流れは第1実施形態とほぼ同一であるので、図8を参照して主に相違点を説明する。
第2実施形態の場合、制御装置14は図8(A)に示す処理、および図8(B)に示す処理を並列して実行する。具体的には、制御装置14は、一周期ログを取得する図8(A)に示す処理と、取得した一周期ログを長期記憶の対象とするか否かを判断する図8(B)に示す処理とを並列して実行する。
Next, the operation of the
In the case of the second embodiment, the
まず、図8(A)に基づいて一周期ログの取得について説明する。ロボット制御システム10が起動されると、制御装置14はプログラム実行部23においてロボット制御プログラムを実行する(S201)。ロボット制御プログラムが実行されると、実行ログ取得部24は、ロボット制御プログラム40に含まれるログ取得プログラムにしたがって、実行行および実行変数ログを一周期ログとして取得する(S202)。実行ログ取得部24は、取得した一周期ログを一時記憶部51の一時記憶領域53のいずれかに記憶する(S203)。この場合、実行ログ取得部24および一時記憶部51は、複数の一時記憶領域53のうち空いているいずれかの一時記憶領域53に取得した一周期ログを記憶する。実行ログ取得部24は、取得した一周期ログを一時記憶部51のいずれかの一時記憶領域53に記憶すると、S201へリターンして、一周期ログの取得を繰り返す。このように、実行ログ取得部24は、図8(B)に示す長期記憶の対象とするか否かの判断に関わらず、例えばロボット制御プログラムが終了などのように一周期ログの取得が停止されるまで一周期ログの取得を繰り返す。
First, acquisition of one cycle log will be described with reference to FIG. When the
次に、図8(B)に基づいて取得した一周期ログを長期記憶の対象とするか否かの判断の流れについて説明する。制御装置14は、図8(A)に示す処理にしたがって一周期ログが取得および記憶されると、一時記憶部51のいずれかの一時記憶領域53に記憶された一周期ログを読み取り、読み取った一周期ログが長期記憶の対象となるか否かを判断する。具体的には、制御装置14の比較部26は、一時記憶部51から読み取った一周期ログが第1周期目の取得であるか否かを比較部26において判断する(S204)。図8(A)および図8(B)に示す処理を並列して実行する場合、図8(A)において最初に一周期ログが取得されると、比較部26はすぐに取得した一周期ログを一時記憶部51から読み取り、この一周期ログの判断を開始する。比較部26は、取得した一周期ログがロボット制御プログラムの実行によって取得された第1周期目の一周期ログであれば(S204:Yes)、一時記憶領域53に記憶した一周期ログについて長期記憶が必要であると判断し、長期記憶フラグを「オン」にする(S205)。
Next, the flow of determination as to whether or not the one-cycle log acquired based on FIG. When the one-cycle log is acquired and stored in accordance with the process shown in FIG. 8A, the
一方、比較部26は、一時記憶領域53に記憶した一周期ログが第1周期目でないと判断すると(S204:No)、一時記憶部51のいずれの一時記憶領域53に一周期ログが記憶されているか否か、すなわち一時記憶領域53のいずれかに最古一周期ログが記憶されているかを判断する(S206)。一時記憶領域53のいずれかに最古一周期ログが記憶されていないとき(S206:No)、比較部26における比較の対象が存在しないため、S204にリターンし、S204以降の処理を再実行する。なお、比較部26は、S204へリターンした後、図8(A)に示す処理によって一時記憶領域53のいずれかに一周期ログが記憶されるまで待機してもよい。一方、一時記憶領域53のいずれかに最古一周期ログが記憶されているとき(S206:Yes)、比較部26は最古一周期ログと最新長期記憶一周期ログとを比較する(S207)。
On the other hand, when the
比較部26は、最古一周期ログと最新長期記憶一周期ログとが同一であるか否かを判断する(S208)。第2実施形態の場合、比較部26は、一時記憶領域53のいずれかに記憶されている最古一周期ログの全体と最新長期記憶一周期ログの全体とを比較する。一時記憶部51の複数の一時記憶領域53には、ロボット制御プログラムのログ取得スタート行が実行されるごとに、一周期ログが順次いずれかの一時記憶領域53に記憶される。そのため、例えば図9に示すように、一時記憶部51に記憶されている一周期ログは、時間的に最も古いものから最も新しいものまで存在する。また、長期記憶部52には、時間的に最も古い長期記憶一周期ログ62から最も新しい最新長期記憶一周期ログ63まで少なくとも一つ以上の長期記憶一周期ログが記憶されている。比較部26は、これら一時記憶部51に記憶されている複数の一周期ログのうち、記憶された時期が古い最古一周期ログ61について長期記憶部52に記憶されている最新長期記憶一周期ログ63と比較する。図9に示す場合、比較部26は、一時記憶領域53の最古一周期ログ61と長期記憶部52の最新長期記憶一周期ログ63とを全体的に比較する。第2実施形態の場合、取得される現在の一周期ログ64は、一時記憶部51のいずれかの一時記憶領域53に一旦記憶される。そのため、比較部26は、最古一周期ログ61と最新長期記憶一周期ログ63とを全体的に比較する時間的な余裕が確保される。すなわち、比較部26は、図8(A)に示す処理にしたがって現在の一周期ログ64が一時記憶領域53のいずれかに記憶されている間に、図8(B)に示す処理にしたがって一時記憶領域53の他のいずれかに記憶されている最古一周期ログ61と最新長期記憶一周期ログ63とを比較する。これにより、制御部21を構成するCPUなどプロセッサの能力が比較的低く処理速度が遅い場合、あるいはログ取得スタート行が実行されるまでの時間的な間隔が短い場合でも、最古一周期ログ61と最新長期記憶一周期ログ63とを確実に比較することができる。
The
比較部26による比較の結果、一時記憶領域53の最古一周期ログ61が最新長期記憶一周期ログ63と同一であるとき(S208:Yes)、長期記憶判断部27は一時記憶領域53に記憶した最古一周期ログ61について「長期記憶フラグ」を「オフ」にする(S209)。一方、一時記憶領域53の最古一周期ログ61が最新長期記憶一周期ログ63と異なるとき(S208:No)、長期記憶判断部27は一時記憶領域53の最古一周期ログ61について「長期記憶フラグ」を「オン」にする(S210)。
As a result of the comparison by the
長期記憶判断部27は、一時記憶領域53の最古一周期ログ61の全体と長期記憶部52の最新長期記憶一周期ログ63の全体を比較した結果、異なる実行変数ログまたは実行行があれば長期記憶フラグを「オン」にする。一方、最古一周期ログ61の全体と最新長期記憶一周期ログ63の全体とが同一であると比較部26で判断されたとき、長期記憶判断部27は長期記憶フラグを「オフ」にする。
The long-term
長期記憶フラグがオンまたはオフされると、移行処理部28は長期記憶フラグが「オン」であるか否かを判断する(S211)。移行処理部28は、長期記憶フラグが「オン」であれば(S211:Yes)、一時記憶部51の一時記憶領域53に記憶されている最古一周期ログ61を長期記憶部52に書き込む(S212)。また、移行処理部28は、取得した一周期ログが第1周期目の取得であり(S204:Yes)、S205において長期記憶フラグが「オン」されている場合も、その一周期ログすなわち第1周期目に取得した一周期ログを長期記憶部52に記憶する。
When the long-term storage flag is turned on or off, the
移行処理部28は、S212において一時記憶領域53の最古一周期ログ61を長期記憶部52へ書き込んだ後、およびS211で長期記憶フラグが「オフ」であると判断されると(S211:No)、最古一周期ログ61が記憶された一時記憶領域53をクリアする(S231)。すなわち、移行処理部28は、一時記憶領域53へ一時的に記憶された最古一周期ログ61を消去し、次回以降に取得される一周期ログの取得に備える。移行処理部28は、一時記憶領域53のクリアが完了すると、S204へリターンする。制御装置14は、例えばロボット制御プログラムが終了などのように処理が停止されるまでS204以降の処理を繰り返す。図8(B)に示す処理にしたがって上記のS204からS213の処理を実行している間であっても、実行ログ取得部24はロボット制御プログラム40がログ取得スタート行41へリターンするごとに図8(A)に示す処理にしたがって一周期ログを取得しつつ空いている一時記憶領域53へ逐次記憶する。
The
上記の手順によって取得された一周期ログや長期記憶一周期ログは、例えばパソコン12の液晶ディスプレイと共用される表示部29に表示される。表示部29は、長期記憶部52に最初に記憶された最古の長期記憶一周期ログ62、一時記憶領域53に記憶されている現在の一周期ログ64、または長期記憶部52に記憶されている全ての長期記憶一周期ログのいずれか一つまたは全部を選択的に表示する。
The one-cycle log and the long-term storage one-cycle log acquired by the above procedure are displayed on the
以上説明した第2実施形態では、実行ログ取得部24は、ロボット制御プログラム40の実行にともなってロボット11、パソコン12および外部入出力機器13から出力された信号に基づいて変化しつつロボット制御プログラム40で使用される実行行および変数を取得する。実行行および実行変数ログは、ログ取得スタート行41からログ取得エンド行42までロボット制御プログラム40が周回するごとに一周期ログとして取得される。比較部26は、一時記憶領域53に記憶された最古一周期ログ61と、長期記憶部52に蓄積された最新長期記憶一周期ログ63とを比較する。長期記憶判断部27は、最古一周期ログ61と最新長期記憶一周期ログ63とが異なるとき、長期記憶が必要であると判断し、最古一周期ログ61を長期記憶部52に記憶する。すなわち、ロボット制御プログラム40の実行の一周期において実行行および変数に変化が生じると、その最古一周期ログ61は、長期記憶一周期ログとして長期記憶部52に記憶され、次回以降の一周期ログとの比較の対象となる。表示部29は、長期記憶部52に最初に記憶された最古の長期記憶一周期ログ62、一時記憶領域53に現在記憶されている一周期ログ、または長期記憶部52に記憶されている全ての長期記憶一周期ログを選択的に表示する。そのため、ロボット制御プログラム40に基づいてロボット制御システム10が作動しているときでも、実行行および変数の変化にともなう不適切な挙動は、表示部29の表示を対比することによって認識される。したがって、短時間でロボット制御プログラム40の動作を正確かつ容易に確認することができる。これらを対比することにより、ロボット制御プログラム40のバグであるのか入力された変数に問題があるのかを容易に区別して認識することができる。
In the second embodiment described above, the execution
また、第2実施形態では、比較部26は、一時記憶部51に設けられている複数の一時記憶領域53のいずれか一つに現在の一周期ログ64を記憶している間に、一時記憶領域53に記憶されている最古一周期ログ61と長期記憶部52に記憶されている最新長期記憶一周期ログ63とを比較する。一時記憶部51に複数の一時記憶領域53を設け、この一時記憶領域53のいずれかに記憶された最古一周期ログ61と長期記憶一周期ログとを比較することにより、比較のために必要な時間は長く確保される。そのため、ログ取得スタート行41とログ取得エンド行42との間を短時間で周回するロボット制御プログラム40からログを取得する場合でも、制御装置14のプロセッサの性能を高めることなくロボット制御プログラム40の動作を正確に比較することができる。さらに、比較される最古一周期ログ61が最新長期記憶一周期ログ63と同一の場合、一時記憶部51の一時記憶領域53に記憶された最古一周期ログ61は長期記憶部52に記憶されることなくクリアされる。すなわち、最新長期記憶一周期ログ63と重複する最古一周期ログ61は長期記憶部52に記憶されることなく、前回の周期との間で変化が生じた最古一周期ログ61のみが長期記憶一周期ログとして長期記憶部52に記憶される。したがって、長期記憶部52の記憶容量および制御装置14の処理能力の増大を招くことなく、挙動の変化の変遷を追跡することができる。
In the second embodiment, the
なお、第2実施形態では、S204において一周期ログの取得は1周期目であるか否かを判断している。しかし、S204の処理を省略してもよい。この場合、1周期目に取得した一周期ログは、比較の対象となる最新の長期記憶一周期ログが存在しないため、この最新の長期記憶一周期ログと必然的に異なることになる。そのため、S204の処理を省略しても、S207において1周期目に取得した最古一周期ログはS210において長期フラグが「オン」となる。したがって、S204の処理を省略しても、上記の第2実施形態と同様の処理を実行することができる。 In the second embodiment, it is determined in S204 whether or not the acquisition of the one-cycle log is the first cycle. However, the process of S204 may be omitted. In this case, the one-period log acquired in the first period inevitably differs from this latest long-term storage one-period log because there is no latest long-term storage one-period log to be compared. Therefore, even if the process of S204 is omitted, the longest flag is turned “ON” in S210 for the oldest one-period log acquired in the first period in S207. Therefore, even if the process of S204 is omitted, the same process as in the second embodiment can be executed.
(第3実施形態)
第3実施形態によるロボット制御システムを図10に示す。
図10に示す第3実施形態によるロボット制御システム10の場合、制御装置14は、第1実施形態の比較部26および長期記憶判断部27に対応する構成を有していない。また、第3実施形態の場合、記憶部70は、一連の複数の記憶領域を有している。記憶部70は、例えばバッテリでバックアップされたRAM、EPROMあるいはHDDなどで構成されている。記憶部70の複数の記憶領域71、72、73・・・は、いずれも上述の第1実施形態や第2実施形態における一時記憶領域に類似するとともに、長期保護フラグがオンになると、その記憶領域が長期的に保護される長期保護領域に移行する。
(Third embodiment)
A robot control system according to the third embodiment is shown in FIG.
In the case of the
第3実施形態では、ロボット制御プログラムを実行すると、第1実施形態と同様にログ取得プログラムにしたがって実行ログ取得部24によって実行行および実行変数ログが一周期ログとして取得される。取得された一周期ログは、図11に示すように記憶部70の先頭から順に記憶される。例えば図11に示す場合、第1周期目の一周期ログが第1周期ログとして取得されると、記憶部70のアドレス「0001」から設定されている第一記憶領域71に第1周期ログが書き込まれる。この第1周期ログは、第2周期目以降に取得される一周期ログとの比較の対象として長期保護が必要となる。そのため、移行処理部28は、この第1周期ログが記憶された第一記憶領域71について、長期保護領域とするために「長期保護フラグ」を「オン」にする。図11に示す場合、アドレス「0001」に実行行および実行変数ログとして「3行目 I[0]=3」が記憶され、アドレス「0002」、「0003」、「0004」、「0005」に実行行である「4行目」、「5行目」、「6行目」、「13行目」が順に記憶される。そして、これらアドレス「0001」から「0005」で設定された第一記憶領域71は、長期保護領域となる。
In the third embodiment, when the robot control program is executed, an execution line and an execution variable log are acquired as a one-cycle log by the execution
次に、第2周期目の一周期ログが第2周期として取得されると、第一記憶領域71の次のアドレス「0006」に位置する第二記憶領域72に第2周期が一時的に書き込まれる。移行処理部28は、第2周期を取得するとき、第一記憶領域71に記憶した第1周期ログと比較しながら第2周期を第二記憶領域72に記憶する。比較部26は、第1実施形態と同様に、第2周期の実行行または実行変数ログを取得するごとに、一行ずつ第1周期ログの実行行または実行変数ログと比較する。
Next, when the one-cycle log of the second period is acquired as the second period, the second period is temporarily written in the
そして、移行処理部28は、第二記憶領域72に一時的に記憶した第2周期と、長期保護領域に設定した第一記憶領域71に記憶した第1周期ログとを比較した結果、第2周期が第1周期ログと一致するとき、取得した第2周期が記憶された第二記憶領域72を更新することなく次回すなわち第3周期の一周期ログである第3周期ログの取得へ移行する。この場合、移行処理部28は、第3周期で取得される第3周期ログを、第2周期ログが記憶されたアドレス「0006」以降の第二記憶領域72に記憶する。移行処理部28は、第3周期ログを第二記憶領域72に記憶するとき、第3周期ログと長期保護領域となった第一記憶領域71に記憶された第1周期ログとを比較する。ここで、第二記憶領域72の更新とは、第二記憶領域72に記憶された第2周期ログをクリアした後に取得する第3周期ログを書き込む構成、または第二記憶領域72に記憶された第2周期ログをクリアすることなく第3周期ログを上書きする構成のいずれであってもよい。
Then, the
一方、移行処理部28は、第二記憶領域72に一時的に記憶した第2周期ログと、第一記憶領域71に記憶した第1周期ログとを比較した結果、第2周期ログが第1周期ログと異なるとき、第2周期ログを記憶した第二記憶領域72を長期保護領域とする「長期保護フラグ」を「オン」にして、次回すなわち第3周期ログの取得へ移行する。この場合、移行処理部28は、第3周期で取得される第3周期ログを、第2周期ログが記憶された第二記憶領域72の次のアドレスに位置するアドレス「000B」以降の第三記憶領域73に記憶する。移行処理部28は、第3周期ログを第三記憶領域73に記憶するとき、第3周期ログと長期保護領域となった第二記憶領域72に記憶された第2周期ログとを比較する。
On the other hand, as a result of comparing the second periodic log temporarily stored in the
以上のような第3実施形態を一般化すると、取得したn周期目の一周期ログであるn周期ログを第m+1記憶領域に記憶しつつ、第m記憶領域において長期保護の対象として記憶された一周期ログと比較する。比較の結果、n周期ログが第m記憶領域の一周期ログと一致すれば、n+1周期ログの取得へ移行し、n周期ログが記憶されていた第m+1記憶領域にn+1周期ログが書き込まれる。一方、比較の結果、n周期ログが第m記憶領域の一周期ログと異なれば、n周期ログが記憶された第m+1記憶領域を長期保護領域とする長期保護フラグがオンされた後、第m+1記憶領域の次のアドレスに位置する第m+2記憶領域に取得したn+1周期目ログが書き込まれる。その結果、記憶部70は、前後の周期において取得された一周期ログが異なるごとに、後の一周期ログが記憶された記憶領域が長期保護領域として設定され、記憶領域のアドレスが進行していく。したがって、前後の周期において取得された一周期ログが重複する場合、後の一周期ログは廃棄され、前後の周期において取得された一周期ログが異なる場合、後の一周期ログは長期保護の対象となって保護される。
When the third embodiment as described above is generalized, the acquired n-cycle log, which is the first cycle log of the n-th cycle, is stored in the m + 1th storage area and stored as a long-term protection target in the mth storage area. Compare with one-cycle log. As a result of the comparison, if the n-cycle log matches the one-cycle log of the m-th storage area, the process proceeds to acquisition of the (n + 1) -period log, and the n + 1-cycle log is written in the (m + 1) -th storage area where the n-cycle log has been stored. On the other hand, as a result of comparison, if the n-cycle log is different from the one-cycle log of the m-th storage area, the m + 1-th log is stored after the long-term protection flag having the m + 1-th storage area storing the n-cycle log as the long-term protection area is turned on. The acquired log of the (n + 1) th period is written in the (m + 2) th storage area located at the next address of the storage area. As a result, the
上記の手順によって取得された一周期ログは、例えばパソコン12の液晶ディスプレイと共用される表示部29に表示される。表示部29は、長期保護領域として最初に設定された記憶領域すなわち第一記憶領域71に記憶されている第1周期目に取得された第1周期ログ、記憶部70に記憶されている最新の一周期ログすなわちn周期ログ、または長期保護領域として設定された全ての記憶領域に記憶されている一周期ログのいずれか一つまたは全部を選択的に表示する。
The one-cycle log acquired by the above procedure is displayed on the
第3実施形態では、実行ログ取得部24は、ロボット制御プログラムの実行にともなってロボット11、パソコン12および外部入出力機器13から出力された信号に基づいて変化しつつロボット制御プログラムで使用される実行行および変数を取得する。実行変数ログは、ログ取得スタート行からログ取得エンド行までロボット制御プログラムが周回するごとに取得される。移行処理部28は、n周期目に取得したn周期ログが第m記憶領域において長期保護の対象となった一周期ログと一致するとき、n周期ログが記憶された第m+1記憶領域を更新せずに次回の一周期ログの取得へ移行し、n周期ログが第m記憶領域において長期保護の対象となった一周期ログと異なるとき、n周期ログを記憶した第m+1記憶領域を長期保護領域とする。すなわち、ロボット制御プログラムの実行のn周期において、第m記憶領域で長期保護の対象となった一周期ログとの間で実行行および変数に変化が生じると、取得されるn周期ログは、第m+1記憶領域において長期保護領域として保護される。そして、n周期に続くn+1周期ログは、第m+1記憶領域の次のアドレスに位置する第m+2記憶領域に記憶される。長期保護領域に記憶されたn周期ログは、次回以降の一周期ログとの比較の対象となる。表示部29は、第1周期目の第1周期ログ、記憶部70に記憶されている最新の一周期ログ、または全ての記憶領域に記憶されている一周期ログを選択的に表示する。そのため、ロボット制御プログラムに基づいてロボット制御システム10が作動しているときでも、実行行および変数の変化にともなう不適切な挙動は、表示部29に表示された第1周期ログ、最新の一周期ログ、または全ての長期保護の対象となっている一周期ログなどを対比することによって認識される。したがって、短時間でロボット制御プログラムの動作を正確かつ容易に確認することができる。
In the third embodiment, the execution
また、第3実施形態では、移行処理部28は、一周期ログに含まれる対応するロボット制御プログラムの一行ごとに、n周期目ログと第m記憶領域に記憶されている長期保護対象の一周期ログとを逐次比較する。対応するロボット制御プログラムの一行ごとに長期記憶一周期ログと比較することにより、比較は短時間で実行される。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、ロボット制御プログラムの動作を正確に比較することができる。さらに、取得される一周期ログが長期保護領域に記憶されている長期記憶一周期ログと同一の場合、記憶領域に記憶された一周期ログは次回の一周期ログによって上書きされる。そのため、一周期ログが変化するごとに、長期保護領域が形成されつつ、新たな一周期ログが取得される。すなわち、最新の長期保護領域に記憶された一周期ログと重複する一周期ログが記憶された記憶領域は長期保護領域と設定されることなく、前回の周期との間で一周期ログに変化が生じたときのみ長期保護領域が設定される。したがって、記憶容量の増大を招くことなく単一の記憶部70を一時記憶のための領域および長期保護のための領域として共用しつつ、挙動の変化の変遷を追跡することができる。
Further, in the third embodiment, the
以上説明した本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。 The present invention described above is not limited to the above-described embodiment, and can be applied to various embodiments without departing from the gist thereof.
図面中、10はロボット制御プログラム、11はロボット、12はパソコン(電子計算機)、13は外部入出力機器、14は制御装置、23はプログラム実行部(プログラム実行手段)、24は実行ログ取得部(実行ログ取得手段)、26は比較部(比較手段)、27は長期記憶判断部(長期記憶判断手段)、28は移行処理部(移行処理手段)、29は表示部(表示手段)、31、51は一時記憶部(一時記憶手段)、32、52は長期記憶部(長期記憶手段)、53は一時記憶領域、70は記憶部、71、72、73は記憶領域を示す。 In the drawing, 10 is a robot control program, 11 is a robot, 12 is a personal computer (electronic computer), 13 is an external input / output device, 14 is a control device, 23 is a program execution unit (program execution means), and 24 is an execution log acquisition unit. (Execution log acquisition means), 26 is a comparison section (comparison means), 27 is a long-term memory judgment section (long-term memory judgment means), 28 is a migration processing section (migration processing means), 29 is a display section (display means), 31 , 51 are temporary storage sections (temporary storage means), 32 and 52 are long-term storage sections (long-term storage means), 53 is a temporary storage area, 70 is a storage section, and 71, 72, and 73 are storage areas.
Claims (3)
前記制御装置は、
スタート指示により前記ロボット制御プログラムを実行し、前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変数の値または前記ロボット制御プログラムの実行行を変更するプログラム実行手段と、
ログ取得プログラムに基づいて、前記制御装置に接続されている前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変化しつつ前記ロボット制御プログラムで使用される変数のログである実行変数ログを取得可能であって、前記ロボット制御プログラムにおいて予め設定されたログ取得スタート行から前記ログ取得スタート行が再び実行されるまでの一周期において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得、または前記ロボット制御プログラムのうち前記ログ取得スタート行から予め設定されたログ取得エンド行までのログ取得範囲において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得する実行ログ取得手段と、
前記実行ログ取得手段で取得された前記一周期ログを記憶する一時記憶手段と、
前記一時記憶手段に記憶した前記一周期ログのうち長期記憶が必要と判断された長期記憶一周期ログを逐次蓄積しながら記憶する長期記憶手段と、
前記実行ログ取得手段で前記一周期ログを取得すると、前記一周期ログに含まれる前記ロボット制御プログラムの一行ごとに、取得される前記一周期ログと前記長期記憶手段に記憶されている最新の前記長期記憶一周期ログとを逐次比較する比較手段と、
前記比較手段の比較の結果、取得した前記一周期ログと最新の前記長期記憶一周期ログとが異なるとき、取得した前記一周期ログは前記長期記憶手段への記憶が必要であると判断して長期記憶フラグをオンにする長期記憶判断手段と、
前記ロボット制御プログラムにおいて前記ログ取得スタート行が実行、または前記ログ取得エンド行が実行されると、前記一時記憶手段に記憶されている前記一周期ログの長期記憶フラグがオフであれば前記一時記憶手段をクリアし、前記一時記憶手段に記憶されている前記一周期ログの長期記憶フラグがオンであれば前記一時記憶手段に記憶されている前記一周期ログを前記長期記憶手段に書き込んで前記一時記憶手段をクリアして次回の一周期ログの取得へ移行する移行処理手段と、
前記長期記憶手段へ最初に記憶された長期記憶一周期ログ、前記一時記憶手段に現在記憶されている一周期ログ、または前記長期記憶手段に記憶された全ての長期記憶一周期ログのいずれか一つまたは全部を選択的に表示可能な表示手段と、
を備えることを特徴とするロボット制御システム。 In a robot control system comprising a robot, an electronic computer, an external input / output device, and a controller for controlling the robot based on a robot control program,
The controller is
Program execution means for executing the robot control program in accordance with a start instruction, and changing a value of a variable or an execution line of the robot control program based on signals output from the robot, the electronic computer, and the external input / output device;
Based on a log acquisition program, a log of variables used in the robot control program while changing based on signals output from the robot, the computer, and the external input / output device connected to the control device The execution line and the execution variable log that can acquire a certain execution variable log and change in one cycle from the log acquisition start line set in advance in the robot control program until the log acquisition start line is executed again The execution line and the execution variable log changed in the log acquisition range from the log acquisition start line to a preset log acquisition end line in the robot control program. Acquired as one cycle log of the robot control program And the execution log acquisition means,
Temporary storage means for storing the one-cycle log acquired by the execution log acquisition means;
Long-term storage means for sequentially storing long-term storage one-cycle logs determined to require long-term storage among the one-cycle logs stored in the temporary storage means;
When the one-cycle log is acquired by the execution log acquisition unit, for each line of the robot control program included in the one-cycle log, the one-cycle log acquired and the latest stored in the long-term storage unit A comparison means for sequentially comparing the long-term memory one-cycle log;
As a result of the comparison by the comparison means, when the acquired one-cycle log is different from the latest long-term storage one-cycle log, it is determined that the acquired one-cycle log needs to be stored in the long-term storage means Long-term memory judging means for turning on the long-term memory flag;
When the log acquisition start line is executed or the log acquisition end line is executed in the robot control program, the temporary storage is performed if the long-term storage flag of the one-cycle log stored in the temporary storage unit is off. If the long-term storage flag of the one-cycle log stored in the temporary storage unit is on, the one-cycle log stored in the temporary storage unit is written into the long-term storage unit and the temporary storage unit Transition processing means for clearing the storage means and shifting to the acquisition of the next periodic log; and
One of the long-term storage one-cycle log initially stored in the long-term storage means, the one-cycle log currently stored in the temporary storage means, or all the long-term storage one-cycle logs stored in the long-term storage means Display means capable of selectively displaying one or all of them,
A robot control system comprising:
前記制御装置は、
スタート指示により前記ロボット制御プログラムを実行し、前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変数の値または前記ロボット制御プログラムの実行行を変更するプログラム実行手段と、
ログ取得プログラムに基づいて、前記制御装置に接続されている前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変化しつつ前記ロボット制御プログラムで使用される変数のログである実行変数ログを取得可能であって、前記ロボット制御プログラムにおいて予め設定されたログ取得スタート行から前記ログ取得スタート行が再び実行されるまでの一周期において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得、または前記ロボット制御プログラムのうち前記ログ取得スタート行から予め設定されたログ取得エンド行までのログ取得範囲において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得する実行ログ取得手段と、
複数の記憶領域を有し、前記実行ログ取得手段で取得された前記一周期ログを記憶する記憶手段と、
前記実行ログ取得手段でn−1周期目(n≧2)に取得した前記一周期ログであるn−1周期ログを前記記憶手段の第m記憶領域に記憶し、前記実行ログ取得手段でn周期目に取得しつつ前記第m記憶領域の次のアドレスに位置する第m+1記憶領域に記憶する前記一周期ログであるn周期ログと前記第m記憶領域に記憶された一周期ログとを比較して、前記n周期ログが前記第m記憶領域の一周期ログと一致するとき前記n周期ログが記憶された前記第m+1記憶領域を更新することなく次回の一周期ログの取得へ移行し、前記n周期ログが前記第m記憶領域の一周期ログと異なるとき前記n周期ログを記憶した前記第m+1記憶領域を長期保護領域とする長期保護フラグをオンにして、次回のn+1周期目に取得する前記一周期ログであるn+1周期ログを前記第m+1記憶領域の次のアドレスに位置する第m+2記憶領域に記憶する移行処理手段と、
前記長期保護領域として最初に設定された記憶領域に記憶されている長期記憶一周期ログ、前記記憶手段に記憶されている最新の一周期ログ、または前記長期保護領域として設定された全ての記憶領域に記憶されている長期記憶一周期ログのいずれか一つまたは全部を選択的に表示可能な表示手段と、
を備えることを特徴とするロボット制御システム。 In a robot control system comprising a robot, an electronic computer, an external input / output device, and a controller for controlling the robot based on a robot control program,
The controller is
Program execution means for executing the robot control program in accordance with a start instruction, and changing a value of a variable or an execution line of the robot control program based on signals output from the robot, the electronic computer, and the external input / output device;
Based on a log acquisition program, a log of variables used in the robot control program while changing based on signals output from the robot, the computer, and the external input / output device connected to the control device The execution line and the execution variable log that can acquire a certain execution variable log and change in one cycle from the log acquisition start line set in advance in the robot control program until the log acquisition start line is executed again The execution line and the execution variable log changed in the log acquisition range from the log acquisition start line to a preset log acquisition end line in the robot control program. Acquired as one cycle log of the robot control program And the execution log acquisition means,
A storage unit having a plurality of storage areas, and storing the one-cycle log acquired by the execution log acquisition unit;
The execution log acquisition unit stores the (n−1) period log, which is the first period log acquired in the (n−1) period (n ≧ 2), in the m-th storage area of the storage unit, and the execution log acquisition unit performs n The n-cycle log, which is the one-cycle log stored in the (m + 1) -th storage area located at the next address of the m-th storage area while being acquired in the period, is compared with the one-cycle log stored in the m-th storage area Then, when the n-cycle log matches the one-cycle log of the m-th storage area, the process proceeds to acquisition of the next one-cycle log without updating the m + 1-th storage area in which the n-cycle log is stored, When the n-cycle log is different from the one-cycle log of the m-th storage area, turn on the long-term protection flag that sets the m + 1-th storage area storing the n-cycle log as a long-term protection area, and obtain it at the next n + 1 period The one-cycle log And proceeds processing means for storing the n + 1 cycle log (m + 2) -th storage region located next address of the (m + 1) -th memory area,
Long-term storage one-period log stored in the storage area initially set as the long-term protection area, the latest one-period log stored in the storage means, or all the storage areas set as the long-term protection area Display means capable of selectively displaying any one or all of the long-term memory one-cycle logs stored in
A robot control system comprising:
前記制御装置は、
スタート指示により前記ロボット制御プログラムを実行し、前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変数の値または前記ロボット制御プログラムの実行行を変更するプログラム実行手段と、
ログ取得プログラムに基づいて、前記制御装置に接続されている前記ロボット、前記電子計算機および前記外部入出力機器から出力された信号に基づいて変化しつつ前記ロボット制御プログラムで使用される変数のログである実行変数ログを取得可能であって、前記ロボット制御プログラムにおいて予め設定されたログ取得スタート行から前記ログ取得スタート行が再び実行されるまでの一周期において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得、または前記ロボット制御プログラムのうち前記ログ取得スタート行から予め設定されたログ取得エンド行までのログ取得範囲において変化した前記実行行および前記実行変数ログを前記ロボット制御プログラムの一周期ログとして取得する実行ログ取得手段と、
複数の一時記憶領域を有し、前記実行ログ取得手段で前記一周期ログが取得されるごとに、前記一周期ログを複数の一時記憶領域のいずれかに割り当てながら順次記憶する一時記憶手段と、
前記一時記憶手段に記憶した前記一周期ログのうち長期記憶が必要と判断された長期記憶一周期ログを逐次蓄積しながら記憶する長期記憶手段と、
前記実行ログ取得手段で最新の前記一周期ログを前記一時記憶領域のいずれか一つに記憶している間に、前記一時記憶領域のいずれか一つに記憶されている最古の前記一周期ログである最古一周期ログと、前記長期記憶手段に記憶されている最新の前記長期記憶一周期ログである最新長期記憶一周期ログとを比較する比較手段と、
前記比較手段の比較の結果、前記最古一周期ログと最新長期記憶一周期ログとが異なるとき、取得した前記最古一周期ログは前記長期記憶手段への記憶が必要であると判断してその最古一周期ログに対応する長期記憶フラグをオンにする長期記憶判断手段と、
前記最古一周期ログの長期記憶フラグがオフであれば前記最古一周期ログが記憶された一時記憶領域をクリアし、前記最古一周期ログの長期記憶フラグがオンであれば前記最古一周期ログを前記長期記憶手段に書き込んで前記最古一周期ログが記憶された一時記憶領域をクリアして次回の一周期ログの取得へ移行する移行処理手段と、
前記長期記憶手段へ最初に記憶された長期記憶一周期ログ、前記一時記憶手段に現在記憶されている一周期ログ、または前記長期記憶手段に記憶された全ての長期記憶一周期ログのいずれか一つまたは全部を選択的に表示可能な表示手段と、
を備えることを特徴とするロボット制御システム。 In a robot control system comprising a robot, an electronic computer, an external input / output device, and a controller for controlling the robot based on a robot control program,
The controller is
Program execution means for executing the robot control program in accordance with a start instruction, and changing a value of a variable or an execution line of the robot control program based on signals output from the robot, the electronic computer, and the external input / output device;
Based on a log acquisition program, a log of variables used in the robot control program while changing based on signals output from the robot, the computer, and the external input / output device connected to the control device The execution line and the execution variable log that can acquire a certain execution variable log and change in one cycle from the log acquisition start line set in advance in the robot control program until the log acquisition start line is executed again The execution line and the execution variable log changed in the log acquisition range from the log acquisition start line to a preset log acquisition end line in the robot control program. Acquired as one cycle log of the robot control program And the execution log acquisition means,
Temporary storage means having a plurality of temporary storage areas, each time the execution log acquisition means acquires the one-period log, and sequentially storing the one-cycle log while allocating to one of the plurality of temporary storage areas;
Long-term storage means for sequentially storing long-term storage one-cycle logs determined to require long-term storage among the one-cycle logs stored in the temporary storage means;
While the latest one-cycle log is stored in any one of the temporary storage areas by the execution log acquisition means, the oldest one cycle stored in any one of the temporary storage areas A comparison means for comparing the oldest one-cycle log that is a log with the latest long-term storage one-cycle log that is the latest long-term storage one-cycle log stored in the long-term storage means;
As a result of the comparison by the comparison means, when the oldest one-cycle log and the latest long-term storage one-cycle log are different, it is determined that the acquired oldest one-cycle log needs to be stored in the long-term storage means A long-term memory judging means for turning on a long-term memory flag corresponding to the oldest one-cycle log;
If the long-term storage flag of the oldest one-cycle log is off, the temporary storage area in which the oldest one-cycle log is stored is cleared, and if the long-term storage flag of the oldest one-cycle log is on, the oldest memory A transition processing means for writing a one-cycle log in the long-term storage means, clearing a temporary storage area in which the oldest one-cycle log is stored, and shifting to acquisition of the next one-cycle log;
One of the long-term storage one-cycle log initially stored in the long-term storage means, the one-cycle log currently stored in the temporary storage means, or all the long-term storage one-cycle logs stored in the long-term storage means Display means capable of selectively displaying one or all of them,
A robot control system comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009051954A JP5287367B2 (en) | 2009-03-05 | 2009-03-05 | Robot control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009051954A JP5287367B2 (en) | 2009-03-05 | 2009-03-05 | Robot control system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013117743A Division JP5387794B2 (en) | 2013-06-04 | 2013-06-04 | Robot control log acquisition system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010205128A JP2010205128A (en) | 2010-09-16 |
JP5287367B2 true JP5287367B2 (en) | 2013-09-11 |
Family
ID=42966515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009051954A Active JP5287367B2 (en) | 2009-03-05 | 2009-03-05 | Robot control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5287367B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9561587B2 (en) * | 2014-12-16 | 2017-02-07 | Amazon Technologies, Inc. | Robotic grasping of items in inventory system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01195548A (en) * | 1988-01-30 | 1989-08-07 | Fanuc Ltd | Recording system for program executing state |
JP2680061B2 (en) * | 1988-08-30 | 1997-11-19 | 富士通株式会社 | Log data recording processing method |
JPH02247745A (en) * | 1989-03-20 | 1990-10-03 | Fujitsu Ltd | Logging processing system |
JPH03290741A (en) * | 1990-04-06 | 1991-12-20 | Fujitsu Ltd | Error logging method |
JPH07219807A (en) * | 1994-02-08 | 1995-08-18 | Toshiba Corp | Programmable controller system |
JPH07281929A (en) * | 1994-04-06 | 1995-10-27 | Oki Electric Ind Co Ltd | Trace information collecting device |
JP3104685B2 (en) * | 1998-07-31 | 2000-10-30 | 日本電気株式会社 | System log recording device, system log recording method, and recording medium |
JP2002268921A (en) * | 2001-03-08 | 2002-09-20 | Hitachi Information Systems Ltd | Method for merging a plurality of time-series information files, its merging program and its merging system |
JP2005259041A (en) * | 2004-03-15 | 2005-09-22 | Yaskawa Electric Corp | Data accumulation method and device |
JP2006330778A (en) * | 2005-05-23 | 2006-12-07 | Ricoh Co Ltd | Data trace device and program debugging device |
-
2009
- 2009-03-05 JP JP2009051954A patent/JP5287367B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010205128A (en) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100549910B1 (en) | Flash memory access using a plurality of command cycles | |
JP5218585B2 (en) | Control device and system program | |
JP4969315B2 (en) | Programmable controller | |
EP2249222A1 (en) | Robot system, robot control device, and software updating method for robot system | |
JP5387794B2 (en) | Robot control log acquisition system | |
JP5287367B2 (en) | Robot control system | |
KR101683696B1 (en) | Robot, robot control method and robot control program | |
JP5241388B2 (en) | Log data acquisition system and programmable display | |
JP2013073344A (en) | Programmable controller, program creation support device, digital control program and program creation support program | |
JP5459601B2 (en) | Robot control system and robot control method | |
CN114083531B (en) | Working space pre-judging processing method and device, storage medium and industrial robot | |
CN113632017A (en) | Drive control device | |
JP5148021B1 (en) | Conversion device, peripheral device, and programmable controller | |
JP2001154711A (en) | Method and device for debugging process stepping type program | |
WO2019207679A1 (en) | Monitoring assistance device, programmable logic controller, monitoring assistance method, and monitoring assistance program | |
JP6693988B2 (en) | Processing program editing device | |
JP7404645B2 (en) | Programmable controller operation history recording method and sequence program | |
JP2009015751A (en) | Method for limiting writing to ladder program in run time | |
WO2021199192A1 (en) | Control device and logging method | |
JP2008257415A (en) | Controller having program write function | |
JP2005301334A (en) | Motion controller | |
JP2008293241A (en) | Display device | |
JP2009252077A (en) | Programmable display | |
JPH10268914A (en) | Programmable controller | |
JPH08286734A (en) | Programmable display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5287367 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |