JPH11149307A - Robot controller provided with secondary storage device - Google Patents

Robot controller provided with secondary storage device

Info

Publication number
JPH11149307A
JPH11149307A JP31522597A JP31522597A JPH11149307A JP H11149307 A JPH11149307 A JP H11149307A JP 31522597 A JP31522597 A JP 31522597A JP 31522597 A JP31522597 A JP 31522597A JP H11149307 A JPH11149307 A JP H11149307A
Authority
JP
Japan
Prior art keywords
subprogram
speed memory
program
loaded
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
JP31522597A
Other languages
Japanese (ja)
Inventor
Kiyoshi Hirakawa
潔 平川
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP31522597A priority Critical patent/JPH11149307A/en
Publication of JPH11149307A publication Critical patent/JPH11149307A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a robot controller provided with a mass storage memory which substantially has processing speed similar to that of a high speed memory without increasing manufacture cost and treatment cost. SOLUTION: A secondary storage device 14 storing a robot language program, a high speed memory 13 loading the robot language program which is read from the second storage device 14 and a micro processor 11 reading and executing the loaded robot language program are provided. If the sub-program of a called destination is not loaded on the high speed memory 13 when the micro processor 1 calls the sub-program constituting the robot language program, the sub-program is loaded on the high speed memory 13 from the secondary storage device 14 and the execution of the robot language program is continued.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はロボット制御装置に
関するものであり、とりわけ、コストパフォーマンスの
高い2次記憶装置を備えたロボット制御装置におけるプ
ログラムの実行に関するものである。
The present invention relates to a robot controller, and more particularly to the execution of a program in a robot controller having a cost-effective secondary storage device.

【0002】[0002]

【従来の技術】図7は、従来のロボット制御装置である
特開平8−263125号公報に開示されているロボッ
ト制御装置の構成を示している。図7に於いて、1a〜
1nはロボット本体、2a〜2nはロボット制御装置、
3は通信ネットワーク、4はホストコンピュータ、5は
読み込み装置、6は多種類のアプリケーションソフトを
格納している記憶媒体である。ロボット制御のプログラ
ムを実行するためには、ロボット制御のプロセッサが直
接アクセスすることができる高速メモリ上に、実行対象
となるアプリケーションソフト(プログラム)がロード
されていることが必要であるから、ロボット制御装置2
a〜2n内の高速メモリにアプリケーションソフトがロ
ードされている。このロードはホストコンピュータ4を
介して記憶媒体6から所望のアプリケーションソフトを
読み込み装置5から読み出してロボット制御装置2a〜
2nの高速メモリの中へ行なわれる。各ロボット本体1
a〜1nはこのアプリケーションソフトにしたがってそ
れぞれの作業をおこなっている。ロボット制御装置2a
〜2nとホストコンピュータ4とは通信ネットワーク3
で接続されており、用途変更に伴う新たなアプリケーシ
ョンソフトが必要になったときは、再びホストコンピュ
ータ4を介して記憶媒体6から所望のアプリケーション
ソフトを読み込み装置5から読み出してロボット制御装
置2a〜2nの高速メモリの中にロードした後、そのア
プリケーションソフトを実行するようにしている。とこ
ろが、この従来のロボット制御装置において、アプリケ
ーションソフトの更新と交換は作業者側からの要請によ
ってなされるものであり、自動的に行なわれるものでは
なかった。しかも、アプリケーションソフトはすべて単
位ごとにロボット制御装置2a〜2nの高速メモリに格
納しておく必要があり、容量が最大のアプリケーション
ソフトのロード場合に対処して、高速メモリも増設する
ことが必要であった。ところが、高速メモリは高価なた
め、高速メモリの増設はロボット制御装置のコスト高に
つながった。一方、近年になり、ハードディスク、フラ
ッシュメモリのような大容量の2次記憶装置がパーソナ
ルコンピュータの市場を中心として普及してきている。
これら2次記憶装置は単位容量あたりのコストが半導体
等の高速メモリに比較すると格段に低く、コストパフォ
ーマンスの高いロボット言語プログラムの記憶手段とな
り得るにもかかわらず上記の理由から使用されずに、高
価な高速メモリの使用を余儀なくされていた。
2. Description of the Related Art FIG. 7 shows the configuration of a conventional robot controller disclosed in Japanese Patent Application Laid-Open No. 8-263125. In FIG. 7, 1a-
1n is a robot main body, 2a to 2n are robot control devices,
3 is a communication network, 4 is a host computer, 5 is a reading device, and 6 is a storage medium storing various kinds of application software. In order to execute the robot control program, the application software (program) to be executed must be loaded on a high-speed memory that can be directly accessed by the robot control processor. 2
Application software is loaded in the high-speed memory in a to 2n. In this loading, desired application software is read from the storage medium 6 via the host computer 4 and read from the device 5 to read the robot control devices 2a to 2a.
2n high speed memory. Each robot body 1
a to 1n perform respective operations according to the application software. Robot controller 2a
2n and the host computer 4 are connected to the communication network 3
When new application software is required due to a change in use, the desired application software is read from the storage medium 6 via the host computer 4 again, read from the device 5, and read from the robot controller 2a to 2n. After loading into the high-speed memory, the application software is executed. However, in this conventional robot control device, the update and exchange of the application software are performed at the request of the operator, and are not performed automatically. In addition, it is necessary to store all application software in the high-speed memory of the robot controllers 2a to 2n for each unit, and it is necessary to increase the high-speed memory in order to cope with a case where the application software having the largest capacity is loaded. there were. However, since the high-speed memory is expensive, the addition of the high-speed memory has increased the cost of the robot controller. On the other hand, in recent years, large-capacity secondary storage devices such as hard disks and flash memories have become popular mainly in the personal computer market.
The cost per unit capacity of these secondary storage devices is much lower than that of high-speed memories such as semiconductors, and they can be used as storage means for robot language programs with high cost performance. High speed memory had to be used.

【0003】[0003]

【発明が解決しようとする課題】本発明の目的は、上記
欠点を解消するもので、ロボット言語プログラム全体の
サイズが増大しても、高速メモリの増設をせずに済み、
また、ロボット言語プログラムの高速メモリへのロード
を自動的に行なえるロボット制御装置を提供することに
ある。
SUMMARY OF THE INVENTION An object of the present invention is to solve the above-mentioned drawbacks. Even if the size of the entire robot language program increases, it is not necessary to add a high-speed memory.
Another object of the present invention is to provide a robot control device that can automatically load a robot language program into a high-speed memory.

【0004】[0004]

【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明によれば、ロボット言語プログ
ラムを格納する2次記憶装置と、該2次記憶装置から読
み出したロボット言語プログラムをロードするための高
速メモリと、該高速メモリにロードされたロボット言語
プログラムを読み出して実行するプロセッサとを有する
ロボット制御装置において、前記プロセッサが前記ロボ
ット言語プログラムを構成するサブプログラムをコール
する際、コール先の該サブプログラムが前記高速メモリ
上にロードされていない場合には、該サブプログラムを
前記2次記憶装置から前記高速メモリにロードして、前
記ロボット言語プログラムの実行を継続すること、を特
徴としている。また、請求項2記載の発明によれば、前
記プロセッサが前記高速メモリ上の前記ロボット言語プ
ログラムの実行と、前記ロボット言語プログラムの先読
みとを並行して同時に行い、該先読みにより、将来に実
行される予定のサブプログラムが前記高速メモリ上にロ
ードされていない場合には、前記ロボット言語プログラ
ムの実行を継続しながら、該実行と並行して前記サブプ
ログラムを前記2次記憶装置から前記高速メモリにロー
ドすること、を特徴としている。そして、請求項3記載
の発明によれば、前記プロセッサが前記サブプログラム
を前記2次記憶装置から前記高速メモリにロードする
際、前記高速メモリの空き容量と前記サブプログラムの
容量とを比較し、少なくとも前記高速メモリの空き容量
が前記サブプログラムの容量より少ない場合には所望の
空き領域になるまで前記高速メモリ上にロードされてい
るサブプログラムを消去し、所望の空き領域の生成後、
ロード対象の前記サブプログラムを前記2次記憶装置か
ら前記高速メモリにロードすること、を特徴としてい
る。
According to the first aspect of the present invention, there is provided a secondary storage device for storing a robot language program, and a robot language program read from the secondary storage device. And a processor that reads and executes a robot language program loaded into the high-speed memory, when the processor calls a subprogram that constitutes the robot language program, If the subprogram of the call destination is not loaded on the high-speed memory, loading the subprogram from the secondary storage device into the high-speed memory and continuing the execution of the robot language program; Features. According to the second aspect of the present invention, the processor simultaneously executes the execution of the robot language program on the high-speed memory and the pre-reading of the robot language program in parallel, and executes the robot language program in the future by the pre-reading. If the subprogram to be executed is not loaded on the high-speed memory, the subprogram is transferred from the secondary storage device to the high-speed memory in parallel with the execution while continuing the execution of the robot language program. Loading. According to the invention described in claim 3, when the processor loads the subprogram from the secondary storage device to the high-speed memory, the processor compares the free space of the high-speed memory with the capacity of the subprogram, If at least the free space of the high-speed memory is smaller than the capacity of the sub-program, erase the sub-program loaded on the high-speed memory until the desired free space is reached, and after generating the desired free space,
The subprogram to be loaded is loaded from the secondary storage device to the high-speed memory.

【0005】[0005]

【発明の実施の形態】次に、本発明の実施の形態につい
て説明する。図1は、本発明のロボット制御装置の一実
施例としての構成示している。図1の(a)は上記ロボ
ット制御装置のハードウェアの構成を示し、(b)は上
記構成に於けるソフトウェアの配置を示している。図1
に於いて、10はロボット制御装置、11はマイクロプ
ロセッサ、12はROM、13は高速メモリとしてのD
RAM、14はハードディスク、15はサーボドライブ
であり、さらに、図1(b)の16は初期ロードの方
向、17は実行前ロードの方向を示している。ROM1
2にはマイクロプロセッサ11を制御するための制御プ
ログラムが置かれている。ハードディスク14上にはロ
ボット制御装置が使用するすべての種類のメインプログ
ラムとサブプログラム群が格納されている。実行の開始
の初期にハードディスク14上の上記メインプログラム
はDRAM13にロードされる(初期ロード16)。ハ
ードディスク14上の上記サブプログラム(1、2、3
〜Q)のうち幾つか(サブプログラムi、j、k)がそ
の実行に先立ってDRAM13にロードされる(実行前
ロード)。マイクロプロセッサ11はROM12内の制
御プログラムにしたがってDRAM13にロードされて
いるロボット制御プログラム(メインプログラムとサブ
プログラムi、j、k)を実行し目的の制御対象である
サーボドライブ15を制御する。2次記憶装置はハード
ディスクを用いているが、不揮発性であれば何でもよ
く、ハードディスクに限定される必要はない。また、マ
イクロプロセッサに対してネットワークを介し、リモー
トドライブとして接続されているサーバ上の2次記憶装
置であっても構わない。ロボット制御プログラムのサブ
プログラムは、同名のファイルとしてサブプログラム単
位でハードディスク14上に記憶されているものとす
る。また、メインプログラムは、システム立ち上げ時に
ハードディスク14からDRAM13にロードされ、そ
れ以後DRAM13から除去されることはないものとす
る。
Next, an embodiment of the present invention will be described. FIG. 1 shows a configuration as an embodiment of a robot control device of the present invention. FIG. 1A shows a hardware configuration of the robot control device, and FIG. 1B shows an arrangement of software in the configuration. FIG.
In the figure, 10 is a robot controller, 11 is a microprocessor, 12 is a ROM, and 13 is a D as a high-speed memory.
RAM, 14 is a hard disk, 15 is a servo drive, and 16 in FIG. 1B indicates the direction of initial load, and 17 indicates the direction of load before execution. ROM1
2 stores a control program for controlling the microprocessor 11. The hard disk 14 stores all types of main programs and sub-programs used by the robot controller. The main program on the hard disk 14 is loaded into the DRAM 13 at the beginning of the execution (initial load 16). The subprograms (1, 2, 3) on the hard disk 14
To Q) (subprograms i, j, k) are loaded into the DRAM 13 prior to execution (load before execution). The microprocessor 11 executes a robot control program (main program and sub-programs i, j, k) loaded in the DRAM 13 according to the control program in the ROM 12 and controls the servo drive 15 which is a target control object. Although the secondary storage device uses a hard disk, it is not limited to a hard disk as long as it is non-volatile. Further, a secondary storage device on a server connected as a remote drive to the microprocessor via a network may be used. It is assumed that the subprograms of the robot control program are stored on the hard disk 14 in subprogram units as files of the same name. It is assumed that the main program is loaded from the hard disk 14 to the DRAM 13 at the time of starting the system, and is not removed from the DRAM 13 thereafter.

【0006】図2は、本発明のロボット制御装置の一実
施例に係るロボット言語プログラムの構成を示してい
る。図2に於いて、20はメインプログラム、21はサ
ブプログラムA、22はサブプログラムB、23はサブ
プログラムCを示している。本実施例では、ロボット言
語プログラムは、移動命令(MOV)、および、制御命
令(CALL/RET)だけから構成されるものとす
る。このメインプログラム20は、移動命令(MOV)
については直ちに実行されるが、CALL命令に関して
は、メインプログラム20からサブプログラムA(2
1)に移り、サブプログラムAの移動命令(MOV)を
実行したあとリターンRETでサブプログラムA(2
1)からメインプログラム20へ戻り、次のCALL命
令で次はメインプログラムからサブプログラムB(2
2)に移り、サブプログラムBの移動命令(MOV)を
実行したあとリターンRETでふたたびサブプログラム
B(22)からメインプログラム20へ戻り、移動命令
(MOV)を実行したあと、次のCALL命令で、メイ
ンプログラム20からサブプログラムC(23)に移
り、サブプログラムCの移動命令(MOV)を実行した
あとリターンRETでふたたびサブプログラムC(2
3)からメインプログラム20へ戻り、このメインプロ
グラム20は終了する(END)。
FIG. 2 shows the configuration of a robot language program according to an embodiment of the robot control device of the present invention. In FIG. 2, reference numeral 20 denotes a main program, 21 denotes a subprogram A, 22 denotes a subprogram B, and 23 denotes a subprogram C. In the present embodiment, it is assumed that the robot language program includes only a movement command (MOV) and a control command (CALL / RET). The main program 20 includes a move instruction (MOV)
Is executed immediately, but for the CALL instruction, the main program 20 sends the subprogram A (2
1), execute the move instruction (MOV) of the subprogram A, and then return RET to execute the subprogram A (2).
Returning from 1) to the main program 20, the next CALL instruction causes the next subprogram B (2
2), execute the move instruction (MOV) of the subprogram B, return to the main program 20 again from the subprogram B (22) by return RET, execute the move instruction (MOV), and execute the next CALL instruction. The main program 20 moves to the subprogram C (23), executes the move instruction (MOV) of the subprogram C, and returns again to the subprogram C (2) by return RET.
The program returns from 3) to the main program 20, and the main program 20 ends (END).

【0007】図3は、DRAMに格納されるサブプログ
ラムを管理するための管理データの一実施例としての構
造を示している。図3(a)は、サブプログラム管理デ
ータの一実施例としての全体構造を示しており、図3
(b)は、その中のサブプログラムディレクトリエント
リの内容を示している。図3(a)に於いて、31はサ
ブプログラムの格納数を格納する領域、32はサブプロ
グラム格納領域の空き容量(以後、「空き容量」と称す
る)を格納する領域、33はサブプログラムディレクト
リを格納する領域、34はサブプログラムを格納する領
域、図3(b)の35はサブプログラムの名称を格納す
る領域、36はサブプログラム容量を格納する領域を示
している。サブプログラムの格納数領域31には、サブ
プログラム格納領域34に格納されているサブプログラ
ムの個数が格納されている。サブプログラム格納領域空
き容量32には、上記サブプログラム格納領域34に存
在している空き領域の容量が格納されている。図3
(b)の、サブプログラム名称35には、サブプログラ
ムディレクトリ33の各エントリの順序に対応してサブ
プログラム格納領域34にロードされている当該サブプ
ログラムの名称が格納され、サブプログラム容量36に
は上記サブプログラムの容量が格納されている。
FIG. 3 shows a structure as an embodiment of management data for managing a subprogram stored in a DRAM. FIG. 3A shows the overall structure of one embodiment of the subprogram management data.
(B) shows the contents of the subprogram directory entry therein. In FIG. 3A, 31 is an area for storing the number of stored subprograms, 32 is an area for storing the free space of the subprogram storage area (hereinafter referred to as “free space”), and 33 is a subprogram directory. , An area for storing the subprogram, an area for storing the name of the subprogram in FIG. 3B, and an area for storing the subprogram capacity. The subprogram storage number area 31 stores the number of subprograms stored in the subprogram storage area 34. The free space 32 of the subprogram storage area stores the capacity of the free area existing in the subprogram storage area 34. FIG.
In (b), the subprogram name 35 stores the name of the subprogram loaded in the subprogram storage area 34 corresponding to the order of each entry of the subprogram directory 33, and the subprogram capacity 36 stores The capacity of the subprogram is stored.

【0008】図4は、サブプログラムの消去処理および
ロード処理の一実施例を示す説明図である。図4に於い
て、41は消去処理すべきサブプログラムを示し、42
はサブプログラム格納領域34の空き領域を示し、43
は上記消去処理すべきサブプログラム41を消去した後
に生まれる空き領域を示し、44は該空き領域43と前
記の空き領域42とがまとめられて生まれる新たなサブ
プログラム格納領域44の空き領域を示し、45は該新
たな空き領域にロードされるサブプログラムを示してい
る。サブプログラムのロードが必要な場合には、ロード
されるべき該サブプログラムの容量(図3(b)の3
6)と前述のサブプログラム管理データに含まれている
空き容量(図3(a)の32)とを比較して、空き容量
が不足していると判断されたときは、サブプログラム格
納領域34に格納されているサブプログラムの何れか1
個以上を所望の空き容量が得られるまで消去する。消去
対象となるサブプログラムは、サブプログラムの使用頻
度順や最も長い期間未使用の順に消去するのがよい。図
4の説明図では、45で示すサブプログラムXをロード
するために、41で示すサブプログラムDを消去する。
消去する際には、前述のサブプログラム管理データに含
まれる空き容量およびサブプログラムディレクトリの内
容が更新される。消去対象のサブプログラムがロード済
みプログラムの最後尾以外にロードされていた場合に
は、消去対象サブプログラムより後方のアドレスにロー
ドされているプログラムを前方アドレスに移動して、隙
間を詰める。この実施例の説明図では、サブプログラム
D+1からサブプログラムNまでを前方アドレスにずら
している。消去対象のサブプログラムが最後尾にロード
されていた場合には、上記の移動は不要である.サブプ
ログラムは、常に格納領域のサブプログラムの最後尾に
ロードする。
FIG. 4 is an explanatory diagram showing an embodiment of a subprogram erasing process and a loading process. In FIG. 4, reference numeral 41 denotes a subprogram to be erased.
Indicates an empty area of the subprogram storage area 34;
Indicates an empty area created after erasing the subprogram 41 to be erased, 44 indicates an empty area of a new subprogram storage area 44 created by combining the empty area 43 and the empty area 42, Reference numeral 45 denotes a subprogram loaded into the new free area. When it is necessary to load a subprogram, the capacity of the subprogram to be loaded (3 in FIG. 3B)
6) is compared with the free space (32 in FIG. 3A) included in the above-described subprogram management data, and when it is determined that the free space is insufficient, the subprogram storage area 34 is determined. Any one of the subprograms stored in
Erase more than one until the desired free space is obtained. The subprograms to be erased are preferably erased in the order of use frequency of the subprograms or in the unused order for the longest period. In the explanatory diagram of FIG. 4, the subprogram D indicated by 41 is erased in order to load the subprogram X indicated by 45.
When erasing, the free space and the contents of the subprogram directory included in the above-described subprogram management data are updated. If the subprogram to be erased has been loaded at a position other than the end of the loaded program, the program loaded at an address behind the subprogram to be erased is moved to a forward address to close the gap. In the explanatory diagram of this embodiment, subprogram D + 1 to subprogram N are shifted to the front address. If the subprogram to be erased has been loaded at the end, the above movement is unnecessary. The subprogram is always loaded at the end of the subprogram in the storage area.

【0009】図5は、本発明のロボット制御装置の一実
施例としての動作を纏めたフローチャートである。ロボ
ット言語プログラムの実行が開始されると、マイクロプ
ロセッサはDRAMにロードされているメインプログラ
ムの実行を開始する。判断ボックス51のステップで
は、実行すべき命令がCALL命令であるか否かを判断
し、CALL命令の実行を行う際には、判断ボックス5
2のステップに於いて、該CALL先のサブプログラム
が高速メモリ上のサブプログラム格納領域にロード済み
であるかどうかをサブプログラムディレクトリで確認す
る。ロード済みであれば、制御フローは、そのまま処理
ボックス56のステップに示す当該サブプログラムの実
行へ移る。ロードされていない場合には、いったん、ロ
ボット言語プログラムの実行を中断して、判断ボックス
53のステップに於いて、空き容量とロード対象サブプ
ログラムの容量を比較し、必要があれば、処理ボックス
54のステップに於いて、サブプログラムの何れかを格
納領域から消去することにより、所望の空き領域を生成
後、処理ボックス55のステップに於いて、対象サブプ
ログラムをハードディスクからロードして、処理ボック
ス56のステップに示す前記サブプログラムの実行に移
る。サブプログラムの消去・ロード時には、サブプログ
ラム空き容量、および、サブプログラムディレクトリの
更新を同時に行う。
FIG. 5 is a flowchart summarizing the operation of one embodiment of the robot control device of the present invention. When the execution of the robot language program is started, the microprocessor starts executing the main program loaded in the DRAM. In the step of the decision box 51, it is determined whether or not the instruction to be executed is a CALL instruction.
In step 2, it is checked in the subprogram directory whether the CALL-destination subprogram has been loaded into the subprogram storage area on the high-speed memory. If it has been loaded, the control flow proceeds to the execution of the subprogram shown in the step of the processing box 56. If it has not been loaded, the execution of the robot language program is suspended once, and in the step of decision box 53, the free space is compared with the capacity of the subprogram to be loaded. After the desired free area is generated by erasing any of the subprograms from the storage area in the step of, the target subprogram is loaded from the hard disk in the step of the processing box 55 and the processing box 56 is deleted. Then, the process proceeds to the execution of the subprogram shown in the step. When erasing and loading the subprogram, the subprogram free space and the subprogram directory are updated at the same time.

【0010】図6は、本発明のロボット制御装置の他の
一実施例としての動作を纏めたフローチャートである。
マイクロプロセッサにマルチタスキング機能を導入する
ことにより、ロボット言語プログラムの実行と先読みを
並行して実行することも可能である。先読みを実行する
ことにより、CALL命令の実行に先立って、CALL
先のサブプログラムがDRAM上の格納領域にロードさ
れているか否かを判断し、ロードされていない場合に
は、予めハードディスクよりサブプログラムを格納領域
にロードしておくことができる。これによりロード時に
ロボット言語プログラムの実行を中断させることが不要
となる。以下、上記の動作を図6のフローチャートを使
用して更に詳細に述べる。タスク1は本実施例の主タス
クであり、判断ボックス61のステップと判断ボックス
62のステップでは、これから処理すべきCALL命令
が、タスク2によって実施される上記の先読みによっ
て、既に高速メモリ上にロードされているか否かを問
う。既にロードされていれば、処理ボックス64のステ
ップに於いて、当該サブプログラムを実行する。しかし
ながら、未だロードされていなければ、処理ボックス6
3のステップに於いて、WAIT命令を実行し、制御フ
ローを待機状態にする。タスク2が上記処理すべきCA
LL命令の先読みを完了したことを合図して来た時点
で、上記待機状態は解除され、処理ボックス64のステ
ップに於ける、サブプログラムの実行に移る。タスク2
では、上記メインプログラムの先読みを行うが、この動
作には、前述の実施例に示したCALL命令の検出と、
高速メモリへのロードが含まれ、更に、上記したサブプ
ログラム格納領域に於ける空き領域の確保が含まれる。
尚、WAIT命令の前にPOST命令を実施し、具体的
にどのサブルーチンがアンロードの状態なのかをタスク
2に通知することが出来る。この処置は、メインプログ
ラムの実行が分岐命令等によってコントロールブレーク
された際などには有効である。
FIG. 6 is a flowchart summarizing the operation of another embodiment of the robot control device of the present invention.
By introducing a multitasking function into the microprocessor, it is possible to execute the robot language program and prefetch in parallel. By executing the look-ahead, the CALL instruction is executed prior to the execution of the CALL instruction.
It is determined whether or not the previous subprogram has been loaded into the storage area on the DRAM, and if not, the subprogram can be previously loaded from the hard disk into the storage area. This makes it unnecessary to interrupt the execution of the robot language program at the time of loading. Hereinafter, the above operation will be described in more detail with reference to the flowchart of FIG. Task 1 is the main task of the present embodiment, and in the steps of the decision box 61 and the step of the decision box 62, the CALL instruction to be processed is already loaded on the high-speed memory by the prefetching executed by the task 2. Ask whether it is done. If it has already been loaded, the sub-program is executed in the step of the processing box 64. However, if not already loaded, processing box 6
In step 3, a WAIT instruction is executed, and the control flow is set to a standby state. Task 2 CA to process above
When it is signaled that the pre-reading of the LL instruction has been completed, the standby state is released, and the process proceeds to the execution of the subprogram in the step of the processing box 64. Task 2
Then, the pre-reading of the main program is performed. This operation includes the detection of the CALL instruction shown in the above-described embodiment,
This includes loading into a high-speed memory, and further includes securing a free area in the above-described subprogram storage area.
Note that the POST instruction can be executed before the WAIT instruction, and the task 2 can be notified of which subroutine is in the unloaded state. This measure is effective when the execution of the main program is controlled by a branch instruction or the like.

【0011】[0011]

【発明の効果】本発明により、高価な高速メモリの容量
を増やすことなく、大容量のロボット言語プログラムを
ロボット制御装置上で連続的に実行させることが可能と
なる。また先読み処理を追加することにより、ロボット
言語プログラムを2次記憶装置から読み出すためのオー
バヘッド時間を、見かけ上、零に削減させることができ
る。さらに、2次記憶装置からのロード処理について、
ロボット言語プログラムでは一切記述する必要がない。
According to the present invention, a large-capacity robot language program can be continuously executed on a robot controller without increasing the capacity of an expensive high-speed memory. Further, by adding the pre-reading process, the overhead time for reading the robot language program from the secondary storage device can be apparently reduced to zero. Further, regarding the loading process from the secondary storage device,
There is no need to write anything in the robot language program.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のロボット制御装置の一実施例としての
構成示している。
FIG. 1 shows a configuration as an embodiment of a robot control device of the present invention.

【図2】本発明のロボット制御装置の一実施例に係るロ
ボット言語プログラムの構成示している。
FIG. 2 shows a configuration of a robot language program according to an embodiment of the robot control device of the present invention.

【図3】DRAMに格納されるサブプログラムを管理す
るための管理データの一実施例としての構造示してい
る。
FIG. 3 shows a structure as an embodiment of management data for managing a subprogram stored in a DRAM.

【図4】サブプログラムの消去処理およびロード処理の
一実施例を示す説明図である。
FIG. 4 is an explanatory diagram showing one embodiment of a subprogram erasing process and a loading process.

【図5】本発明のロボット制御装置の一実施例としての
動作を纏めたフローチャートである。
FIG. 5 is a flowchart summarizing the operation as an embodiment of the robot control device of the present invention.

【図6】本発明のロボット制御装置の他の一実施例とし
ての動作を纏めたフローチャートである。
FIG. 6 is a flowchart summarizing operations as another embodiment of the robot control device of the present invention.

【図7】特開平8−263125号に開示されている従
来例のロボット制御装置を示している。
FIG. 7 shows a conventional robot control device disclosed in Japanese Patent Application Laid-Open No. 8-263125.

【符号の説明】[Explanation of symbols]

10 ロボット制御装置の構成 11 マイクロプロセッサ 12 ROM 13 DRAM 14 ハードディスク 15 サーボドライブ 16 メインプログラムの初期ロード先 17 サブプログラムのロード先 20 メインプログラム 21,22,23,41,45 サブプログラム 31 サブプログラム格納数を格納する領域 32 サブプログラム格納領域の空き容量を格納する領
域 33 サブプログラムディレクトリを格納する領域 34 サブプログラムを格納する領域 35 サブプログラムの名称を格納する領域 36 サブプログラム容量を格納する領域 41 消去処理すべきサブプログラム 42 サブプログラム格納領域の空き領域 43 サブプログラムを消去した後に生まれる空き領域 44 新たに生成されたサブプログラム格納領域の空き
領域 45 新たな空き領域にロードされるサブプログラム 51,52,53,61,62 フローチャート上の判
断ボックス 54,55,56,63,64,65 フローチャート
上の処理ボックス
Reference Signs List 10 Configuration of robot control device 11 Microprocessor 12 ROM 13 DRAM 14 Hard disk 15 Servo drive 16 Initial load destination of main program 17 Load destination of subprogram 20 Main program 21, 22, 23, 41, 45 Subprogram 31 Subprogram storage number Area for storing the free space of the subprogram storage area 33 area for storing the subprogram directory 34 area for storing the subprogram 35 area for storing the name of the subprogram 36 area for storing the capacity of the subprogram 41 erasing Subprogram to be processed 42 Free area in subprogram storage area 43 Free area created after erasing subprogram 44 Free area in newly generated subprogram storage area 45 Subprograms 51, 52, 53, 61, 62 to be loaded into new free areas Decision boxes on flowchart 54, 55, 56, 63, 64, 65 Processing boxes on flowchart

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ロボット言語プログラムを格納する2次
記憶装置と、該2次記憶装置から読み出したロボット言
語プログラムをロードするための高速メモリと、該高速
メモリにロードされたロボット言語プログラムを読み出
して実行するプロセッサとを有するロボット制御装置に
おいて、 前記プロセッサが前記ロボット言語プログラムを構成す
るサブプログラムをコールする際、コール先の該サブプ
ログラムが前記高速メモリ上にロードされていない場合
には、該サブプログラムを前記2次記憶装置から前記高
速メモリにロードして、前記ロボット言語プログラムの
実行を継続すること、を特徴とする2次記憶装置を備え
たロボット制御装置。
1. A secondary storage device for storing a robot language program, a high-speed memory for loading a robot language program read from the secondary storage device, and a robot language program loaded on the high-speed memory. When the processor calls a subprogram constituting the robot language program, if the subprogram to be called is not loaded on the high-speed memory, the A robot control device comprising a secondary storage device, wherein a program is loaded from the secondary storage device to the high-speed memory and the execution of the robot language program is continued.
【請求項2】 前記プロセッサが前記高速メモリ上の前
記ロボット言語プログラムの実行と、前記ロボット言語
プログラムの先読みとを並行して同時に行い、該先読み
により、将来に実行される予定のサブプログラムが前記
高速メモリ上にロードされていない場合には、前記ロボ
ット言語プログラムの実行を継続しながら、該実行と並
行して前記サブプログラムを前記2次記憶装置から前記
高速メモリにロードすること、を特徴とする請求項1記
載の2次記憶装置を備えたロボット制御装置。
2. The processor according to claim 1, wherein the processor executes the robot language program on the high-speed memory and prefetches the robot language program in parallel, and the prefetching causes the subprogram to be executed in the future to execute. Loading the sub-program from the secondary storage device to the high-speed memory in parallel with the execution while continuing to execute the robot language program, if not loaded on the high-speed memory; A robot controller comprising the secondary storage device according to claim 1.
【請求項3】 前記プロセッサが前記サブプログラムを
前記2次記憶装置から前記高速メモリにロードする際、
前記高速メモリの空き容量と前記サブプログラムの容量
とを比較し、少なくとも前記高速メモリの空き容量が前
記サブプログラムの容量より少ない場合には所望の空き
領域になるまで前記高速メモリ上にロードされているサ
ブプログラムを消去し、所望の空き領域の生成後、ロー
ド対象の前記サブプログラムを前記2次記憶装置から前
記高速メモリにロードすること、を特徴とする請求項2
記載の2次記憶装置を備えたロボット制御装置。
3. When the processor loads the subprogram from the secondary storage device into the high-speed memory,
The free space of the high-speed memory is compared with the capacity of the sub-program, and if at least the free space of the high-speed memory is smaller than the capacity of the sub-program, the free space is loaded onto the high-speed memory until a desired free area is reached 3. The method according to claim 2, wherein the subprogram is erased, and after generating a desired free area, the subprogram to be loaded is loaded from the secondary storage device to the high-speed memory.
A robot control device comprising the secondary storage device according to any one of the preceding claims.
JP31522597A 1997-11-17 1997-11-17 Robot controller provided with secondary storage device Pending JPH11149307A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31522597A JPH11149307A (en) 1997-11-17 1997-11-17 Robot controller provided with secondary storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31522597A JPH11149307A (en) 1997-11-17 1997-11-17 Robot controller provided with secondary storage device

Publications (1)

Publication Number Publication Date
JPH11149307A true JPH11149307A (en) 1999-06-02

Family

ID=18062907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31522597A Pending JPH11149307A (en) 1997-11-17 1997-11-17 Robot controller provided with secondary storage device

Country Status (1)

Country Link
JP (1) JPH11149307A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004083975A1 (en) * 2003-03-17 2004-09-30 Mitsubishi Denki Kabushiki Kaisha Numerical control system
JP2013073344A (en) * 2011-09-27 2013-04-22 Fuji Electric Co Ltd Programmable controller, program creation support device, digital control program and program creation support program
KR20160147823A (en) * 2014-04-22 2016-12-23 가부시키가이샤 에바라 세이사꾸쇼 Polishing method and polishing apparatus
JP2017016233A (en) * 2015-06-29 2017-01-19 ファナック株式会社 Numerical control device with function to automatically select storage destination in response to content of program
JP2020184169A (en) * 2019-05-07 2020-11-12 ファナック株式会社 Control device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004083975A1 (en) * 2003-03-17 2004-09-30 Mitsubishi Denki Kabushiki Kaisha Numerical control system
US7548795B2 (en) 2003-03-17 2009-06-16 Mitsubishi Denki Kabushiki Kaisha Numerical control system
JP2013073344A (en) * 2011-09-27 2013-04-22 Fuji Electric Co Ltd Programmable controller, program creation support device, digital control program and program creation support program
KR20160147823A (en) * 2014-04-22 2016-12-23 가부시키가이샤 에바라 세이사꾸쇼 Polishing method and polishing apparatus
JPWO2015163164A1 (en) * 2014-04-22 2017-04-13 株式会社荏原製作所 Polishing method and polishing apparatus
US10399203B2 (en) 2014-04-22 2019-09-03 Ebara Corporation Polishing method and polishing apparatus
JP2017016233A (en) * 2015-06-29 2017-01-19 ファナック株式会社 Numerical control device with function to automatically select storage destination in response to content of program
US10437230B2 (en) 2015-06-29 2019-10-08 Fanuc Corporation Numerical controller having function of automatically selecting storage destination of machining program
JP2020184169A (en) * 2019-05-07 2020-11-12 ファナック株式会社 Control device

Similar Documents

Publication Publication Date Title
US5896548A (en) Data transferring system having foreground and background modes and upon detecting significant pattern of access in foreground mode to change background mode control parameters
US6779045B2 (en) System and apparatus for increasing the number of operations per transmission for a media management system
US5289581A (en) Disk driver with lookahead cache
JP4308152B2 (en) Method, system, and product for reserving memory
US7434222B2 (en) Task context switching RTOS
JPH11149307A (en) Robot controller provided with secondary storage device
JP3566319B2 (en) Information storage device
JP2006202233A (en) Controller and program for same
US7047321B1 (en) Unblocking an operating system thread for managing input/output requests to hardware devices
JP4076316B2 (en) Data writing system using non-volatile cache memory
JPH0477915A (en) Magnetic disk controller
JP2746189B2 (en) File access control system
KR20190069134A (en) Apparatus and method for file sharing between applications
KR101973157B1 (en) Apparatus and method for cache management
JP2746978B2 (en) External storage device with write protection
JP3022011B2 (en) Data backup system
JPS62130440A (en) Cache subsystem
JPS6329861A (en) Ipl control system
US5594909A (en) File I/O control device writing blocks to faster device first and canceling exclusive lock as each block is written
JPH1139210A (en) Memory controller for flash memory
JP2644857B2 (en) Data transfer method
JP3124569B2 (en) Download control device
JP3442972B2 (en) Information processing apparatus and rewritable nonvolatile memory rewriting method
JPH02311925A (en) Controller for external storage device of large capacity
JP2000172574A (en) Information processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051109

A02 Decision of refusal

Effective date: 20060412

Free format text: JAPANESE INTERMEDIATE CODE: A02