JPH04232506A - ロボットの制御装置 - Google Patents

ロボットの制御装置

Info

Publication number
JPH04232506A
JPH04232506A JP40863790A JP40863790A JPH04232506A JP H04232506 A JPH04232506 A JP H04232506A JP 40863790 A JP40863790 A JP 40863790A JP 40863790 A JP40863790 A JP 40863790A JP H04232506 A JPH04232506 A JP H04232506A
Authority
JP
Japan
Prior art keywords
program
storage area
instruction
address
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP40863790A
Other languages
English (en)
Inventor
Masashi Yagisawa
八 木 澤  正 史
Masaaki Yasueda
安 枝  政 昭
Katsuya Osanai
長 内  克 也
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.)
Nitto Seiko Co Ltd
Original Assignee
Nitto Seiko Co Ltd
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 Nitto Seiko Co Ltd filed Critical Nitto Seiko Co Ltd
Priority to JP40863790A priority Critical patent/JPH04232506A/ja
Publication of JPH04232506A publication Critical patent/JPH04232506A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はロボットの制御装置に関
するものである。
【0002】
【従来の技術】従来のロボットの制御装置においては、
目的とする作業を遂行するために必要な命令を、その命
令を実行する順序に従って記憶装置のプログラム記憶領
域に記憶し、最初から順次実行することにより目的の作
業を遂行させるという制御方式を採用していた。
【0003】
【発明が解決しようとする課題】従来のロボットの制御
装置における制御方式は、非常に単純で判り易く、記憶
装置の容量も比較的少なくて済むので、広く採用されて
きた。しかしこの方式では、完成したプログラムを前か
ら順に実行する場合には良いが、プログラムの修正時に
不都合を生じる場合がある。即ち、ロボットの制御装置
においては、プログラム装置内のプログラムを修正して
制御装置に転送するのではなく、制御装置内の記憶装置
に記憶されているプログラムを直接修正するオンライン
プログラミングを行うことが多いが、この場合、プログ
ラムの途中に命令を追加しようとすれば、追加しようと
する命令の長さ分だけその命令以降の命令を後ろにずら
せ、空いた所に命令を追加する必要があるため、プログ
ラム記憶領域のほぼ全域にわたってプログラムを書き直
さなければならないことがある。
【0004】また、ロボットの命令の種類が増え、機能
が向上するにつれて、語長の長い命令が必要となり、そ
の結果命令語長が命令によって異なったり、また命令に
よっては引数の個数が可変となって結果として語長が使
用する毎に変わる場合が生じたりしてきた。このように
命令語長が可変であったり、引数の個数が可変であった
りすると、命令を実行する順番に記憶装置のプログラム
記憶領域に記憶して最初から順次実行する方法では、オ
ンラインプログラム修正時等に前記の不都合に加えて次
のような不都合が生じる。即ち、指定ステップの命令を
読み出そうとすると、最初から順番を数えなければ読み
出せない。またオンラインデバグ時にステップを遡って
プログラムを読み出したい場合が生じるが、1命令の語
長が可変であるために、最初から順番に読み出していか
ない限り、どれが命令でありどれが引数のデータである
かが判らず、そのままではステップを遡ることができな
い。また命令といえども2進数の数値であるので、命令
とデータとの区別が付くようにしようとすると、命令と
同じ値を持つデータが使えず、データの取り得る値に制
約ができてしまう。
【0005】本発明はかかる事情に鑑みて成されたもの
であり、プログラムの変更やデバグの容易なロボットの
制御装置を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は、記憶装置に記
憶したプログラムに従って目的の作業を決められた手順
で遂行するストアードプログラム方式のロボットの制御
装置において、前記記憶装置に、プログラムライン記憶
領域と、アドレスポインタ記憶領域とを設け、前記プロ
グラムライン記憶領域に、任意数の命令の集まりからな
りかつ最後に区切り命令を有するプログラムラインを任
意数記憶させ、前記アドレスポインタ記憶領域に、前記
プログラムラインの先頭アドレスを所望の順序で任意数
記憶させて、前記アドレスポインタ記憶領域に記憶させ
た先頭アドレスにより前記プログラムラインを順次呼び
出してそのプログラムラインに含まれる命令を逐次実行
する構成としたことを特徴としている。
【0007】
【作用】記憶装置には、プログラムライン記憶領域と、
アドレスポインタ記憶領域とが設けられる。プログラム
ライン記憶領域には、任意数の命令の集まりからなり、
かつ最後に区切り命令を有する、プログラムラインが任
意数記憶される。アドレスポインタ記憶領域には、プロ
グラムラインの先頭アドレスが所望の順序で任意数記憶
される。そしてアドレスポインタ記憶領域に記憶された
先頭アドレスにより、プログラムラインが順次呼び出さ
れ、プログラムラインに含まれる命令が逐次実行される
【0008】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図2は本発明の一実施例におけるロボットの
制御装置の構成図で、図外の電動機等を駆動することに
よりロボットを制御するCPU1には、電源バックアッ
プされたRAM等からなりプログラム等を記憶する記憶
装置2や、CPU1に信号を入出力するためのI/Oイ
ンターフェイス3が接続されており、これらCPU1と
記憶装置2とI/Oインターフェイス3とにより制御装
置4が構成されている。I/Oインターフェイス3には
、プログラムの作成や変更等を行うためのプログラム装
置5が接続されている。
【0009】記憶装置2には、図1のように、任意数の
命令の集まりからなりかつ最後に区切り命令を有するプ
ログラムラインを任意数記憶するプログラムライン記憶
領域7と、プログラムラインの先頭アドレスを所望の順
序で任意数記憶するアドレスポインタ記憶領域8と、プ
ログラムカウンタ9と、実行命令アドレスレジスタ10
とが設けられている。例えば、プログラムライン記憶領
域7は、アドレスA1から始まる64Kバイトのメモリ
領域であり、アドレスポインタ記憶領域8は、2バイト
のアドレスポインタを3000点記憶するために必要な
アドレスA2から始まる6Kバイトのメモリ領域である
。プログラムカウンタ9および実行命令アドレスレジス
タ10は、記憶装置2の決められたアドレスに確保され
た各々2バイトのメモリ領域により構成されている。 なお、各プログラムラインはロボット用の言語の1行分
に対応しており、各アドレスポインタはプログラムライ
ンの先頭アドレスを内容としている。
【0010】次に動作を説明する。電源が投入されると
、CPU1は、図3のフローチャートのように、先ずス
テップ1で実行指令が入力されているか否かを判断し、
入力されていればステップ2に進んで実行モードの動作
を行なった後、ステップ1に戻る。ステップ1において
実行指令が入力されていなければステップ3に進んで、
プログラム読み込み指令が入力されているか否かを判断
し、入力されていればステップ4に進んでプログラム読
み込みモードの動作を行なった後、ステップ1に戻る。 ステップ3においてプログラム読み込み指令が入力され
ていなければステップ5に進んで、デバグ指令が入力さ
れているか否かを判断し、入力されていればステップ6
に進んでデバグモードの動作を行なった後、ステップ1
に戻る。ステップ5においてデバグ指令が入力されてい
ないと判断すればステップ1に戻る。  ところで、プ
ログラムはオペレータによりプログラム装置5を用いて
ロボット用の言語で作成され、これがプログラム装置5
により変換プログラムを用いて中間言語に変換される。 このとき、ロボット用の言語によるソースプログラムの
1行が、中間言語によるプログラムの1ステップ即ち1
個のプログラムラインになる。換言すれば、ソースプロ
グラムの改行記号がプログラムラインの末尾の区切り命
令に変換される。そしてこの中間言語によるプログラム
が、プログラム装置5からI/Oインターフェイス3を
介してCPU1に転送される。
【0011】CPU1は、プログラム読み込みモードに
おいて、プログラム装置5から転送されてきたプログラ
ムを記憶装置2のプログラムライン記憶領域7に格納す
る。即ちCPU1は、転送されてきた最初の命令をプロ
グラムライン記憶領域7の先頭に格納し、その相対アド
レス0をアドレスポインタ記憶領域8の先頭のアドレス
ポインタに格納する。続いて送られてきた命令を区切り
命令が来るまで順次プログラムライン記憶領域7に格納
し、区切り命令までを1つのプログラムラインとする。 区切り命令の次の命令が次のプログラムラインの先頭命
令であり、その命令を格納するプログラムライン記憶領
域7のアドレスをアドレスポインタ記憶領域8の2番目
のアドレスポインタに格納する。続いて送られてくる命
令を、区切り命令までを1つのプログラムラインとし、
プログラムラインの先頭命令が格納されたプログラムラ
イン記憶領域7のアドレスをアドレスポインタ記憶領域
8に格納しながら、順次プログラムの転送が終了するま
でプログラムライン記憶領域7に格納する。
【0012】このときのCPU1の動作を、図4のフロ
ーチャートを参照しながら説明する。先ずステップ1で
、プログラムカウンタ9および実行命令アドレスレジス
タ10の内容を0にする。次にステップ2に進んで、プ
ログラムカウンタ9の内容を2倍してA2を加えた値を
アドレスとするアドレスポインタ記憶領域8のメモリに
実行命令アドレスレジスタ10の内容を2バイトデータ
として書き込む。今回の場合、アドレスポインタ記憶領
域8のアドレスA2の内容が0になったことになる。 この0は2バイトデータであるので、実際にはアドレス
A2とアドレスA2+1とが使用されている。次にステ
ップ3に進んでプログラム装置5から命令を読み込み、
ステップ4に進んでステップ3において読み込んだ命令
がプログラムEND命令であるか否かを判断する。プロ
グラムEND命令でなければステップ5に進んで、ステ
ップ3において読み込んだ命令を、実行命令アドレスレ
ジスタ10の内容にA1を加えた値を先頭アドレスとし
てプログラムライン記憶領域7のメモリに書き込む。今
回の場合、アドレスA1を先頭アドレスとしてプログラ
ムライン記憶領域7に命令が格納されたことになる。次
にステップ6に進んで、実行命令アドレスレジスタ10
の内容に、ステップ3で読み込んだ命令のバイト数を加
える。次にステップ7に進んで、ステップ5で読み込ん
だ命令が区切り命令であるか否かを判断し、区切り命令
でなければステップ3に戻る。ステップ7においてステ
ップ3で読み込んだ命令が区切り命令であると判断すれ
ばステップ8に進んで、プログラムカウンタ9の内容を
1進めた後、ステップ2に戻る。ステップ4においてス
テップ3で読み込んだ命令がプログラムEND命令であ
ると判断すれば、このルーチンを終了する。
【0013】通常の作業時には、CPU1は実行モード
の動作を行う。即ち、CPU1は先ずプログラムカウン
タ9の内容すなわちプログラムの実行ステップ番号を読
み出し、その値を2倍してアドレスポインタ記憶領域8
の先頭アドレスであるA2を加えた値をアドレスとする
アドレスポインタ記憶領域8のメモリから2バイトのデ
ータとしてプログラムラインの先頭アドレスを読み出し
、実行命令アドレスレジスタ10に格納する。このアド
レスはプログラムライン記憶領域7の相対アドレスであ
るので、この値にプログラムライン記憶領域7の先頭ア
ドレスであるA1を加えた値をアドレスとするプログラ
ムライン記憶領域7のメモリから命令を読み出して実行
する。その命令が分岐命令や区切り命令でない場合には
、実行命令アドレスレジスタ10の内容に、今実行した
命令のバイト数を加算し、その値にA1を加えた値をア
ドレスとするプログラムライン記憶領域7のメモリから
命令を読み出して実行する。分岐命令か区切り命令を読
み出すまでこの処理を繰り返す。
【0014】このときのCPU1の動作を、図5のフロ
ーチャートを参照しながら説明する。先ずステップ1で
、プログラムカウンタ9を初期設定し、ステップ2に進
んで、プログラムカウンタ9の内容を2倍してA2を加
えた値をアドレスとするアドレスポインタ記憶領域8の
メモリから2バイトのアドレスデータを読み込み、実行
命令アドレスレジスタ10に格納する。次にステップ3
に進んで、プログラムカウンタ9の内容を1進め、ステ
ップ4に進んで、実行命令アドレスレジスタ10の内容
の値にA1を加えた値をアドレスとするプログラムライ
ン記憶領域7のメモリから命令を読み出す。次にステッ
プ5に進んで、ステップ4において読み出した命令がE
ND命令であるか否かを判断し、END命令でなければ
ステップ6に進んで、ステップ4において読み出した命
令が区切り命令であるか否かを判断し、区切り命令でな
ければステップ7に進んで、ステップ4において読み出
した命令が分岐命令であるか否かを判断し、分岐命令で
なければステップ8に進んで命令を実行する。次にステ
ップ9に進んで、実行命令アドレスレジスタ10の内容
にステップ4で読み出した命令のバイト数を加えた後、
ステップ4に戻る。ステップ7においてステップ4で読
み出した命令が分岐命令であると判断すればステップ1
0に進んで、プログラムカウンタ9の内容を分岐先に設
定したり、CALL命令の場合には戻り先のステップ数
を保存したり等、各種の分岐処理を実行した後、ステッ
プ2に戻る。ステップ6において、ステップ4で読み出
した命令が区切り命令であると判断すれば、ステップ2
に戻る。ステップ5において、ステップ4で読み出した
命令がEND命令であると判断すれば、このルーチンを
終了する。
【0015】プログラムのデバグ時には、デバグ機能を
備えたプログラム装置5よりI/Oインターフェイス3
を介してデバグコマンドおよびその引数がCPU1に送
られてくる。そしてCPU1はデバグモードの動作を行
う。即ち、CPU1は、プログラム装置5からのコマン
ドを解釈し、ステップの指定コマンドである場合には、
引数で指定されたステップ番号をプログラムカウンタ9
にセットすることにより現在ステップを指定されたステ
ップに変更する。
【0016】またステップを1ステップ戻るコマンドで
ある場合には、プログラムカウンタ9の内容を1減じる
。またステップを1ステップ先に送るコマンドである場
合には、プログラムカウンタ9の内容を1増加させる。 またプログラムの追加コマンドである場合には、命令の
追加動作に入り、プログラムカウンタ9の内容で示され
る番号以降のアドレスポインタ、すなわちプログラムカ
ウンタ9の内容を2倍してA2を加えた値をアドレスと
するアドレスポインタ以降のアドレスポインタを2バイ
トずつ後ろにずらし、プログラムライン記憶領域7のプ
ログラムラインが記憶されている最後の相対アドレスを
探す。この最後の相対アドレスはプログラムの格納時に
記憶装置2の適当な位置に記憶しておくとよい。そして
最後の相対アドレスの次の相対アドレスの値を、アドレ
スポインタ記憶領域8の空いた所、すなわちプログラム
カウンタ9の内容で指定されたアドレスポインタに格納
する。そしてI/Oインターフェイス3を介してプログ
ラム装置5にデータ転送可の信号を送る。これによりプ
ログラム装置5からプログラムラインが1つ転送され、
CPU1はプログラム装置5から転送されてくるプログ
ラムラインに含まれる命令を順次プログラムライン記憶
領域7の既にプログラムラインが格納されている部分の
次に追加する。区切り命令が転送されてくると、この命
令をプログラムライン記憶領域7に追加した時点でプロ
グラムの追加動作を終了する。
【0017】また現在ステップのプログラムを1ステッ
プ読み出すコマンドである場合には、プログラムの1ス
テップ読み出し動作に入り、プログラムカウンタ9の内
容を読み出し、その値で示されるアドレスのアドレスポ
インタ記憶領域8のメモリからプログラムライン記憶領
域7の相対アドレスを読み出し、その値にA1を加えた
値をアドレスとするプログラムライン記憶領域7のメモ
リからプログラムラインを読み出し、I/Oインターフ
ェイス3を介してプログラム装置5に転送する。区切り
命令を読み出して転送した時点で、プログラムの1ステ
ップ読み出し動作を終了する。
【0018】またプログラムの削除コマンドである場合
には、プログラムカウンタ9の内容に1を加えて2倍し
、それにA2を加えた値をアドレスとするアドレスポイ
ンタ記憶領域8のメモリ以降の内容を2バイトずつアド
レスの小さい方向にずらせる。なお、指定したステップ
のプログラムを読み出す場合には、プログラム装置5か
らCPU1に先ずステップ指定コマンドが転送され、次
に現在ステップのプログラムを1ステップ読み出すコマ
ンドが転送される。
【0019】また、ステップを遡ってプログラムを読み
出したい場合も同様に、先ず1ステップ戻るコマンドが
転送され、次に現在ステップのプログラムを1ステップ
読み出すコマンドが転送される。このときのCPU1の
動作を、図6のフローチャートを参照しながら説明する
。先ずステップ1でプログラム装置5からのコマンドを
読み込む。次にステップ2に進んで、ステップ1におい
て読み込んだコマンドが終了コマンドであるか否かを判
断し、終了コマンドでなければステップ3に進んで、ス
テップ1において読み込んだコマンドがステップの指定
コマンドであるか否かを判断し、ステップの指定コマン
ドであればステップ4に進んで、指定ステップ数をプロ
グラムカウンタ9に設定した後、ステップ1に戻る。 ステップ3においてステップ1で読み込んだコマンドが
ステップの指定コマンドでないと判断すればステップ5
に進んで、ステップ1で読み込んだコマンドがステップ
を1ステップ戻るコマンドであるか否かを判断し、ステ
ップを1ステップ戻るコマンドであればステップ6に進
んで、プログラムカウンタ9の内容を1減じた後、ステ
ップ1に戻る。ステップ5においてステップ1で読み込
んだコマンドがステップを1ステップ戻るコマンドでな
いと判断すればステップ7に進んで、ステップ1で読み
込んだコマンドがステップを1ステップ先に送るコマン
ドであるか否かを判断し、ステップを1ステップ先に送
るコマンドであればステップ8に進んで、プログラムカ
ウンタ9の内容を1増した後、ステップ1に戻る。ステ
ップ7においてステップ1で読み込んだコマンドがステ
ップを1ステップ先に送るコマンドでないと判断すれば
ステップ9に進んで、ステップ1で読み込んだコマンド
がプログラムの追加コマンドであるか否かを判断し、プ
ログラムの追加コマンドであればステップ10に進んで
1行挿入動作を行った後、ステップ1に戻る。ステップ
9においてステップ1で読み込んだコマンドがプログラ
ムの追加コマンドでないと判断すればステップ11に進
んで、ステップ1で読み込んだコマンドがプログラムの
削除コマンドであるか否かを判断し、プログラムの削除
コマンドであればステップ12に進んで、プログラムカ
ウンタ9の内容に1を加えて2倍し、それにA2を加え
た値をアドレスとするアドレスポインタ記憶領域8のメ
モリ以降の内容を2バイトずつアドレスの小さい方向に
ずらせた後、ステップ1に戻る。ステップ11において
ステップ1で読み込んだコマンドがプログラムの削除コ
マンドでないと判断すればステップ13に進んで、ステ
ップ1で読み込んだコマンドが現在ステップのプログラ
ムを1ステップ読み出すコマンドであるか否かを判断し
、現在ステップのプログラムを1ステップ読み出すコマ
ンドであればステップ14に進んで、読み出し動作を行
った後、ステップ1に戻る。ステップ13においてステ
ップ1で読み込んだコマンドが現在ステップのプログラ
ムを1ステップ読み出すコマンドでないと判断すればス
テップ15に進んで、ステップ1で読み込んだコマンド
が現在ステップのプログラムを1ステップ実行するコマ
ンドであるか否かを判断し、現在ステップのプログラム
を1ステップ実行するコマンドであればステップ16に
進んで、実行動作を行った後、ステップ1に戻る。ステ
ップ15においてステップ1で読み込んだコマンドが現
在ステップのプログラムを1ステップ実行するコマンド
でないと判断すれば、ステップ1に戻る。
【0020】図6のステップ10における1行挿入動作
の詳細について、図7のフローチャートを参照しながら
説明する。先ずステップ1で、プログラムカウンタ9の
内容を2倍してA2を加えた値をアドレストするアドレ
スポインタ記憶領域8のメモリ以降の内容を2バイトず
つアドレスの大きい方向にずらせる。次にステップ2に
進んで、プログラムライン記憶領域7の未使用領域の先
頭アドレスの値からA1を減じた値を実行命令アドレス
レジスタ10に格納する。次にステップ3に進んで、プ
ログラムカウンタ9の内容を2倍してA2を加えた値を
アドレスとするアドレスポインタ記憶領域8のメモリに
、実行命令アドレスレジスタ10の内容を2バイトデー
タとして格納する。次にステップ4に進んで、プログラ
ム装置5にデータ転送可の信号を出力する。次にステッ
プ5に進んで、プログラム装置5からの命令を読み込む
。次にステップ6に進んで、実行命令アドレスレジスタ
10の内容にA1を加えた値をアドレスとするプログラ
ムライン記憶領域7のメモリに、ステップ5において読
み込んだ命令を格納する。次にステップ7に進んで、実
行命令アドレスレジスタ10の内容にステップ5におい
て読み込んだ命令のバイト数を加算する。次にステップ
8に進んで、ステップ5において読み込んだ命令が区切
り命令であるか否かを判断し、区切り命令でなければス
テップ5に戻る。ステップ8においてステップ5で読み
込んだ命令が区切り命令であると判断すれば、このルー
チンを終了して次のルーチンに進む。
【0021】図6のステップ14における読み出し動作
の詳細について、図8のフローチャートを参照しながら
説明する。先ずステップ1で、プログラムカウンタ9の
内容を2倍してA2を加えた値をアドレスとするアドレ
スポインタ記憶領域8のメモリから2バイトのデータを
読み出して実行命令アドレスレジスタ10に格納する。 次にステップ2に進んで、実行命令アドレスレジスタ1
0の内容にA1を加えた値をアドレスとするプログラム
ライン記憶領域7のメモリから命令を読み出す。次にス
テップ3に進んで、ステップ2において読み出した命令
をプログラム装置5に転送する。次にステップ4に進ん
で、実行命令アドレスレジスタ10の内容にステップ2
で読み出した命令のバイト数を加算する。次にステップ
5に進んで、ステップ2で読み出した命令が区切り命令
であるか否かを判断し、区切り命令でなければステップ
2に戻る。ステップ5において、ステップ2で読み出し
た命令が区切り命令であると判断すれば、このルーチン
を終了して次のルーチンに進む。
【0022】図9はプログラムの変更に伴う記憶装置2
の記憶内容の変化の説明図で、プログラムライン記憶領
域7の内容が図9(A)のようであり、アドレスポイン
タ記憶領域8の内容が図9(B)のようである場合、プ
ログラムライン1〜5が順次実行される。そしてプログ
ラムライン3とプログラムライン4との実行順序を入れ
換えたい場合、プログラムライン記憶領域7の内容は変
更せずに、アドレスポインタ記憶領域8の内容を図9(
C)のように変更するだけでよい。なお、図9において
アドレスを示す数字の末尾に付されている記号「H」は
、アドレスを示す数字が16進数であることを表してい
る。勿論、プログラムライン記憶領域7およびアドレス
ポインタ記憶領域8の実際の記憶内容は2値情報である
【0023】このように、記憶装置2にプログラムライ
ン記憶領域7とアドレスポインタ記憶領域8とを設け、
プログラムライン記憶領域7に、任意数の命令の集まり
からなりかつ最後に区切り命令を有するプログラムライ
ンを任意数記憶させ、アドレスポインタ記憶領域8に、
プログラムラインの先頭アドレスを所望の順序で任意数
記憶させて、アドレスポインタ記憶領域8に記憶させた
先頭アドレスによりプグラムラインを順次呼び出してそ
のプグラムラインに含まれる命令を逐次実行するので、
プログラムの変更が容易であり、作業内容の変更に伴う
ロボットの動作変更や、設置時のプログラムのデバグ等
を能率良く行える。即ち、ソースプログラムの1ステッ
プに相当する命令の集まりをプログラムラインとしてプ
ログラムライン記憶領域7に記憶しており、そのプログ
ラムラインの実行順序はプログラムラインの先頭アドレ
スがどういう順序でアドレスポインタ記憶領域8のアド
レスポインタに記憶されているかによって決定されるの
で、プログラムライン記憶領域7に記憶されたプログラ
ムラインの格納順序はプログラム上の実行順序である必
要はない。したがって、プログラムの途中のステップに
プログラムラインを追加しようとする場合には、プログ
ラムライン記憶領域7の未使用領域の先頭に追加しよう
とするプログラムラインを追加し、アドレスポインタ記
憶領域8のそのステップに対応した番号以降のアドレス
ポインタの内容をずらし、その番号のアドレスポインタ
に追加したプログラムラインの先頭アドレスを書き込む
だけでよい。また、指定されたステップの命令を読み出
すには、そのステップに対応した番号のアドレスポイン
タに格納されたアドレスを読み出し、プログラムライン
記憶領域7に格納されている命令をそのアドレスから区
切り命令まで読み出せばよい。また、ステップを遡って
プログラムを読み出したい場合にも、アドレスポインタ
の番号を遡りながらその内容を読み出し、プログラムラ
イン記憶領域7のそのアドレスから格納されているプロ
グラムラインを区切り命令まで読み出せばよい。また、
プログラムの修正時にあるステップに記述された命令を
書き換えたい場合には、ステップ数が変わらない限りは
命令語長や命令数の変化に関係なく、プログラムライン
記憶領域7の未使用領域の先頭に変更後のプログラムラ
インを追加し、そのステップに対応した番号のアドレス
ポインタに追加したプログラムラインの先頭アドレスを
書き込むだけでよい。
【0024】
【発明の効果】以上説明したように本発明によれば、記
憶装置に記憶したプログラムに従って目的の作業を決め
られた手順で遂行するストアードプログラム方式のロボ
ットの制御装置において、前記記憶装置に、プログラム
ライン記憶領域と、アドレスポインタ記憶領域とを設け
、前記プログラムライン記憶領域に、任意数の命令の集
まりからなりかつ最後に区切り命令を有するプログラム
ラインを任意数記憶させ、前記アドレスポインタ記憶領
域に、前記プログラムラインの先頭アドレスを所望の順
序で任意数記憶させて、前記アドレスポインタ記憶領域
に記憶させた先頭アドレスにより前記プログラムライン
を順次呼び出してそのプログラムラインに含まれる命令
を逐次実行する構成としたので、プログラムの変更が容
易であり、作業内容の変更に伴うロボットの動作変更や
、設置時のプログラムのデバグ等を能率良く行えるとい
う優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例におけるロボットの制御装置
の記憶装置の使用領域の説明図である。
【図2】同制御装置の構成図である。
【図3】同制御装置におけるCPUの基本動作を説明す
るフローチャートである。
【図4】同CPUのプログラム読み込み動作を説明する
フローチャートである。
【図5】同CPUのプログラム実行動作を説明するフロ
ーチャートである。
【図6】同CPUのデバグ時の動作を説明するフローチ
ャートである。
【図7】同CPUのデバグ時における挿入動作を説明す
るフローチャートである。
【図8】同CPUのデバグ時における読み出し動作を説
明するフローチャートである。
【図9】プログラムの変更に伴う記憶装置の記憶内容の
変化の説明図である。
【符号の説明】
2    記憶装置 7    プログラムライン記憶領域 8    アドレスポインタ記憶領域

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  記憶装置に記憶したプログラムに従っ
    て目的の作業を決められた手順で遂行するストアードプ
    ログラム方式のロボットの制御装置において、前記記憶
    装置に、プログラムライン記憶領域と、アドレスポイン
    タ記憶領域とを設け、前記プログラムライン記憶領域に
    、任意数の命令の集まりからなりかつ最後に区切り命令
    を有するプログラムラインを任意数記憶させ、前記アド
    レスポインタ記憶領域に、前記プログラムラインの先頭
    アドレスを所望の順序で任意数記憶させて、前記アドレ
    スポインタ記憶領域に記憶させた先頭アドレスにより前
    記プログラムラインを順次呼び出してそのプログラムラ
    インに含まれる命令を逐次実行する構成としたことを特
    徴とするロボットの制御装置。
JP40863790A 1990-12-28 1990-12-28 ロボットの制御装置 Pending JPH04232506A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40863790A JPH04232506A (ja) 1990-12-28 1990-12-28 ロボットの制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40863790A JPH04232506A (ja) 1990-12-28 1990-12-28 ロボットの制御装置

Publications (1)

Publication Number Publication Date
JPH04232506A true JPH04232506A (ja) 1992-08-20

Family

ID=18518068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40863790A Pending JPH04232506A (ja) 1990-12-28 1990-12-28 ロボットの制御装置

Country Status (1)

Country Link
JP (1) JPH04232506A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107252A (ja) * 2004-10-07 2006-04-20 Canon Inc フィルタ装置およびそれを用いた共振抑制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63213028A (ja) * 1987-03-02 1988-09-05 Fuji Electric Co Ltd プログラマブルコントロ−ラ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63213028A (ja) * 1987-03-02 1988-09-05 Fuji Electric Co Ltd プログラマブルコントロ−ラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107252A (ja) * 2004-10-07 2006-04-20 Canon Inc フィルタ装置およびそれを用いた共振抑制方法

Similar Documents

Publication Publication Date Title
CA1131364A (en) Method and system for controlling input/output in process control
US5165026A (en) Programmable controller in which fetching of operand data and fetching of operand addresses are simultaneously performed
US4314332A (en) Memory control system
EP0240606A2 (en) Pipe-line processing system and microprocessor using the system
JPH04232506A (ja) ロボットの制御装置
EP0230536A1 (en) I/O processor for programmable sequence controller
US4884196A (en) System for providing data for an external circuit and related method
US20040034443A1 (en) Numerical controller
JP2515719B2 (ja) 設備群制御方法
JP2880330B2 (ja) プログラマブルコントローラのプログラミング装置
JPS6339928B2 (ja)
CN115374027A (zh) 利用c程序指针及函数参数实现单片机任意io口线操作的方法
US5864691A (en) Central processing unit with a selector that bypasses circuits where processing is not required
JPS6148737B2 (ja)
JP2000029508A (ja) プログラマブルコントローラ
JPS6184705A (ja) プログラマブルコントロ−ラのユ−ザプログラムの変更法
JPH0420481B2 (ja)
JPS6398704A (ja) プログラマブルコントロ−ラ
JP3753442B2 (ja) Dsp装置
JP2982129B2 (ja) マイクロプログラム制御装置
JPS6345603A (ja) プログラマブルコントロ−ラのプログラム格納方式
KR20010011683A (ko) 중앙연산처리장치
JPH04209007A (ja) プログラマブルコントローラのユーザプログラムエディットシステム
JPH09160786A (ja) マイクロプロセッサ
JPS61143856A (ja) マイクロプログラムデバツグ装置