JPH04236604A - ロボットの制御装置 - Google Patents
ロボットの制御装置Info
- Publication number
- JPH04236604A JPH04236604A JP455891A JP455891A JPH04236604A JP H04236604 A JPH04236604 A JP H04236604A JP 455891 A JP455891 A JP 455891A JP 455891 A JP455891 A JP 455891A JP H04236604 A JPH04236604 A JP H04236604A
- Authority
- JP
- Japan
- Prior art keywords
- program
- contents
- stored
- address
- storage area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000004048 modification Effects 0.000 claims description 118
- 238000012986 modification Methods 0.000 claims description 93
- 238000000034 method Methods 0.000 claims description 65
- 238000011084 recovery Methods 0.000 claims description 42
- 238000012937 correction Methods 0.000 abstract description 32
- 230000008569 process Effects 0.000 description 49
- 238000010586 diagram Methods 0.000 description 27
- 238000012217 deletion Methods 0.000 description 20
- 230000037430 deletion Effects 0.000 description 20
- 238000003780 insertion Methods 0.000 description 14
- 230000037431 insertion Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 5
- 238000009434 installation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はロボットの制御装置に関
するものである。
するものである。
【0002】
【従来の技術】従来のロボットの制御装置においては、
記憶装置に記憶したプログラムに従って目的の作業を決
められた手順で遂行するストアードプログラム方式が一
般に採用されていた。このストアードプログラム方式は
、複雑な作業手順を必要とする作業にも対応でき、また
そのプログラムに修正を加えることにより作業手順の修
正が容易に行えるために、応用範囲が広く、広く普及し
ているが、プログラムの修正記録を記憶することは従来
行われていなかった。
記憶装置に記憶したプログラムに従って目的の作業を決
められた手順で遂行するストアードプログラム方式が一
般に採用されていた。このストアードプログラム方式は
、複雑な作業手順を必要とする作業にも対応でき、また
そのプログラムに修正を加えることにより作業手順の修
正が容易に行えるために、応用範囲が広く、広く普及し
ているが、プログラムの修正記録を記憶することは従来
行われていなかった。
【0003】
【発明が解決しようとする課題】ストアードプログラム
方式においては、複雑な作業手順を必要とする作業の場
合、作業手順の考え方自体が非常に難しく、作業手順を
安易に修正することは、動作上の不具合につながり易い
。そしてそういう複雑な作業においては、プログラム修
正による動作上の不具合が修正後すぐに現れない場合も
多く、日数が経ってから元のプログラムに戻そうとする
場合が多い。また、作業に必要な時間を短縮しようとし
て作業手順やプログラムの修正を繰り返した末に、最初
のまたは途中の作業手順やプログラムが最も良いことが
判り、そのプログラムに戻したい場合も多い。ところが
、従来のロボットの制御装置では、プログラムの修正を
行うと、内部に記憶されているプログラムは修正の痕跡
を残さずに完全に書き直される。そのため、プログラム
を元に戻そうとする場合には、再度プログラムを作り直
さなければならない。戻そうとするプログラムのリスト
があるならばプログラム装置を用いてプログラムを修正
するだけでよいが、その場合でも修正箇所が多ければ必
要とする労力は大変なものであり、入力間違いも多い。 ましてリストを取っていなければ、新規に作成を行う場
合と変わらず、プログラムを考え、入力し、プログラム
ミスの修正を行うために必要な労力は大変なものである
。
方式においては、複雑な作業手順を必要とする作業の場
合、作業手順の考え方自体が非常に難しく、作業手順を
安易に修正することは、動作上の不具合につながり易い
。そしてそういう複雑な作業においては、プログラム修
正による動作上の不具合が修正後すぐに現れない場合も
多く、日数が経ってから元のプログラムに戻そうとする
場合が多い。また、作業に必要な時間を短縮しようとし
て作業手順やプログラムの修正を繰り返した末に、最初
のまたは途中の作業手順やプログラムが最も良いことが
判り、そのプログラムに戻したい場合も多い。ところが
、従来のロボットの制御装置では、プログラムの修正を
行うと、内部に記憶されているプログラムは修正の痕跡
を残さずに完全に書き直される。そのため、プログラム
を元に戻そうとする場合には、再度プログラムを作り直
さなければならない。戻そうとするプログラムのリスト
があるならばプログラム装置を用いてプログラムを修正
するだけでよいが、その場合でも修正箇所が多ければ必
要とする労力は大変なものであり、入力間違いも多い。 ましてリストを取っていなければ、新規に作成を行う場
合と変わらず、プログラムを考え、入力し、プログラム
ミスの修正を行うために必要な労力は大変なものである
。
【0004】本発明はかかる事情に鑑みて成されたもの
であり、プログラムを容易に修正できるロボットの制御
装置を提供することを目的とする。
であり、プログラムを容易に修正できるロボットの制御
装置を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は、記憶装置に記
憶したプログラムに従って目的の作業を決められた手順
で遂行するストアードプログラム方式のロボットの制御
装置において、前記記憶装置に、前記プログラムを修正
する毎にプログラムのどの箇所が修正されたかの記録を
プログラムの修正記録として記憶させる構成としたこと
を特徴としている。
憶したプログラムに従って目的の作業を決められた手順
で遂行するストアードプログラム方式のロボットの制御
装置において、前記記憶装置に、前記プログラムを修正
する毎にプログラムのどの箇所が修正されたかの記録を
プログラムの修正記録として記憶させる構成としたこと
を特徴としている。
【0006】
【作用】プログラムを修正する毎に、プログラムのどの
箇所が修正されたかの記録が、プログラムの修正記録と
して記憶装置に記憶される。
箇所が修正されたかの記録が、プログラムの修正記録と
して記憶装置に記憶される。
【0007】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。 (実施例1)図2は本発明の一実施例におけるロボット
の制御装置の構成図で、図外の電動機等を駆動すること
によりロボットを制御するCPU1には、電源バックア
ップされたRAM等からなりプログラム等を記憶する記
憶装置2や、日付を判断するための時計手段3や、CP
U1に信号を入出力するためのI/Oインターフェイス
4が接続されており、これらCPU1と記憶装置2と時
計手段3とI/Oインターフェイス4とにより制御装置
5が構成されている。I/Oインターフェイス4には、
プログラムの作成や修正等を行うためのプログラム装置
6や、プリンタ7や、外部記憶装置8等が接続されてい
る。
説明する。 (実施例1)図2は本発明の一実施例におけるロボット
の制御装置の構成図で、図外の電動機等を駆動すること
によりロボットを制御するCPU1には、電源バックア
ップされたRAM等からなりプログラム等を記憶する記
憶装置2や、日付を判断するための時計手段3や、CP
U1に信号を入出力するためのI/Oインターフェイス
4が接続されており、これらCPU1と記憶装置2と時
計手段3とI/Oインターフェイス4とにより制御装置
5が構成されている。I/Oインターフェイス4には、
プログラムの作成や修正等を行うためのプログラム装置
6や、プリンタ7や、外部記憶装置8等が接続されてい
る。
【0008】記憶装置2には、図1のように、プログラ
ムカウンタ11やステップカウンタ12やステップ番号
レジスタ13や修正バイト数レジスタ14や修正回数レ
ジスタ15や復旧対象レジスタ16や復旧対象日付レジ
スタ17や命令記憶レジスタ18やコメントレジスタ1
9やコメント長レジスタ20や記号データレジスタ21
やプログラムアドレスレジスタ24や箇所記録アドレス
レジスタ25や内容記録アドレスレジスタ26や現在ア
ドレスレジスタ27や終了アドレスレジスタ28や復旧
アドレスレジスタ29や復旧記録アドレスレジスタ30
や復旧内容アドレスレジスタ31やプログラム記憶領域
34や修正箇所記憶領域35や修正内容記憶領域36が
設けられている。プログラム記憶領域34は、アドレス
Apから始まるNpバイトのメモリ領域で、修正箇所記
憶領域35は、アドレスAcから始まるNcバイトのメ
モリ領域である。修正内容記憶領域36は、アドレスA
mから始まるNmバイトのメモリ領域で、命令記憶レジ
スタ18はNsバイトのメモリ領域である。コメントレ
ジスタ19はNmバイトのメモリ領域で、復旧対象日付
レジスタ17は4バイトのメモリ領域である。その他の
カウンタやレジスタは各々2バイトのメモリ領域である
。
ムカウンタ11やステップカウンタ12やステップ番号
レジスタ13や修正バイト数レジスタ14や修正回数レ
ジスタ15や復旧対象レジスタ16や復旧対象日付レジ
スタ17や命令記憶レジスタ18やコメントレジスタ1
9やコメント長レジスタ20や記号データレジスタ21
やプログラムアドレスレジスタ24や箇所記録アドレス
レジスタ25や内容記録アドレスレジスタ26や現在ア
ドレスレジスタ27や終了アドレスレジスタ28や復旧
アドレスレジスタ29や復旧記録アドレスレジスタ30
や復旧内容アドレスレジスタ31やプログラム記憶領域
34や修正箇所記憶領域35や修正内容記憶領域36が
設けられている。プログラム記憶領域34は、アドレス
Apから始まるNpバイトのメモリ領域で、修正箇所記
憶領域35は、アドレスAcから始まるNcバイトのメ
モリ領域である。修正内容記憶領域36は、アドレスA
mから始まるNmバイトのメモリ領域で、命令記憶レジ
スタ18はNsバイトのメモリ領域である。コメントレ
ジスタ19はNmバイトのメモリ領域で、復旧対象日付
レジスタ17は4バイトのメモリ領域である。その他の
カウンタやレジスタは各々2バイトのメモリ領域である
。
【0009】ロボットを制御するためのプログラムは、
ロボット用のプログラム言語の命令と、その命令に付属
するデータとからなるプログラムステップから構成され
ており、またその命令およびデータはソース言語表記か
ら中間言語表記に変換されて制御装置内に記憶されてい
る。その中間言語表記の命令およびデータは2バイトを
最小単位とする。また、各命令はその命令に付属するデ
ータを含めて何バイトから構成されているかの情報も記
憶しており、それらの情報を利用して、プログラムをプ
ログラム記憶領域34の先頭から順次検索していくこと
によりプログラムステップ番号に対応したプログラムス
テップを見つけ出すことができる。
ロボット用のプログラム言語の命令と、その命令に付属
するデータとからなるプログラムステップから構成され
ており、またその命令およびデータはソース言語表記か
ら中間言語表記に変換されて制御装置内に記憶されてい
る。その中間言語表記の命令およびデータは2バイトを
最小単位とする。また、各命令はその命令に付属するデ
ータを含めて何バイトから構成されているかの情報も記
憶しており、それらの情報を利用して、プログラムをプ
ログラム記憶領域34の先頭から順次検索していくこと
によりプログラムステップ番号に対応したプログラムス
テップを見つけ出すことができる。
【0010】次に動作を説明する。電源が投入されると
、CPU1は、図3のフローチャートのように、先ずス
テップ1で実行指令が入力されているか否かを判断し、
入力されていればステップ2に進んで実行モードの動作
を行なった後、ステップ1に戻る。ステップ1において
実行指令が入力されていなければステップ3に進んで、
プログラム読み込み指令が入力されているか否かを判断
し、入力されていればステップ4に進んでプログラム読
み込みモードの動作を行なった後、ステップ1に戻る。 ステップ3においてプログラム読み込み指令が入力され
ていなければステップ5に進んで、修正指令が入力され
ているか否かを判断し、入力されていればステップ6に
進んでプログラム修正モードの動作を行なった後、ステ
ップ1に戻る。ステップ5において修正指令が入力され
ていないと判断すればステップ7に進んで、復旧指令が
入力されているか否かを判断し、入力されていればステ
ップ8に進んでプログラム復旧モードの動作を行なった
後、ステップ1に戻る。ステップ7において復旧指令が
入力されていないと判断すればステップ1に戻る。
、CPU1は、図3のフローチャートのように、先ずス
テップ1で実行指令が入力されているか否かを判断し、
入力されていればステップ2に進んで実行モードの動作
を行なった後、ステップ1に戻る。ステップ1において
実行指令が入力されていなければステップ3に進んで、
プログラム読み込み指令が入力されているか否かを判断
し、入力されていればステップ4に進んでプログラム読
み込みモードの動作を行なった後、ステップ1に戻る。 ステップ3においてプログラム読み込み指令が入力され
ていなければステップ5に進んで、修正指令が入力され
ているか否かを判断し、入力されていればステップ6に
進んでプログラム修正モードの動作を行なった後、ステ
ップ1に戻る。ステップ5において修正指令が入力され
ていないと判断すればステップ7に進んで、復旧指令が
入力されているか否かを判断し、入力されていればステ
ップ8に進んでプログラム復旧モードの動作を行なった
後、ステップ1に戻る。ステップ7において復旧指令が
入力されていないと判断すればステップ1に戻る。
【0011】プログラムの実行モード時には、CPU1
は先ずプログラムカウンタ11にプログラム記憶領域3
4の先頭アドレスであるApを格納する。次に、プログ
ラムカウンタ11の内容を読み出してその値をアドレス
とするプログラム記憶領域34のメモリから命令とその
命令に付属するデータ、および命令とデータとを含めた
ステップバイト数を読み込み、プログラムカウンタ11
の内容にステップバイト数を加え、読み出した命令を実
行するという動作を繰り返す。
は先ずプログラムカウンタ11にプログラム記憶領域3
4の先頭アドレスであるApを格納する。次に、プログ
ラムカウンタ11の内容を読み出してその値をアドレス
とするプログラム記憶領域34のメモリから命令とその
命令に付属するデータ、および命令とデータとを含めた
ステップバイト数を読み込み、プログラムカウンタ11
の内容にステップバイト数を加え、読み出した命令を実
行するという動作を繰り返す。
【0012】このときのCPU1の動作を、図4のフロ
ーチャートを参照しながら説明する。先ずステップ1で
、プログラムカウンタ11にApを格納する。次にステ
ップ2に進んで、プログラムカウンタ11の内容を読み
込み、その値をアドレスとするプログラム記憶領域34
のメモリから2バイトの命令を読み出し、プログラムカ
ウンタ11の内容に2を加える。次にステップ3に進ん
で、ステップ2で読み出した命令の総バイト数を解読す
る。次にステップ4に進んで、プログラムカウンタ11
の内容をアドレスとするプログラム記憶領域34のメモ
リから、ステップ3で解読した総バイト数から2を減じ
たバイト数のデータを読み込み、プログラムカウンタ1
1の内容をそのバイト数だけ進める。次にステップ5に
進んで、ステップ4で読み込んだ命令がEND命令であ
るか否かを判断し、END命令でなければステップ6に
進んで、ステップ4で読み込んだ命令が分岐命令である
か否かを判断し、分岐命令でなければステップ7に進ん
で、ステップ4で読み込んだ命令を実行した後、ステッ
プ2に戻る。ステップ6においてステップ4で読み込ん
だ命令が分岐命令であると判断すればステップ8に進ん
で、分岐処理を実行した後、ステップ2に戻る。ステッ
プ5においてステップ4で読み込んだ命令がEND命令
であると判断すれば、このルーチンを終了する。
ーチャートを参照しながら説明する。先ずステップ1で
、プログラムカウンタ11にApを格納する。次にステ
ップ2に進んで、プログラムカウンタ11の内容を読み
込み、その値をアドレスとするプログラム記憶領域34
のメモリから2バイトの命令を読み出し、プログラムカ
ウンタ11の内容に2を加える。次にステップ3に進ん
で、ステップ2で読み出した命令の総バイト数を解読す
る。次にステップ4に進んで、プログラムカウンタ11
の内容をアドレスとするプログラム記憶領域34のメモ
リから、ステップ3で解読した総バイト数から2を減じ
たバイト数のデータを読み込み、プログラムカウンタ1
1の内容をそのバイト数だけ進める。次にステップ5に
進んで、ステップ4で読み込んだ命令がEND命令であ
るか否かを判断し、END命令でなければステップ6に
進んで、ステップ4で読み込んだ命令が分岐命令である
か否かを判断し、分岐命令でなければステップ7に進ん
で、ステップ4で読み込んだ命令を実行した後、ステッ
プ2に戻る。ステップ6においてステップ4で読み込ん
だ命令が分岐命令であると判断すればステップ8に進ん
で、分岐処理を実行した後、ステップ2に戻る。ステッ
プ5においてステップ4で読み込んだ命令がEND命令
であると判断すれば、このルーチンを終了する。
【0013】プログラム読み込みモード時には、CPU
1は、図5のフローチャートのように、先ずステップ1
でプログラムカウンタ11にプログラム記憶領域34の
先頭アドレスであるApを格納する。次にステップ2に
進んで、プログラム装置6より命令を受信する。次にス
テップ3に進んで、プログラムカウンタ11の内容をア
ドレスとするプログラム記憶領域34のメモリにステッ
プ2で受信した命令およびデータを順次格納し、同時に
プログラムカウンタ11の内容を増加させていく。次に
ステップ4に進んで、ステップ2で受信した命令がEN
D命令であるか否かを判断し、END命令でなければス
テップ2に戻る。ステップ4においてステップ2で受信
した命令がEND命令であると判断すれば、このルーチ
ンを終了する。
1は、図5のフローチャートのように、先ずステップ1
でプログラムカウンタ11にプログラム記憶領域34の
先頭アドレスであるApを格納する。次にステップ2に
進んで、プログラム装置6より命令を受信する。次にス
テップ3に進んで、プログラムカウンタ11の内容をア
ドレスとするプログラム記憶領域34のメモリにステッ
プ2で受信した命令およびデータを順次格納し、同時に
プログラムカウンタ11の内容を増加させていく。次に
ステップ4に進んで、ステップ2で受信した命令がEN
D命令であるか否かを判断し、END命令でなければス
テップ2に戻る。ステップ4においてステップ2で受信
した命令がEND命令であると判断すれば、このルーチ
ンを終了する。
【0014】プログラム装置6よりCPU1にプログラ
ム修正モード開始コマンドが送られると、CPU1はプ
ログラム修正モードに入り、修正回数レジスタ15の内
容に1を加え、箇所記録アドレスレジスタ25の内容を
読み出して、その値に修正箇所記憶領域35の先頭アド
レスであるAcを加えた値を現在アドレスレジスタ27
に格納する。さらに、現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリに修正
回数レジスタ15の内容を2バイトのデータとして書き
込み、現在アドレスレジスタ27の内容をアドレスとす
る修正箇所記憶領域35のメモリに年月日のデータを4
バイトデータとして書き込み、現在アドレスレジスタ2
7および箇所記録アドレスレジスタ25の内容に4を加
え、さらに責任者名および説明文の格納処理を行った後
、プログラム修正用のコマンド待ち状態になる。
ム修正モード開始コマンドが送られると、CPU1はプ
ログラム修正モードに入り、修正回数レジスタ15の内
容に1を加え、箇所記録アドレスレジスタ25の内容を
読み出して、その値に修正箇所記憶領域35の先頭アド
レスであるAcを加えた値を現在アドレスレジスタ27
に格納する。さらに、現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリに修正
回数レジスタ15の内容を2バイトのデータとして書き
込み、現在アドレスレジスタ27の内容をアドレスとす
る修正箇所記憶領域35のメモリに年月日のデータを4
バイトデータとして書き込み、現在アドレスレジスタ2
7および箇所記録アドレスレジスタ25の内容に4を加
え、さらに責任者名および説明文の格納処理を行った後
、プログラム修正用のコマンド待ち状態になる。
【0015】プログラム装置6よりステップ指定コマン
ドが送られると、CPU1は続いて送られてくるステッ
プ番号をステップ番号レジスタ13に格納する。次にC
PU1は、プログラム記憶領域34の先頭からステップ
数を数え、ステップ番号レジスタ13の内容に対応した
プログラムステップを見つけ出し、そのアドレスをプロ
グラムアドレスレジスタ24に格納する。
ドが送られると、CPU1は続いて送られてくるステッ
プ番号をステップ番号レジスタ13に格納する。次にC
PU1は、プログラム記憶領域34の先頭からステップ
数を数え、ステップ番号レジスタ13の内容に対応した
プログラムステップを見つけ出し、そのアドレスをプロ
グラムアドレスレジスタ24に格納する。
【0016】プログラム装置6よりプログラムステップ
削除コマンドが送られると、CPU1は、プログラムア
ドレスレジスタ24の内容を読み出し、その値をアドレ
スとするプログラム記憶領域34のメモリからプログラ
ムをたどり、現在のプログラムステップがメモリ上で何
バイトを占めているかを数え、修正バイト数レジスタ1
4に格納する。次に現在アドレスレジスタ27の内容を
アドレスとする修正箇所記憶領域35のメモリに、削除
記号を格納し、続く2バイトにステップ番号レジスタ1
3の内容を格納し、続く2バイトにその時の内容記録ア
ドレスレジスタ26の内容を格納し、さらに現在アドレ
スレジスタ27および箇所記録アドレスレジスタ25の
内容に6を加える。次に、内容記録アドレスレジスタ2
6の内容を読み出し、その値に修正内容記憶領域36の
先頭アドレスであるAmを加えた値をアドレスとする修
正内容記憶領域36のメモリに修正バイト数レジスタ1
4の内容を格納し、さらにその続きのメモリに、プログ
ラムアドレスレジスタ24の内容をアドレスとするプロ
グラム記憶領域34のメモリから修正バイト数レジスタ
の内容に等しいバイト数分のメモリ内容を転送する。そ
して、内容記録アドレスレジスタ26の内容に修正バイ
ト数レジスタ14の内容を加えてさらに2を加える。さ
らに、プログラムアドレスレジスタ24の内容をアドレ
スとするプログラム記憶領域34のメモリから、修正バ
イト数レジスタ14の内容のバイト数だけメモリ内容を
削除する。即ち、プログラムアドレスレジスタ24の内
容に修正バイト数レジスタ14の内容を加えた値をアド
レスとするプログラム記憶領域34のメモリ以降のメモ
リに記憶されているプログラムを修正バイト数レジスタ
14の内容に相当する分だけ前にずらす。
削除コマンドが送られると、CPU1は、プログラムア
ドレスレジスタ24の内容を読み出し、その値をアドレ
スとするプログラム記憶領域34のメモリからプログラ
ムをたどり、現在のプログラムステップがメモリ上で何
バイトを占めているかを数え、修正バイト数レジスタ1
4に格納する。次に現在アドレスレジスタ27の内容を
アドレスとする修正箇所記憶領域35のメモリに、削除
記号を格納し、続く2バイトにステップ番号レジスタ1
3の内容を格納し、続く2バイトにその時の内容記録ア
ドレスレジスタ26の内容を格納し、さらに現在アドレ
スレジスタ27および箇所記録アドレスレジスタ25の
内容に6を加える。次に、内容記録アドレスレジスタ2
6の内容を読み出し、その値に修正内容記憶領域36の
先頭アドレスであるAmを加えた値をアドレスとする修
正内容記憶領域36のメモリに修正バイト数レジスタ1
4の内容を格納し、さらにその続きのメモリに、プログ
ラムアドレスレジスタ24の内容をアドレスとするプロ
グラム記憶領域34のメモリから修正バイト数レジスタ
の内容に等しいバイト数分のメモリ内容を転送する。そ
して、内容記録アドレスレジスタ26の内容に修正バイ
ト数レジスタ14の内容を加えてさらに2を加える。さ
らに、プログラムアドレスレジスタ24の内容をアドレ
スとするプログラム記憶領域34のメモリから、修正バ
イト数レジスタ14の内容のバイト数だけメモリ内容を
削除する。即ち、プログラムアドレスレジスタ24の内
容に修正バイト数レジスタ14の内容を加えた値をアド
レスとするプログラム記憶領域34のメモリ以降のメモ
リに記憶されているプログラムを修正バイト数レジスタ
14の内容に相当する分だけ前にずらす。
【0017】プログラム装置6よりプログラムステップ
追加コマンドが送られると、CPU1は、続いて送られ
てくる命令とそれに付属したデータとを命令記憶レジス
タ18に格納し、そのバイト数を修正バイト数レジスタ
14に格納する。次にCPU1は、プログラムアドレス
レジスタ24の内容をアドレスとするプログラム記憶領
域34のメモリに記憶されているプログラムを修正バイ
ト数レジスタ14の内容に相当するバイト数分だけ後ろ
にずらす。次に空いたメモリに命令記憶レジスタ18の
内容を格納する。次に現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリに、追
加記号を格納し、続く2バイトにステップ番号レジスタ
13の内容を格納し、続く2バイトにその時の内容記録
アドレスレジスタ26の内容を格納し、さらに現在アド
レスレジスタ27および箇所記録アドレスレジスタ25
の内容に6を加える。次に、内容記録アドレスレジスタ
26の内容を読み出し、その値に修正内容記憶領域36
の先頭アドレスであるAmを加えた値をアドレスとする
修正内容記憶領域36のメモリに修正バイト数レジスタ
14の内容を格納し、さらにその続きのメモリに命令記
憶レジスタ18の内容を格納する。そして、内容記録ア
ドレスレジスタ26の内容に修正バイト数レジスタ14
の内容を加え、さらに2を加える。
追加コマンドが送られると、CPU1は、続いて送られ
てくる命令とそれに付属したデータとを命令記憶レジス
タ18に格納し、そのバイト数を修正バイト数レジスタ
14に格納する。次にCPU1は、プログラムアドレス
レジスタ24の内容をアドレスとするプログラム記憶領
域34のメモリに記憶されているプログラムを修正バイ
ト数レジスタ14の内容に相当するバイト数分だけ後ろ
にずらす。次に空いたメモリに命令記憶レジスタ18の
内容を格納する。次に現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリに、追
加記号を格納し、続く2バイトにステップ番号レジスタ
13の内容を格納し、続く2バイトにその時の内容記録
アドレスレジスタ26の内容を格納し、さらに現在アド
レスレジスタ27および箇所記録アドレスレジスタ25
の内容に6を加える。次に、内容記録アドレスレジスタ
26の内容を読み出し、その値に修正内容記憶領域36
の先頭アドレスであるAmを加えた値をアドレスとする
修正内容記憶領域36のメモリに修正バイト数レジスタ
14の内容を格納し、さらにその続きのメモリに命令記
憶レジスタ18の内容を格納する。そして、内容記録ア
ドレスレジスタ26の内容に修正バイト数レジスタ14
の内容を加え、さらに2を加える。
【0018】プログラム装置6よりプログラム修正モー
ド終了コマンドが送られると、CPU1は、現在アドレ
スレジスタ27の内容をアドレスとする修正箇所記憶領
域35のメモリに、2バイトの上位バイトの最上位ビッ
トが1である終了記号を格納し、さらに現在アドレスレ
ジスタ27および箇所記録アドレスレジスタ25の内容
に6を加える。
ド終了コマンドが送られると、CPU1は、現在アドレ
スレジスタ27の内容をアドレスとする修正箇所記憶領
域35のメモリに、2バイトの上位バイトの最上位ビッ
トが1である終了記号を格納し、さらに現在アドレスレ
ジスタ27および箇所記録アドレスレジスタ25の内容
に6を加える。
【0019】このときのCPU1の動作を、図6、図7
のフローチャートを参照しながら説明する。先ずステッ
プ1で、修正回数レジスタ15の内容に1を加える。次
にステップ2に進んで、箇所記録アドレスレジスタ25
の内容に修正箇所記憶領域35の先頭アドレスであるA
cを加えた値を現在アドレスレジスタ27に格納する。 次にステップ3に進んで、現在アドレスレジスタ27の
内容をアドレスとする修正箇所記憶領域35のメモリに
、修正回数レジスタ15の内容を2バイトデータとして
書き込む。次にステップ4に進んで、現在アドレスレジ
スタ27の内容に2を加え、箇所記録アドレスレジスタ
25の内容に2を加える。次にステップ5に進んで、現
在アドレスレジスタ27の内容をアドレスとする修正箇
所記憶領域35のメモリに年月日のデータを4バイトデ
ータとして書き込む。次にステップ6に進んで、現在ア
ドレスレジスタ27の内容に4を加え、箇所記録アドレ
スレジスタ25の内容に4を加える。次にステップ7に
進んで、プログラム装置6より責任者名を受信する。 次にステップ8に進んで、責任者名をコメントレジスタ
19に格納し、責任者名のバイト数をコメント長レジス
タ20に格納する。次にステップ9に進んで、現在アド
レスレジスタ27の内容をアドレスとする修正箇所記憶
領域35のメモリにコメント長レジスタ20の内容を2
バイトデータとして書き込む。次にステップ10に進ん
で、現在アドレスレジスタ27の内容に2を加え、箇所
記録アドレスレジスタ25の内容に2を加える。次にス
テップ11に進んで、現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリから順
にコメントレジスタ19の内容を書き込む。次にステッ
プ12に進んで、現在アドレスレジスタ27の内容にコ
メント長レジスタ20の内容を加え、箇所記録アドレス
レジスタ25の内容にコメント長レジスタ20の内容を
加える。次にステップ13に進んで、プログラム装置6
より修正コマンドを受信する。次にステップ14に進ん
で、ステップ13で受信した修正コマンドがステップ指
定コマンドであるか否かを判断し、ステップ指定コマン
ドであればステップ15に進んで、ステップ設定動作を
行った後、ステップ13に戻る。ステップ14において
ステップ13で受信した修正コマンドがステップ指定コ
マンドでないと判断すればステップ16に進んで、ステ
ップ13で受信した修正コマンドが削除コマンドである
か否かを判断し、削除コマンドであればステップ17に
進んで、削除動作を行った後、ステップ13に戻る。ス
テップ16においてステップ13で受信した修正コマン
ドが削除コマンドでないと判断すればステップ18に進
んで、ステップ13で受信した修正コマンドが挿入コマ
ンドであるか否かを判断し、挿入コマンドであればステ
ップ19に進んで、挿入動作を行った後、ステップ13
に戻る。ステップ18においてステップ13で受信した
修正コマンドが挿入コマンドでないと判断すればステッ
プ20に進んで、ステップ13で受信した修正コマンド
が終了コマンドであるか否かを判断し、終了コマンドで
なければステップ13に戻る。ステップ20においてス
テップ13で受信した修正コマンドが終了コマンドであ
ると判断すればステップ21に進んで、現在アドレスレ
ジスタ27の内容をアドレスとする修正箇所記憶領域3
5のメモリに終了記号を2バイトデータとして書き込む
。次にステップ22に進んで、箇所記録アドレスレジス
タ25の内容に2を加えて、このステップを終了する。
のフローチャートを参照しながら説明する。先ずステッ
プ1で、修正回数レジスタ15の内容に1を加える。次
にステップ2に進んで、箇所記録アドレスレジスタ25
の内容に修正箇所記憶領域35の先頭アドレスであるA
cを加えた値を現在アドレスレジスタ27に格納する。 次にステップ3に進んで、現在アドレスレジスタ27の
内容をアドレスとする修正箇所記憶領域35のメモリに
、修正回数レジスタ15の内容を2バイトデータとして
書き込む。次にステップ4に進んで、現在アドレスレジ
スタ27の内容に2を加え、箇所記録アドレスレジスタ
25の内容に2を加える。次にステップ5に進んで、現
在アドレスレジスタ27の内容をアドレスとする修正箇
所記憶領域35のメモリに年月日のデータを4バイトデ
ータとして書き込む。次にステップ6に進んで、現在ア
ドレスレジスタ27の内容に4を加え、箇所記録アドレ
スレジスタ25の内容に4を加える。次にステップ7に
進んで、プログラム装置6より責任者名を受信する。 次にステップ8に進んで、責任者名をコメントレジスタ
19に格納し、責任者名のバイト数をコメント長レジス
タ20に格納する。次にステップ9に進んで、現在アド
レスレジスタ27の内容をアドレスとする修正箇所記憶
領域35のメモリにコメント長レジスタ20の内容を2
バイトデータとして書き込む。次にステップ10に進ん
で、現在アドレスレジスタ27の内容に2を加え、箇所
記録アドレスレジスタ25の内容に2を加える。次にス
テップ11に進んで、現在アドレスレジスタ27の内容
をアドレスとする修正箇所記憶領域35のメモリから順
にコメントレジスタ19の内容を書き込む。次にステッ
プ12に進んで、現在アドレスレジスタ27の内容にコ
メント長レジスタ20の内容を加え、箇所記録アドレス
レジスタ25の内容にコメント長レジスタ20の内容を
加える。次にステップ13に進んで、プログラム装置6
より修正コマンドを受信する。次にステップ14に進ん
で、ステップ13で受信した修正コマンドがステップ指
定コマンドであるか否かを判断し、ステップ指定コマン
ドであればステップ15に進んで、ステップ設定動作を
行った後、ステップ13に戻る。ステップ14において
ステップ13で受信した修正コマンドがステップ指定コ
マンドでないと判断すればステップ16に進んで、ステ
ップ13で受信した修正コマンドが削除コマンドである
か否かを判断し、削除コマンドであればステップ17に
進んで、削除動作を行った後、ステップ13に戻る。ス
テップ16においてステップ13で受信した修正コマン
ドが削除コマンドでないと判断すればステップ18に進
んで、ステップ13で受信した修正コマンドが挿入コマ
ンドであるか否かを判断し、挿入コマンドであればステ
ップ19に進んで、挿入動作を行った後、ステップ13
に戻る。ステップ18においてステップ13で受信した
修正コマンドが挿入コマンドでないと判断すればステッ
プ20に進んで、ステップ13で受信した修正コマンド
が終了コマンドであるか否かを判断し、終了コマンドで
なければステップ13に戻る。ステップ20においてス
テップ13で受信した修正コマンドが終了コマンドであ
ると判断すればステップ21に進んで、現在アドレスレ
ジスタ27の内容をアドレスとする修正箇所記憶領域3
5のメモリに終了記号を2バイトデータとして書き込む
。次にステップ22に進んで、箇所記録アドレスレジス
タ25の内容に2を加えて、このステップを終了する。
【0020】図7のステップ15におけるステップ設定
動作の詳細について、図8のフローチャートを参照しな
がら説明する。先ずステップ1で、プログラム装置6よ
りステップ番号を受信する。次にステップ2に進んで、
ステップ1で受信したステップ番号をステップ番号レジ
スタ13に格納する。次にステップ3に進んで、プログ
ラム記憶領域34の先頭アドレスであるApをプログラ
ムカウンタ11に格納する。次にステップ4に進んで、
ステップカウンタ12の内容を0にする。次にステップ
5に進んで、ステップカウンタ12の内容とステップ番
号レジスタ13の内容とが一致しているか否かを判断し
、一致していなければステップ6に進んで、プログラム
カウンタ11の内容をアドレスとするプログラム記憶領
域34のメモリから2バイトの命令を読み出す。次にス
テップ7に進んで、ステップ6で読み出した2バイトの
命令から命令の総バイト数を解読する。次にステップ8
に進んで、プログラムカウンタ11の内容にステップ7
で解読した命令の総バイト数を加える。次にステップ9
に進んで、ステップ6で読み出した命令が区切り命令で
あるか否かを判断し、区切り命令であればステップ10
に進んで、ステップカウンタ12の内容に1を加えた後
、ステップ5に戻る。ステップ9において、ステップ6
で読み出した命令が区切り命令でなければステップ6に
戻る。ステップ5において、ステップカウンタ12の内
容とステップ番号レジスタ13の内容とが一致している
と判断すればステップ11に進んで、プログラムカウン
タ11の内容をプログラムアドレスレジスタ24に格納
した後、このルーチンを終了する。
動作の詳細について、図8のフローチャートを参照しな
がら説明する。先ずステップ1で、プログラム装置6よ
りステップ番号を受信する。次にステップ2に進んで、
ステップ1で受信したステップ番号をステップ番号レジ
スタ13に格納する。次にステップ3に進んで、プログ
ラム記憶領域34の先頭アドレスであるApをプログラ
ムカウンタ11に格納する。次にステップ4に進んで、
ステップカウンタ12の内容を0にする。次にステップ
5に進んで、ステップカウンタ12の内容とステップ番
号レジスタ13の内容とが一致しているか否かを判断し
、一致していなければステップ6に進んで、プログラム
カウンタ11の内容をアドレスとするプログラム記憶領
域34のメモリから2バイトの命令を読み出す。次にス
テップ7に進んで、ステップ6で読み出した2バイトの
命令から命令の総バイト数を解読する。次にステップ8
に進んで、プログラムカウンタ11の内容にステップ7
で解読した命令の総バイト数を加える。次にステップ9
に進んで、ステップ6で読み出した命令が区切り命令で
あるか否かを判断し、区切り命令であればステップ10
に進んで、ステップカウンタ12の内容に1を加えた後
、ステップ5に戻る。ステップ9において、ステップ6
で読み出した命令が区切り命令でなければステップ6に
戻る。ステップ5において、ステップカウンタ12の内
容とステップ番号レジスタ13の内容とが一致している
と判断すればステップ11に進んで、プログラムカウン
タ11の内容をプログラムアドレスレジスタ24に格納
した後、このルーチンを終了する。
【0021】図7のステップ17における削除動作の詳
細について、図9のフローチャートを参照しながら説明
する。先ずステップ1で、修正バイト数レジスタ14の
内容を0にする。次にステップ2に進んで、プログラム
カウンタ11の内容をアドレスとするプログラム記憶領
域34のメモリから2バイトの命令を読み出す。次にス
テップ3に進んで、ステップ2で読み出した2バイトの
命令から命令の総バイト数を解読する。次にステップ4
に進んで、プログラムカウンタ11の内容にステップ3
で解読した命令の総バイト数を加える。次にステップ5
に進んで、修正バイト数レジスタ14の内容にステップ
3で解読した命令の総バイト数を加える。次にステップ
6に進んで、ステップ2で読み出した命令が区切り命令
であるか否かを判断し、区切り命令でなければステップ
2に戻る。ステップ6において、ステップ2で読み出し
た命令が区切り命令であると判断すればステップ7に進
んで、プログラムカウンタ11の内容をプログラムアド
レスレジスタ24の内容に設定し直す。次にステップ8
に進んで、現在アドレスレジスタ27の内容をアドレス
とする修正箇所記憶領域35のメモリに2バイトの削除
記号を書き込む。次にステップ9に進んで、削除記号の
次の2バイトにステップ番号レジスタ13の内容を書き
込む。次にステップ10に進んで、続く2バイトに内容
記録アドレスレジスタ26の内容を書き込む。次にステ
ップ11に進んで、現在アドレスレジスタ27の内容に
6を加え、箇所記録アドレスレジスタ25の内容に6を
加える。次にステップ12に進んで、内容記録アドレス
レジスタ26の内容に修正内容記憶領域36の先頭アド
レスであるAmを加えた値をアドレスとする修正内容記
憶領域36のメモリに修正バイト数レジスタ14の内容
を書き込む。次にステップ13に進んで、続きのメモリ
にプログラムアドレスレジスタ24の内容をアドレスと
するプログラム記憶領域34のメモリから変更バイト数
分だけメモリ内容をコピーする。次にステップ14に進
んで、内容記録アドレスレジスタ26の内容に変更バイ
ト数を加え、さらに2を加える。次にステップ15に進
んで、プログラムアドレスレジスタ24の内容に変更バ
イト数を加えた値をアドレスとするプログラム記憶領域
34のメモリ以降のメモリに記憶されている内容を変更
バイト数分だけ前にずらせて、このルーチンを終了する
。
細について、図9のフローチャートを参照しながら説明
する。先ずステップ1で、修正バイト数レジスタ14の
内容を0にする。次にステップ2に進んで、プログラム
カウンタ11の内容をアドレスとするプログラム記憶領
域34のメモリから2バイトの命令を読み出す。次にス
テップ3に進んで、ステップ2で読み出した2バイトの
命令から命令の総バイト数を解読する。次にステップ4
に進んで、プログラムカウンタ11の内容にステップ3
で解読した命令の総バイト数を加える。次にステップ5
に進んで、修正バイト数レジスタ14の内容にステップ
3で解読した命令の総バイト数を加える。次にステップ
6に進んで、ステップ2で読み出した命令が区切り命令
であるか否かを判断し、区切り命令でなければステップ
2に戻る。ステップ6において、ステップ2で読み出し
た命令が区切り命令であると判断すればステップ7に進
んで、プログラムカウンタ11の内容をプログラムアド
レスレジスタ24の内容に設定し直す。次にステップ8
に進んで、現在アドレスレジスタ27の内容をアドレス
とする修正箇所記憶領域35のメモリに2バイトの削除
記号を書き込む。次にステップ9に進んで、削除記号の
次の2バイトにステップ番号レジスタ13の内容を書き
込む。次にステップ10に進んで、続く2バイトに内容
記録アドレスレジスタ26の内容を書き込む。次にステ
ップ11に進んで、現在アドレスレジスタ27の内容に
6を加え、箇所記録アドレスレジスタ25の内容に6を
加える。次にステップ12に進んで、内容記録アドレス
レジスタ26の内容に修正内容記憶領域36の先頭アド
レスであるAmを加えた値をアドレスとする修正内容記
憶領域36のメモリに修正バイト数レジスタ14の内容
を書き込む。次にステップ13に進んで、続きのメモリ
にプログラムアドレスレジスタ24の内容をアドレスと
するプログラム記憶領域34のメモリから変更バイト数
分だけメモリ内容をコピーする。次にステップ14に進
んで、内容記録アドレスレジスタ26の内容に変更バイ
ト数を加え、さらに2を加える。次にステップ15に進
んで、プログラムアドレスレジスタ24の内容に変更バ
イト数を加えた値をアドレスとするプログラム記憶領域
34のメモリ以降のメモリに記憶されている内容を変更
バイト数分だけ前にずらせて、このルーチンを終了する
。
【0022】図7のステップ19における挿入動作の詳
細について、図10のフローチャートを参照しながら説
明する。先ずステップ1で、プログラム装置6より命令
群を受信する。次にステップ2に進んで、ステップ1で
受信した命令群を命令記憶レジスタ18に格納し、命令
群のバイト数を修正回数レジスタ15に格納する。次に
ステップ3に進んで、プログラムアドレスレジスタ24
の内容をアドレスとするプログラム記憶領域34のメモ
リ以降のメモリに記憶されている内容を変更バイト数分
だけ後ろにずらす。次にステップ4に進んで、プログラ
ムアドレスレジスタ24の内容をアドレスとするプログ
ラム記憶領域34のメモリに命令記憶レジスタ18の内
容を書き込む。次にステップ5に進んで、現在アドレス
レジスタ27の内容をアドレスとする修正箇所記憶領域
35のメモリに挿入記号を書き込む。次にステップ6に
進んで、挿入記号の次の2バイトにステップ番号レジス
タ13の内容を書き込む。次にステップ7に進んで、続
く2バイトに内容記録アドレスレジスタ26の内容を書
き込む。次にステップ8に進んで、現在アドレスレジス
タ27の内容に6を加え、箇所記録アドレスレジスタ2
5の内容に6を加える。次にステップ9に進んで、内容
記録アドレスレジスタ26の内容に修正内容記憶領域3
6の先頭アドレスであるAmを加えた値をアドレスとす
る修正内容記憶領域36のメモリに修正バイト数レジス
タ14の内容を書き込む。次にステップ10に進んで、
続きのメモリにプログラムアドレスレジスタ24の内容
をアドレスとするプログラム記憶領域34のメモリから
変更バイト数分だけメモリ内容をコピーする。次にステ
ップ11に進んで、内容記録アドレスレジスタ26の内
容に変更バイト数を加え、さらに2を加えて、このルー
チンを終了する。
細について、図10のフローチャートを参照しながら説
明する。先ずステップ1で、プログラム装置6より命令
群を受信する。次にステップ2に進んで、ステップ1で
受信した命令群を命令記憶レジスタ18に格納し、命令
群のバイト数を修正回数レジスタ15に格納する。次に
ステップ3に進んで、プログラムアドレスレジスタ24
の内容をアドレスとするプログラム記憶領域34のメモ
リ以降のメモリに記憶されている内容を変更バイト数分
だけ後ろにずらす。次にステップ4に進んで、プログラ
ムアドレスレジスタ24の内容をアドレスとするプログ
ラム記憶領域34のメモリに命令記憶レジスタ18の内
容を書き込む。次にステップ5に進んで、現在アドレス
レジスタ27の内容をアドレスとする修正箇所記憶領域
35のメモリに挿入記号を書き込む。次にステップ6に
進んで、挿入記号の次の2バイトにステップ番号レジス
タ13の内容を書き込む。次にステップ7に進んで、続
く2バイトに内容記録アドレスレジスタ26の内容を書
き込む。次にステップ8に進んで、現在アドレスレジス
タ27の内容に6を加え、箇所記録アドレスレジスタ2
5の内容に6を加える。次にステップ9に進んで、内容
記録アドレスレジスタ26の内容に修正内容記憶領域3
6の先頭アドレスであるAmを加えた値をアドレスとす
る修正内容記憶領域36のメモリに修正バイト数レジス
タ14の内容を書き込む。次にステップ10に進んで、
続きのメモリにプログラムアドレスレジスタ24の内容
をアドレスとするプログラム記憶領域34のメモリから
変更バイト数分だけメモリ内容をコピーする。次にステ
ップ11に進んで、内容記録アドレスレジスタ26の内
容に変更バイト数を加え、さらに2を加えて、このルー
チンを終了する。
【0023】プログラム装置6よりCPU1にプログラ
ム復旧コマンドが送られてくると、CPU1はプログラ
ム復旧モードに入り、図11〜13のフローチャートの
ように、修正回数レジスタ15の内容に1を加え(ステ
ップ1)、箇所記録アドレスレジスタ25の内容を読み
出し、その値に修正箇所記憶領域35の先頭アドレスで
あるAcを加えた値を現在アドレスレジスタ27および
復旧アドレスレジスタ29に格納する(ステップ2)。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに修正回数レジスタ
15の内容を2バイトのデータとして書き込み(ステッ
プ3)、現在アドレスレジスタ27および箇所記録アド
レスレジスタ25の内容に2を加える(ステップ4)。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに年月日のデータを
4バイトデータとして書き込み(ステップ5)、現在ア
ドレスレジスタ27および箇所記録アドレスレジスタ2
5の内容に4を加える(ステップ6)。
ム復旧コマンドが送られてくると、CPU1はプログラ
ム復旧モードに入り、図11〜13のフローチャートの
ように、修正回数レジスタ15の内容に1を加え(ステ
ップ1)、箇所記録アドレスレジスタ25の内容を読み
出し、その値に修正箇所記憶領域35の先頭アドレスで
あるAcを加えた値を現在アドレスレジスタ27および
復旧アドレスレジスタ29に格納する(ステップ2)。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに修正回数レジスタ
15の内容を2バイトのデータとして書き込み(ステッ
プ3)、現在アドレスレジスタ27および箇所記録アド
レスレジスタ25の内容に2を加える(ステップ4)。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに年月日のデータを
4バイトデータとして書き込み(ステップ5)、現在ア
ドレスレジスタ27および箇所記録アドレスレジスタ2
5の内容に4を加える(ステップ6)。
【0024】さらに、修正箇所記憶領域35の先頭アド
レスであるAcを終了アドレスレジスタ28に格納する
(ステップ7)。続いて送られてくる復旧対象回数を復
旧対象レジスタ16に格納し(ステップ8)、次に送ら
れてくる復旧対象日付を復旧対象日付レジスタ17に格
納する(ステップ9)。次にCPU1は、復旧対象回数
以降の修正記録を検索する。即ち、■終了アドレスレジ
スタ28の内容をアドレスとする修正箇所記憶領域35
のメモリから修正回数の記録を読み出し(ステップ10
)、復旧対象レジスタ16の内容と比較し(ステップ1
1)、等しいか復旧対象レジスタ16の内容の方が小さ
ければ■に進み、そうでなければ終了アドレスレジスタ
28の内容に6を加える(ステップ12)。
レスであるAcを終了アドレスレジスタ28に格納する
(ステップ7)。続いて送られてくる復旧対象回数を復
旧対象レジスタ16に格納し(ステップ8)、次に送ら
れてくる復旧対象日付を復旧対象日付レジスタ17に格
納する(ステップ9)。次にCPU1は、復旧対象回数
以降の修正記録を検索する。即ち、■終了アドレスレジ
スタ28の内容をアドレスとする修正箇所記憶領域35
のメモリから修正回数の記録を読み出し(ステップ10
)、復旧対象レジスタ16の内容と比較し(ステップ1
1)、等しいか復旧対象レジスタ16の内容の方が小さ
ければ■に進み、そうでなければ終了アドレスレジスタ
28の内容に6を加える(ステップ12)。
【0025】■終了アドレスレジスタ28の内容をアド
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み込む(ステップ13)。■そのデータが
終了記号であれば終了アドレスレジスタ28の内容に6
を加えて■に戻り(ステップ14,15)、そうでなけ
れば終了アドレスレジスタ28の内容に6を加えて■に
戻る(ステップ14,15)。
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み込む(ステップ13)。■そのデータが
終了記号であれば終了アドレスレジスタ28の内容に6
を加えて■に戻り(ステップ14,15)、そうでなけ
れば終了アドレスレジスタ28の内容に6を加えて■に
戻る(ステップ14,15)。
【0026】■復旧対象日付以降の修正記録を検索する
。ここで、復旧対象日付以降の修正記録を探すには、C
PU1は、■終了アドレスレジスタ28の内容を読み出
し、その値に2を加えた値をアドレスとする修正箇所記
憶領域35のメモリから変更日付の記録を読み出し(ス
テップ16)、復旧対象日付レジスタ17の内容と比較
し(ステップ17)、等しいか復旧対象日付レジスタ1
7の内容の方が日付が前であれば■に進み、そうでなけ
れば終了アドレスレジスタ28の内容に6を加える。
。ここで、復旧対象日付以降の修正記録を探すには、C
PU1は、■終了アドレスレジスタ28の内容を読み出
し、その値に2を加えた値をアドレスとする修正箇所記
憶領域35のメモリから変更日付の記録を読み出し(ス
テップ16)、復旧対象日付レジスタ17の内容と比較
し(ステップ17)、等しいか復旧対象日付レジスタ1
7の内容の方が日付が前であれば■に進み、そうでなけ
れば終了アドレスレジスタ28の内容に6を加える。
【0027】■終了アドレスレジスタ28の内容をアド
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
【0028】■復旧記録作成動作に入る。なお、図12
のステップ18はステップ12〜15と同じ動作である
。プログラムを復旧するということは、時間を遡りなが
ら過去の修正と逆の修正を加えていくことに等しい。 そこで、復旧記録作成動作では、先ず対象とされる過去
の修正を、修正操作を逆にしながら、修正箇所記憶領域
35に逆の順序で記録していく。即ち、現在アドレスレ
ジスタ27の内容を復旧記録アドレスレジスタ30に格
納し(ステップ19)、■復旧アドレスレジスタ29の
内容から6を減じ(ステップ20)、その値と終了アド
レスレジスタ28の内容とを比較し(ステップ21)、
終了アドレスレジスタ28の内容の方が大きいか等しけ
れば■に進む。
のステップ18はステップ12〜15と同じ動作である
。プログラムを復旧するということは、時間を遡りなが
ら過去の修正と逆の修正を加えていくことに等しい。 そこで、復旧記録作成動作では、先ず対象とされる過去
の修正を、修正操作を逆にしながら、修正箇所記憶領域
35に逆の順序で記録していく。即ち、現在アドレスレ
ジスタ27の内容を復旧記録アドレスレジスタ30に格
納し(ステップ19)、■復旧アドレスレジスタ29の
内容から6を減じ(ステップ20)、その値と終了アド
レスレジスタ28の内容とを比較し(ステップ21)、
終了アドレスレジスタ28の内容の方が大きいか等しけ
れば■に進む。
【0029】■復旧アドレスレジスタ29の内容をアド
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み出す(ステップ22)。■そのデータが
終了記号であれば■に戻る(ステップ23)。■そのデ
ータが挿入記号であれば削除記号に変更し(ステップ2
7)、削除記号であれば挿入記号に変更して(ステップ
26)、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに格納し(ステップ
28)、さらに現在アドレスレジスタ27および箇所記
録アドレスレジスタ25の内容に2を加える(ステップ
29)。
レスとする修正箇所記憶領域35のメモリから2バイト
のデータを読み出す(ステップ22)。■そのデータが
終了記号であれば■に戻る(ステップ23)。■そのデ
ータが挿入記号であれば削除記号に変更し(ステップ2
7)、削除記号であれば挿入記号に変更して(ステップ
26)、現在アドレスレジスタ27の内容をアドレスと
する修正箇所記憶領域35のメモリに格納し(ステップ
28)、さらに現在アドレスレジスタ27および箇所記
録アドレスレジスタ25の内容に2を加える(ステップ
29)。
【0030】■復旧アドレスレジスタ29の内容に2を
加えた値をアドレスとする修正箇所記憶領域35のメモ
リから4バイトのデータを読み出し、現在アドレスレジ
スタ27の内容をアドレスとする修正箇所記憶領域35
のメモリに格納し(ステップ30)、さらに現在アドレ
スレジスタ27および箇所記録アドレスレジスタ25の
内容に4を加えて■に戻る(ステップ31)。
加えた値をアドレスとする修正箇所記憶領域35のメモ
リから4バイトのデータを読み出し、現在アドレスレジ
スタ27の内容をアドレスとする修正箇所記憶領域35
のメモリに格納し(ステップ30)、さらに現在アドレ
スレジスタ27および箇所記録アドレスレジスタ25の
内容に4を加えて■に戻る(ステップ31)。
【0031】■現在アドレスレジスタ27の内容をアド
レスとする修正箇所記憶領域35のメモリに終了記号を
格納し、さらに現在アドレスレジスタ27および箇所記
録アドレスレジスタ25の内容に6を加える(ステップ
32)。復旧動作では、復旧記録に従ってプログラムを
修正していく。即ち、■復旧記録アドレスレジスタ30
の内容をアドレスとする修正箇所記憶領域35のメモリ
から2バイトの記号データを読み出し、記号データレジ
スタ21に格納する(ステップ33)。
レスとする修正箇所記憶領域35のメモリに終了記号を
格納し、さらに現在アドレスレジスタ27および箇所記
録アドレスレジスタ25の内容に6を加える(ステップ
32)。復旧動作では、復旧記録に従ってプログラムを
修正していく。即ち、■復旧記録アドレスレジスタ30
の内容をアドレスとする修正箇所記憶領域35のメモリ
から2バイトの記号データを読み出し、記号データレジ
スタ21に格納する(ステップ33)。
【0032】■その記号データが終了記号であれば、復
旧動作は完了である(ステップ34)。■そうでなけれ
ば、続く2バイトからステップ番号を読み出してステッ
プ番号レジスタ13に格納し(ステップ35)、続く2
バイトから読み出したアドレスに修正内容記憶領域36
の先頭アドレスであるAmを加えた値を復旧内容アドレ
スレジスタ31に格納し(ステップ36)、その値をア
ドレスとする修正内容記憶領域36のメモリから修正バ
イト数データを読み出して修正バイト数レジスタ14に
格納し(ステップ37)、さらに復旧記録アドレスレジ
スタ30の内容に6を加え、復旧内容アドレスレジスタ
31の内容に2を加える(ステップ38)。
旧動作は完了である(ステップ34)。■そうでなけれ
ば、続く2バイトからステップ番号を読み出してステッ
プ番号レジスタ13に格納し(ステップ35)、続く2
バイトから読み出したアドレスに修正内容記憶領域36
の先頭アドレスであるAmを加えた値を復旧内容アドレ
スレジスタ31に格納し(ステップ36)、その値をア
ドレスとする修正内容記憶領域36のメモリから修正バ
イト数データを読み出して修正バイト数レジスタ14に
格納し(ステップ37)、さらに復旧記録アドレスレジ
スタ30の内容に6を加え、復旧内容アドレスレジスタ
31の内容に2を加える(ステップ38)。
【0033】■次にCPU1は、プログラム記憶領域3
4の先頭から順次ステップ数を数え、ステップ番号レジ
スタ13の内容に対応したプログラムステップを見つけ
出し、そのアドレスをプログラムアドレスレジスタ24
に格納する(ステップ39)。■記号データレジスタ2
1の内容が削除記号であれば(ステップ40)、プログ
ラムアドレスレジスタ24の内容をアドレスとするプロ
グラム記憶領域34のメモリから、修正バイト数レジス
タ14の内容のバイト数だけメモリ内容を削除する(ス
テップ41)。
4の先頭から順次ステップ数を数え、ステップ番号レジ
スタ13の内容に対応したプログラムステップを見つけ
出し、そのアドレスをプログラムアドレスレジスタ24
に格納する(ステップ39)。■記号データレジスタ2
1の内容が削除記号であれば(ステップ40)、プログ
ラムアドレスレジスタ24の内容をアドレスとするプロ
グラム記憶領域34のメモリから、修正バイト数レジス
タ14の内容のバイト数だけメモリ内容を削除する(ス
テップ41)。
【0034】■記号データレジスタ21の内容が挿入記
号であれば(ステップ42)、プログラムアドレスレジ
スタ24の内容をアドレスとするプログラム記憶領域3
4のメモリ以降のメモリに記憶されているプログラムを
修正バイト数レジスタ14の内容の分だけ後にずらす(
ステップ43)。次に空いたメモリに復旧内容アドレス
レジスタ31の内容をアドレスとする修正内容記憶領域
36のメモリから修正バイト数レジスタ14の内容のバ
イト数のデータを複写する(ステップ44)。
号であれば(ステップ42)、プログラムアドレスレジ
スタ24の内容をアドレスとするプログラム記憶領域3
4のメモリ以降のメモリに記憶されているプログラムを
修正バイト数レジスタ14の内容の分だけ後にずらす(
ステップ43)。次に空いたメモリに復旧内容アドレス
レジスタ31の内容をアドレスとする修正内容記憶領域
36のメモリから修正バイト数レジスタ14の内容のバ
イト数のデータを複写する(ステップ44)。
【0035】以上の動作により、プログラムの修正の復
旧は完了する。この復旧動作では、復旧を新たな修正と
捉え、その記録を残しているので、その復旧動作の取消
も可能である。次に、プログラムの修正および復旧に伴
う記憶装置2の内容の変化について、具体的に説明する
。
旧は完了する。この復旧動作では、復旧を新たな修正と
捉え、その記録を残しているので、その復旧動作の取消
も可能である。次に、プログラムの修正および復旧に伴
う記憶装置2の内容の変化について、具体的に説明する
。
【0036】いま、ソースプログラムが図14のようで
あると、プログラム記憶領域34の内容は図15のよう
になる。プログラム記憶領域34には実際には中間コー
ドの形でプログラムが格納される。ソースプログラムの
各ステップの説明を図16に示す。図14のプログラム
のステップ番号111,113を削除した場合、ソース
プログラムは図17のようになり、プログラム記憶領域
34の内容は図18のようになる。そして修正箇所記憶
領域35の内容は図19のようになり、修正内容記憶領
域36の内容は図20のようになる。
あると、プログラム記憶領域34の内容は図15のよう
になる。プログラム記憶領域34には実際には中間コー
ドの形でプログラムが格納される。ソースプログラムの
各ステップの説明を図16に示す。図14のプログラム
のステップ番号111,113を削除した場合、ソース
プログラムは図17のようになり、プログラム記憶領域
34の内容は図18のようになる。そして修正箇所記憶
領域35の内容は図19のようになり、修正内容記憶領
域36の内容は図20のようになる。
【0037】さらに図17のプログラムのステップ番号
113を修正した場合、ソースプログラムは図21のよ
うになり、プログラム記憶領域34の内容は図22のよ
うになる。そして修正箇所記憶領域35の内容は図23
のようになり、修正内容記憶領域36の内容は図24の
ようになる。そして図21のプログラムを図17のよう
に復旧した場合、プログラム記憶領域34の内容は図2
5のようになる。そして修正箇所記憶領域35の内容は
図26のようになり、修正内容記憶領域36の内容は図
27のようになる。 (実施例2)この実施例では、図28のように記憶装置
2に、任意数の命令の集まりからなりかつ最後に区切り
命令を有するプログラムラインを任意数記憶するプログ
ラムライン記憶領域41と、プログラムラインの先頭ア
ドレスを所望の順序で任意数記憶するアドレスポインタ
記憶領域42と、修正記録記憶領域43と、命令レジス
タ44と、ライン番号レジスタ45と、記録アドレスレ
ジスタ46等が設けられている。プログラムライン記憶
領域41はアドレスApから始まるNpバイトのメモリ
領域で、アドレスポインタ記憶領域42はアドレスポイ
ンタをNt個格納できる、アドレスAtから始まる2×
Ntバイトのメモリ領域である。修正記録記憶領域43
はアドレスAcから始まるNcバイトのメモリ領域で、
命令レジスタ44はNdバイトのメモリ領域である。ラ
イン番号レジスタ45および記録アドレスレジスタ46
は2バイトのメモリ領域である。
113を修正した場合、ソースプログラムは図21のよ
うになり、プログラム記憶領域34の内容は図22のよ
うになる。そして修正箇所記憶領域35の内容は図23
のようになり、修正内容記憶領域36の内容は図24の
ようになる。そして図21のプログラムを図17のよう
に復旧した場合、プログラム記憶領域34の内容は図2
5のようになる。そして修正箇所記憶領域35の内容は
図26のようになり、修正内容記憶領域36の内容は図
27のようになる。 (実施例2)この実施例では、図28のように記憶装置
2に、任意数の命令の集まりからなりかつ最後に区切り
命令を有するプログラムラインを任意数記憶するプログ
ラムライン記憶領域41と、プログラムラインの先頭ア
ドレスを所望の順序で任意数記憶するアドレスポインタ
記憶領域42と、修正記録記憶領域43と、命令レジス
タ44と、ライン番号レジスタ45と、記録アドレスレ
ジスタ46等が設けられている。プログラムライン記憶
領域41はアドレスApから始まるNpバイトのメモリ
領域で、アドレスポインタ記憶領域42はアドレスポイ
ンタをNt個格納できる、アドレスAtから始まる2×
Ntバイトのメモリ領域である。修正記録記憶領域43
はアドレスAcから始まるNcバイトのメモリ領域で、
命令レジスタ44はNdバイトのメモリ領域である。ラ
イン番号レジスタ45および記録アドレスレジスタ46
は2バイトのメモリ領域である。
【0038】次に動作を説明する。電源投入時の動作は
実施例1と同様であり、図3のフローチャートのような
動作をする。プログラムの実行モード時には、CPU1
は図29のように、先ずプログラムカウンタ11に0を
格納する(ステップ1)。次に、■プログラムカウンタ
11の内容を読み出し、その値を2倍してさらにアドレ
スポインタ記憶領域42の先頭アドレスであるAtを加
えた値をアドレスとするアドレスポインタからプログラ
ムラインの先頭アドレスを読み出し、プログラムアドレ
スレジスタ24に格納する(ステップ2)。
実施例1と同様であり、図3のフローチャートのような
動作をする。プログラムの実行モード時には、CPU1
は図29のように、先ずプログラムカウンタ11に0を
格納する(ステップ1)。次に、■プログラムカウンタ
11の内容を読み出し、その値を2倍してさらにアドレ
スポインタ記憶領域42の先頭アドレスであるAtを加
えた値をアドレスとするアドレスポインタからプログラ
ムラインの先頭アドレスを読み出し、プログラムアドレ
スレジスタ24に格納する(ステップ2)。
【0039】■そのアドレスを先頭アドレスとするプロ
グラムラインをプログラムライン終了命令まで実行する
(ステップ3)。なお、プログラムEND命令であれば
実行モードを終了する(ステップ4)。■プログラムカ
ウンタ11の内容に1を加えて■に戻る(ステップ5)
。という動作を繰り返す。
グラムラインをプログラムライン終了命令まで実行する
(ステップ3)。なお、プログラムEND命令であれば
実行モードを終了する(ステップ4)。■プログラムカ
ウンタ11の内容に1を加えて■に戻る(ステップ5)
。という動作を繰り返す。
【0040】プログラム装置6よりCPU1に対してプ
ログラム修正モード開始コマンドが送られると、CPU
1はプログラム修正モードに入る。即ち図30のフロー
チャートのように、CPU1は修正回数レジスタ15の
内容に1を加え(ステップ1)、記録アドレスレジスタ
46の内容を読み出し、その値に修正記録記憶領域43
の先頭アドレスであるAcを加えた値を現在アドレスレ
ジスタ27に格納する。さらに、現在アドレスレジスタ
27の内容をアドレスとする修正記録記憶領域43のメ
モリに修正回数レジスタ15の内容を2バイトのデータ
として書き込み、さらに現在アドレスレジスタ27およ
び記録アドレスレジスタ46の内容に2を加える。さら
に現在アドレスレジスタ27の内容をアドレスとする修
正記録記憶領域43のメモリに年月日のデータを4バイ
トデータとして書き込み(ステップ2)、現在アドレス
レジスタ27および記録アドレスレジスタ46の内容に
4を加える。さらにCPU1はプログラムライン記憶領
域41を検索し、未使用の領域の先頭アドレスを見つけ
出し、その値をプログラムアドレスレジスタ24に格納
して(ステップ3)、プログラム修正用のコマンド待ち
状態となる。
ログラム修正モード開始コマンドが送られると、CPU
1はプログラム修正モードに入る。即ち図30のフロー
チャートのように、CPU1は修正回数レジスタ15の
内容に1を加え(ステップ1)、記録アドレスレジスタ
46の内容を読み出し、その値に修正記録記憶領域43
の先頭アドレスであるAcを加えた値を現在アドレスレ
ジスタ27に格納する。さらに、現在アドレスレジスタ
27の内容をアドレスとする修正記録記憶領域43のメ
モリに修正回数レジスタ15の内容を2バイトのデータ
として書き込み、さらに現在アドレスレジスタ27およ
び記録アドレスレジスタ46の内容に2を加える。さら
に現在アドレスレジスタ27の内容をアドレスとする修
正記録記憶領域43のメモリに年月日のデータを4バイ
トデータとして書き込み(ステップ2)、現在アドレス
レジスタ27および記録アドレスレジスタ46の内容に
4を加える。さらにCPU1はプログラムライン記憶領
域41を検索し、未使用の領域の先頭アドレスを見つけ
出し、その値をプログラムアドレスレジスタ24に格納
して(ステップ3)、プログラム修正用のコマンド待ち
状態となる。
【0041】プログラム装置6よりライン指定コマンド
が送られると(ステップ4,5)、CPU1はライン設
定動作を行う(ステップ6)。即ち図31のフローチャ
ートのように、続いて送られてくるライン番号を受信し
(ステップ1)、その値をライン番号レジスタ45に格
納する(ステップ2)。プログラム装置6よりプログラ
ムステップ削除コマンドが送られると(ステップ4,7
)、CPU1は削除動作を行う(ステップ8)。即ち図
32のフローチャートのように、現在アドレスレジスタ
27の内容をアドレスとする修正記録記憶領域43のメ
モリに、2バイトの上位バイトの最上位ビットが1であ
る削除記号を格納し、続く2バイトにその時のライン番
号レジスタ45の内容を格納し、現在アドレスレジスタ
27および記録アドレスレジスタ46の内容に4を加え
る。さらにCPU1はライン番号レジスタ45の内容を
2倍してアドレスポインタ記憶領域42の先頭アドレス
であるAtを加えた値をアドレスとするアドレスポイン
タの内容を読み出し、その値を現在アドレスレジスタ2
7の内容をアドレスとする修正記録記憶領域43のメモ
リに格納し(ステップ1)、現在アドレスレジスタ27
および記録アドレスレジスタ46の内容に2を加える。 さらに、ライン番号レジスタ45の内容に1を加えた値
をアドレスとするアドレスポインタから、プログラムの
最終を示すアドレスポインタまでのアドレスポインタの
内容を順番に1つ前のアドレスポインタにコピーしてい
くことにより、ライン番号レジスタ45の内容をアドレ
スとするアドレスポインタを削除する(ステップ2)。 すなわち、ライン番号レジスタ45の内容に1を加え、
さらに2倍してアドレスポインタ記憶領域42の先頭ア
ドレスであるAtを加えた値のアドレスから、プログラ
ムの最後のライン番号を2倍してAtを加えさらに1を
加えた値のアドレスまでのアドレスポインタ記憶領域4
2のメモリの内容を順番にアドレスが2だけ小さいメモ
リにコピーしていく。
が送られると(ステップ4,5)、CPU1はライン設
定動作を行う(ステップ6)。即ち図31のフローチャ
ートのように、続いて送られてくるライン番号を受信し
(ステップ1)、その値をライン番号レジスタ45に格
納する(ステップ2)。プログラム装置6よりプログラ
ムステップ削除コマンドが送られると(ステップ4,7
)、CPU1は削除動作を行う(ステップ8)。即ち図
32のフローチャートのように、現在アドレスレジスタ
27の内容をアドレスとする修正記録記憶領域43のメ
モリに、2バイトの上位バイトの最上位ビットが1であ
る削除記号を格納し、続く2バイトにその時のライン番
号レジスタ45の内容を格納し、現在アドレスレジスタ
27および記録アドレスレジスタ46の内容に4を加え
る。さらにCPU1はライン番号レジスタ45の内容を
2倍してアドレスポインタ記憶領域42の先頭アドレス
であるAtを加えた値をアドレスとするアドレスポイン
タの内容を読み出し、その値を現在アドレスレジスタ2
7の内容をアドレスとする修正記録記憶領域43のメモ
リに格納し(ステップ1)、現在アドレスレジスタ27
および記録アドレスレジスタ46の内容に2を加える。 さらに、ライン番号レジスタ45の内容に1を加えた値
をアドレスとするアドレスポインタから、プログラムの
最終を示すアドレスポインタまでのアドレスポインタの
内容を順番に1つ前のアドレスポインタにコピーしてい
くことにより、ライン番号レジスタ45の内容をアドレ
スとするアドレスポインタを削除する(ステップ2)。 すなわち、ライン番号レジスタ45の内容に1を加え、
さらに2倍してアドレスポインタ記憶領域42の先頭ア
ドレスであるAtを加えた値のアドレスから、プログラ
ムの最後のライン番号を2倍してAtを加えさらに1を
加えた値のアドレスまでのアドレスポインタ記憶領域4
2のメモリの内容を順番にアドレスが2だけ小さいメモ
リにコピーしていく。
【0042】プログラム装置6よりプログラムステップ
追加コマンドが送られると(ステップ4,9)、CPU
1は挿入動作を行う(ステップ10)。即ち図33のフ
ローチャートのように、プログラム装置6よりプログラ
ムラインを受信し(ステップ1)、その命令とそれに付
属したデータとを命令レジスタ44に格納する(ステッ
プ2)。次に現在アドレスレジスタ27の内容をアドレ
スとする修正記録記憶領域43のメモリに、2バイトの
上位バイトの最上位ビットが1である追加記号を格納し
、続く2バイトにその時のライン番号レジスタ45の内
容を格納し、続く2バイトにその時のプログラムアドレ
スレジスタ24の内容を書き込み(ステップ3)、さら
に現在アドレスレジスタ27および記録アドレスレジス
タ46の内容に6を加える。次に、プログラムの最後を
示すアドレスポインタから、ライン番号レジスタ45の
内容をアドレスとするアドレスポインタまでのアドレス
ポインタの内容を順番に1つ後のアドレスポインタにコ
ピーしていき、さらにライン番号レジスタ45の内容を
アドレスとするアドレスポインタにプログラムアドレス
レジスタ24の内容を書き込む(ステップ4)。さらに
、命令レジスタ44の内容を、プログラムアドレスレジ
スタ24の内容をアドレスとするプログラムライン記憶
領域41のメモリから順に格納し(ステップ5)、その
バイト数をプログラムアドレスレジスタ24の内容に加
える(ステップ6)。
追加コマンドが送られると(ステップ4,9)、CPU
1は挿入動作を行う(ステップ10)。即ち図33のフ
ローチャートのように、プログラム装置6よりプログラ
ムラインを受信し(ステップ1)、その命令とそれに付
属したデータとを命令レジスタ44に格納する(ステッ
プ2)。次に現在アドレスレジスタ27の内容をアドレ
スとする修正記録記憶領域43のメモリに、2バイトの
上位バイトの最上位ビットが1である追加記号を格納し
、続く2バイトにその時のライン番号レジスタ45の内
容を格納し、続く2バイトにその時のプログラムアドレ
スレジスタ24の内容を書き込み(ステップ3)、さら
に現在アドレスレジスタ27および記録アドレスレジス
タ46の内容に6を加える。次に、プログラムの最後を
示すアドレスポインタから、ライン番号レジスタ45の
内容をアドレスとするアドレスポインタまでのアドレス
ポインタの内容を順番に1つ後のアドレスポインタにコ
ピーしていき、さらにライン番号レジスタ45の内容を
アドレスとするアドレスポインタにプログラムアドレス
レジスタ24の内容を書き込む(ステップ4)。さらに
、命令レジスタ44の内容を、プログラムアドレスレジ
スタ24の内容をアドレスとするプログラムライン記憶
領域41のメモリから順に格納し(ステップ5)、その
バイト数をプログラムアドレスレジスタ24の内容に加
える(ステップ6)。
【0043】プログラム装置6よりプログラム修正モー
ド終了コマンドが送られてくると(ステップ4,11)
、CPU1は現在アドレスレジスタ27の内容をアドレ
スとする修正記録記憶領域43のメモリに、2バイトの
上位バイトの最上位ビットが1である終了記号を格納し
(ステップ12)、さらに現在アドレスレジスタ27お
よび記録アドレスレジスタ46の内容に6を加える。
ド終了コマンドが送られてくると(ステップ4,11)
、CPU1は現在アドレスレジスタ27の内容をアドレ
スとする修正記録記憶領域43のメモリに、2バイトの
上位バイトの最上位ビットが1である終了記号を格納し
(ステップ12)、さらに現在アドレスレジスタ27お
よび記録アドレスレジスタ46の内容に6を加える。
【0044】プログラム装置6よりCPU1にプログラ
ム復旧コマンドが送られてくると、CPU1はプログラ
ム復旧モードに入り、図34のフローチャートのように
、修正回数レジスタ15の内容に1を加え(ステップ1
)、記録アドレスレジスタ46の内容を読み出し、その
値に修正記録記憶領域43の先頭アドレスであるAcを
加えた値を現在アドレスレジスタ27および復旧アドレ
スレジスタ29に格納する。さらに、現在アドレスレジ
スタ27の内容をアドレスとする修正記録記憶領域43
のメモリに修正回数レジスタ15の内容を2バイトのデ
ータとして書き込み、さらに現在アドレスレジスタ27
および記録アドレスレジスタ46の内容に2を加える。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正記録記憶領域43のメモリに年月日のデータを
4バイトデータとして書き込み(ステップ2)、現在ア
ドレスレジスタ27および記録アドレスレジスタ46の
内容に4を加える。
ム復旧コマンドが送られてくると、CPU1はプログラ
ム復旧モードに入り、図34のフローチャートのように
、修正回数レジスタ15の内容に1を加え(ステップ1
)、記録アドレスレジスタ46の内容を読み出し、その
値に修正記録記憶領域43の先頭アドレスであるAcを
加えた値を現在アドレスレジスタ27および復旧アドレ
スレジスタ29に格納する。さらに、現在アドレスレジ
スタ27の内容をアドレスとする修正記録記憶領域43
のメモリに修正回数レジスタ15の内容を2バイトのデ
ータとして書き込み、さらに現在アドレスレジスタ27
および記録アドレスレジスタ46の内容に2を加える。 さらに、現在アドレスレジスタ27の内容をアドレスと
する修正記録記憶領域43のメモリに年月日のデータを
4バイトデータとして書き込み(ステップ2)、現在ア
ドレスレジスタ27および記録アドレスレジスタ46の
内容に4を加える。
【0045】さらに、修正記録記憶領域43の先頭アド
レスであるAcを終了アドレスレジスタ28に格納する
。そして、続いて送られてくる復旧対象回数を復旧対象
レジスタ16に格納し、次に送られてくる復旧対象日付
を復旧対象日付レジスタ17に格納する(ステップ3)
。次にCPU1は、復旧対象回数以降の修正記録を検索
する(ステップ4)。即ち、■終了アドレスレジスタ2
8の内容をアドレスとする修正記録記憶領域43のメモ
リから修正回数の記録を読み出し、復旧対象レジスタ1
6の内容と比較し、等しいか復旧対象レジスタ16の内
容の方が小さければ■に進み、そうでなければ終了アド
レスレジスタ28の内容に6を加える。
レスであるAcを終了アドレスレジスタ28に格納する
。そして、続いて送られてくる復旧対象回数を復旧対象
レジスタ16に格納し、次に送られてくる復旧対象日付
を復旧対象日付レジスタ17に格納する(ステップ3)
。次にCPU1は、復旧対象回数以降の修正記録を検索
する(ステップ4)。即ち、■終了アドレスレジスタ2
8の内容をアドレスとする修正記録記憶領域43のメモ
リから修正回数の記録を読み出し、復旧対象レジスタ1
6の内容と比較し、等しいか復旧対象レジスタ16の内
容の方が小さければ■に進み、そうでなければ終了アド
レスレジスタ28の内容に6を加える。
【0046】■終了アドレスレジスタ28の内容をアド
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
【0047】■復旧対象日付以降の修正記録を検索する
。ここで、復旧対象日付以降の修正記録を探すには、C
PU1は、■終了アドレスレジスタ28の内容を読み出
し、その値に2を加えた値をアドレスとする修正記録記
憶領域43のメモリから修正日付の記録を読み出し、復
旧対象日付レジスタ17の内容と比較し、等しいか復旧
対象日付レジスタ17の内容の方が日付が前であれば■
に進み、そうでなければ終了アドレスレジスタ28の内
容に6を加える。
。ここで、復旧対象日付以降の修正記録を探すには、C
PU1は、■終了アドレスレジスタ28の内容を読み出
し、その値に2を加えた値をアドレスとする修正記録記
憶領域43のメモリから修正日付の記録を読み出し、復
旧対象日付レジスタ17の内容と比較し、等しいか復旧
対象日付レジスタ17の内容の方が日付が前であれば■
に進み、そうでなければ終了アドレスレジスタ28の内
容に6を加える。
【0048】■終了アドレスレジスタ28の内容をアド
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み込む。■そのデータが終了記号であれば
終了アドレスレジスタ28の内容に6を加えて■に戻り
、そうでなければ終了アドレスレジスタ28の内容に6
を加えて■に戻る。
【0049】■復旧記録作成動作に入る。プログラムを
復旧するということは、時間を遡りながら過去の修正と
逆の修正を加えて行くことに等しい。そこで、復旧記録
作成動作では先ず対象とされる過去の修正を修正操作を
逆にしながら、修正記録記憶領域43に逆の順序で記録
していく(ステップ5)。即ち、現在アドレスレジスタ
27の内容を復旧記録アドレスレジスタ30に格納し、
■復旧アドレスレジスタ29の内容から6を減じ、その
値と終了アドレスレジスタ28の内容とを比較し、終了
アドレスレジスタ28の内容の方が大きいか等しければ
■に進む。
復旧するということは、時間を遡りながら過去の修正と
逆の修正を加えて行くことに等しい。そこで、復旧記録
作成動作では先ず対象とされる過去の修正を修正操作を
逆にしながら、修正記録記憶領域43に逆の順序で記録
していく(ステップ5)。即ち、現在アドレスレジスタ
27の内容を復旧記録アドレスレジスタ30に格納し、
■復旧アドレスレジスタ29の内容から6を減じ、その
値と終了アドレスレジスタ28の内容とを比較し、終了
アドレスレジスタ28の内容の方が大きいか等しければ
■に進む。
【0050】■復旧アドレスレジスタ29の内容をアド
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み出す。■そのデータが終了記号であれば
■に戻る。■そのデータが挿入記号であれば削除記号に
変更し、削除記号であれば挿入記号に変更し、さらに現
在アドレスレジスタ27および記録アドレスレジスタ4
6の内容に2を加える。
レスとする修正記録記憶領域43のメモリから2バイト
のデータを読み出す。■そのデータが終了記号であれば
■に戻る。■そのデータが挿入記号であれば削除記号に
変更し、削除記号であれば挿入記号に変更し、さらに現
在アドレスレジスタ27および記録アドレスレジスタ4
6の内容に2を加える。
【0051】■復旧アドレスレジスタ29の値に2を加
えた値をアドレスとする修正記録記憶領域43のメモリ
から4バイトのデータを読み出し、現在アドレスレジス
タ27の内容をアドレスとする修正記録記憶領域43の
メモリに格納し、さらに現在アドレスレジスタ27およ
び記録アドレスレジスタ46の内容に4を加えて■に戻
る。
えた値をアドレスとする修正記録記憶領域43のメモリ
から4バイトのデータを読み出し、現在アドレスレジス
タ27の内容をアドレスとする修正記録記憶領域43の
メモリに格納し、さらに現在アドレスレジスタ27およ
び記録アドレスレジスタ46の内容に4を加えて■に戻
る。
【0052】■現在アドレスレジスタ27の内容をアド
レスとする修正記録記憶領域43のメモリに終了記号を
格納し、さらに現在アドレスレジスタ27および記録ア
ドレスレジスタ46の内容に6を加える。復旧動作では
、復旧記録に従ってアドレスポインタ配列を復旧してい
く(ステップ6)。即ち、■復旧記録アドレスレジスタ
30の内容をアドレスとする修正記録記憶領域43のメ
モリから2バイトの記号データを読み出す。続く2バイ
トからライン番号を読み出してライン番号レジスタ45
に格納し、復旧記録アドレスレジスタ30の内容に4を
加える。
レスとする修正記録記憶領域43のメモリに終了記号を
格納し、さらに現在アドレスレジスタ27および記録ア
ドレスレジスタ46の内容に6を加える。復旧動作では
、復旧記録に従ってアドレスポインタ配列を復旧してい
く(ステップ6)。即ち、■復旧記録アドレスレジスタ
30の内容をアドレスとする修正記録記憶領域43のメ
モリから2バイトの記号データを読み出す。続く2バイ
トからライン番号を読み出してライン番号レジスタ45
に格納し、復旧記録アドレスレジスタ30の内容に4を
加える。
【0053】■その記号データが終了記号であれば、復
旧動作は完了である。■その記号データが削除記号であ
れば、ライン番号レジスタ45の内容に1を加えた値を
アドレスとするアドレスポインタから、プログラムの最
後を示すアドレスポインタまでのアドレスポインタの内
容を順番に1つ前のアドレスポインタにコピーしていく
ことにより、ライン番号レジスタ45の内容をアドレス
とするアドレスポインタを削除する。すなわち、ライン
番号レジスタ45の内容に1を加えて2倍し、さらにア
ドレスポインタ記憶領域42の先頭アドレスであるAt
を加えたアドレスから、プログラムの最後のライン番号
を2倍してAtを加えた値に1を加えたアドレスまでの
アドレスポインタ記憶領域42のメモリの内容を順番に
アドレスが2だけ小さいメモリにコピーしていく。そし
て復旧記録アドレスレジスタ30の内容に2を加えて、
■に戻る。
旧動作は完了である。■その記号データが削除記号であ
れば、ライン番号レジスタ45の内容に1を加えた値を
アドレスとするアドレスポインタから、プログラムの最
後を示すアドレスポインタまでのアドレスポインタの内
容を順番に1つ前のアドレスポインタにコピーしていく
ことにより、ライン番号レジスタ45の内容をアドレス
とするアドレスポインタを削除する。すなわち、ライン
番号レジスタ45の内容に1を加えて2倍し、さらにア
ドレスポインタ記憶領域42の先頭アドレスであるAt
を加えたアドレスから、プログラムの最後のライン番号
を2倍してAtを加えた値に1を加えたアドレスまでの
アドレスポインタ記憶領域42のメモリの内容を順番に
アドレスが2だけ小さいメモリにコピーしていく。そし
て復旧記録アドレスレジスタ30の内容に2を加えて、
■に戻る。
【0054】■その記号データが挿入記号であれば、プ
ログラムの最後を示すアドレスポインタから、ライン番
号レジスタ45の内容をアドレスとするアドレスポイン
タまでのアドレスポインタの内容を順番に1つ後のアド
レスポインタにコピーしていき、さらに復旧記録アドレ
スレジスタ30の内容をアドレスとする修正記録記憶領
域43のメモリから2バイトのアドレスデータを読み出
し、ライン番号レジスタ45の内容をアドレスとするア
ドレスポインタに格納し、復旧記録アドレスレジスタ3
0の内容に2を加えて、■に戻る。
ログラムの最後を示すアドレスポインタから、ライン番
号レジスタ45の内容をアドレスとするアドレスポイン
タまでのアドレスポインタの内容を順番に1つ後のアド
レスポインタにコピーしていき、さらに復旧記録アドレ
スレジスタ30の内容をアドレスとする修正記録記憶領
域43のメモリから2バイトのアドレスデータを読み出
し、ライン番号レジスタ45の内容をアドレスとするア
ドレスポインタに格納し、復旧記録アドレスレジスタ3
0の内容に2を加えて、■に戻る。
【0055】以上の動作により、プログラムの修正の復
旧は完了する。この復旧動作では、復旧を新たな修正と
捉え、その記録を残しているので、その復旧動作の取消
も可能である。また、修正時にプログラムラインには手
を加えずに、アドレスポインタ配列を修正することによ
ってプログラムラインの修正を実現しているので、上記
動作によってアドレスポインタ配列を希望する修正時点
まで戻してやることにより、プログラムの修正の復旧が
実現される。
旧は完了する。この復旧動作では、復旧を新たな修正と
捉え、その記録を残しているので、その復旧動作の取消
も可能である。また、修正時にプログラムラインには手
を加えずに、アドレスポインタ配列を修正することによ
ってプログラムラインの修正を実現しているので、上記
動作によってアドレスポインタ配列を希望する修正時点
まで戻してやることにより、プログラムの修正の復旧が
実現される。
【0056】次に、プログラムの修正および復旧に伴う
記憶装置2の内容の変化について、具体的に説明する。 いま、プログラムライン記憶領域41の内容が図35の
ようであり、アドレスポインタ記憶領域42の内容が図
36のようであるとする。プログラムライン記憶領域4
1の内容を変えずに、アドレスポインタ記憶領域42の
内容を図37のように修正すると、修正記録記憶領域4
3の内容は図38のようになる。
記憶装置2の内容の変化について、具体的に説明する。 いま、プログラムライン記憶領域41の内容が図35の
ようであり、アドレスポインタ記憶領域42の内容が図
36のようであるとする。プログラムライン記憶領域4
1の内容を変えずに、アドレスポインタ記憶領域42の
内容を図37のように修正すると、修正記録記憶領域4
3の内容は図38のようになる。
【0057】さらにプログラムライン記憶領域41の内
容を図39のように修正し、アドレスポインタ記憶領域
42の内容を図40のように修正すると、修正記録記憶
領域43の内容は図41のようになる。そして2回目の
修正後、1回目の修正の状態に復旧した場合、プログラ
ムライン記憶領域41の内容は変化せず、アドレスポイ
ンタ記憶領域42の内容は図42のようになり、修正記
録記憶領域43の内容は図43のようになる。
容を図39のように修正し、アドレスポインタ記憶領域
42の内容を図40のように修正すると、修正記録記憶
領域43の内容は図41のようになる。そして2回目の
修正後、1回目の修正の状態に復旧した場合、プログラ
ムライン記憶領域41の内容は変化せず、アドレスポイ
ンタ記憶領域42の内容は図42のようになり、修正記
録記憶領域43の内容は図43のようになる。
【0058】なお実施例1,2において、プログラム装
置6からCPU1に修正記録の読み出し指令が送られる
と、CPU1は修正箇所記憶領域35および修正内容記
憶領域36や修正記録記憶領域43の内容をプログラム
装置6とプリンタ7と外部記憶装置8とに出力する。こ
れによりプログラム装置6は修正内容等をディスプレイ
に表示し、プリンタ7は修正内容等をプリントアウトし
、外部記憶装置8は修正内容等を記憶する。
置6からCPU1に修正記録の読み出し指令が送られる
と、CPU1は修正箇所記憶領域35および修正内容記
憶領域36や修正記録記憶領域43の内容をプログラム
装置6とプリンタ7と外部記憶装置8とに出力する。こ
れによりプログラム装置6は修正内容等をディスプレイ
に表示し、プリンタ7は修正内容等をプリントアウトし
、外部記憶装置8は修正内容等を記憶する。
【0059】このように、任意回数修正したプログラム
を任意の修正時点に復旧することができるので、デバグ
等の作業能率を良好に向上させることができる。また上
記各実施例のように、修正の回数や責任者名や説明文等
を記憶しておけば、修正の経緯や理由等がより明確にな
り、デバグ等の作業をより能率的に行える。なお、上記
各実施例では修正の復旧を自動的に行うようにしたが、
修正箇所だけを記憶するように構成してもよい。この場
合、修正箇所が明確になり、デバグ等の作業を能率的に
行える。
を任意の修正時点に復旧することができるので、デバグ
等の作業能率を良好に向上させることができる。また上
記各実施例のように、修正の回数や責任者名や説明文等
を記憶しておけば、修正の経緯や理由等がより明確にな
り、デバグ等の作業をより能率的に行える。なお、上記
各実施例では修正の復旧を自動的に行うようにしたが、
修正箇所だけを記憶するように構成してもよい。この場
合、修正箇所が明確になり、デバグ等の作業を能率的に
行える。
【0060】また、修正の日付だけを記憶するように構
成してもよい。この場合、修正の日付が明確になり、デ
バグ等の作業を能率的に行える。また、修正の内容だけ
を記憶するように構成してもよい。この場合、修正の内
容が明確になり、デバグ等の作業を能率的に行える。ま
た、上記各実施例では記憶装置2として電源バックアッ
プされたRAMを用いたが、記憶装置2として例えばハ
ードディスク装置やフレキシブルディスク装置等を用い
てもよい。要するに記憶装置2は、停電時にも記憶内容
が消失せず、かつ書き込みおよび読み出しが自在に行え
るものであればよい。
成してもよい。この場合、修正の日付が明確になり、デ
バグ等の作業を能率的に行える。また、修正の内容だけ
を記憶するように構成してもよい。この場合、修正の内
容が明確になり、デバグ等の作業を能率的に行える。ま
た、上記各実施例では記憶装置2として電源バックアッ
プされたRAMを用いたが、記憶装置2として例えばハ
ードディスク装置やフレキシブルディスク装置等を用い
てもよい。要するに記憶装置2は、停電時にも記憶内容
が消失せず、かつ書き込みおよび読み出しが自在に行え
るものであればよい。
【0061】
【発明の効果】以上説明したように本発明によれば、記
憶装置に、プログラムを修正する毎にプログラムのどの
箇所が修正されたかの記録をプログラムの修正記録とし
て記憶させる構成としたので、修正箇所が明確になり、
デバグ等の作業を能率的に行える。
憶装置に、プログラムを修正する毎にプログラムのどの
箇所が修正されたかの記録をプログラムの修正記録とし
て記憶させる構成としたので、修正箇所が明確になり、
デバグ等の作業を能率的に行える。
【0062】また、日付を判断するための時計手段を設
け、記憶装置に、プログラムを修正する毎にその日付を
時計手段から読み込んでプログラムの修正記録として記
憶させる構成とすることにより、修正の日付が明確にな
り、デバグ等の作業を能率的に行える。また、記憶装置
に、プログラムを修正する毎にプログラムがどのように
修正されたかの記録をプログラムの修正記録として記憶
させる構成とすることにより、修正の内容が明確になり
、デバグ等の作業を能率的に行える。
け、記憶装置に、プログラムを修正する毎にその日付を
時計手段から読み込んでプログラムの修正記録として記
憶させる構成とすることにより、修正の日付が明確にな
り、デバグ等の作業を能率的に行える。また、記憶装置
に、プログラムを修正する毎にプログラムがどのように
修正されたかの記録をプログラムの修正記録として記憶
させる構成とすることにより、修正の内容が明確になり
、デバグ等の作業を能率的に行える。
【0063】また、記憶装置に、プログラムを修正する
毎にプログラムがどのように修正されたかの記録をプロ
グラムの修正記録として記憶させて、記憶装置に記憶し
ている修正記録を用いてプログラムを修正前の状態に復
旧する復旧手段を設けることにより、任意回数修正した
プログラムを任意の修正時点に復旧することができるの
で、デバグ等の作業能率を良好に向上させることができ
る。
毎にプログラムがどのように修正されたかの記録をプロ
グラムの修正記録として記憶させて、記憶装置に記憶し
ている修正記録を用いてプログラムを修正前の状態に復
旧する復旧手段を設けることにより、任意回数修正した
プログラムを任意の修正時点に復旧することができるの
で、デバグ等の作業能率を良好に向上させることができ
る。
【0064】また、記憶装置に、プログラムライン記憶
領域と、アドレスポインタ記憶領域とを設け、プログラ
ムライン記憶領域に、任意数の命令の集まりからなりか
つ最後に区切り命令を有するプログラムラインを任意数
記憶させ、アドレスポインタ記憶領域に、プログラムラ
インの先頭アドレスを所望の順序で任意数記憶させて、
アドレスポインタ記憶領域に記憶させた先頭アドレスに
よりプログラムラインを順次呼び出してそのプログラム
ラインに含まれる命令を逐次実行する構成とし、さらに
記憶装置に、プログラムを修正する毎に、修正の種類と
、修正の対象とされたアドレスポインタのアドレスと、
修正の対象とされたアドレスポインタの修正前の内容と
を、プログラムの修正記録として記憶させる構成とする
ことにより、修正の種類と箇所と内容とが明確になり、
デバグ等の作業を能率的に行えると共に、プログラムの
変更が容易であり、作業内容の変更に伴うロボットの動
作変更や、設置時のプログラムのデバグ等を能率良く行
える。
領域と、アドレスポインタ記憶領域とを設け、プログラ
ムライン記憶領域に、任意数の命令の集まりからなりか
つ最後に区切り命令を有するプログラムラインを任意数
記憶させ、アドレスポインタ記憶領域に、プログラムラ
インの先頭アドレスを所望の順序で任意数記憶させて、
アドレスポインタ記憶領域に記憶させた先頭アドレスに
よりプログラムラインを順次呼び出してそのプログラム
ラインに含まれる命令を逐次実行する構成とし、さらに
記憶装置に、プログラムを修正する毎に、修正の種類と
、修正の対象とされたアドレスポインタのアドレスと、
修正の対象とされたアドレスポインタの修正前の内容と
を、プログラムの修正記録として記憶させる構成とする
ことにより、修正の種類と箇所と内容とが明確になり、
デバグ等の作業を能率的に行えると共に、プログラムの
変更が容易であり、作業内容の変更に伴うロボットの動
作変更や、設置時のプログラムのデバグ等を能率良く行
える。
【0065】また、記憶装置に、プログラムライン記憶
領域と、アドレスポインタ記憶領域とを設け、プログラ
ムライン記憶領域に、任意数の命令の集まりからなりか
つ最後に区切り命令を有するプログラムラインを任意数
記憶させ、アドレスポインタ記憶領域に、プログラムラ
インの先頭アドレスを所望の順序で任意数記憶させて、
アドレスポインタ記憶領域に記憶させた先頭アドレスに
よりプログラムラインを順次呼び出してそのプログラム
ラインに含まれる命令を逐次実行する構成とし、さらに
記憶装置に、プログラムを修正する毎に、修正の種類と
、修正の対象とされたアドレスポインタのアドレスと、
修正の対象とされたアドレスポインタの修正前の内容と
を、プログラムの修正記録として記憶させて、記憶装置
に記憶している修正記録を用いてプログラムを修正前の
状態に復旧する復旧手段を設けることにより、任意回数
修正したプログラムを任意の修正時点に復旧することが
できるので、デバグ等の作業能率を良好に向上させるこ
とができると共に、プログラムの変更が容易であり、作
業内容の変更に伴うロボットの動作変更や、設置時のプ
ログラムのデバグ等を能率良く行えるという優れた効果
を奏する。
領域と、アドレスポインタ記憶領域とを設け、プログラ
ムライン記憶領域に、任意数の命令の集まりからなりか
つ最後に区切り命令を有するプログラムラインを任意数
記憶させ、アドレスポインタ記憶領域に、プログラムラ
インの先頭アドレスを所望の順序で任意数記憶させて、
アドレスポインタ記憶領域に記憶させた先頭アドレスに
よりプログラムラインを順次呼び出してそのプログラム
ラインに含まれる命令を逐次実行する構成とし、さらに
記憶装置に、プログラムを修正する毎に、修正の種類と
、修正の対象とされたアドレスポインタのアドレスと、
修正の対象とされたアドレスポインタの修正前の内容と
を、プログラムの修正記録として記憶させて、記憶装置
に記憶している修正記録を用いてプログラムを修正前の
状態に復旧する復旧手段を設けることにより、任意回数
修正したプログラムを任意の修正時点に復旧することが
できるので、デバグ等の作業能率を良好に向上させるこ
とができると共に、プログラムの変更が容易であり、作
業内容の変更に伴うロボットの動作変更や、設置時のプ
ログラムのデバグ等を能率良く行えるという優れた効果
を奏する。
【図1】本発明の一実施例におけるロボットの制御装置
に含まれる記憶装置の記憶領域の説明図である。
に含まれる記憶装置の記憶領域の説明図である。
【図2】同制御装置の構成図である。
【図3】同制御装置の電源投入時の動作を説明するフロ
ーチャートである。
ーチャートである。
【図4】同制御装置の実行モード時の動作を説明するフ
ローチャートである。
ローチャートである。
【図5】同制御装置の読み込みモード時の動作を説明す
るフローチャートである。
るフローチャートである。
【図6】同制御装置の修正モード時の動作の前半部分を
説明するフローチャートである。
説明するフローチャートである。
【図7】同制御装置の修正モード時の動作の後半部分を
説明するフローチャートである。
説明するフローチャートである。
【図8】同制御装置のステップ設定動作を説明するフロ
ーチャートである。
ーチャートである。
【図9】同制御装置の削除動作を説明するフローチャー
トである。
トである。
【図10】同制御装置の挿入動作を説明するフローチャ
ートである。
ートである。
【図11】同制御装置の復旧モード時の動作の一部を説
明するフローチャートである。
明するフローチャートである。
【図12】同制御装置の復旧モード時の動作の他の一部
を説明するフローチャートである。
を説明するフローチャートである。
【図13】同制御装置の復旧モード時の動作の残りを説
明するフローチャートである。
明するフローチャートである。
【図14】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図15】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図16】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図17】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図18】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図19】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図20】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図21】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図22】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図23】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図24】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図25】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図26】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図27】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図28】本発明の別の実施例におけるロボットの制御
装置に含まれる記憶装置の記憶領域の説明図である。
装置に含まれる記憶装置の記憶領域の説明図である。
【図29】同制御装置の実行モード時の動作を説明する
フローチャートである。
フローチャートである。
【図30】同制御装置の修正モード時の動作を説明する
フローチャートである。
フローチャートである。
【図31】同制御装置のライン設定動作を説明するフロ
ーチャートである。
ーチャートである。
【図32】同制御装置の削除動作を説明するフローチャ
ートである。
ートである。
【図33】同制御装置の挿入動作を説明するフローチャ
ートである。
ートである。
【図34】同制御装置の復旧モード時の動作を説明する
フローチャートである。
フローチャートである。
【図35】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図36】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図37】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図38】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図39】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図40】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図41】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図42】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
【図43】同制御装置に含まれる記憶装置の記憶内容の
変化の説明図である。
変化の説明図である。
2 記憶装置
3 時計手段
Claims (6)
- 【請求項1】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、前記記憶
装置に、前記プログラムを修正する毎にプログラムのど
の箇所が修正されたかの記録をプログラムの修正記録と
して記憶させる構成としたことを特徴とするロボットの
制御装置。 - 【請求項2】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、日付を判
断するための時計手段を設け、前記記憶装置に、前記プ
ログラムを修正する毎にその日付を前記時計手段から読
み込んでプログラムの修正記録として記憶させる構成と
したことを特徴とするロボットの制御装置。 - 【請求項3】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、前記記憶
装置に、前記プログラムを修正する毎にプログラムがど
のように修正されたかの記録をプログラムの修正記録と
して記憶させる構成としたことを特徴とするロボットの
制御装置。 - 【請求項4】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、前記記憶
装置に、前記プログラムを修正する毎にプログラムがど
のように修正されたかの記録をプログラムの修正記録と
して記憶させて、前記記憶装置に記憶している前記修正
記録を用いてプログラムを修正前の状態に復旧する復旧
手段を設けたことを特徴とするロボットの制御装置。 - 【請求項5】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、前記記憶
装置に、プログラムライン記憶領域と、アドレスポイン
タ記憶領域とを設け、前記プログラムライン記憶領域に
、任意数の命令の集まりからなりかつ最後に区切り命令
を有するプログラムラインを任意数記憶させ、前記アド
レスポインタ記憶領域に、前記プログラムラインの先頭
アドレスを所望の順序で任意数記憶させて、前記アドレ
スポインタ記憶領域に記憶させた先頭アドレスにより前
記プログラムラインを順次呼び出してそのプログラムラ
インに含まれる命令を逐次実行する構成とし、さらに前
記記憶装置に、前記プログラムを修正する毎に、修正の
種類と、修正の対象とされたアドレスポインタのアドレ
スと、修正の対象とされたアドレスポインタの修正前の
内容とを、プログラムの修正記録として記憶させる構成
としたことを特徴とするロボットの制御装置。 - 【請求項6】 記憶装置に記憶したプログラムに従っ
て目的の作業を決められた手順で遂行するストアードプ
ログラム方式のロボットの制御装置において、前記記憶
装置に、プログラムライン記憶領域と、アドレスポイン
タ記憶領域とを設け、前記プログラムライン記憶領域に
、任意数の命令の集まりからなりかつ最後に区切り命令
を有するプログラムラインを任意数記憶させ、前記アド
レスポインタ記憶領域に、前記プログラムラインの先頭
アドレスを所望の順序で任意数記憶させて、前記アドレ
スポインタ記憶領域に記憶させた先頭アドレスにより前
記プログラムラインを順次呼び出してそのプログラムラ
インに含まれる命令を逐次実行する構成とし、さらに前
記記憶装置に、前記プログラムを修正する毎に、修正の
種類と、修正の対象とされたアドレスポインタのアドレ
スと、修正の対象とされたアドレスポインタの修正前の
内容とを、プログラムの修正記録として記憶させて、前
記記憶装置に記憶している前記修正記録を用いてプログ
ラムを修正前の状態に復旧する復旧手段を設けたことを
特徴とするロボットの制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP455891A JPH04236604A (ja) | 1991-01-18 | 1991-01-18 | ロボットの制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP455891A JPH04236604A (ja) | 1991-01-18 | 1991-01-18 | ロボットの制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04236604A true JPH04236604A (ja) | 1992-08-25 |
Family
ID=11587378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP455891A Pending JPH04236604A (ja) | 1991-01-18 | 1991-01-18 | ロボットの制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04236604A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017217734A (ja) * | 2016-06-08 | 2017-12-14 | 三菱電機株式会社 | ロボット制御装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418450A (en) * | 1987-06-18 | 1989-01-23 | Tatsuku & Teimu Enterp Ltd | Method of treating wheat, method and device for milling flour, method of removing exodermis and method of pretreating wheat |
JPH01184507A (ja) * | 1988-01-19 | 1989-07-24 | Toyota Motor Corp | 溶接ロボットの制御装置 |
JPH0242554A (ja) * | 1988-08-03 | 1990-02-13 | Fanuc Ltd | プログラムローディング方式 |
-
1991
- 1991-01-18 JP JP455891A patent/JPH04236604A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6418450A (en) * | 1987-06-18 | 1989-01-23 | Tatsuku & Teimu Enterp Ltd | Method of treating wheat, method and device for milling flour, method of removing exodermis and method of pretreating wheat |
JPH01184507A (ja) * | 1988-01-19 | 1989-07-24 | Toyota Motor Corp | 溶接ロボットの制御装置 |
JPH0242554A (ja) * | 1988-08-03 | 1990-02-13 | Fanuc Ltd | プログラムローディング方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017217734A (ja) * | 2016-06-08 | 2017-12-14 | 三菱電機株式会社 | ロボット制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04236604A (ja) | ロボットの制御装置 | |
JP2552738B2 (ja) | データ処理装置 | |
JP2731047B2 (ja) | プログラムのオペランドチェック方式 | |
JP2758624B2 (ja) | マイクロプログラムの調速方式 | |
JP3490191B2 (ja) | 計算機 | |
JPH07200350A (ja) | ソフトウェアデバッガ | |
JPS59178552A (ja) | 自己診断制御方式 | |
JP2568708B2 (ja) | ダブルリンクキュー更新方法 | |
JPH0561717A (ja) | プログラムデバツグ装置 | |
JPS5914064A (ja) | 電子計算機の時系列デ−タ処理方式 | |
JPH012103A (ja) | プログラマブルコントロ−ラ | |
JPH03263265A (ja) | ベクトル処理装置 | |
JPH1027153A (ja) | バス転送装置 | |
JPS61204747A (ja) | 論理装置の情報読出・書込方式 | |
JPS615338A (ja) | 画面編集デ−タ復元方式 | |
JPH04181437A (ja) | プログラマブルコントローラのプログラミング装置 | |
JPS62237533A (ja) | デ−タ処理装置 | |
JPH03147130A (ja) | オペレーティングシステム修正方式 | |
JPH07160543A (ja) | 履歴情報記憶方式 | |
JPH06295241A (ja) | プログラム性能評価方式 | |
JPH04256039A (ja) | 命令カウント可能な情報処理装置 | |
JPH0578052B2 (ja) | ||
JPH0367340A (ja) | シミュレータ | |
JPH052251U (ja) | 情報処理装置 | |
JPH1049446A (ja) | コンフィグレーションデータ復旧装置 |