JP2000010616A - ロボット制御システム - Google Patents

ロボット制御システム

Info

Publication number
JP2000010616A
JP2000010616A JP10174993A JP17499398A JP2000010616A JP 2000010616 A JP2000010616 A JP 2000010616A JP 10174993 A JP10174993 A JP 10174993A JP 17499398 A JP17499398 A JP 17499398A JP 2000010616 A JP2000010616 A JP 2000010616A
Authority
JP
Japan
Prior art keywords
program
execution
memory
interpretation
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10174993A
Other languages
English (en)
Inventor
Masahiro Watanabe
辺 昌 裕 渡
Akihide Mochizuki
月 昭 秀 望
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.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine 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 Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP10174993A priority Critical patent/JP2000010616A/ja
Publication of JP2000010616A publication Critical patent/JP2000010616A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ユーザプログラムで制御されるロボットシス
テムにおける実効速度を向上させることのできるロボッ
ト制御システムを提供する。 【解決手段】 システム全体を制御する制御部11とは
別にユーザプログラムを解釈して実行形式に変換する解
釈処理部14を備え、メモリ12から取り出したユーザ
プログラムの解釈はこの解釈処理部14に行わせて実行
形式プログラムに変換し、この実行形式プログラムによ
り駆動部15を制御することにより、制御部の負担が軽
減され、実行速度を向上させることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はロボット制御システ
ムに係り、特に産業用ロボットについてユーザプログラ
ムの高速実行が可能なロボット制御システムに関するも
のである。
【0002】
【従来の技術】ロボットの制御を行うためにユーザ側で
作成されるロボットプログラムは、汎用のロボット言語
が用いられるが、実際の制御を行っている制御装置で用
いられている命令群は、人間が記述するものであり、マ
イクロコンピュータが実行しやすい形式のものではな
い。したがって、従来のロボット制御システムにおいて
は、入力されたユーザプログラムを逐次文字列で解釈し
てロボットに対する命令を制御部において発生させ、こ
れに基づいて位置決め機構やロボットアーム等に設けら
れたモータ等のアクチュエータを制御している。具体的
には、ユーザプログラムの文字列を読み取り、文字その
ものを解釈し、解釈と同時に実行を行っている。
【0003】図3は従来の一般的なロボットシステムに
おけるプログラム実行機構の構成を示すブロック図であ
る。
【0004】システム全体を制御する制御部に相当する
マイクロプロセッサ1にはユーザで作成され、図示しな
いデータ入力装置から入力されたロボットプログラムで
あるユーザプログラムを格納したメモリ2、マイクロプ
ロセッサ1がユーザプログラムを解釈・実行するための
システムプログラムを格納したシステムメモリ3、ユー
ザプログラムにより制御される工作機械等のロボットア
ームや位置決め機構を駆動するための電動機等の駆動部
であるアクチュエータ4が接続されている。
【0005】このプログラム実行機構の動作を図4に示
す。
【0006】処理が開始されると、マイクロプロセッサ
1は、システムメモリ3から取り出したシステムプログ
ラムに基づいてメモリ2から読み出したユーザプログラ
ムを1行ずつ読み込み(ステップS1)、その文字列を
解釈し(ステップS2)、これを実行してワークの位置
決め機構やロボットアームに取り付けられた電動機等の
アクチュエータ4を駆動する(ステップS3)。
【0007】この処理では、ユーザプログラムを一行ず
つ読み込んでおり、プログラムの終了を意味するEND
等の文字列が読み込まれたときには、プログラムの解釈
・実行が終了する(ステップS4)。
【0008】
【発明が解決しようとする課題】しかし、このような実
行方法では、ユーザプログラムの実行に要するメモリエ
リアが比較的小さくて済む反面、文字列そのものはユー
ザプログラムを実行するCPUの内部命令とは全く異な
るため、これを逐次変換する処理が必要で、このために
実行速度が低下して高速なロボットプログラムの実行を
実現することが困難であり、ロボットの応答性が十分で
ない等の問題があった。
【0009】本発明はこのような問題を解決するために
なされたもので、ユーザプログラムの実行速度を向上さ
せることができるロボット制御システムを提供すること
を目的とする。
【0010】
【課題を解決するための手段】本発明にかかるロボット
の制御システムは、作業対象物を所定位置に位置決めす
る位置決め機構および前記作業対象物に対して作業を行
う作業機構の少なくともいずれかを駆動する駆動手段
と、入力されたユーザプログラムを解釈し、ロボット制
御に直接用いられる実行形式プログラムに変換する解釈
処理手段と、前記解釈手段で得られた実行形式プログラ
ムから前記駆動手段に対して実行形式プログラムを実行
して前記駆動手段を制御する制御手段とを備えたことを
特徴とするものである。
【0011】このような構成を採用することにより、ユ
ーザプログラムの解釈が制御手段とは独立した解釈手段
で行われるため、制御手段の負担が軽減され、高速のプ
ログラム実行が可能となって応答性が向上する。
【0012】
【発明の実施の形態】本発明の実施の一形態を図1に示
す。
【0013】同図によれば、制御部であるマイクロプロ
セッサ11にはユーザプログラムを格納したメモリ1
2、ユーザプログラムを解釈する処理を行う解釈処理部
13、解釈のための処理プログラムおよび実行のための
処理プログラムを含むシステムプログラムを格納したシ
ステムメモリ13、制御される例えばロボットアームの
電動機等のアクチュエータ15が接続されている。解釈
処理部14は、システムメモリ13から取り出したシス
テムプログラムに基づいてメモリ12から読み出したユ
ーザプログラムを解釈して実行形式プログラムに変換す
る。
【0014】より詳細には、解釈処理部はパーサと称さ
れる字句解析モジュール141と、コードジェネレータ
と称されるコンパイルモジュール142の2つのソフト
ウェアを実行する。
【0015】字句解析モジュールはユーザプログラムを
1行ずつ解析して、予約語、変数、定数、記号等のトー
クンコードに分解するが、この際、予約語が含まれた行
に対して、予約語の使い方が正しいかどうかの文法チェ
ックおよび変数が含まれた行に対して、変数のテーブル
への登録の2つの処理を同時に行っている。
【0016】コンパイルモジュール142は、字句解析
モジュール141で分解されたトークンコードからマイ
クロプロセッサが容易に実行可能なコードに変換する。
一般に1つのトークンコードは複数の実行コードを含む
実行形式プログラムに展開され、後述する例でもそのよ
うになっている。
【0017】以上の変換は、一般的なコンパイラで使用
されているのと同様のアルゴリズムに従って行われる。
また、このような解釈処理部における処理は、ロボット
プログラム起動時に、1度だけ実行される。
【0018】そして、マイクロプロセッサ11は得られ
た実行コードを実行してアクチュエータ15を駆動す
る。
【0019】図2はロボットプログラムに対する解釈実
行の様子を示すフローチャートである。
【0020】この処理は大きく2つの処理に分かれてお
り、その第1は解釈処理、第2は実行処理である。
【0021】まず、解釈処理が開始されると、メモリ1
2に格納されたユーザプログラムの1行分が読み込まれ
る(ステップS11)。
【0022】この読み込まれたユーザプログラム1行分
の文字列についてマイクロプロセッサにより字句解析モ
ジュールによる解釈が行われ(ステップS12)、コン
パイルモジュールにより上述した実行形式のプログラム
に変換される(ステップS13)。
【0023】以下、ユーザプログラムの実行形式への変
換例を説明する。
【0024】ここでは、ユーザプログラムとして第1軸
を100度の位置まで移動させる命令である、 MOVEA 1,100 を例にとって説明する。この命令の実行形式のコード
は、 実行コード1 shifta.s −2 実行コード2 mva.fs INDEX,#1 実行コード3 mva.fs INDEX,#2 実行コード4 movea +2,+1 実行コード5 shiftfa.s +2 の5つの実行コードからなっている。
【0025】これらの各実行コードの意味は次の通りで
ある。 実行コード1 : メモリ領域を2ワード分確保する。 実行コード2 : 確保したメモリ領域の1ワード目に
INDEX1で示される定数テーブルの内容を格納す
る。 実行コード3 : 確保したメモリ領域の2ワード目に
INDEX2で示される定数テーブルの内容を格納す
る。 実行コード4 : 確保したメモリの1ワード目と2ワ
ード目を移動命令サブルーチンを引数として実行する。 実行コード5 : メモリを開放する。
【0026】なお、メモリの所定領域に確保された定数
テーブルの内容は次のようになる。 INDEX1 : 100 INDEX2 : 1
【0027】このように実行形式に変換されたプログラ
ムは一旦メモリ12に保存される(ステップS14)。
このとき、先に説明したユーザプログラムの格納アドレ
スとは異なるアドレスに保存される。
【0028】このような実行形式への変換は、プログラ
ムの終了まで続けられ、プログラムの終了を意味する実
行コードが読み込まれたときには、プログラムの解釈が
終了し(ステップS15)、実行処理に移行する。
【0029】実行処理においては、マイクロプロセッサ
11はメモリ12から実行形式プログラムを読み出し
(ステップS21)、実行を行う(ステップS22)。
【0030】この実行はすでに実行形式に変換されてい
るプログラムを実行するのみであるので、実行速度は従
来より飛躍的に高いものとなる。
【0031】この処理はプログラムの終わりまで続けら
れ、プログラムの終了を意味するEND等の文字列が読
み込まれたときには、プログラムの解釈・実行が終了す
る(ステップS23)。
【0032】このように、この実施の形態ではユーザプ
ログラムの文字列の解釈はシステム全体の制御部とは別
の解釈処理部により行われるため、制御部の負担が軽減
されるとともに、全体として実行速度を向上させること
ができる。
【0033】なお、プログラムの起動時には解釈処理部
の処理実行のために、プログラム実行開始指令が与えら
れてから実際にプログラムが実行されるまで、若干のタ
イムラグが発生するが、一般にロボットプログラムはお
なじプログラムがサイクリックに実行されることが多い
ため、全体としては高速のプログラム実行が可能とな
る。
【0034】以上の実施の形態においてはユーザプログ
ラムを格納したメモリの一部に解釈処理部により変換さ
れた実行形式プログラムを格納するようにしているが、
別個の専用メモリをさらに設けるようにしても良い。
【0035】
【発明の効果】本発明によれば、システム全体を制御す
る制御部とは別にユーザプログラムを解釈して実行形式
に変換する解釈処理部を備えるようにしたので、制御部
の負担が軽減され、実行速度を向上させることができ
る。
【図面の簡単な説明】
【図1】本発明によるロボット制御システムのシステム
構成図。
【図2】図1に示したシステムにおける処理動作を示す
フローチャート。
【図3】従来のロボット制御システムのシステム構成
図。
【図4】図3に示したシステムにおける処理動作を示す
フローチャート。
【符号の説明】
11 制御部(マイクロプロセッサ) 12 メモリ 13 システムメモリ 14 解釈処理部 15 駆動部(アクチュエータ) 141 字句解析モジュール 142 コンパイルモジュール
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 3F059 FC14 GA00 5B081 CC11 CC41 5H269 AB33 BB05 EE11 EE13 EE30 GG08 QB15 QB17 QB19 QB20

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】作業対象物を所定位置に位置決めする位置
    決め機構および前記作業対象物に対して作業を行う作業
    機構の少なくともいずれかを駆動する駆動手段と、 入力されたユーザプログラムを解釈し、ロボット制御に
    直接用いられる実行形式プログラムに変換する解釈処理
    手段と、 前記解釈手段で得られた実行形式プログラムから前記駆
    動手段に対して実行形式プログラムを実行して前記駆動
    手段を制御する制御手段とを備えたロボット制御システ
    ム。
  2. 【請求項2】前記ユーザプログラムを格納するとともに
    実行形式に変換されたプログラムを格納する第1のメモ
    リと、 前記解釈および実行のためのプログラムを格納した第2
    のメモリとをさらに備えたことを特徴とする請求項1に
    記載のロボット制御システム。
JP10174993A 1998-06-22 1998-06-22 ロボット制御システム Pending JP2000010616A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10174993A JP2000010616A (ja) 1998-06-22 1998-06-22 ロボット制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10174993A JP2000010616A (ja) 1998-06-22 1998-06-22 ロボット制御システム

Publications (1)

Publication Number Publication Date
JP2000010616A true JP2000010616A (ja) 2000-01-14

Family

ID=15988352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10174993A Pending JP2000010616A (ja) 1998-06-22 1998-06-22 ロボット制御システム

Country Status (1)

Country Link
JP (1) JP2000010616A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016131646A (ja) * 2015-01-16 2016-07-25 ナレルシステム株式会社 格闘コマンドシミュレータ、その為の方法又はプログラミング
WO2022131327A1 (ja) * 2020-12-18 2022-06-23 ファナック株式会社 数値制御装置及び数値制御システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016131646A (ja) * 2015-01-16 2016-07-25 ナレルシステム株式会社 格闘コマンドシミュレータ、その為の方法又はプログラミング
WO2022131327A1 (ja) * 2020-12-18 2022-06-23 ファナック株式会社 数値制御装置及び数値制御システム
JP7121221B1 (ja) * 2020-12-18 2022-08-17 ファナック株式会社 数値制御装置及び数値制御システム
TWI804068B (zh) * 2020-12-18 2023-06-01 日商發那科股份有限公司 數值控制裝置及數值控制系統

Similar Documents

Publication Publication Date Title
US5606697A (en) Compiler system for language processing program
JP2000010616A (ja) ロボット制御システム
JPH11167492A (ja) ループ飛び出し文を含むループに対する配列サマリ解析方法
JPH01277934A (ja) パラメータリスト参照方法の切換え方式
US7174235B2 (en) Controller for machines
JPS60237542A (ja) プログラム制御装置
KR100383896B1 (ko) 기기 제어 시스템
JPH04347704A (ja) 駆動制御装置
JP3889227B2 (ja) プログラム実行装置、プログラム実行方法、記録媒体、及び制御プログラム
JP3424596B2 (ja) シンボル参照情報のキャッシュ方法ならびに装置
JPH02183804A (ja) 数値制御装置におけるプログラム実行方式
JPH0991022A (ja) ロボット制御装置
JPS63155236A (ja) ソフトウエアの暴走検知方法
JPH04178734A (ja) プログラム言語処理装置
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
JPH1139016A (ja) ロボット制御装置
JPH05100728A (ja) 駆動制御方式および駆動制御装置
JPH0239305A (ja) 数値制御装置
JP2539070B2 (ja) コンパイラ処理装置
JP2002006918A (ja) ロボットの制御装置および制御方法
JPH05250150A (ja) シーケンス制御装置
JPH06309175A (ja) インタプリタのプログラム実行方式
JPH01140236A (ja) プログラムの逆コンパイル方式
JPH0736733A (ja) デバッガ支援装置
JPS62108337A (ja) プログラムデバツグ装置