WO2023243002A1 - ロボット制御装置、制御方法、及び記録媒体 - Google Patents
ロボット制御装置、制御方法、及び記録媒体 Download PDFInfo
- Publication number
- WO2023243002A1 WO2023243002A1 PCT/JP2022/023979 JP2022023979W WO2023243002A1 WO 2023243002 A1 WO2023243002 A1 WO 2023243002A1 JP 2022023979 W JP2022023979 W JP 2022023979W WO 2023243002 A1 WO2023243002 A1 WO 2023243002A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- volatile memory
- data
- memory
- control device
- area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 25
- 230000006870 function Effects 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
Definitions
- the present invention relates to a robot control device, a control method, and a recording medium.
- cache memory that stores frequently used data in advance in a memory that can be read and written quickly, such as an SRAM.
- the cache memory is written to a non-volatile memory such as FLASH memory (registered trademark) at a certain timing.
- FLASH memory registered trademark
- cache line There is a control system called cache line for the correspondence between cache memory and nonvolatile memory.
- cache line control In the operation of cache memory, cache line control is complicated and takes processing time, so a cache line control function provided in the processor hardware is used. If it is hardware, it is processed in the background in parallel with program execution, and the impact on program execution is small.
- the robot control device always saves data in non-volatile memory in order to reproduce the previous state even if the power goes out due to a power outage while the robot is operating, and to retain the data from just before the power went down. are doing.
- Patent Document 1 Robot controllers must save data in non-volatile memory in order to recover normally from a power outage, etc.
- the read/write speed of the processor has a large effect on the program execution time of the processor. Therefore, robot control devices are usually equipped with volatile memory that can read and write data faster than nonvolatile memory, and when using volatile memory with short read and write times as cache memory, it is difficult to execute programs. time can be shortened.
- the robot control device may have a hardware configuration that does not support the cache line function.
- One aspect of the robot control device of the present disclosure is a robot control device including a processor, a nonvolatile memory, and a volatile memory, wherein the processor stores information in the volatile memory that has the same size as a predetermined area of the nonvolatile memory.
- the processor stores information in the volatile memory that has the same size as a predetermined area of the nonvolatile memory.
- data is also written to a predetermined area of the non-volatile memory, and when reading data, the data is written from the volatile memory. Load.
- One aspect of the control method of the present disclosure is a control method for a robot control device including a processor, volatile memory, and nonvolatile memory, wherein the processor stores a predetermined area of the nonvolatile memory in the volatile memory. a securing step of securing a cache memory area of the same size; when the processor writes data to the cache memory area of the volatile memory under software control, the processor also writes data to a predetermined area of the nonvolatile memory; When reading data, the method further includes a reading step of reading data from the volatile memory.
- One aspect of the recording medium of the present disclosure causes a processor of a robot control device that includes a nonvolatile memory and a volatile memory to secure a cache memory area in the volatile memory that is the same size as a predetermined area of the nonvolatile memory. , when writing data to the cache memory area of the volatile memory under software control, the data is also written to a predetermined area of the non-volatile memory, and when reading data, the function is made to read data from the volatile memory.
- a processor-readable recording medium that records a program for
- data reading and writing can be processed at high speed even when the robot control device does not have a cache line function.
- FIG. 1 is a diagram illustrating an example of a hardware configuration of a robot control device according to an embodiment.
- FIG. 3 is a diagram illustrating an example of the relationship between an address space of a nonvolatile memory and an address space of a volatile memory.
- 3 is a flowchart illustrating write processing of the robot control device.
- 3 is a flowchart illustrating reading processing of the robot control device.
- FIG. 1 is a diagram illustrating an example of the hardware configuration of a robot control device according to an embodiment.
- the robot control device 1 is a robot control device known to those skilled in the art, and may be directly connected to a robot (not shown) via a connection interface (not shown). Further, the robot control device 1 may be connected to a robot (not shown) via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the robot control device 1 may include a communication unit (not shown) for communicating with a robot (not shown) through such a connection.
- the robot control device 1 generates commands based on a robot program created using, for example, a teaching pendant (not shown), and transmits the generated commands to a robot (not shown). Thereby, the robot control device 1 controls the operation of a robot (not shown).
- the robot control device 1 includes a CPU 10 and a storage section 20.
- the CPU 10 and the storage unit 20 are communicably connected via a bus 30.
- the CPU 10 is a processor that controls the robot control device 1 as a whole.
- the CPU 10 reads an OS system program and various software application programs stored in a storage unit 20 (to be described later) via the bus 30, and controls the entire robot control device 1 according to the system program and the application program.
- the storage unit 20 includes a nonvolatile memory 201 and a volatile memory 202.
- the nonvolatile memory 201 is an SSD (Solid State Drive), an HDD (Hard Disk Drive), an SRAM equipped with a backup power source, or the like, and stores an OS, various software, and various setting files.
- the OS is, for example, an operating system (OS) or a system program executed by the robot control device 1.
- the various types of software include, for example, application programs that implement various functions such as robot operation programs (not shown) and cache line control of the robot control device 1.
- the various setting files are, for example, setting files for software stored in various software.
- the volatile memory 202 is, for example, a RAM (Random Access Memory), etc., and various files stored in the non-volatile memory 201 are loaded as needed, and used for calculation processing etc. by the CPU 10.
- RAM Random Access Memory
- the CPU 10 in order to cache data in the nonvolatile memory 201 to the volatile memory 202 under software control, the CPU 10 creates an address space in which the data has the same size in the nonvolatile memory 201 and the volatile memory 202, as shown in FIG. Secure (set).
- the nonvolatile memory 201 has an address space (area 1) from “0x3000” to "0x4000” secured (set) as a predetermined area
- the volatile memory 202 has an address space (area 1) from "0x6000" to "0x7000”.
- the address space (area 2) is secured (set) as a cache memory area.
- the address space of area 1 secured in the nonvolatile memory 201 and the address space of area 2 secured in the volatile memory 202 have a one-to-one correspondence, so that the CPU 10
- the corresponding volatile memory 202 address can always be derived from the address by a predetermined amount of offset. Further, the CPU 10 can always derive the corresponding address of the non-volatile memory 201 from the address of the volatile memory 202 by a predetermined amount of offset.
- the CPU 10 When writing data to the address space of Area 2 secured in the volatile memory 202 for caching, the CPU 10 also writes data to Area 1 secured in the corresponding nonvolatile memory 201 .
- the CPU 10 reads cached data from the volatile memory 202.
- the CPU 10 fixes the data in the nonvolatile memory 201 and the volatile memory 202 of the cache memory in an address space of the same size, thereby fixing the cache line and performing write-through.
- the CPU 10 fixes the data in the nonvolatile memory 201 and the volatile memory 202 of the cache memory in an address space of the same size, thereby fixing the cache line and performing write-through.
- even a robot control device that does not have a cache line function can perform the same control as a cache line.
- FIG. 3 is a flowchart illustrating the write process of the robot control device 1. The flow shown here is executed every time data to be written to the storage unit 20 is received.
- step S11 the CPU 10 acquires the data to be written into the storage unit 20 and the write destination address.
- step S12 the CPU 10 determines whether the write destination address is the address of area 2 secured in the volatile memory 202. If the write destination address is the address of area 2 reserved in the volatile memory 202, the CPU 10 derives the address of the corresponding area 1 reserved in the nonvolatile memory 201, and the process proceeds to step S13. On the other hand, if the write destination address is not the address of area 2 reserved in the volatile memory 202, the process proceeds to step S14.
- step S13 the CPU 10 writes the data received in step S11 to area 1 secured in the nonvolatile memory 201.
- step S14 the CPU 10 writes the data received in step S11 to the address of the volatile memory 202 obtained in step S11.
- FIG. 4 is a flowchart illustrating the reading process of the robot control device 1. The flow shown here is executed every time a data reading instruction is received.
- step S21 the CPU 10 obtains a data read instruction and the read destination address of the storage unit 20.
- step S22 the CPU 10 determines whether the read destination address is the address of area 1 secured in the nonvolatile memory 201. If the read destination address is the address of area 1 secured in the nonvolatile memory 201, the process advances to step S23. On the other hand, if the read destination address is an address other than area 1 reserved in the nonvolatile memory 201, the process advances to step S24.
- step S23 the CPU 10 derives the address of area 2 secured in the volatile memory 202 corresponding to the read destination address.
- step S24 the CPU 10 reads data of the address acquired in step S21 or the address derived in step S23 from the storage unit 20.
- the robot control device 1 secures (sets) address space area 1 and area 2 with the same data size in the nonvolatile memory 201 and volatile memory 202 in advance, and provides one-to-one correspondence. take. Thereby, even if the robot control device does not have a cache line function, data reading and writing can be processed at high speed. Furthermore, by implementing the robot control device 1 using software, caching can be performed even in a hardware configuration that does not support caching. Furthermore, the robot control device 1 can quickly handle cache without using cache line control.
- the robot control device 1 is not limited to the above-described embodiment, and includes modifications, improvements, etc. within a range that can achieve the purpose.
- each function included in the robot control device 1 in one embodiment can be realized by hardware, software, or a combination thereof.
- being realized by software means being realized by a computer reading and executing a program.
- Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media are magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-ROMs, R, CD-R/W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM).
- the program may also be provided to the computer on various types of transitory computer readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves.
- the temporary computer-readable medium can provide the program to the computer via wired communication channels such as electrical wires and optical fibers, or via wireless communication channels.
- the step of writing a program to be recorded on a recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are executed in parallel or individually. It also includes.
- the robot control device, control method, and recording medium of the present disclosure can take various embodiments having the following configurations.
- the robot control device 1 of the present disclosure is a robot control device including a CPU 10, a nonvolatile memory 201, and a volatile memory 202, and the CPU 10 stores a predetermined area of the nonvolatile memory 201 in the volatile memory 202, and a predetermined area of the nonvolatile memory 201.
- a cache memory area of the same size is secured and data is written to the cache memory area of the volatile memory 202 under software control, data is also written to a predetermined area of the non-volatile memory 201, and when data is read, from the volatile memory 202. Load data.
- this robot control device 1 even if the robot control device does not have a cache line function, data reading and writing can be processed at high speed.
- the predetermined area of the nonvolatile memory 201 and the cache memory area of the volatile memory 202 have a one-to-one relationship in the address space, and the CPU 10
- the corresponding address of nonvolatile memory 201 may always be derived from the address of memory 202 by a predetermined amount of offset.
- the control method of the present disclosure is a control method of the robot control device 1 including the CPU 10, the non-volatile memory 201, and the volatile memory 202, in which the CPU 10 stores a predetermined value in the non-volatile memory 201 in the volatile memory 202.
- the securing step of securing a cache memory area of the same size as the area when the CPU 10 writes data to the cache memory area of the volatile memory 202 under software control, the CPU 10 also writes the data to a predetermined area of the nonvolatile memory 201 and stores the data.
- a reading step of reading data from the volatile memory 202 is provided. According to this control method, the same effect as (1) can be achieved.
- the recording medium of the present disclosure includes a cache memory area of the same size as a predetermined area of the nonvolatile memory 201 in the CPU 10 of the robot control device 1 including a nonvolatile memory 201 and a volatile memory 202.
- a cache memory area of the same size as a predetermined area of the nonvolatile memory 201 in the CPU 10 of the robot control device 1 including a nonvolatile memory 201 and a volatile memory 202.
- data is also written to a predetermined area of the non-volatile memory 201, and when data is read, the data is read from the volatile memory.
- Robot control device 10 CPU 20
- Storage unit 201 Non-volatile memory 202 Volatile memory 30 Bus
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理すること。 ロボット制御装置は、プロセッサと揮発性メモリと不揮発性メモリとを含むロボット制御装置であって、前記プロセッサは、前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保し、ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込む。
Description
本発明は、ロボット制御装置、制御方法、及び記録媒体に関する。
一般的に、データの読み込み・書き込みの速度を向上させるために、よく利用するデータを予めSRAMのような読み込み・書き込みの速いメモリへ保存しておくためのキャッシュメモリがある。
キャッシュメモリはあるタイミングでFLASHメモリ(登録商標)のような不揮発性メモリへ書き込まれる。キャッシュメモリと不揮発性メモリとの対応関係はキャッシュラインと呼ばれる制御方式がある。
キャッシュメモリの運用はキャッシュラインの制御が複雑で処理時間がかかるため、プロセッサのハードウェアに備わっているキャッシュラインの制御機能が用いられる。ハードウェアならばプログラム実行と並列してバックグランドで処理し、プログラム実行に与える影響は小さい。
他方、ロボット制御装置は、ロボットの稼働中に停電等により電源が落ちても、直前の状態を再現するために、電源が落ちる直前のデータを保持するためには常に不揮発性メモリにデータを保存している。例えば、特許文献1参照。
ロボット制御装置は、停電等から正常に復旧するために、データを不揮発性メモリに保存しなくてはならないが、不揮発性メモリへのデータの読み込み・書き込み時間は長いことが知られており、データの読み込み・書き込み速度はプロセッサのプログラムの実行時間に大きな影響を与える。そこで、ロボット制御装置は、通常、不揮発性メモリよりもデータの読み込み・書き込みが高速な揮発性メモリを備えており、読み込み・書き込み時間が短い揮発性メモリをキャッシュメモリとして使用する場合、プログラムの実行時間を短くすることができる。
キャッシュメモリはあるタイミングでFLASHメモリ(登録商標)のような不揮発性メモリへ書き込まれる。キャッシュメモリと不揮発性メモリとの対応関係はキャッシュラインと呼ばれる制御方式がある。
キャッシュメモリの運用はキャッシュラインの制御が複雑で処理時間がかかるため、プロセッサのハードウェアに備わっているキャッシュラインの制御機能が用いられる。ハードウェアならばプログラム実行と並列してバックグランドで処理し、プログラム実行に与える影響は小さい。
他方、ロボット制御装置は、ロボットの稼働中に停電等により電源が落ちても、直前の状態を再現するために、電源が落ちる直前のデータを保持するためには常に不揮発性メモリにデータを保存している。例えば、特許文献1参照。
ロボット制御装置は、停電等から正常に復旧するために、データを不揮発性メモリに保存しなくてはならないが、不揮発性メモリへのデータの読み込み・書き込み時間は長いことが知られており、データの読み込み・書き込み速度はプロセッサのプログラムの実行時間に大きな影響を与える。そこで、ロボット制御装置は、通常、不揮発性メモリよりもデータの読み込み・書き込みが高速な揮発性メモリを備えており、読み込み・書き込み時間が短い揮発性メモリをキャッシュメモリとして使用する場合、プログラムの実行時間を短くすることができる。
しかしながら、ロボット制御装置には、キャッシュラインの機能が未対応なハードウェア構成の場合がある。
そこで、ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理することが望まれている。
本開示のロボット制御装置の一態様は、プロセッサと不揮発性メモリと揮発性メモリとを含むロボット制御装置であって、前記プロセッサは、前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保し、ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込む。
本開示の制御方法の一態様は、プロセッサと揮発性メモリと不揮発性メモリとを含むロボット制御装置の制御方法であって、前記プロセッサは、前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保する確保ステップと、前記プロセッサは、ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込む読込ステップと、を備える。
本開示の記録媒体の一態様は、不揮発性メモリと揮発性メモリとを含むロボット制御装置のプロセッサに、前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保させ、ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込ませるように機能させるためのプログラムを記録したプロセッサが読み取り可能な記録媒体。
一態様によれば、ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理することができる。
以下、一実施形態に係るロボット制御装置ついて、図を参照しながら詳細に説明する。
<一実施形態>
図1は、一実施形態に係るロボット制御装置のハードウェア構成の一例を示す図である。
ロボット制御装置1は、当業者にとって公知のロボット制御装置であり、図示しない接続インタフェースを介して図示しないロボットと直接接続されてもよい。また、ロボット制御装置1は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して図示しないロボットと接続されていてもよい。この場合、ロボット制御装置1は、かかる接続によって図示しないロボットと通信を行うための図示しない通信部を備えてもよい。
ロボット制御装置1は、例えば、図示しない教示操作盤等を用いて作成されたロボットプログラムに基づいて指令を生成し、生成した指令をロボット(図示しない)に送信する。これにより、ロボット制御装置1は、図示しないロボットの動作を制御する。
<一実施形態>
図1は、一実施形態に係るロボット制御装置のハードウェア構成の一例を示す図である。
ロボット制御装置1は、当業者にとって公知のロボット制御装置であり、図示しない接続インタフェースを介して図示しないロボットと直接接続されてもよい。また、ロボット制御装置1は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して図示しないロボットと接続されていてもよい。この場合、ロボット制御装置1は、かかる接続によって図示しないロボットと通信を行うための図示しない通信部を備えてもよい。
ロボット制御装置1は、例えば、図示しない教示操作盤等を用いて作成されたロボットプログラムに基づいて指令を生成し、生成した指令をロボット(図示しない)に送信する。これにより、ロボット制御装置1は、図示しないロボットの動作を制御する。
図1に示すように、ロボット制御装置1は、CPU10と、記憶部20とを有する。CPU10と、記憶部20とは、バス30を介して通信可能に接続される。
CPU10は、ロボット制御装置1を全体的に制御するプロセッサである。CPU10は、後述する記憶部20に格納されたOSのシステムプログラム及び各種ソフトウェアのアプリケーションプログラムを、バス30を介して読み出し、システムプログラム及びアプリケーションプログラムに従ってロボット制御装置1全体を制御する。
記憶部20は、不揮発性メモリ201と、揮発性メモリ202とを有する。
不揮発性メモリ201は、SSD(Solid State Drive)やHDD(Hard Disk Drive)、バックアップ電源を備えたSRAM等であり、OS、各種ソフトウェア、各種設定用ファイルを記憶する。
OSは、例えば、ロボット制御装置1で実行されるオペレーティングシステム(OS)やシステムプログラムである。
各種ソフトウェアは、例えば、図示しないロボットの動作プログラムやロボット制御装置1のキャッシュラインの制御等の各種機能を実現するアプリケーションプログラム等のソフトウェアである。
各種設定用ファイルは、例えば、各種ソフトウェアに格納されるソフトウェアに対する設定ファイル等である。
不揮発性メモリ201は、SSD(Solid State Drive)やHDD(Hard Disk Drive)、バックアップ電源を備えたSRAM等であり、OS、各種ソフトウェア、各種設定用ファイルを記憶する。
OSは、例えば、ロボット制御装置1で実行されるオペレーティングシステム(OS)やシステムプログラムである。
各種ソフトウェアは、例えば、図示しないロボットの動作プログラムやロボット制御装置1のキャッシュラインの制御等の各種機能を実現するアプリケーションプログラム等のソフトウェアである。
各種設定用ファイルは、例えば、各種ソフトウェアに格納されるソフトウェアに対する設定ファイル等である。
揮発性メモリ202は、例えば、RAM(Random Access Memory)等であり、必要に応じて不揮発性メモリ201に記憶される各種ファイルがロードされ、CPU10による計算処理等に使用される。
なお、CPU10は、ソフトウェア制御により不揮発性メモリ201のデータを揮発性メモリ202にキャッシングするために、不揮発性メモリ201及び揮発性メモリ202に、図2に示すように、データのサイズが同じアドレス空間を確保(設定)する。図2では、例えば、不揮発性メモリ201は、“0x3000”から“0x4000”のアドレス空間(エリア1)を所定領域として確保(設定)され、揮発性メモリ202は、“0x6000”から“0x7000”のアドレス空間(エリア2)をキャッシュメモリ領域として確保(設定)される。すなわち、不揮発性メモリ201に確保されたエリア1のアドレス空間と揮発性メモリ202に確保されたエリア2のアドレス空間とは、1対1の対応を取ることで、CPU10は、不揮発性メモリ201のアドレスから所定量のオフセットで常に対応する揮発性メモリ202のアドレスを導き出すことができる。また、CPU10は、揮発性メモリ202のアドレスから所定量のオフセットで常に対応する不揮発性メモリ201のアドレスを導き出すことができる。
CPU10は、キャッシングする揮発性メモリ202に確保されたエリア2のアドレス空間へデータを書き込む際に、対応する不揮発性メモリ201に確保されたエリア1にもデータを書き込む。一方、CPU10は、データを読み込む際、揮発性メモリ202からキャッシングされたデータを読み込む。
そうすることで、CPU10は、キャッシュメモリの不揮発性メモリ201と揮発性メモリ202とのデータを同サイズのアドレス空間で固定することでキャッシュラインを固定しライトスルーを行う。これにより、キャッシュラインの機能を有していないロボット制御装置であっても、キャッシュラインの制御と同等のことを行うことができる。
CPU10は、キャッシングする揮発性メモリ202に確保されたエリア2のアドレス空間へデータを書き込む際に、対応する不揮発性メモリ201に確保されたエリア1にもデータを書き込む。一方、CPU10は、データを読み込む際、揮発性メモリ202からキャッシングされたデータを読み込む。
そうすることで、CPU10は、キャッシュメモリの不揮発性メモリ201と揮発性メモリ202とのデータを同サイズのアドレス空間で固定することでキャッシュラインを固定しライトスルーを行う。これにより、キャッシュラインの機能を有していないロボット制御装置であっても、キャッシュラインの制御と同等のことを行うことができる。
<ロボット制御装置1の書込処理>
次に、図3を参照しながら、ロボット制御装置1の書込処理の流れを説明する。
図3は、ロボット制御装置1の書込処理について説明するフローチャートである。ここで示すフローは、記憶部20に書き込むデータを受け取る度に実行される。
次に、図3を参照しながら、ロボット制御装置1の書込処理の流れを説明する。
図3は、ロボット制御装置1の書込処理について説明するフローチャートである。ここで示すフローは、記憶部20に書き込むデータを受け取る度に実行される。
ステップS11において、CPU10は、記憶部20に書き込むデータと書き込み先のアドレスとを取得する。
ステップS12において、CPU10は、書き込み先のアドレスが揮発性メモリ202に確保されたエリア2のアドレスか否かを判定する。書き込み先のアドレスが揮発性メモリ202に確保されたエリア2のアドレスの場合、CPU10は、対応する不揮発性メモリ201に確保されたエリア1のアドレスを導出し、処理はステップS13に進む。一方、書き込み先のアドレスが揮発性メモリ202に確保されたエリア2のアドレスでない場合、処理はステップS14に進む。
ステップS13において、CPU10は、ステップS11で受信したデータを不揮発性メモリ201に確保されたエリア1に書き込む。
ステップS14において、CPU10は、ステップS11で受信したデータをステップS11で取得された揮発性メモリ202のアドレスに書き込む。
<ロボット制御装置1の読込処理>
次に、図4を参照しながら、ロボット制御装置1の読込処理の流れを説明する。
図4は、ロボット制御装置1の読込処理について説明するフローチャートである。ここで示すフローは、データの読み込み指示を受け取る度に実行される。
次に、図4を参照しながら、ロボット制御装置1の読込処理の流れを説明する。
図4は、ロボット制御装置1の読込処理について説明するフローチャートである。ここで示すフローは、データの読み込み指示を受け取る度に実行される。
ステップS21において、CPU10は、データの読み込み指示と記憶部20の読み込み先のアドレスとを取得する。
ステップS22において、CPU10は、読み込み先のアドレスが不揮発性メモリ201に確保されたエリア1のアドレスか否かを判定する。読み込み先のアドレスが不揮発性メモリ201に確保されたエリア1のアドレスの場合、処理はステップS23に進む。一方、読み込み先のアドレスが不揮発性メモリ201に確保されたエリア1以外のアドレスの場合、処理はステップS24に進む。
ステップS23において、CPU10は、読み込み先のアドレスに対応する揮発性メモリ202に確保されたエリア2のアドレスを導出する。
ステップS24において、CPU10は、ステップS21で取得したアドレス又はステップS23で導出したアドレスのデータを記憶部20から読み込む。
以上により、一実施形態に係るロボット制御装置1は、不揮発性メモリ201及び揮発性メモリ202にデータのサイズが同じアドレス空間エリア1及びエリア2を予め確保(設定)し、1対1の対応を取る。これにより、ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理することができる。
また、ロボット制御装置1は、ソフトウェアで実現することで、キャッシングが未対応なハードウェア構成でもキャッシングができる。
また、ロボット制御装置1は、キャッシュラインの制御を使用することなく、迅速にキャッシュを扱うことができる。
また、ロボット制御装置1は、ソフトウェアで実現することで、キャッシングが未対応なハードウェア構成でもキャッシングができる。
また、ロボット制御装置1は、キャッシュラインの制御を使用することなく、迅速にキャッシュを扱うことができる。
以上、一実施形態について説明したが、ロボット制御装置1は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
なお、一実施形態における、ロボット制御装置1に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上を換言すると、本開示のロボット制御装置、制御方法、及び記録媒体は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本開示のロボット制御装置1は、CPU10と不揮発性メモリ201と揮発性メモリ202とを含むロボット制御装置であって、CPU10は、揮発性メモリ202に、不揮発性メモリ201の所定領域と同サイズのキャッシュメモリ領域を確保し、ソフトウェア制御により揮発性メモリ202のキャッシュメモリ領域にデータを書き込む場合、不揮発性メモリ201の所定領域にもデータを書き込み、データを読み込む場合、揮発性メモリ202からデータを読み込む。
このロボット制御装置1によれば、ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理することができる。
このロボット制御装置1によれば、ロボット制御装置がキャッシュラインの機能を有していない場合でも、データの読み込み・書き込みを高速に処理することができる。
(2) (1)に記載のロボット制御装置1において、不揮発性メモリ201の所定領域と揮発性メモリ202のキャッシュメモリ領域とは、アドレス空間上1対1の関係であり、CPU10は、揮発性メモリ202のアドレスから所定量のオフセットで常に対応する不揮発性メモリ201のアドレスを導き出してもよい。
(3)本開示の制御方法は、CPU10と不揮発性メモリ201と揮発性メモリ202とを含むロボット制御装置1の制御方法であって、CPU10は、揮発性メモリ202に、不揮発性メモリ201の所定領域と同サイズのキャッシュメモリ領域を確保する確保ステップと、CPU10は、ソフトウェア制御により揮発性メモリ202のキャッシュメモリ領域にデータを書き込む場合、不揮発性メモリ201の所定領域にもデータを書き込み、データを読み込む場合、揮発性メモリ202からデータを読み込む読込ステップと、を備える。
この制御方法によれば、(1)と同等の効果を奏することができる。
この制御方法によれば、(1)と同等の効果を奏することができる。
(4)本開示の記録媒体は、不揮発性メモリ201と揮発性メモリ202とを含むロボット制御装置1のCPU10に、揮発性メモリ202に、不揮発性メモリ201の所定領域と同サイズのキャッシュメモリ領域を確保させ、ソフトウェア制御により揮発性メモリ202のキャッシュメモリ領域にデータを書き込む場合、不揮発性メモリ201の所定領域にもデータを書き込み、データを読み込む場合、揮発性メモリからデータを読み込ませるように機能させるためのプログラムを記録したCPU10が読み取り可能な記録媒体。
この記録媒体によれば、(1)と同等の効果を奏することができる。
この記録媒体によれば、(1)と同等の効果を奏することができる。
1 ロボット制御装置
10 CPU
20 記憶部
201 不揮発性メモリ
202 揮発性メモリ
30 バス
10 CPU
20 記憶部
201 不揮発性メモリ
202 揮発性メモリ
30 バス
Claims (4)
- プロセッサと不揮発性メモリと揮発性メモリとを含むロボット制御装置であって、
前記プロセッサは、
前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保し、
ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込む
ロボット制御装置。 - 前記揮発性メモリの前記キャッシュメモリ領域と前記不揮発性メモリの所定領域とは、アドレス空間上1対1の関係であり、前記プロセッサは、前記揮発性メモリのアドレスから所定量のオフセットで常に対応する前記不揮発性メモリのアドレスを導き出す、請求項1に記載のロボット制御装置。
- プロセッサと揮発性メモリと不揮発性メモリとを含むロボット制御装置の制御方法であって、
前記プロセッサは、前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保する確保ステップと、
前記プロセッサは、ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込む読込ステップと、
を備える制御方法。 - 不揮発性メモリと揮発性メモリとを含むロボット制御装置のプロセッサに、
前記揮発性メモリに、前記不揮発性メモリの所定領域と同サイズのキャッシュメモリ領域を確保させ、
ソフトウェア制御により前記揮発性メモリの前記キャッシュメモリ領域にデータを書き込む場合、前記不揮発性メモリの所定領域にもデータを書き込み、データを読み込む場合、前記揮発性メモリからデータを読み込ませる
ように機能させるためのプログラムを記録したプロセッサが読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/023979 WO2023243002A1 (ja) | 2022-06-15 | 2022-06-15 | ロボット制御装置、制御方法、及び記録媒体 |
TW112118561A TW202400384A (zh) | 2022-06-15 | 2023-05-18 | 機器人控制裝置、控制方法、及記錄媒體 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/023979 WO2023243002A1 (ja) | 2022-06-15 | 2022-06-15 | ロボット制御装置、制御方法、及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023243002A1 true WO2023243002A1 (ja) | 2023-12-21 |
Family
ID=89192454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/023979 WO2023243002A1 (ja) | 2022-06-15 | 2022-06-15 | ロボット制御装置、制御方法、及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
TW (1) | TW202400384A (ja) |
WO (1) | WO2023243002A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017228245A (ja) * | 2016-06-24 | 2017-12-28 | 蛇の目ミシン工業株式会社 | ログ収集装置、産業用ロボット及び電動プレス |
JP2020150452A (ja) * | 2019-03-14 | 2020-09-17 | オムロン株式会社 | 制御システムおよび制御装置 |
-
2022
- 2022-06-15 WO PCT/JP2022/023979 patent/WO2023243002A1/ja unknown
-
2023
- 2023-05-18 TW TW112118561A patent/TW202400384A/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017228245A (ja) * | 2016-06-24 | 2017-12-28 | 蛇の目ミシン工業株式会社 | ログ収集装置、産業用ロボット及び電動プレス |
JP2020150452A (ja) * | 2019-03-14 | 2020-09-17 | オムロン株式会社 | 制御システムおよび制御装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202400384A (zh) | 2024-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9606744B2 (en) | Data storage mechanism using storage system determined write locations | |
CN107515827B (zh) | Pcie ssd自定义日志的存储方法、装置及ssd | |
US10101946B2 (en) | Method of reading data from a memory device and information processing system controlling data reading | |
JP2010182288A (ja) | フラッシュキャッシュコマンドでキャッシュデータの完全性を保全する方法およびシステム | |
GB2541528A (en) | Back-up and restoration of data between volatile and flash memory | |
WO2021249029A1 (zh) | 用于执行数据处理的装置、方法、和计算设备 | |
KR101201838B1 (ko) | 프로그램 시간을 감소시킨 비휘발성 메모리 장치 | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
JP2018205859A (ja) | メモリコントローラとその制御方法 | |
WO2023243002A1 (ja) | ロボット制御装置、制御方法、及び記録媒体 | |
US9069721B2 (en) | Storage control device, computer-readable recording medium, and method thereof | |
US9690514B2 (en) | Apparatus, method and medium | |
US20190187925A1 (en) | Storage system, control device, and control method | |
US20170371586A1 (en) | Information processing system | |
WO2016139774A1 (ja) | 情報処理装置、情報処理システム | |
JP2015141545A (ja) | ストレージ制御装置、ストレージ制御方法、及び、プログラム | |
US10705739B2 (en) | Magnetic disk device and write method | |
JP2007164928A (ja) | 記憶媒体管理装置、記憶媒体管理プログラム、記憶媒体管理方法 | |
US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JP2012185605A (ja) | 仮想マシンシステム、仮想ディスク管理方法、及び仮想ディスク管理プログラム | |
JP2007323377A (ja) | 記録装置、管理データの書き込み方法および管理データの修復方法 | |
JP2019008642A (ja) | 半導体装置、及びフラッシュメモリ制御方法 | |
KR101609509B1 (ko) | 에러를 검출하고 수정하는 컴퓨팅 방법 및 장치 | |
JP2018073005A5 (ja) | ||
JP5216719B2 (ja) | 情報処理装置および制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22946821 Country of ref document: EP Kind code of ref document: A1 |