Mobile operation device, machine system, and memory control program for mobile operation device

JPWO2024069880A5Active Publication Date: 2025-06-11FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024548984
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2025-06-11
Estimated Expiration
2042-09-29

AI Technical Summary

Technical Problem

Portable operating devices, such as teaching pendants for industrial robots, face challenges in maintaining reliability while minimizing memory usage and processing speed due to exposure to electromagnetic noise, which necessitates error correction codes that increase memory usage and processing time.

Method used

A portable operating device with multiple storage units, a code assigning unit, and an encoding area specifying unit that dynamically assigns error correction codes only to critical data areas, thereby optimizing memory usage and processing speed by selectively applying error correction codes based on the program's relevance to the system.

Benefits of technology

This approach maintains reliability by selectively applying error correction codes, reducing memory usage and processing time, while ensuring that critical data is protected from errors caused by electromagnetic noise.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention provides a mobile operation device, a machine system, and a memory control program for the mobile operation device that are capable of suppressing an increase in memory usage and a decrease in processing speed while maintaining reliability of the system. The mobile operation device is a portable device for operating a machine, and comprises a memory with a plurality of storage units, a code assigning unit that assigns an error-correcting code to data in the memory, and an encoding region specifying unit that specifies a region to which the data assigned with the error-correcting code is to be stored.
Need to check novelty before this filing date? Find Prior Art

Description

Portable operation device, mechanical system, and memory control program for portable operation device

[0001] The present disclosure relates to a portable operating device, a mechanical system, and a memory control program for the portable operating device.

[0002] In recent years, portable operating devices connected to machine control devices that control machines such as robots or CNC (Computer Numerical Control) machine tools are often used to operate the machines. An example of a portable operating device is a teaching pendant that teaches an industrial robot how to perform certain operations. This teaching pendant is used, for example, in a factory where the industrial robot is actually installed, to make the industrial robot perform a predetermined processing operation on a workpiece.

[0003] Here, the teaching pendant (portable operating device) is portable and used, for example, in a factory where an industrial robot (machine) is installed, and is therefore exposed to electromagnetic noise and the like generated by the industrial robot itself or various surrounding machines. In other words, since the teaching pendant is often used in an environment where various noises including electromagnetic noise are present, there is a risk that errors will occur in the data stored in the memory provided in the teaching pendant due to the influence of electromagnetic noise and the like.

[0004] Therefore, for example, an error-correcting code (ECC) is applied to the memory (main memory) of the teaching pendant. Here, the error-correcting code is a code that is added to the memory, for example, when recording (writing) data to the memory, so that the receiving side (reading side) can detect and correct data errors that occur in the memory. For example, this error-correcting code (ECC data) is generated from the original data based on a predetermined protocol, and the generated ECC data is added to the original data and recorded in the memory.

[0005] That is, the ECC data is used, for example, to detect and correct errors in data read from a memory on the receiving side. The ECC data is generated, for example, by cutting the original data to a predetermined length and applying a predetermined protocol to the cut data. Furthermore, the data with the ECC data added is written to a main memory, such as a DRAM (Dynamic Random Access Memory) in a teaching pendant.

[0006] The data reader then uses the ECC data added to the original data to detect and correct errors in the data read from the memory. That is, when reading data, the reader separates the ECC data from the original data and applies a predetermined protocol to check whether the original data contains any errors. Furthermore, if an error is detected on the reader, the reader restores the data to its correct state based on the ECC data.

[0007] Various error correction code (ECC) methods have been proposed, but none can completely detect and correct all errors, and each method determines the number of bits of errors that can be detected or corrected per given length. Generally, if the error correction code is made longer, the number of errors (number of bits) that can be detected / corrected also increases, but the memory capacity and calculation amount used to detect / correct the errors also increase.

[0008] In other words, the more bits are detected / corrected by applying an error-correcting code, the longer the data volume and processing time of the error-correcting code. Therefore, the error-correcting code to be applied must be selected appropriately taking into consideration the required number of bits to be detected / corrected, the available memory capacity, bandwidth, etc. Various error-correcting codes are used, including Hamming codes, horizontal / vertical parity codes, Reed-Solomon codes, and BCH codes.

[0009] Conventionally, various proposals have been made for teaching pendants having a function of adding error correction codes.

[0010] JP 2003-068095 A JP 2021-047774 A

[0011] As mentioned above, in factories where industrial robots are installed, portable teaching pendants are usually used in the vicinity of the industrial robots, and are therefore exposed to electromagnetic noise and the like generated by the industrial robots themselves or various surrounding machines. This raises the risk of errors occurring in the data stored in the memory of the teaching pendant, and therefore error correction codes are applied.

[0012] However, when an error correction code is applied, it becomes necessary to add data for the error correction code (ECC data), and furthermore, processing for error correction (detection and correction) becomes necessary. In other words, when an error correction code is applied to a teaching pendant, it leads to an increase in memory usage in the teaching pendant and a decrease in processing speed.

[0013] Here, the teaching pendant is not limited to one that teaches an industrial robot a predetermined operation for a workpiece, but may be a portable operating device that can operate various robots such as collaborative robots and various machines such as CNC machine tools. In other words, the portable operating device in this specification is a portable (handheld) device that can operate various machines including a teaching pendant.

[0014] As described above, it is desirable to maintain reliability in the portable operating device, the mechanical system, and the memory control program of the portable operating device while suppressing an increase in memory usage and a decrease in processing speed.

[0015] According to one embodiment of the present disclosure, there is provided a portable operating device for operating a machine, the portable operating device including a memory having a plurality of storage units, a code assigning unit, and a coding area designating unit, wherein the code assigning unit assigns an error correction code to data in the memory, and the coding area designating unit designates an area for storing the data to which the error correction code has been assigned.

[0016] The objects and advantages of the invention will be realized and obtained by means of the elements and combinations particularly pointed out in the claims. Both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention as claimed.

[0017] Fig. 1 is a diagram showing an outline of an industrial robot system as an example of a machine system according to this embodiment. Fig. 2 is a block diagram showing the main configuration of an example of a portable operating device according to this embodiment. Fig. 3 is a flowchart for explaining an example of processing in an example of a memory control program of the portable operating device according to this embodiment.

[0018] Hereinafter, examples of a portable operating device, a mechanical system, and a memory control program for the portable operating device according to the present embodiment will be described in detail with reference to the accompanying drawings. In each drawing, the same or similar components are assigned the same or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope and meaning of the terms of the invention described in the claims.

[0019] 1 is a diagram illustrating an industrial robot system as an example of a mechanical system according to the present embodiment. As shown in FIG. 1, the industrial robot system 100 as an example of a mechanical system according to the present embodiment includes an industrial robot (machine) 1, an industrial robot control device (machine control device) 2, and a teaching pendant (portable operating device) 3.

[0020] A hand unit (end effector) 11A is provided at the tip of an arm 11 of the industrial robot (robot) 1, and this hand unit 11A performs a predetermined process on a workpiece (object) 5 placed on a workbench 4, for example. An industrial robot control device (robot control device) 2 controls the robot 1 based on, for example, a pre-installed program (software program) or the like.

[0021] Here, a camera (not shown) for photographing the workpiece 5 and the like may be attached near the hand portion 11A of the arm 11, and an image including the workpiece 5 photographed by this camera may be output to the robot control device 2. Furthermore, it goes without saying that various changes and modifications are possible depending on the type of machine to be applied and the processing required.

[0022] The teaching pendant 3 includes a display screen 31 and an operation unit 32, and is connected by wire to the robot control device 2. The teaching pendant 3 is used by an operator (teacher) to operate the operation unit 32 while checking the image on the display screen 31, thereby teaching the robot 1 a predetermined operation using the hand unit 11A via the robot control device 2.

[0023] Here, since the teaching pendant 3 is used near the robot 1 installed in an actual factory, for example, it is exposed to electromagnetic noise and the like generated by the robot 1 itself or various surrounding machines. In other words, since the teaching pendant 3 is often used in an environment where various noises including electromagnetic noise are present, there is a risk that errors will occur in the data stored in the memory of the teaching pendant 3 due to the influence of electromagnetic noise and the like.

[0024] 1, the teaching pendant (portable operating device) 3 is connected to the robot control device 2 by a wire, but it may also be configured to be connected to the robot control device 2 wirelessly. Needless to say, the portable operating device 3 is not limited to the teaching pendant shown in FIG. 1, but may be, for example, a tablet (tablet computer) connected to the robot control device 2 by a wire or wirelessly. Furthermore, the portable operating device 3 is not limited to a teaching pendant for operating robots such as industrial robots and collaborative robots, or CNC machine tools, but can be widely used as a portable operating device for controlling various machines.

[0025] Fig. 2 is a block diagram showing the configuration of the main parts of one example of the portable operating device according to this embodiment, and functionally shows the main parts of the teaching pendant 3 in the industrial robot system 100 shown in Fig. 1. As shown in Fig. 2, the teaching pendant 3 includes an arithmetic processing device (CPU (Central Processing Unit, MPU (Micro Processing Unit))) 310 and a memory (storage device) 320.

[0026] The CPU 310 includes a code assigning unit 311, an encoding area designation unit 312, and a status grasping unit 313. The code assigning unit 311 assigns an error correction code to data in the memory 320, the encoding area designation unit 312 designates an area for storing the data to which the error correction code has been assigned, and the status grasping unit 313 grasps the status of the teaching pendant 3.

[0027] The memory 320 has, for example, N memory units (a first memory unit (memory block) 321, a second memory unit 322, ..., an Nth memory unit 32N). Here, the memory 320 is a main memory (for example, a DRAM: Dynamic Random Access Memory) of the CPU 310 in the teaching pendant 3, and it is possible to control whether or not to enable error correction codes for any of the memory units 321 to 32N.

[0028] The status grasping unit 313 grasps the status of an application program (program) executed by the CPU 310 of the teaching pendant 3, for example, in accordance with a control command from the robot control device 2. The coding area designation unit 312 designates an area among the plurality of storage units 321 to 32N for storing data to which an error correction code has been assigned by the code assignment unit 311, for example, based on the output of the status grasping unit 313.

[0029] The coding area designation unit 312 designates a storage unit for storing data with error correction codes among a plurality of (e.g., N) storage units 321, 322, ..., 32N included in the memory 320. That is, based on the output of the state grasping unit 313, the coding area designation unit 312 switches the capacity of the area for storing data with error correction codes, which is important data in which errors caused by electromagnetic noise or the like should not occur.

[0030] Here, the data stored in the area specified by the coding area specification unit 312, i.e., the data to which the error correction code has been assigned by the code assignment unit 311, can be determined, for example, based on the state of the program grasped by the state grasp unit 313.

[0031] Specifically, for example, when the program executed by the CPU 310 is directly related to the industrial robot system 100, such as operating the industrial robot 1, data with error correction codes added thereto is written to an area of ​​the memory 320 designated by the coding area designation unit 312. On the other hand, for example, when the program executed by the CPU 310 is not directly related to the industrial robot system 100, such as taking a screenshot of the display screen 31 of the teaching pendant 3 or collecting logs, data without error correction codes added thereto is written to the memory 320.

[0032] In other words, the code assignment unit 311 assigns an error correction code to data when the program executed by the CPU 310, as determined by the status determination unit 313, is directly related to the system, and does not assign an error correction code to data when the program is not directly related to the system.

[0033] In other words, the coding area designation unit 312 designates an area for storing data with an error correction code added to it when the program executed by the CPU 310 recognized by the status determination unit 313 is directly related to the system. On the other hand, the coding area designation unit 312 designates an area for storing data without an error correction code added to it when the program executed by the CPU 310 recognized by the status determination unit 313 is not directly related to the system.

[0034] In this way, the coding area designation unit 312 switches the capacity of the area for storing data with error correction codes among the multiple storage units 321 to 32N based on the state of the program grasped by the state grasp unit 313.

[0035] Here, the determination of whether or not the code assigning unit 311 assigns an error correction code can be determined by the state grasping unit 313 grasping the program executed by the CPU 310. The state grasping unit 313 can also confirm the grasp of the program by, for example, a control command from the robot control device 2 to the teaching pendant 3. Furthermore, the determination of whether or not to assign an error correction code is not limited to being determined based on whether or not the program executed by the CPU 310 is directly related to the system.

[0036] That is, the status grasping unit 313 grasps the operation and usage status of the teaching pendant 3 or various other statuses, and can determine whether the code assigning unit 311 should assign an error correction code based on the output of the status grasping unit 313. Alternatively, the coding area designating unit 312 can designate an area among the multiple storage units 321 to 32N of the memory 320 in which to store data to which an error correction code has been assigned, based on the output of the status grasping unit 313.

[0037] Here, the data to which the code assigning unit 311 assigns an error correction code can be considered to be, for example, important data that is directly related to a system that needs to be protected by applying an error correction code. On the other hand, the data to which the code assigning unit 311 does not assign an error correction code can be considered to be, for example, data that can tolerate a certain degree of error and for which it is preferable to avoid an increase in memory usage and a decrease in processing speed due to the application of an error correction code. This makes it possible to suppress an increase in memory usage and a decrease in processing speed while maintaining the reliability of the operation of the teaching pendant 3 (industrial robot system 100).

[0038] Figure 3 is a flowchart for explaining an example of processing in one embodiment of the memory control program of the portable operating device according to this embodiment, and is intended to explain, for example, the processing of the program executed by the arithmetic processing unit 310 of the teaching operation panel 3 shown in Figure 2.

[0039] As shown in FIG. 3, when one embodiment of the memory control program for the teaching pendant starts (START), in step ST1, the status grasping unit 313 grasps the status of the teaching pendant 3 and determines the area to which an error correction code should be assigned (area that needs to be protected by applying ECC) from the first memory unit to the Nth memory unit (memory blocks 321 to 32N).

[0040] Next, the process proceeds to step ST2, where the coding area designation unit 312 designates an area to which an error correction code is to be added, based on the determination result of the state grasping unit 313. That is, as described above, the coding area designation unit 312 designates an area, among the multiple storage units 321 to 32N of the memory 320, for storing the data to which the error correction code has been added, based on the output of the state grasping unit 313.

[0041] Then, the process proceeds to step ST3, where the code assigning unit 311 assigns an error correction code to the data in the specified storage unit based on the designation by the coding area designation unit 312. That is, the code assigning unit 311 assigns the error correction code to the data in the area in the memory 320 designated by the coding area designation unit 312 that stores the data to which the error correction code has been assigned.

[0042] The memory control program of the portable operating device according to the present embodiment may be provided by recording it on a computer-readable non-transitory recording medium or a non-volatile semiconductor memory, or may be provided via a wired or wireless connection. Examples of computer-readable non-transitory recording media include optical disks such as CD-ROMs (Compact Disc Read Only Memory) and DVD-ROMs, or hard disk drives. Examples of non-volatile semiconductor memories include PROMs (Programmable Read Only Memory) and flash memories. Furthermore, the program may be distributed from a server device via a wired or wireless wide area network (WAN), local area network (LAN), or the Internet.

[0043] As described above in detail, the portable operating device, mechanical system, and memory control program for the portable operating device according to this embodiment make it possible to suppress an increase in memory usage and a decrease in processing speed while maintaining the reliability of the portable operating device (mechanical system).

[0044] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0045] The following supplementary notes are further disclosed regarding the above embodiments and variations. [Supplementary Note 1] A portable operating device (3) for operating a machine (1), comprising: a memory (320) having a plurality of storage units (321-32N), a code assigning unit (311) that assigns an error correction code to data in the memory (320), and a coding area designation unit (312) that designates an area for storing the data with the error correction code. [Supplementary Note 2] The portable operating device according to Supplementary Note 1 further comprises: a status grasping unit (313) that grasps the status of the portable operating device (3), and the coding area designation unit (312) designates an area among the plurality of storage units (321-32N) for storing the data with the error correction code based on an output of the status grasping unit (313). [Supplementary Note 3] The portable operating device (3) includes an arithmetic processing unit (310) that executes an application program, wherein the state grasping unit (313) grasps the state of the application program executed by the arithmetic processing unit (310), and the coding area designation unit (312) switches the capacity of an area among the plurality of storage units (321 to 32N) that stores data to which the error correction code has been assigned, based on the state of the application program grasped by the state grasping unit (313). [Supplementary Note 4] The portable operating device according to Supplementary Note 3, wherein the code assignment unit (311) assigns an error correction code to data in which the application program grasped by the state grasping unit (313) is directly related to a system, and does not assign an error correction code to data in which the application program grasped by the state grasping unit (313) is not directly related to a system. [Appendix 5] The memory (320) is a main memory accessible by the arithmetic processing unit (310), and is a DRAM capable of controlling whether or not to enable the error correction code for any of the storage units (321 to 32N). The portable operating device according to appendix 3 or appendix 4.[Supplementary Note 6] The portable operating device according to any one of Supplementary Notes 1 to 6, wherein the machine (1) is a robot or a CNC machine tool, and the portable operating device (3) is a teaching pendant that teaches an operation to the robot or the CNC machine tool. [Supplementary Note 7] A machine system comprising: the portable operating device (3) according to any one of Supplementary Notes 1 to 6, a machine control device (2) connected to the portable operating device (3) via a communication line, and the machine (1) connected to the machine control device (2) via the communication line and operated by the portable operating device (3) via the machine control device (2). [Supplementary Note 8] A memory control program for a portable controller device (3) including an arithmetic processing device (310) and a memory (320) having a plurality of storage units (321 to 32N) accessed by the arithmetic processing device (310), the memory control program for the portable controller causing the arithmetic processing device (310) to execute a process of: adding an error correction code to data in the memory (320), and specifying an area for storing the data with the error correction code. [Supplementary Note 9] The memory control program for the portable controller device according to Supplementary Note 8, further causing the arithmetic processing device (310) to execute a process of: grasping a state of the portable controller device (3), and switching an area for storing the data with the error correction code based on the grasped state of the portable controller device (3).

[0046] 1 Industrial robot (machine, robot) 2 Industrial robot control device (machine control device, control device) 3 Teaching operation panel (portable operation device) 4 Work table 5 Work (object) 11 Arm 11A Hand unit (end effector) 31 Display screen 32 Operation unit 100 Industrial robot system (machine system, system) 310 CPU (arithmetic processing unit) 311 Code assignment unit 312 Encoding area designation unit 313 Status grasping unit 320 Memory 321 to 32N Storage unit (memory block)

Claims

1. A portable operating device for operating a machine, A memory having a plurality of storage units; a code adding unit that adds an error correction code to the data in the memory; A portable operating device comprising: a coding area designation unit that designates an area for storing the data to which the error correction code has been added.

2. moreover, A state grasping unit that grasps a state of the portable operating device, The portable controller according to claim 1 , wherein the coding area designation unit designates an area among the plurality of storage units in which to store the data to which the error correction code has been added, based on an output from the state grasping unit.

3. the portable operating device includes a processor that executes an application program; The state grasping unit grasps a state of an application program executed by the arithmetic processing device, The portable operating device of claim 2, wherein the coding area designation unit switches the capacity of an area among the plurality of memory units for storing data to which the error correction code has been added based on the state of the application program grasped by the state grasping unit.

4. The code assignment unit adding an error correction code to data when the application program recognized by the state recognition unit is directly related to the system; 4. The portable controller according to claim 3, wherein an error correction code is not added to data when the application program recognized by the state recognition unit is not directly related to the system.

5. 4. The portable controller according to claim 3, wherein the memory is a main memory accessible by the processor, and is a DRAM capable of controlling whether or not the error correction code is enabled for any one of the storage units.

6. The machine is a robot or a CNC machine tool, 6. The portable operating device according to claim 1, wherein the portable operating device is a teaching pendant for teaching an operation to the robot or the CNC machine tool.

7. A portable operating device according to any one of claims 1 to 5, A machine control device connected to the portable operating device via a communication line; A machine system comprising: a machine connected to the machine control device via a communication line and operated by the portable operating device via the machine control device.

8. A memory control program for a portable operating device including a processor and a memory having a plurality of storage units that are accessed by the processor, the program comprising: The arithmetic processing device includes: applying an error correction code to the data in the memory; A memory control program for a portable operating device that executes a process for specifying an area for storing the data to which the error correction code has been added.

9. The processor further comprises: Grasping the state of the portable operating device; 9. The memory control program for a portable controller according to claim 8, which causes a process to be executed in which an area for storing the data to which the error correction code has been added is switched based on the grasped state of the portable controller.