JP5287367B2 - Robot control system - Google Patents

Robot control system Download PDF

Info

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
Application number
JP2009051954A
Other languages
Japanese (ja)
Other versions
JP2010205128A (en
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.)
Denso Wave Inc
Original Assignee
Denso Wave 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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2009051954A priority Critical patent/JP5287367B2/en
Publication of JP2010205128A publication Critical patent/JP2010205128A/en
Application granted granted Critical
Publication of JP5287367B2 publication Critical patent/JP5287367B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

特開2001−209558号公報JP 2001-209558 A

そこで、本発明の目的は、記憶容量の増大を招くことなく不適切な挙動に対応するログが取得され、短時間でロボット制御プログラムの正確な確認が容易なロボット制御システムを提供することにある。   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 claim 1 or 3, the execution log acquisition means is used in the robot control program while changing based on signals output from the robot, the electronic computer, and the external input / output device as the robot control program is executed. Get execution lines and variables. The execution line and the execution variable log are acquired as one cycle log each time the robot control program circulates from the log acquisition start line to the log acquisition end line. And when the acquired one-cycle log is different from the latest long-term memory one-cycle log among the long-term memory one-cycle logs in which the acquired one-cycle log is accumulated, it is determined that the acquired one-cycle log needs long-term storage and the long-term storage means Remembered. That is, when a change occurs in the execution line and variables in one cycle of the execution of the robot control program, the acquired one-cycle log is stored in the long-term storage means as a long-term storage one-cycle log, It becomes the object of comparison. The display means selectively displays the long-term storage one-period log initially stored in the long-term storage means, the one-period log currently stored in the temporary storage means, or all the long-term storage one-period logs. Therefore, even when the system is operating based on the robot control program, inappropriate behaviors associated with changes in execution lines and variables are currently stored in the first long-term memory one-cycle log displayed on the display means. It is recognized by comparing one-cycle log or all long-term memory one-cycle logs. Therefore, the operation of the robot control program can be confirmed accurately and easily in a short time.

また、請求項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 claim 2, the execution log acquisition means is used in the robot control program while changing based on signals output from the robot, the electronic computer, and the external input / output device as the robot control program is executed. Get rows and variables. The execution variable log is acquired every time the robot control program circulates from the log acquisition start line to the log acquisition end line. When the n-cycle log acquired in the n-th cycle matches the one-cycle log stored in the m-th storage area, the migration processing unit does not update the m + 1-th storage area in which the n-cycle log is stored, and updates the next time. Shifting to the acquisition of the periodic log, and when the n-period log is different from the one-period log stored in the m-th storage area, the m + 1-th storage area storing the n-period log is set as the long-term protection area. That is, in the nth cycle of the execution of the robot control program, when a change occurs in the execution line and variable with the one cycle log stored in the mth storage area, the acquired n cycle log is the n cycle log. The stored (m + 1) th storage area is protected as a long-term protection area. The (n + 1) th cycle log of the (n + 1) th cycle is stored in the (m + 2) th storage area located at the next address of the (m + 1) th storage area. The n-cycle log stored in the long-term protection area is a target for comparison with the next-cycle log after the next time. The display means selectively displays the 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 one-period logs. . For this reason, even when the system is operating based on the robot control program, improper behavior due to changes in execution lines and variables is indicated by the first long-term memory one-cycle log and the latest one-cycle log displayed on the display means. Or by comparing all the one-cycle logs of the long-term protection target. Therefore, the operation of the robot control program can be confirmed accurately and easily in a short time.

また、請求項2記載の発明では、移行処理手段は、一周期ログに含まれる対応するロボット制御プログラムの一行ごとに、取得する一周期ログと第m記憶領域で長期保護の対象となっている一周期ログとを逐次比較する。対応するロボット制御プログラムの一行ごとに長期記憶一周期ログと比較することにより、比較は短時間で実行される。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、ロボット制御プログラムの動作を正確に比較することができる。さらに、取得される一周期ログが長期保護領域に記憶されている長期記憶一周期ログと同一の場合、記憶領域に記憶された一周期ログは次回の一周期ログによって上書きされる。そのため、一周期ログが変化するごとに、長期保護領域が形成されつつ、新たな一周期ログが取得される。すなわち、最新の長期保護領域に記憶された一周期ログと重複する一周期ログが記憶された記憶領域は長期保護領域と設定されることなく、前回の周期との間で一周期ログに変化が生じたときのみ長期保護領域が設定される。したがって、記憶容量の増大を招くことなく単一の記憶手段を一時記憶のための領域および長期保護のための領域として共用しつつ、挙動の変化の変遷を追跡することができる。   In the invention according to claim 2, the migration processing means is subject to long-term protection in the acquired one-cycle log and the m-th storage area for each line of the corresponding robot control program included in the one-cycle log. Sequential comparison with one-cycle log. 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. Furthermore, when the acquired one-cycle log is the same as the long-term storage one-cycle log stored in the long-term protection area, the one-cycle log stored in the storage area is overwritten by the next one-cycle log. Therefore, every time the one-cycle log changes, a new one-cycle log is acquired while a long-term protection area is formed. That is, the storage area where the one-period log that overlaps with the one-period log stored in the latest long-term protection area is not set as the long-term protection area, and there is a change in the one-period log between the previous period. A long-term protection area is set only when it occurs. Accordingly, it is possible to track the transition of behavior change while sharing a single storage means as an area for temporary storage and an area for long-term protection without causing an increase in storage capacity.

また、請求項3記載の発明では、比較手段は、一時記憶手段に設けられている複数の一時記憶領域のいずれか一つに最新の一周期ログを記憶している間に、一時記憶領域に記憶されている最古一周期ログと長期記憶手段に記憶されている最新長期記憶一周期ログとを比較する。一時記憶手段に複数の一時記憶領域を設け、一時記憶領域に記憶された最古一周期ログと長期記憶一周期ログとを比較することにより、比較のために必要な時間は長く設定可能となる。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、制御装置のプロセッサの性能を高めることなくロボット制御プログラムの動作を正確に比較することができる。さらに、最古一周期ログが最新の長期記憶一周期ログと同一の場合、一時記憶手段に記憶された最古一周期ログは長期記憶手段に記憶されることなくクリアされる。そのため、最新の長期記憶一周期ログと重複する最古一周期ログは長期記憶手段に記憶されることなく、前回の周期との間で変化が生じた最古一周期ログのみが長期記憶一周期ログとして長期記憶手段に記憶される。したがって、長期記憶手段の記憶容量および制御装置の処理能力の増大を招くことなく、挙動の変化の変遷を追跡することができる。   In the invention according to claim 3, the comparison means stores the latest one-period log in any one of the plurality of temporary storage areas provided in the temporary storage means. The stored oldest one-cycle log is compared with the latest long-term memory one-cycle log stored in the long-term storage means. By providing a plurality of temporary storage areas in the temporary storage means and comparing the oldest one-period log stored in the temporary storage area with the long-term storage one-period log, the time required for comparison can be set longer. . Therefore, even when logs are acquired from a robot control program that circulates between the log acquisition start line and the log acquisition end line in a short time, the robot control program operations are accurately compared without improving the performance of the controller processor. can do. Further, when the oldest one-cycle log is the same as the latest long-term storage one-cycle log, the oldest one-cycle log stored in the temporary storage means is cleared without being stored in the long-term storage means. Therefore, the oldest one-cycle log that overlaps with the latest long-term memory one-cycle log is not stored in the long-term storage means, only the oldest one-cycle log that has changed from the previous cycle is the long-term memory one cycle. Stored in the long-term storage means as a log. Therefore, it is possible to track the change of the behavior change without increasing the storage capacity of the long-term storage means and the processing capacity of the control device.

本発明の第1実施形態によるロボット制御システムを示す概略図1 is a schematic diagram showing a robot control system according to a first embodiment of the present invention. 第1実施形態によるロボット制御システムを示すブロック図The block diagram which shows the robot control system by 1st Embodiment 第1実施形態によるロボット制御システムの処理の流れを示す概略図Schematic which shows the flow of a process of the robot control system by 1st Embodiment. 第1実施形態によるロボット制御プログラムの周期ごとの実行行および実行変数を示す模式図The schematic diagram which shows the execution line and execution variable for every period of the robot control program by 1st Embodiment 第1実施形態によるロボット制御プログラムと一周期ログとの関係を示す模式図The schematic diagram which shows the relationship between the robot control program and 1 period log by 1st Embodiment 第1実施形態において、一時記憶部に記憶されている現在の一周期ログ、および長期記憶領域に記憶されている長期記憶一周期ログを示す模式図Schematic diagram showing the current one-cycle log stored in the temporary storage unit and the long-term storage one-cycle log stored in the long-term storage area in the first embodiment. 第2実施形態によるロボット制御システムを示すブロック図The block diagram which shows the robot control system by 2nd Embodiment 第2実施形態によるロボット制御システムの処理の流れを示す概略図Schematic which shows the flow of a process of the robot control system by 2nd Embodiment. 第2実施形態において、一時記憶部に記憶されている現在の一周期ログ、および長期記憶領域に記憶されている長期記憶一周期ログを示す模式図Schematic diagram showing the current one-cycle log stored in the temporary storage unit and the long-term storage one-cycle log stored in the long-term storage area in the second embodiment 第3実施形態によるロボット制御システムを示すブロック図The block diagram which shows the robot control system by 3rd Embodiment 第3実施形態による記憶部の構成を示す模式図The schematic diagram which shows the structure of the memory | storage part by 3rd Embodiment.

以下、本発明の実施形態を図面に基づいて説明する。なお、複数の実施形態において実質的に同一の構成部位には同一の符号を付し、説明を省略する。
(第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 robot control system 10 includes a robot 11, a personal computer (hereinafter abbreviated as “PC”) 12 as an electronic computer, an external input / output device 13, and a control device 14. The robot 11 is a robot having an arbitrary configuration, for example, for assembling parts or for inspecting parts.

ロボット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 robot 11 is configured as a six-axis vertical articulated robot, for example. As is well known, the robot 11 has an arm 15. Each arm 15 is driven by a driving force from a servo motor 16 or the like that is an actuator. The arm 15 has an end effector 17 at the tip. For example, when parts are transported or assembled by the robot 11, a hand for holding these parts is used as the end effector 17. In addition, for example, when a part 11 is inspected by the robot 11, a camera that captures a target part is used as the end effector 17. Thus, the end effector 17 is arbitrarily selected according to the process of applying the robot 11. Between the servo motor 16 and the end effector 17 of the arm 15, a driving force transmission mechanism such as a speed reduction mechanism or a link (not shown) is provided. Thereby, the end effector 17 provided at the tip of the arm 15 is driven by the driving force from the servomotor 16. The robot 11 and the control device 14 are connected by a connection cable 18 as communication means. The communication means is not limited to a wire such as the connection cable 18 and may be wireless. By connecting the robot 11 and the control device 14 with the connection cable 18, the servo motor 16 that drives each axis of the robot 11 and the end effector 17 that performs the work are controlled by the control device 14.

パソコン12は、例えば汎用のノートパソコンなどから構成され、制御装置14と相互に通信可能に接続している。ユーザは、プログラミングソフトをパソコン12で実行することにより、アプリケーションに応じてロボット11の動作手順などを記述したロボット制御プログラムを作成可能である。この場合、ユーザは、アプリケーションに応じてパッケージ命令を組み合わせたり、修正を加えたりすることにより、比較的簡単にロボット制御プログラムを作成することができる。パソコン12は、必要に応じてロボット制御システム10の作動中に所定のデータを入力する際にも利用される。   The personal computer 12 is composed of, for example, a general-purpose notebook personal computer or the like, and is connected to the control device 14 so as to communicate with each other. The user can create a robot control program describing the operation procedure of the robot 11 according to the application by executing the programming software on the personal computer 12. In this case, the user can create a robot control program relatively easily by combining package commands or adding corrections according to the application. The personal computer 12 is also used when inputting predetermined data during operation of the robot control system 10 as necessary.

外部入出力機器13は、例えばPLC(Programmable Logic Controller)やティーチングペンダントなどが含まれる。例えばPLCやティーチングペンダントなどの外部入出力機器13と制御装置14との間では、ロボット制御システム10の作動中に外部入出力機器13から制御装置14へデータやパラメータが適宜入力されたり、制御装置14から外部入出力機器13へデータやパラメータが適宜出力される。このように、制御装置14は、ロボット制御システム10の作動中、すなわちロボット制御作動プログラムの実行中に、ロボット11、パソコン12および外部入出力機器13からデータの入力および出力が行われる。   The external input / output device 13 includes, for example, a PLC (Programmable Logic Controller) and a teaching pendant. For example, between the external input / output device 13 such as a PLC or a teaching pendant and the control device 14, data or parameters are appropriately input from the external input / output device 13 to the control device 14 during the operation of the robot control system 10. Data and parameters are appropriately output from 14 to the external input / output device 13. As described above, the control device 14 inputs and outputs data from the robot 11, the personal computer 12, and the external input / output device 13 during operation of the robot control system 10, that is, during execution of the robot control operation program.

制御装置14は、図2に示すように制御部21を有している。制御部21は、図示しないCPU、ROMおよびRAMなどからなるマイクロコンピュータを主体として構成されている。制御部21は、予め入力および記憶されたロボット制御プログラム、ロボット11、パソコン12あるいは外部入出力機器13から入力された各種データやパラメータなどの変数に基づいて、サーボ制御部22を経由してロボット11の各軸のサーボモータ16を駆動する。これにより、制御装置14は、ロボット11の動作を制御する。   The control apparatus 14 has the control part 21 as shown in FIG. The control unit 21 is mainly configured by a microcomputer including a CPU, a ROM, a RAM, and the like (not shown). The control unit 21 receives a robot control program via the servo control unit 22 based on variables such as a robot control program input and stored in advance, various data and parameters input from the robot 11, the personal computer 12, or the external input / output device 13. 11 servo motors 16 for each axis are driven. Thereby, the control device 14 controls the operation of the robot 11.

制御装置14は、上記の制御部21に加え、プログラム実行部23、実行ログ取得部24、記憶部25、比較部26、長期記憶判断部27、移行処理部28および表示部29を備えている。これらプログラム実行部23、実行ログ取得部24、比較部26、長期記憶判断部27および移行処理部28は、制御部21で実行されるコンピュータプログラムによってソフトウェア的に機能する構成でもよく、ハードウェアとして機能する構成でもよい。   In addition to the control unit 21 described above, the control device 14 includes a program execution unit 23, an execution log acquisition unit 24, a storage unit 25, a comparison unit 26, a long-term storage determination unit 27, a migration processing unit 28, and a display unit 29. . The program execution unit 23, the execution log acquisition unit 24, the comparison unit 26, the long-term storage determination unit 27, and the migration processing unit 28 may be configured to function as software by a computer program executed by the control unit 21, and as hardware It may be configured to function.

プログラム実行部23は、例えばパソコン12から入力されたスタート指示によりロボット制御プログラムを実行する。プログラム実行部23は、ロボット制御プログラムを実行することにより、ロボット11、パソコン12および外部入出力機器13から出力された信号に基づいて変数の値またはロボット制御プログラムの実行行を変更する。   The program execution unit 23 executes the robot control program according to a start instruction input from the personal computer 12, for example. The program execution unit 23 executes the robot control program, thereby changing the value of the variable or the execution line of the robot control program based on the signals output from the robot 11, the personal computer 12, and the external input / output device 13.

実行ログ取得部24は、ロボット制御プログラムに含まれるログ取得プログラムにしたがって作動する。実行ログ取得部24は、ロボット制御プログラムにおいて変化した実行行および実行変数ログを取得する。実行変数ログは、制御装置14に接続するロボット11、パソコン12および外部入出力機器13から出力された信号によって変化しつつロボット制御プログラムで使用される変数のログである。実行ログ取得部24は、これらの変化する実行行および実行変数ログを、ロボット制御プログラムの所定の範囲で一周するごと、すなわち一周期ごとに一周期ログとして取得する。ここで、一周期とは、ロボット制御プログラムにおいて予め設定されているログ取得スタート行からこのログ取得スタート行が再び実行されるまでの間、またはロボット制御プログラムにおいてログ取得スタート行から予め設定されているログ取得エンド行までのログ取得範囲を意味する。そして、一周期ログとは、上記のように設定した一周期において取得された実行行および実行変数ログを記録したログを意味する。   The execution log acquisition unit 24 operates according to a log acquisition program included in the robot control program. The execution log acquisition unit 24 acquires execution lines and execution variable logs that have changed in the robot control program. The execution variable log is a log of variables used in the robot control program while changing according to signals output from the robot 11, the personal computer 12, and the external input / output device 13 connected to the control device 14. The execution log acquisition unit 24 acquires these changed execution lines and execution variable logs as a one-cycle log every round within a predetermined range of the robot control program, that is, every cycle. Here, one cycle is a period from the log acquisition start line set in advance in the robot control program until this log acquisition start line is executed again, or from the log acquisition start line in the robot control program. It means the log acquisition range up to the log acquisition end line. The one-cycle log means a log in which execution lines and execution variable logs acquired in one cycle set as described above are recorded.

記憶部25は、一時記憶部31および長期記憶部32を有している。一時記憶部31は、制御部21のRAMと共用され、実行ログ取得部24で取得された一周期ログを一時的に記憶する。一方、長期記憶部32は、例えば不揮発性メモリやHDDなどの長期記憶可能な媒体で構成されており、一時記憶部31に記憶された一周期ログのうち長期記憶判断部27において長期記憶が必要と判断された長期記憶一周期ログを逐次蓄積しながら記憶する。なお、長期記憶部32は、例えば制御部21のRAMをバッテリなどでバックアップする構成としてもよい。   The storage unit 25 includes a temporary storage unit 31 and a long-term storage unit 32. The temporary storage unit 31 is shared with the RAM of the control unit 21 and temporarily stores the one-cycle log acquired by the execution log acquisition unit 24. On the other hand, the long-term storage unit 32 is composed of a medium capable of long-term storage such as a non-volatile memory and an HDD, and long-term storage is required in the long-term storage determination unit 27 among the one-period logs stored in the temporary storage unit 31. The long-term storage one-cycle log determined to be stored is sequentially accumulated. Note that the long-term storage unit 32 may be configured to back up the RAM of the control unit 21 with a battery or the like, for example.

比較部26は、実行ログ取得部24で一周期ログを取得するとき、一周期ログとして取得されるロボット制御プログラムの一行ごとに、取得される現在の一周期ログと長期記憶部32に記憶された長期記憶一周期ログとを逐次比較する。比較部26は、長期記憶部32に記憶されている長期記憶一周期ログのうち、最新の長期記憶一周期ログと取得される現在の一周期ログとを比較する。比較部26は、上記のように、現在の一周期ログと長期記憶一周期ログとを、現在の一周期ログに対応するロボット制御プログラムのログが一行得られるごとに、逐次最新の長期記憶一周期ログの対応するロボット制御プログラムのログの一行と比較する。長期記憶判断部27は、取得する現在の一周期ログと最新の長期記憶一周期ログとを比較部26で比較した結果、互いに異なるとき、取得する現在の一周期ログについて長期記憶が必要であると判断する。長期記憶判断部27は、長期記憶が必要であると判断すると、長期記憶フラグをオンにする。   When the execution log acquisition unit 24 acquires the one-cycle log, the comparison unit 26 is stored in the acquired current one-cycle log and the long-term storage unit 32 for each line of the robot control program acquired as the one-cycle log. The long-term memory one-cycle log is compared sequentially. The comparison unit 26 compares the latest long-term storage one-cycle log with the acquired current one-cycle log among the long-term storage one-cycle logs stored in the long-term storage unit 32. As described above, the comparison unit 26 sequentially updates the current one-period log and the long-term storage one-period log each time one line of the robot control program log corresponding to the current one-period log is obtained. Compare with a line of the corresponding robot control program log in the periodic log. The long-term memory determination unit 27 needs long-term storage for the current one-cycle log to be acquired when the comparison results in comparing the current one-cycle log to be acquired and the latest one-cycle log with the latest long-term memory. Judge. If the long-term memory determination unit 27 determines that long-term memory is necessary, the long-term memory determination unit 27 turns on the long-term memory flag.

移行処理部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 transfer processing unit 28 executes predetermined processing and shifts to the next one-cycle log acquisition. Specifically, when the log acquisition start line is re-executed or the log acquisition end line is executed, the migration processing unit 28 determines whether the long-term storage flag of the one-cycle log stored in the temporary storage unit 31 is on. Judge whether or not. If the long-term storage flag of the one-cycle log is off, the migration processing unit 28 clears the temporary storage unit 31 and deletes the one-cycle log stored in the temporary storage unit 31. On the other hand, if the long-term storage flag of the one-cycle log is on, the migration processing unit 28 writes the one-cycle log stored in the temporary storage unit 31 to the long-term storage unit 32 and is stored in the temporary storage unit 31. Clear the one-cycle log.

表示部29は、パソコン12の例えば液晶ディスプレイと共用される。表示部29は、長期記憶部32に最初に記憶された長期記憶一周期ログ、一時記憶部31に記憶されている現在の一周期ログ、または長期記憶部32に記憶されている全ての長期記憶一周期ログのいずれか一つまたは全部を選択的に表示する。   The display unit 29 is shared with, for example, a liquid crystal display of the personal computer 12. The display unit 29 is a long-term storage one-cycle log first stored in the long-term storage unit 32, a current one-cycle log stored in the temporary storage unit 31, or all long-term storages stored in the long-term storage unit 32. Any one or all of the one-cycle logs are selectively displayed.

次に、上記の構成によるロボット制御システム10の作動について、図3に示す処理の流れに基づいて説明する。
ロボット制御システム10が起動されると、制御装置14はプログラム実行部23においてロボット制御プログラムを実行する(S101)。プログラム実行部23は、パソコン12で設定されたロボット制御プログラムを実行する。ロボット制御プログラムが実行されると、実行ログ取得部24は、ロボット制御プログラムに含まれるログ取得プログラムにしたがって、実行行および実行変数ログを一周期ログとして取得する(S102)。実行ログ取得部24は、取得した一周期ログを一時記憶部31に記憶する(S103)。
Next, the operation of the robot control system 10 configured as described above will be described based on the processing flow shown in FIG.
When the robot control system 10 is activated, the control device 14 executes the robot control program in the program execution unit 23 (S101). The program execution unit 23 executes a robot control program set on the personal computer 12. When the robot control program is executed, the execution log acquisition unit 24 acquires the execution line and the execution variable log as a one-cycle log according to the log acquisition program included in the robot control program (S102). The execution log acquisition unit 24 stores the acquired one-cycle log in the temporary storage unit 31 (S103).

例えば図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 robot control program 40 is described, and the execution line changes depending on the value of the input variable (for example, “I [0] = 3”). The input variable is sequentially changed by the operation of the robot 11, the personal computer 12, or the external input / output device 13. Therefore, when executing the robot control program 40, the execution log acquisition unit 24 acquires an execution variable log that is a log of a variable that is input while changing, and an execution line that is selected along with the change in the variable. In this case, the input variable and execution line do not always change in the entire robot control program 40. Therefore, the execution log acquisition unit 24 acquires logs from the log acquisition start line 41 to the log acquisition end line 42 in the robot control program 40 as a one-cycle log. Moreover, the execution log acquisition part 24 may acquire the log after the log acquisition start line 41 as a one-cycle log whenever the preset log acquisition start line 41 is executed. Hereinafter, an example in which the execution log acquisition unit 24 acquires logs from the log acquisition start line 41 to the log acquisition end line 42 as a one-cycle log will be described.

実行ログ取得部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 log acquisition unit 24 creates a one-cycle log 43 by associating the execution line and the value of the variable in the execution line, and stores it in the temporary storage unit 31. In the example of the one-cycle log 43 illustrated in FIG. 5, the execution log acquisition unit 24 sets the variable “I [0]” in the “third line” that is the first execution line after the log acquisition start line 41 in the robot control program 40. = 3 ”is stored in the temporary storage unit 31. Then, the execution log acquisition unit 24 sequentially stores in the temporary storage unit 31 that “line 4” and “line 5” are execution lines. Further, the execution log acquisition unit 24 stores the variable “I [0] = 3” in the temporary storage unit 31 for the “sixth line” because the sixth line is also an execution line. When the variable “I [0] = 3” is input in “third line”, the seventh to twelfth lines do not correspond to the execution lines, so the execution log acquisition unit 24 stores these lines in the temporary storage unit 31. The “13th line” that is the log acquisition end line 42 is stored in the temporary storage unit 31 as an execution line without being stored. As described above, the execution log acquisition unit 24 stores the execution line and the execution variable log from the log acquisition start line 41 to the log acquisition end line 42 as the one-cycle log 43 in the temporary storage unit 31.

制御装置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-cycle log 43 is acquired and stored, the control device 14 determines in the comparison unit 26 whether or not the acquired current one-cycle log 43 is acquired in the first cycle (S104). As the robot control program 40, the same program is repeatedly executed by the operation of the robot 11. Therefore, the execution line and the execution variable change with the execution of the robot control program 40, and repeatedly change as shown in FIG. 4 according to the robot control program 40 that is repeatedly executed. As described above, the comparison unit 26 compares the latest long-term storage one-cycle log stored in the long-term storage unit 32 among the one-cycle logs 43 acquired in the past with the one-cycle log 43 currently acquired. When the acquired one-cycle log 43 is the first cycle acquisition, the long-term storage unit 32 does not store the long-term storage one-cycle log to be compared. Therefore, if the acquired current cycle log 43 is the first cycle log of the first cycle acquired by the execution of the robot control program 40 (S104: Yes), the comparison unit 26 acquires the acquired current cycle log 43. For 43, it is determined that long-term storage is necessary, and the long-term storage flag is set to “ON” (S105).

一方、比較部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 comparison unit 26 determines that the acquired current one-cycle log 43 is not the first cycle (S104: No), the acquired current one-cycle log 43 is compared with the latest long-term storage one-cycle log. (S106). If the acquired current one-cycle log 43 is not acquired in the first cycle, that is, if acquired after the second cycle, at least one long-term storage one-cycle log is already stored in the long-term storage unit 32. . Therefore, the comparison unit 26 compares the acquired current one-cycle log 43 with the latest long-term storage one-cycle log stored in the long-term storage unit 32. For example, if the acquired current one-cycle log 43 is acquired in the second cycle, the comparison unit 26 acquires the current one-cycle log 43 acquired in the second cycle and the long-term storage one-cycle log in the first cycle. Compare with the one-cycle log.

比較部26は、現在の一周期ログ43と最新の長期記憶一周期ログとが同一であるか否かを判断する(S107)。第1実施形態の場合、比較部26は、現在の一周期ログ43を構成する実行変数ログまたは実行行を取得するごとに、長期記憶一周期ログを構成する実行変数ログまたは実行行と逐次比較する。例えば図6に示す場合、長期記憶部32には、時期的に最古の長期記憶一周期ログ44から最新の長期記憶一周期ログである最新長期記憶一周期ログ45まで少なくとも一つ以上の長期記憶一周期ログが記憶されている。なお、図6の場合、長期記憶の対象となった長期記憶一周期ログ44および最新長期記憶一周期ログ45などの各長期記憶一周期ログは、実行行および実行変数ログを関連づけて記憶する例について示している。しかし、長期記憶の対象となった一周期ログは、実行行および実行変数ログだけでなく、実行の対象となったロボット制御プログラム40の全体をログとして記憶してもよい。記憶形態としていずれを採用するかは、長期記憶部32の記憶容量などに応じて任意に選択することができる。   The comparison unit 26 determines whether or not the current one-cycle log 43 and the latest long-term storage one-cycle log are the same (S107). In the case of the first embodiment, the comparison unit 26 sequentially compares with the execution variable log or execution row constituting the long-term storage one-cycle log every time the execution variable log or execution row constituting the current one-cycle log 43 is acquired. To do. For example, in the case shown in FIG. 6, the long-term storage unit 32 includes at least one long-term storage period log 44 from the oldest long-term storage period log 44 to the latest long-term storage period log 45 that is the latest long-term storage period log. A storage cycle log is stored. In the case of FIG. 6, each long-term memory one-cycle log such as the long-term memory one-cycle log 44 and the latest long-term memory one-cycle log 45 that is a target of long-term memory is stored in association with an execution row and an execution variable log. Shows about. However, the one-cycle log that has been subject to long-term storage may store not only the execution line and execution variable log, but also the entire robot control program 40 that has been subject to execution as a log. Which one is adopted as the storage form can be arbitrarily selected according to the storage capacity of the long-term storage unit 32 or the like.

図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-cycle log 43, the comparison unit 26 stores “ Compare with "3rd line". In the case illustrated in FIG. 6, the variable “I [0] = 3” acquired in the “third row” of the current one-cycle log 43 is the variable acquired in the “third row” of the latest long-term storage one-cycle log 45. Since “I [0] = 3” is the same, the comparison unit 26 continues the process. On the other hand, in the case shown in FIG. 6, the “execution line” of the current one-cycle log 43 is different from the “7th line”, which is the execution line of the latest long-term storage one-cycle log 45. Similarly, the current execution line of the one-cycle log 43 “line 6” and “line 13” are both the execution line of the latest long-term storage one-cycle log 45 “line 8”, “line 15”. Different from "eyes". In this way, the comparison unit 26 compares each execution variable log or execution row of the latest long-term storage one-cycle log 45 each time the execution variable log or execution row constituting the current one-cycle log 43 is acquired.

比較部26による比較の結果、現在の一周期ログ43が最新長期記憶一周期ログ45と同一であるとき(S107:Yes)、長期記憶判断部27は取得した現在の一周期ログ43について「長期記憶フラグ」を「オフ」にする(S108)。一方、図6に示すように現在の一周期ログ43が最新長期記憶一周期ログ45と異なるとき(S107:No)、長期記憶判断部27は取得した現在の一周期ログ43について「長期記憶フラグ」を「オン」にする(S109)。   As a result of the comparison by the comparison unit 26, when the current one-cycle log 43 is the same as the latest long-term storage one-cycle log 45 (S107: Yes), the long-term storage determination unit 27 sets “long-term” The “memory flag” is set to “off” (S108). On the other hand, as shown in FIG. 6, when the current one-cycle log 43 is different from the latest long-term storage one-cycle log 45 (S107: No), the long-term storage determination unit 27 sets the “long-term storage flag” for the acquired current one-cycle log 43. "Is turned on" (S109).

長期記憶判断部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-cycle log 43 is acquired, the long-term storage determination unit 27 sequentially compares the latest long-term storage one-cycle log 45 with the comparison unit 26 for each row. As a result of this comparison, if there is a different execution variable log or execution line between the current one-cycle log 43 and the latest long-term storage one-cycle log 45, the long-term storage flag is turned “ON”. That is, in the case shown in FIG. 6, when the current execution line of the one-cycle log 43 is “fifth line”, it is different from the “seventh line” that is the execution line of the latest long-term storage one-cycle log 45. The comparison is made by the comparison unit 26, and the long-term storage determination unit 27 sets the “long-term storage flag” to “ON”. On the other hand, if there is no change in the execution variable log or the execution line between the current one-cycle log 43 and the latest long-term storage one-cycle log 45 between the log acquisition start line 41 and the log acquisition end line 42, the comparison unit 26 Is determined, the long-term memory determination unit 27 sets the long-term memory flag to “off”.

長期記憶フラグがオンまたはオフされると、移行処理部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 migration processing unit 28 determines whether or not the long-term storage flag is “ON” (S110). If the long-term storage flag is “ON” (S110: Yes), the migration processing unit 28 writes the acquired current one-cycle log 43 stored in the temporary storage unit 31 into the long-term storage unit 32 (S111). . When the long-term storage flag is “ON”, the acquired current one-cycle log 43 needs to be used for later log analysis and the like. Therefore, if the long-term storage flag of the one-cycle log 43 stored in the temporary storage unit 31 is “ON”, the migration processing unit 28 writes the one-cycle log 43 to the long-term storage unit 32. The one-cycle log 43 written to the long-term storage unit 32 becomes the latest long-term storage one-cycle log to be compared with the one-cycle log acquired thereafter. The migration processing unit 28 also acquires the current one-cycle log 43 when the first cycle log 43 is acquired in the first cycle (S104: Yes), and the long-term storage flag is “ON” in S105. 43, that is, the one-period log 43 acquired in the first period is stored in the long-term storage unit 32.

移行処理部28は、S111において一時記憶部31の一周期ログ43を長期記憶部32へ書き込んだ後、およびS110において長期記憶フラグが「オフ」であると判断されると(S110:No)、一時記憶部31をクリアする(S112)。すなわち、移行処理部28は、一時記憶部31へ一時的に記憶された現在の一周期ログ43を消去し、次回以降に取得される一周期ログの取得に備える。なお、移行処理部28は、一時記憶部31へ一時的に記憶された現在の一周期ログ43を消去することなく、次回以降に取得される一周期ログを上書きする構成としてもよい。移行処理部28は、一時記憶部31のクリアが完了すると、次回の一周期ログの取得へ移行し(S113)、S102へリターンする。   When the transition processing unit 28 writes the one-period log 43 of the temporary storage unit 31 to the long-term storage unit 32 in S111 and when it is determined that the long-term storage flag is “off” in S110 (S110: No). The temporary storage unit 31 is cleared (S112). That is, the migration processing unit 28 deletes the current one-cycle log 43 temporarily stored in the temporary storage unit 31 and prepares for acquisition of one-cycle log acquired after the next time. Note that the migration processing unit 28 may be configured to overwrite the one-cycle log acquired after the next time without deleting the current one-cycle log 43 temporarily stored in the temporary storage unit 31. When the clear of the temporary storage unit 31 is completed, the migration processing unit 28 proceeds to acquisition of the next one-cycle log (S113), and returns to S102.

上記の手順によって取得された一周期ログ43や長期記憶一周期ログは、例えばパソコン12の液晶ディスプレイと共用される表示部29に表示される。表示部29は、長期記憶部32に最初に記憶された長期記憶一周期ログすなわち最古の長期記憶一周期ログ44、一時記憶部31に記憶されている現在の一周期ログ43、または長期記憶部32に記憶されている全ての長期記憶一周期ログなどを、いずれか一つまたは全部を選択的に表示する。   The one-cycle log 43 and the long-term storage one-cycle log acquired by the above procedure are displayed on the display unit 29 shared with the liquid crystal display of the personal computer 12, for example. The display unit 29 is a long-term storage one-cycle log first stored in the long-term storage unit 32, that is, the oldest long-term storage one-cycle log 44, the current one-cycle log 43 stored in the temporary storage unit 31, or the long-term storage. Any one or all of the long-term storage single-cycle logs stored in the unit 32 are selectively displayed.

以上説明した第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 log acquisition unit 24 changes based on signals output from the robot 11, the personal computer 12, and the external input / output device 13 as the robot control program 40 is executed. Get the execution line and variables used in 40. The execution line and the execution variable log are acquired as a one-cycle log 43 every time the robot control program 40 circulates from the log acquisition start line 41 to the log acquisition end line 42. The comparison unit 26 compares the acquired current one-cycle log 43 with the latest long-term storage one-cycle log 45 among the long-term storage one-cycle logs accumulated in the long-term storage unit 32. When the acquired current one-cycle log 43 is different from the latest long-term memory one-cycle log 45, the long-term memory determination unit 27 determines that long-term storage of the acquired current one-cycle log 43 is necessary and acquires The current one-cycle log 43 is stored in the long-term storage unit 32. That is, when a change occurs in an execution line and a variable in one cycle of execution of the robot control program 40, the acquired current one-cycle log 43 is stored in the long-term storage unit 32 as a long-term storage one-cycle log, and from the next time onward. It becomes the object of comparison with the one-cycle log to be acquired. The display unit 29 selects the oldest long-term storage one-cycle log 44 first stored in the long-term storage unit 32, the one-cycle log 43 currently stored in the temporary storage unit 31, or all long-term storage one-cycle logs Display. For this reason, even when the robot control system 10 is operating based on the robot control program 40, the oldest long-term storage one-cycle log displayed on the display unit 29 is displayed as inappropriate behavior due to changes in execution lines and variables. 44. It is recognized by comparing the currently stored one-cycle log 43 or all long-term stored one-cycle logs. Therefore, the operation of the robot control program 40 can be confirmed accurately and easily in a short time. By comparing these, it is possible to easily distinguish and recognize whether there is a bug in the robot control program 40 or a problem in the input variable.

また、第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 comparison unit 26 acquires the latest long-term memory stored in the one-cycle log 43 to be acquired and the long-term storage unit 32 for each line of the corresponding robot control program 40 included in the one-cycle log 43. The one-cycle log 45 is sequentially compared. By comparing each line of the corresponding robot control program 40, the log comparison is executed in a short time. Therefore, even when logs are acquired from the robot control program 40 that circulates between the log acquisition start line 41 and the log acquisition end line 42 in a short time, the operations of the robot control program 40 can be accurately compared. Further, when the acquired current one-cycle log 43 is the same as the latest long-term storage one-cycle log 45, the one-cycle log 43 stored in the temporary storage unit 31 is cleared without being stored in the long-term storage unit 32. . Therefore, for example, if the one-cycle log 43 acquired this time is the same as the previous cycle, the one-cycle log 43 acquired this time is cleared. That is, the one-cycle log 43 that overlaps with the latest long-term storage one-cycle log 45 is not stored in the long-term storage unit 32, and only the one-cycle log 43 that has changed between the previous cycle is the long-term storage one-cycle log. Is stored in the long-term storage unit 32. Therefore, it is possible to track the change in behavior without causing an increase in the storage capacity of the long-term storage unit 32.

なお、第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-cycle log 43 is the first cycle in S104. However, the process of S104 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 S104 is omitted, the long-term flag of the one-cycle log acquired in the first period in S106 is “ON” in S109. Therefore, even if the process of S104 is omitted, the same process as in the first embodiment can be executed.

(第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 robot control system 10 according to the second embodiment shown in FIG. 7 is the same as that of the first embodiment except for the storage unit 25 of the control device 14, only the differences will be described, and the description of the same points will be omitted. To do. In the case of the second embodiment, the storage unit 25 includes a temporary storage unit 51 and a long-term storage unit 52. The temporary storage unit 51 is shared with the RAM of the control unit 21 as in the first embodiment. The temporary storage unit 51 has a plurality of temporary storage areas 53 for temporarily storing the one-cycle log acquired by the execution log acquisition unit 24. Two or more temporary storage areas 53 are set. That is, in the case of the second embodiment, the temporary storage unit 51 includes a plurality of temporary storage areas 53. On the other hand, the long-term storage unit 52 is the same as in the first embodiment. When the execution log acquisition unit 24 acquires the one-cycle log, the execution log acquisition unit 24 temporarily stores the acquired one-cycle log in one of the temporary storage areas 53 of the temporary storage unit 51. The temporary storage unit 51 sequentially stores the one-cycle log acquired by the execution log acquisition unit 24 while allocating it to any one of the plurality of temporary storage areas 53.

比較部26は、一時記憶部51のいずれかの一時記憶領域53に記憶された一周期ログのうち記憶時期が最も古い最古一周期ログと、長期記憶部52に記憶された時期が最も新しい最新長期記憶一周期ログとを比較する。比較部26は、実行ログ取得部24で最新の一周期ログを一時記憶領域53のいずれかに記憶している間に、一時記憶領域53の他のいずれかに既に記憶されている最古一周期ログと最新長期記憶一周期ログとを比較する。すなわち、比較部26は、実行ログ取得部24で最新の一周期ログが取得されている間に、既に記憶されている最古一周期ログの全体と最新長期記憶一周期ログの全体とを比較する。   The comparison unit 26 has the oldest one-cycle log having the oldest storage time among the one-cycle logs stored in any temporary storage area 53 of the temporary storage unit 51 and the latest time stored in the long-term storage unit 52. Compare with the latest long-term memory one-cycle log. While the execution log acquisition unit 24 stores the latest one-period log in any one of the temporary storage areas 53, the comparison unit 26 stores the oldest one already stored in any other temporary storage area 53. Compare the periodic log with the latest long-term one-cycle log. That is, the comparison unit 26 compares the entire oldest one-cycle log already stored with the entire latest long-term storage one-cycle log while the latest one-cycle log is acquired by the execution log acquisition unit 24. To do.

長期記憶判断部27は、この比較部26で比較した最古一周期ログと最新長期記憶一周期ログとが互いに異なるとき、比較の対象となった最古一周期ログについて長期記憶が必要であると判断する。長期記憶判断部27は、長期記憶が必要であると判断すると、長期記憶フラグをオンにする。   The long-term memory judgment unit 27 needs long-term storage for the oldest one-cycle log to be compared when the oldest one-cycle log and the latest long-term memory one-cycle log compared by the comparison unit 26 are different from each other. Judge. If the long-term memory determination unit 27 determines that long-term memory is necessary, the long-term memory determination unit 27 turns on the long-term memory flag.

次に、上記の構成の第2実施形態によるロボット制御システム10の作動について説明する。第2実施形態によるロボット制御システム10の作動についても、その処理の流れは第1実施形態とほぼ同一であるので、図8を参照して主に相違点を説明する。
第2実施形態の場合、制御装置14は図8(A)に示す処理、および図8(B)に示す処理を並列して実行する。具体的には、制御装置14は、一周期ログを取得する図8(A)に示す処理と、取得した一周期ログを長期記憶の対象とするか否かを判断する図8(B)に示す処理とを並列して実行する。
Next, the operation of the robot control system 10 according to the second embodiment having the above-described configuration will be described. The operation flow of the robot control system 10 according to the second embodiment is almost the same as that of the first embodiment, so that the differences will be mainly described with reference to FIG.
In the case of the second embodiment, the control device 14 executes the process shown in FIG. 8A and the process shown in FIG. 8B in parallel. Specifically, the control device 14 determines whether or not the processing shown in FIG. 8A for acquiring the one-cycle log and whether or not the acquired one-cycle log is the target of long-term storage. The process shown is executed in parallel.

まず、図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 robot control system 10 is activated, the control device 14 executes the robot control program in the program execution unit 23 (S201). When the robot control program is executed, the execution log acquisition unit 24 acquires the execution line and the execution variable log as a one-cycle log according to the log acquisition program included in the robot control program 40 (S202). The execution log acquisition unit 24 stores the acquired one-cycle log in any of the temporary storage areas 53 of the temporary storage unit 51 (S203). In this case, the execution log acquisition unit 24 and the temporary storage unit 51 store the one-cycle log acquired in any of the plurality of temporary storage areas 53 that are free. When the acquired one-cycle log is stored in one of the temporary storage areas 53 of the temporary storage unit 51, the execution log acquisition unit 24 returns to S201 and repeats the acquisition of the one-cycle log. As described above, the execution log acquisition unit 24 stops the acquisition of the one-cycle log, for example, when the robot control program ends, regardless of whether or not the target is the long-term storage target illustrated in FIG. Repeat one-cycle log acquisition until

次に、図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 control device 14 reads and reads the one-cycle log stored in one of the temporary storage areas 53 of the temporary storage unit 51. It is determined whether or not the one-cycle log is subject to long-term storage. Specifically, the comparison unit 26 of the control device 14 determines in the comparison unit 26 whether or not the one-cycle log read from the temporary storage unit 51 is acquisition of the first cycle (S204). When the processes shown in FIGS. 8A and 8B are executed in parallel, when the one-period log is first acquired in FIG. 8A, the comparison unit 26 immediately acquires the one-period log. Is read from the temporary storage unit 51, and determination of this one-cycle log is started. If the acquired one-cycle log is the first-cycle log of the first cycle acquired by executing the robot control program (S204: Yes), the comparison unit 26 stores the one-cycle log stored in the temporary storage area 53 for a long time. Is determined to be necessary, and the long-term storage flag is turned on (S205).

一方、比較部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 comparison unit 26 determines that the one-period log stored in the temporary storage area 53 is not the first period (S204: No), the one-period log is stored in any temporary storage area 53 of the temporary storage section 51. Whether or not the oldest one-cycle log is stored in any of the temporary storage areas 53 is determined (S206). When the oldest one-period log is not stored in any of the temporary storage areas 53 (S206: No), there is no comparison target in the comparison unit 26, so the process returns to S204, and the processes after S204 are re-executed. . Note that the comparison unit 26 may wait until the one-cycle log is stored in any of the temporary storage areas 53 by the process shown in FIG. 8A after returning to S204. On the other hand, when the oldest one cycle log is stored in any of the temporary storage areas 53 (S206: Yes), the comparison unit 26 compares the oldest one cycle log with the latest long-term storage one cycle log (S207). .

比較部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 comparison unit 26 determines whether or not the oldest one-cycle log and the latest long-term storage one-cycle log are the same (S208). In the case of the second embodiment, the comparison unit 26 compares the entire oldest one-period log stored in any of the temporary storage areas 53 with the entire latest long-term storage one-period log. Each time a log acquisition start line of the robot control program is executed, one cycle log is sequentially stored in any one of the temporary storage areas 53 in the plurality of temporary storage areas 53 of the temporary storage unit 51. Therefore, for example, as shown in FIG. 9, the one-cycle log stored in the temporary storage unit 51 exists from the oldest to the newest in time. The long-term storage unit 52 stores at least one or more long-term storage one-cycle logs from the oldest long-term storage one-cycle log 62 to the newest latest long-term storage one-cycle log 63. The comparison unit 26 is the latest long-term storage one cycle stored in the long-term storage unit 52 for the oldest one-cycle log 61 having the oldest stored time among the plurality of one-cycle logs stored in the temporary storage unit 51. Compare with log 63. In the case illustrated in FIG. 9, the comparison unit 26 compares the oldest one-period log 61 in the temporary storage area 53 with the latest long-term storage one-period log 63 in the long-term storage unit 52 as a whole. In the case of the second embodiment, the acquired current one-cycle log 64 is temporarily stored in any temporary storage area 53 of the temporary storage unit 51. Therefore, the comparison unit 26 ensures a time margin for comparing the oldest one-period log 61 and the latest long-term storage one-period log 63 as a whole. That is, the comparison unit 26 temporarily stores the current one-cycle log 64 according to the process shown in FIG. 8B while the current one-cycle log 64 is stored in any of the temporary storage areas 53 according to the process shown in FIG. The oldest one cycle log 61 stored in any other storage area 53 is compared with the latest long-term storage one cycle log 63. As a result, the oldest one-cycle log 61 can be obtained even when the capacity of the processor such as the CPU constituting the control unit 21 is relatively low and the processing speed is low, or even when the time interval until the log acquisition start line is executed is short. Can be reliably compared with the latest long-term storage one-cycle log 63.

比較部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 comparison unit 26, when the oldest one-period log 61 in the temporary storage area 53 is the same as the latest long-term storage one-period log 63 (S208: Yes), the long-term storage determination section 27 stores in the temporary storage area 53. The “long-term storage flag” is set to “off” for the oldest one cycle log 61 (S209). On the other hand, when the oldest one-period log 61 in the temporary storage area 53 is different from the latest long-term storage one-period log 63 (S208: No), the long-term storage determination unit 27 sets “long-term The “memory flag” is set to “ON” (S210).

長期記憶判断部27は、一時記憶領域53の最古一周期ログ61の全体と長期記憶部52の最新長期記憶一周期ログ63の全体を比較した結果、異なる実行変数ログまたは実行行があれば長期記憶フラグを「オン」にする。一方、最古一周期ログ61の全体と最新長期記憶一周期ログ63の全体とが同一であると比較部26で判断されたとき、長期記憶判断部27は長期記憶フラグを「オフ」にする。   The long-term storage determination unit 27 compares the entire oldest one-period log 61 in the temporary storage area 53 with the entire latest long-term storage-period log 63 in the long-term storage unit 52. Turn on the long-term memory flag. On the other hand, when the comparison unit 26 determines that the entire oldest one-period log 61 and the latest long-term storage one-period log 63 are the same, the long-term storage determination unit 27 sets the long-term storage flag to “OFF”. .

長期記憶フラグがオンまたはオフされると、移行処理部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 migration processing unit 28 determines whether or not the long-term storage flag is “on” (S211). If the long-term storage flag is “ON” (S211: Yes), the migration processing unit 28 writes the oldest one-cycle log 61 stored in the temporary storage area 53 of the temporary storage unit 51 into the long-term storage unit 52 ( S212). The migration processing unit 28 also acquires the one-cycle log, ie, the first cycle log, even when the long-term storage flag is “ON” in S205 when the acquired one-cycle log is the first cycle acquisition (S204: Yes). The one-period log acquired in the period is stored in the long-term storage unit 52.

移行処理部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 migration processing unit 28 writes the oldest one-period log 61 of the temporary storage area 53 in the long-term storage unit 52 in S212, and if it is determined that the long-term storage flag is “off” in S211 (S211: No) ) The temporary storage area 53 in which the oldest one cycle log 61 is stored is cleared (S231). That is, the migration processing unit 28 deletes the oldest one-cycle log 61 temporarily stored in the temporary storage area 53, and prepares for the acquisition of one-cycle log acquired from the next time. When the clear of the temporary storage area 53 is completed, the migration processing unit 28 returns to S204. The control device 14 repeats the processing after S204 until the processing is stopped, for example, when the robot control program ends. Even during the execution of the above-described processing from S204 to S213 according to the processing shown in FIG. 8B, the execution log acquisition unit 24 displays each time the robot control program 40 returns to the log acquisition start line 41. In accordance with the processing shown in FIG. 8A, one-cycle log is acquired and sequentially stored in the vacant temporary storage area 53.

上記の手順によって取得された一周期ログや長期記憶一周期ログは、例えばパソコン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 display unit 29 shared with the liquid crystal display of the personal computer 12, for example. The display unit 29 is stored in the oldest long-term storage one-cycle log 62 first stored in the long-term storage unit 52, the current one-cycle log 64 stored in the temporary storage area 53, or the long-term storage unit 52. Any one or all of all the long-term memory one-cycle logs are selectively displayed.

以上説明した第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 log acquisition unit 24 changes based on signals output from the robot 11, the personal computer 12, and the external input / output device 13 as the robot control program 40 is executed. Get the execution line and variables used in 40. The execution line and the execution variable log are acquired as a one-cycle log each time the robot control program 40 circulates from the log acquisition start line 41 to the log acquisition end line 42. The comparison unit 26 compares the oldest one-period log 61 stored in the temporary storage area 53 with the latest long-term storage one-period log 63 accumulated in the long-term storage unit 52. The long-term storage determination unit 27 determines that long-term storage is necessary when the oldest one-cycle log 61 and the latest long-term storage one-cycle log 63 are different, and stores the oldest one-cycle log 61 in the long-term storage unit 52. . That is, when a change occurs in an execution line and a variable in one execution cycle of the robot control program 40, the oldest one-cycle log 61 is stored in the long-term storage unit 52 as a long-term storage one-cycle log, and one cycle after the next time It becomes the object of comparison with the log. The display unit 29 is the oldest long-term storage one-cycle log 62 first stored in the long-term storage unit 52, the one-cycle log currently stored in the temporary storage area 53, or all stored in the long-term storage unit 52. Displays a long-term memory one-cycle log selectively. Therefore, even when the robot control system 10 is operating based on the robot control program 40, an inappropriate behavior associated with a change in the execution line and the variable is recognized by comparing the display on the display unit 29. Therefore, the operation of the robot control program 40 can be confirmed accurately and easily in a short time. By comparing these, it is possible to easily distinguish and recognize whether there is a bug in the robot control program 40 or a problem in the input variable.

また、第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 comparison unit 26 temporarily stores the current one-cycle log 64 in any one of the plurality of temporary storage areas 53 provided in the temporary storage unit 51. The oldest one-cycle log 61 stored in the area 53 is compared with the latest long-term storage one-cycle log 63 stored in the long-term storage unit 52. Necessary for comparison by providing a plurality of temporary storage areas 53 in the temporary storage unit 51 and comparing the oldest one-period log 61 stored in any of the temporary storage areas 53 with the long-term storage one-period log. A long time is secured. Therefore, even when a log is acquired from the robot control program 40 that circulates between the log acquisition start line 41 and the log acquisition end line 42 in a short time, the robot control program 40 does not improve the performance of the processor of the control device 14. Operations can be compared accurately. Further, when the oldest one-cycle log 61 to be compared is the same as the latest long-term storage one-cycle log 63, the oldest one-cycle log 61 stored in the temporary storage area 53 of the temporary storage unit 51 is stored in the long-term storage unit 52. It is cleared without being done. That is, the oldest one-cycle log 61 that overlaps with the latest long-term storage one-cycle log 63 is not stored in the long-term storage unit 52, and only the oldest one-cycle log 61 that has changed from the previous cycle is the long-term. It is stored in the long-term storage unit 52 as a storage cycle log. Therefore, it is possible to track the change in behavior change without increasing the storage capacity of the long-term storage unit 52 and the processing capacity of the control device 14.

なお、第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 robot control system 10 according to the third embodiment shown in FIG. 10, the control device 14 does not have a configuration corresponding to the comparison unit 26 and the long-term memory determination unit 27 of the first embodiment. In the case of the third embodiment, the storage unit 70 has a series of a plurality of storage areas. The storage unit 70 is composed of, for example, a RAM, EPROM, or HDD backed up by a battery. A plurality of storage areas 71, 72, 73,... Of the storage unit 70 are all similar to the temporary storage areas in the first and second embodiments described above, and when the long-term protection flag is turned on, the storage areas 70, 72, 73,. Transition to a long-term protected area where the area is protected over the long term.

第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 log acquisition unit 24 according to the log acquisition program as in the first embodiment. The acquired one-cycle log is stored in order from the top of the storage unit 70 as shown in FIG. For example, in the case shown in FIG. 11, when the first cycle log of the first cycle is acquired as the first cycle log, the first cycle log is stored in the first storage area 71 set from the address “0001” of the storage unit 70. Written. This first period log needs long-term protection as a target for comparison with the one period log acquired after the second period. Therefore, the migration processing unit 28 sets the “long-term protection flag” to “on” in order to make the first storage area 71 storing the first periodic log a long-term protection area. In the case shown in FIG. 11, “third line I [0] = 3” is stored as an execution line and execution variable log at address “0001”, and addresses “0002”, “0003”, “0004”, and “0005” are stored. The execution lines “line 4”, “line 5”, “line 6”, and “line 13” are stored in order. The first storage area 71 set with these addresses “0001” to “0005” is a long-term protection area.

次に、第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 second storage area 72 located at the next address “0006” of the first storage area 71. It is. When acquiring the second period, the migration processing unit 28 stores the second period in the second storage area 72 while comparing it with the first period log stored in the first storage area 71. Similar to the first embodiment, the comparison unit 26 compares the execution row or execution variable log of the first cycle one by one with each execution row or execution variable log of the second cycle.

そして、移行処理部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 migration processing unit 28 compares the second period temporarily stored in the second storage area 72 with the first period log stored in the first storage area 71 set as the long-term protection area. When the period coincides with the first period log, the process proceeds to the acquisition of the third period log which is the one period log of the third period without updating the second storage area 72 in which the acquired second period is stored. . In this case, the migration processing unit 28 stores the third period log acquired in the third period in the second storage area 72 after the address “0006” where the second period log is stored. When storing the third periodic log in the second storage area 72, the migration processing unit 28 compares the third periodic log with the first periodic log stored in the first storage area 71 that has become the long-term protection area. Here, the update of the second storage area 72 is a configuration in which a third period log acquired after clearing the second period log stored in the second storage area 72 is written, or stored in the second storage area 72 Any configuration that overwrites the third periodic log without clearing the second periodic log may be used.

一方、移行処理部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 second storage area 72 and the first periodic log stored in the first storage area 71, the migration processing unit 28 determines that the second periodic log is the first one. When different from the periodic log, the “long-term protection flag” in which the second storage area 72 storing the second periodic log is the long-term protection area is set to “ON”, and the process proceeds to the next acquisition of the third period log. In this case, the migration processing unit 28 converts the third period log acquired in the third period from the third address after the address “000B” located at the next address of the second storage area 72 in which the second period log is stored. Store in the storage area 73. When the migration processing unit 28 stores the third periodic log in the third storage area 73, the migration processing unit 28 compares the third periodic log with the second periodic log stored in the second storage area 72 that has become the long-term protection area.

以上のような第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 storage unit 70 sets the storage area in which the subsequent one-period log is stored as the long-term protection area every time the one-period logs acquired in the preceding and following periods differ, and the address of the storage area advances. Go. Therefore, if the one-cycle logs acquired in the preceding and following cycles overlap, the subsequent one-cycle log is discarded, and if the one-cycle logs acquired in the previous and subsequent cycles are different, the subsequent one-cycle log is subject to long-term protection. And protected.

上記の手順によって取得された一周期ログは、例えばパソコン12の液晶ディスプレイと共用される表示部29に表示される。表示部29は、長期保護領域として最初に設定された記憶領域すなわち第一記憶領域71に記憶されている第1周期目に取得された第1周期ログ、記憶部70に記憶されている最新の一周期ログすなわちn周期ログ、または長期保護領域として設定された全ての記憶領域に記憶されている一周期ログのいずれか一つまたは全部を選択的に表示する。   The one-cycle log acquired by the above procedure is displayed on the display unit 29 shared with the liquid crystal display of the personal computer 12, for example. The display unit 29 is a storage area initially set as a long-term protection area, that is, the first period log acquired in the first period stored in the first storage area 71, and the latest period stored in the storage section 70. Any one or all of one-cycle logs, that is, n-cycle logs, or one-cycle logs stored in all storage areas set as long-term protection areas are selectively displayed.

第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 log acquisition unit 24 is used in the robot control program while changing based on signals output from the robot 11, the personal computer 12, and the external input / output device 13 as the robot control program is executed. Get the execution line and variable. The execution variable log is acquired every time the robot control program circulates from the log acquisition start line to the log acquisition end line. When the n-cycle log acquired in the n-th cycle matches the one-cycle log that is the target of long-term protection in the m-th storage area, the migration processing unit 28 updates the m + 1-th storage area in which the n-cycle log is stored. If the n-cycle log is different from the one-cycle log that is the target of long-term protection in the m-th storage area, the m + 1-th storage area that stores the n-cycle log is changed to the long-term protection area. And That is, when the execution line and the variable change with respect to the one-cycle log that is the target of long-term protection in the m-th storage area in the n-cycle of execution of the robot control program, the acquired n-cycle log is It is protected as a long-term protection area in the m + 1 storage area. The (n + 1) period log following the n period is stored in the (m + 2) th storage area located at the next address of the (m + 1) th storage area. The n-cycle log stored in the long-term protection area is a target for comparison with the next-cycle log after the next time. The display unit 29 selectively displays the first cycle log of the first cycle, the latest one cycle log stored in the storage unit 70, or the one cycle log stored in all storage areas. For this reason, even when the robot control system 10 is operating based on the robot control program, the inappropriate behavior associated with the change in the execution line and the variable is indicated by the first cycle log displayed on the display unit 29, the latest one cycle. It is recognized by comparing logs, or one-cycle logs that are the targets of all long-term protection. Therefore, the operation of the robot control program can be confirmed accurately and easily in a short time.

また、第3実施形態では、移行処理部28は、一周期ログに含まれる対応するロボット制御プログラムの一行ごとに、n周期目ログと第m記憶領域に記憶されている長期保護対象の一周期ログとを逐次比較する。対応するロボット制御プログラムの一行ごとに長期記憶一周期ログと比較することにより、比較は短時間で実行される。そのため、ログ取得スタート行とログ取得エンド行との間を短時間で周回するロボット制御プログラムからログを取得する場合でも、ロボット制御プログラムの動作を正確に比較することができる。さらに、取得される一周期ログが長期保護領域に記憶されている長期記憶一周期ログと同一の場合、記憶領域に記憶された一周期ログは次回の一周期ログによって上書きされる。そのため、一周期ログが変化するごとに、長期保護領域が形成されつつ、新たな一周期ログが取得される。すなわち、最新の長期保護領域に記憶された一周期ログと重複する一周期ログが記憶された記憶領域は長期保護領域と設定されることなく、前回の周期との間で一周期ログに変化が生じたときのみ長期保護領域が設定される。したがって、記憶容量の増大を招くことなく単一の記憶部70を一時記憶のための領域および長期保護のための領域として共用しつつ、挙動の変化の変遷を追跡することができる。   Further, in the third embodiment, the migration processing unit 28 performs one cycle of the long-term protection target stored in the nth cycle log and the mth storage area for each row of the corresponding robot control program included in the one cycle log. 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. Furthermore, when the acquired one-cycle log is the same as the long-term storage one-cycle log stored in the long-term protection area, the one-cycle log stored in the storage area is overwritten by the next one-cycle log. Therefore, every time the one-cycle log changes, a new one-cycle log is acquired while a long-term protection area is formed. That is, the storage area where the one-period log that overlaps with the one-period log stored in the latest long-term protection area is not set as the long-term protection area, and there is a change in the one-period log between the previous period. A long-term protection area is set only when it occurs. Therefore, it is possible to track the change in behavior while sharing the single storage unit 70 as an area for temporary storage and an area for long-term protection without causing an increase in storage capacity.

以上説明した本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。   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:
JP2009051954A 2009-03-05 2009-03-05 Robot control system Active JP5287367B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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