Robot control device, control method and recording medium

DE112022006982T5Pending Publication Date: 2025-02-13FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112022006982
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-06-15
Publication Date
2025-02-13

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The present invention enables high-speed data reading and writing, even when a robot control device lacks a cache function. This robot control device comprises a processor, volatile memory, and non-volatile memory. The processor: stores a cache memory area in the volatile memory that is the same size as a predefined area of ​​the non-volatile memory; writes data to the predefined area of ​​the non-volatile memory, even when data is to be written to the cache memory area of ​​the volatile memory by software control; and reads data from the volatile memory when data is to be read.
Need to check novelty before this filing date? Find Prior Art

Description

Technical field

[0001] The present invention relates to a robot control device, a control method and a recording medium. State of the art

[0002] To improve the read and write speed of data, there is generally a cache memory that can read and write quickly and stores frequently used data in advance, such as SRAM.

[0003] The data in the cache memory is written to non-volatile memory, such as flash memory (registered trademark), at a specific time. In a control procedure, a so-called cache line is used in a correspondence relationship between the cache memory and the non-volatile memory.

[0004] When using cache memory, controlling the cache lines is complex, and processing them takes time. For these reasons, a hardware cache line control function is used within the processor. The hardware performs this processing in the background, parallel to the execution of a program, with minimal impact on program execution.

[0005] To ensure that a previous state can be restored even if a robot control device is switched off, for example due to a power outage during robot operation, the robot control device continuously saves data in non-volatile memory to retain data immediately before power-off. See, for example, patent document 1.

[0006] The robot control device must store data in non-volatile memory to be able to restore it, for example, after a power failure. However, reading data from and writing data to non-volatile memory is known to be time-consuming. The speed of data read and write operations therefore significantly impacts the program execution time by the processor. For this reason, the robot control device typically includes volatile memory that is faster at reading and writing data than the non-volatile memory. In cases where the faster read / write volatile memory is used as cache memory, the program execution time can be reduced. Bibliography Patent document

[0007] Patent document 1: Unexamined Japanese patent application, publication no. 2013-198958 Disclosure of the invention Problems to be solved by the invention

[0008] However, the robot control device may have a hardware configuration for which the cache line function is not applicable.

[0009] For this reason, high-speed data read / write processing was required, even if the robot control device does not have a cache line function. Means of solving the problems

[0010] One aspect of a robot control device of the present disclosure is a robot control device comprising a processor, non-volatile memory, and volatile memory. The processor stores a cache memory area in the volatile memory with a size equal to that of a predetermined area in the non-volatile memory, and also writes data to the predetermined area in the non-volatile memory when it writes data to the cache memory area in the volatile memory by software control, and reads data from the volatile memory when it reads data.

[0011] One aspect of a control method of the present disclosure is a control method by a robot control device comprising a processor, volatile memory, and non-volatile memory. The control method includes a step in which the processor stores a cache memory area in the volatile memory with a size equal to that of a predetermined area in the non-volatile memory, and a step in which the processor also writes data to the predetermined area in the non-volatile memory when it writes data to the cache memory area in the volatile memory in a software-controlled manner, and reads data from the volatile memory when it reads the data.

[0012] One aspect of a recording medium of the present disclosure is a processor-readable recording medium on which a program is recorded that causes a processor of a robot control device with a non-volatile memory and a volatile memory to store a cache memory area in the volatile memory with a size equal to that of a predetermined area in the non-volatile memory, and also to write data to the predetermined area in the non-volatile memory when data is written to the cache memory area in the volatile memory by software control, and to read data from the volatile memory when the data is read. Effects of the invention

[0013] According to one aspect, high-speed data read / write processing can also be performed even if the robot control device does not have a cache line function. Brief description of the drawings Fig. Figure 1 is a diagram showing an example of the hardware configuration of a robot control device according to one embodiment; Fig. Figure 2 is a diagram showing an example of a relationship between an address space in non-volatile memory and an address space in volatile memory; Fig. Figure 3 is a flowchart describing the write processing in the robot control device; and Fig. Figure 4 is a flowchart to describe the read processing in the robot control device. Preferred embodiment of the invention

[0014] A robot control device according to one embodiment is described in detail below with reference to the drawings. <Eine Ausführungsform>

[0015] Fig. Figure 1 is a diagram showing an example of a hardware configuration of the robot control device according to one embodiment.

[0016] The robot control device 1 is a robot control device known to those skilled in the art and can be directly connected to a robot (not shown) via a connection interface (not shown). Alternatively, the robot control device 1 can be connected to the robot (not shown) via a network (not shown), such as a local area network (LAN) or the internet. In this case, the robot control device 1 can include a communication unit (not shown) for communicating with the robot (not shown) via such a connection.

[0017] For example, the robot control device 1 generates a command based on a robot program created, for instance, using a training control panel (not shown), and sends the generated command to the robot (not shown). In this way, the robot control device 1 controls the operation of the robot (not shown).

[0018] As in Fig. As shown in Figure 1, the robot control device 1 has a CPU 10 and a memory unit 20. The CPU 10 and the memory unit 20 are communicatively connected to each other via a bus 30.

[0019] The CPU 10 is a processor that controls the entire robot control device 1. The CPU 10 reads a system program of an operating system and application programs of various software types from the memory unit 20, which will be described later, via bus 30 and controls the entire robot control device 1 according to the system program and the application programs.

[0020] The memory unit 20 has a non-volatile memory 201 and a volatile memory 202.

[0021] Non-volatile memory 201, for example, is a solid-state drive (SSD), a hard disk drive (HDD), or SRAM including a backup power source, and stores the operating system, various software types, and files for various settings.

[0022] The operating system is, for example, an operating system (OS) or a system program that is executed in the robot control device 1.

[0023] The various software types include, for example, software that comprises an operating program for the robot not shown and application programs for implementing various functions of the robot control device 1, such as the cache line control.

[0024] The files for the various settings are, for example, software setting files in the different types of software.

[0025] The volatile memory 202, for example, is a random access memory (RAM), whereby various files from the non-volatile memory 201 are loaded into the volatile memory 202 as needed and used, for example, by the CPU 10 for calculations.

[0026] It is noted that the CPU 10, for the purpose of temporarily storing data from non-volatile memory 201 to volatile memory 202, reserves (sets) address spaces with the same data size in both non-volatile memory 201 and volatile memory 202 by software control, as described in Fig. 2 shown. Fig. For example, an address space (area 1) from "0x3000" to "0x4000" is stored (set) as a predetermined area in non-volatile memory 201, and an address space (area 2) from "0x6000" to "0x7000" is stored (set) as a cache memory area in volatile memory 202. That is, the address space as area 1 stored in non-volatile memory 201 and the address space as area 2 stored in volatile memory 202 are one-to-one correspondences, and therefore CPU 10 can constantly derive a corresponding address in volatile memory 202 with a predetermined offset from the address in non-volatile memory 201. Furthermore, the CPU 10 can constantly derive a corresponding address of the non-volatile memory 201 with a predetermined offset from the address of the volatile memory 202.

[0027] When CPU 10 writes data to the address space as the intermediate storage destination of area 2 stored in volatile memory 202, it also writes the data to the corresponding area 1 stored in non-volatile memory 201. Conversely, when reading data, CPU 10 reads the cached data from volatile memory 202.

[0028] The CPU 10 fixes a cache line by storing data in address spaces of the same size in non-volatile memory 201 and volatile memory 202 as the cache memory, and performs a write operation. With this configuration, even a robot controller that lacks a cache line function can execute control equivalent to cache line control. <Schreibverarbeitung in der Robotersteuervorrichtung 1>

[0029] The following describes the write processing process in the robot control device 1 using the following examples: Fig. 3 described.

[0030] Fig. Figure 3 is a flowchart describing the write processing in the robot control device 1. The process described here is executed every time data is received that is to be written to the storage unit 20.

[0031] In step S11, the CPU 10 detects the data to be written to the memory unit 20 and a write destination address.

[0032] In step S12, CPU 10 determines whether the write destination address is the address of area 2 stored in volatile memory 202. If the write destination address is the address of area 2 stored in volatile memory 202, CPU 10 derives the corresponding address of area 1 stored in non-volatile memory 201, and processing continues with step S13. If, on the other hand, the write destination address is not the address of area 2 stored in volatile memory 202, processing continues with step S14.

[0033] In step S13, the CPU 10 writes the data received in step S11 to the secured area 1 of the non-volatile memory 201.

[0034] In step S14, the CPU 10 writes the data received in step S11 to the address of the volatile memory 202 recorded in step S11. <Leseverarbeitung in der Robotersteuervorrichtung 1>

[0035] The following describes the read processing sequence in the robot control device 1 using the following examples: Fig. 4 described.

[0036] Fig. Figure 4 is a flowchart describing the read processing in the robot control device 1. The process described here is executed every time a data read command is received.

[0037] In step S21, the CPU 10 detects the data read instruction and a read origin address in the memory unit 20.

[0038] In step S22, CPU 10 determines whether the read origin address is the address of area 1 stored in non-volatile memory 201. If the read origin address is the address of area 1 stored in non-volatile memory 201, processing continues with step S23. Conversely, if the read origin address is different from the address of area 1 stored in non-volatile memory 201, processing continues with step S24.

[0039] In step S23, the CPU 10 derives the address of area 2 stored in the volatile memory 202, which corresponds to the read origin address.

[0040] In step S24, the CPU 10 reads the data from the address recorded in step S21 or the address derived in step S23 from the memory unit 20.

[0041] As described above, the robot control device 1, according to one embodiment, is configured such that area 1 and area 2 are pre-stored (set) as address spaces with the same data size in non-volatile memory 201 and volatile memory 202, respectively, and correspond one-to-one. With this configuration, high-speed data read / write processing can be performed even if the robot control device does not have a cache row function.

[0042] Furthermore, the robot control device 1 is implemented by the software, so that buffering can also be performed in a hardware configuration for which buffering is not applicable.

[0043] Furthermore, the robot control device 1 can quickly perform intermediate storage without cache line control.

[0044] One embodiment has been described above, however, the robot control device 1 is not limited to the embodiment described above and changes, modifications, etc. are made within a scope in which the objective can be achieved.

[0045] It is noted that each function of the robot control device 1 in an embodiment can be implemented by hardware, software, or a combination thereof. Here, implementation by software means implementation by a computer reading and executing a program.

[0046] The program can be stored on and supplied to the computer on various types of non-transient computer-readable media. Non-transient computer-readable media include various types of physical storage media. Examples of non-transient computer-readable media include magnetic recording media (for example, a flexible floppy disk, magnetic tape, and a hard disk drive), magnetic optical recording media (for example, a magnetic optical disc), a CD-ROM, a CD-R, a CD-R / W, and semiconductor memory (for example, a mask ROM, a programmable ROM (PROM), an erasable PROM (EPROM), a flash ROM, and RAM). The program can be supplied to the computer through various types of transient computer-readable media.Examples of a transitory computer-readable medium include an electrical signal, an optical signal, and an electromagnetic wave. The transitory computer-readable medium can deliver the program to the computer via a wired communication path, such as an electrical cable or optical fiber, or via a wireless communication path.

[0047] It should be noted that the steps for describing the program recorded on the recording medium include not only processing carried out in chronological order, but also processing carried out in parallel or separately.

[0048] In other words, the robot control device, control method and recording medium of the present disclosure can comprise various embodiments with the following configurations.

[0049] (1) The robot control device 1 of the present disclosure is the robot control device comprising the CPU 10, the non-volatile memory 201 and the volatile memory 202. The CPU 10 stores in the volatile memory 202 the cache memory area with a size equal to that of the predetermined area in the non-volatile memory 201, and also writes data to the predetermined area in the non-volatile memory 201 when it writes the data to the cache memory area in the volatile memory 202 by software control, and reads data from the volatile memory 202 when it reads the data.

[0050] According to the robot control device 1, high-speed data read / write processing can also be performed in a case where the robot control device does not have a cache line function.

[0051] (2) In the robot control device 1 according to (1), the predetermined area in the non-volatile memory 201 and the cache memory area in the volatile memory 202 can be the address spaces in one-to-one correspondence, wherein the CPU 10 can constantly derive the corresponding address of the non-volatile memory 201 with the predetermined offset from the address of the volatile memory 202.

[0052] (3) The control method of the present disclosure is the control method by the robot control device 1, comprising the CPU 10, the non-volatile memory 201 and the volatile memory 202. The control method comprises a step in which the CPU 10 saves the cache memory area in the volatile memory 202 with a size equal to that of the predetermined area in the non-volatile memory 201, and a step in which data is also written to the predetermined area in the non-volatile memory 201 when the data is written to the cache memory area in the volatile memory 202 by software control, and data is read from the volatile memory 202 when the data is read.

[0053] According to the tax procedure, effects can be achieved that correspond to those of (1).

[0054] (4) The recording medium of the present disclosure is the recording medium, which is readable by the CPU 10 and on which the program is recorded, which causes the CPU 10 of the robot control device 1, comprising the non-volatile memory 201 and the volatile memory 202, to store in the volatile memory 202 the cache memory area in the volatile memory 202 with a size equal to that of the predetermined area in the non-volatile memory 201 and also to write data to the predetermined area in the non-volatile memory 201 when the data is written to the cache memory area in the volatile memory 202 by software control, and to read data from the volatile memory when the data is read.

[0055] Depending on the recording medium, effects can be achieved that correspond to those of (1). Explanation of reference symbols 1 robot control device 10 CPU 20 storage units 201 Non-volatile memory 202 Volatile Memory 30 Bus QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature

[0000] JP 2013-198958

[0007]

Claims

[1] Robot control device, comprising: a processor; a non-volatile memory; and a volatile memory, where the processor secures in the volatile memory a cache memory area having a size equal to that of a predetermined area in the non-volatile memory, and further writes data to the predetermined area in the non-volatile memory when the data is written to the cache memory area in the volatile memory under software control, and reads data from the volatile memory when the data is read. [2] A robot control device according to claim 1, wherein the cache memory area in the volatile memory and the predetermined area in the non-volatile memory are address spaces in one-to-one correspondence, and the processor constantly derives a corresponding address of the non-volatile memory with a predetermined offset from an address of the volatile memory. [3] A control method by a robot control device comprising a processor, a volatile memory and a non-volatile memory, comprising: a step in which the processor secures in the volatile memory a cache memory area having a size equal to that of a predetermined area in the non-volatile memory; and a step in which the processor further writes data to the predetermined area in the non-volatile memory when writing the data to the cache memory area in the volatile memory under software control, and reads data from the volatile memory when reading the data. [4] Processor-readable recording medium on which a program is recorded which causes a processor of a robot control device having a non-volatile memory and a volatile memory, to secure a cache memory area in the volatile memory having a size equal to that of a predetermined area in the non-volatile memory, and further to write data to the predetermined area in the non-volatile memory when the data is written to the cache memory area in the volatile memory under software control, and to read data from the volatile memory when the data is read.

Citation Information

Patent Citations

  • Robot control device

    JP2013198958A

  • 2013-198958