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

By designing a plurality of storage units, code assignment units and coding area designation units in the memory of the portable operating device, the error correction code is dynamically determined, and the problem of data errors in the electromagnetic noise environment of the portable operating device is solved, and the balance of reliability and processing speed is achieved.

CN119895343APending Publication Date: 2025-04-25FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280100272.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-09-29
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

When the portable operating device is used in an environment such as electromagnetic noise, errors are easily caused by data in the memory, resulting in the need to apply error correction codes, thereby increasing the memory usage and reducing processing speed.

Method used

A portable operating device is designed, and the memory has a plurality of storage units, equipped with a code assignment unit and an encoding area designating unit. The code assignment unit assigns an error correction code to the data in the memory, and the encoding area designating unit specifies an area where the data assigned to the error correction code is stored. Through the output of the state grasping unit, the capacity of the storage unit is dynamically switched to determine whether to apply an error correction code.

Benefits of technology

The reliability of the portable operating device is effectively maintained, the increase in memory usage and the reduction in processing speed are suppressed, and it is suitable for portable operating devices used in environments such as electromagnetic noise.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895343A_ABST
    Figure CN119895343A_ABST
Patent Text Reader

Abstract

The invention provides a portable operation device, a mechanical system, and a memory control program for the portable operation device capable of suppressing an increase in memory usage amount and a decrease in processing speed while maintaining system reliability. The portable operation device is a portable operation device for operating a machine, and is provided with: a memory having a plurality of storage units; a code imparting unit that imparts an error correction code to the data in the memory; and an encoding region specifying unit that specifies a region in which the data to which the error correction code has been assigned is stored.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In recent years, in order to operate machines such as robots or CNC (Computer Numerical Control) machine tools, a portable operating device that is connected to a mechanical control device that controls the machine is sometimes used. Here, as an example of a portable operating device, a teaching operation panel for teaching an industrial robot an action, etc. can be cited. The teaching operation panel is used, for example, in a factory where an industrial robot is actually installed, to make the industrial robot perform a predetermined processing action on a workpiece.

[0003] Here, the teaching operation panel (portable operating device) is designed to be portable, and is used in a factory or the like where an industrial robot (machine) is installed, for example, so it is exposed to electromagnetic noise generated from the industrial robot itself or various surrounding machines. That is, the teaching operation panel is often used in an environment where various noises, including electromagnetic noise, exist, so the data in the memory installed in the teaching operation panel may be erroneous due to the influence of electromagnetic noise or the like.

[0004] Therefore, the memory (main memory) in the teaching operation panel uses, for example, a memory to which an error correction code (ECC: Error-Correcting Code / Error-Correction Code) is applied. Here, the error correction code is, for example, a code added to detect and correct errors in data generated in the memory on the receiving side (reading side) when data is recorded (written) in the memory. The error correction code (ECC data) is generated, for example, based on 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. As a process for generating the ECC data, for example, the original data is cut into a predetermined length, and a predetermined protocol is applied to the cut data to generate the data. Furthermore, the data to which the ECC data is added is written, for example, into a main memory composed of a DRAM (Dynamic Random Access Memory) or the like in a teaching operation panel.

[0006] Then, on the data reading side, the ECC data added to the original data is used to detect and correct errors in the data read from the memory. That is, on the reading side, when the data is read, the ECC data is separated from the original data, and a predetermined protocol is applied to confirm whether the original data has errors. In addition, when an error is detected on the reading side, recovery to correct data is performed based on the ECC data.

[0007] Here, various methods have been proposed as error correction codes (ECC), but none of them can completely detect and correct all errors, and each method determines how many bits of errors per predetermined length can be detected or corrected. Generally speaking, if the error correction code is extended, the errors (number of bits) that can be detected / corrected will also increase, but the memory capacity and calculation amount used to detect / correct the errors will also increase.

[0008] That is, when the number of bits to be detected / corrected by the error correction code increases, the amount of data and the processing time of the error correction code will also increase. Therefore, the application of the error correction code will be appropriately selected in consideration of the number of bits required for detection / correction and the available memory capacity, bandwidth, etc. In addition, as the error correction code, various codes such as Hamming code, horizontal and vertical parity check code, Reed-Solomon code and BCH code are used.

[0009] Conventionally, various teaching operation panels having a function of providing an error correction code have been proposed.

[0010] Prior art literature

[0011] Patent Literature

[0012] Patent Document 1: Japanese Patent Application Publication No. 2003-068095

[0013] Patent Document 2: Japanese Patent Application Publication No. 2021-047774 Summary of the invention

[0014] Problems to be solved by the invention

[0015] As described above, in a factory where an industrial robot is installed, a movable teaching operation panel is usually used near the industrial robot, and is therefore exposed to electromagnetic noise generated by the industrial robot itself or various machines around it, etc. Therefore, the data stored in the memory of the teaching operation panel may be erroneous, and thus an error correction code is applied.

[0016] However, if error correction codes are applied, it is necessary to add data for error correction codes (ECC data), and further, it is necessary to perform processing for error correction (detection and correction). That is, if error correction codes are applied to the teaching operation panel, it will lead to an increase in the memory usage and a decrease in the processing speed in the teaching operation panel.

[0017] Here, the teaching operation panel is not limited to teaching the industrial robot a predetermined action for a workpiece, but can also be a portable operating device that can be used to operate various robots such as collaborative robots or various machines such as CNC machine tools. That is, the portable operating device in this specification is a portable (portable) device that can be used to operate various machines, including the teaching operation panel.

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

[0019] Means for solving problems

[0020] According to one embodiment of the present disclosure, there is provided a portable operating device for operating a machine, wherein the device comprises: a memory having a plurality of storage units; a code assigning unit; and a coding area specifying unit. The code assigning unit assigns an error correction code to data in the memory, and the coding area specifying unit specifies an area for storing data to which the error correction code is assigned.

[0021] The objects and effects of the present invention will be realized and obtained by using the structural elements and combinations particularly pointed out in the claims. The above general description and the detailed description below are both exemplary and illustrative and do not limit the present invention described in the scope of the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 This is a diagram schematically showing an industrial robot system as an example of a mechanical system according to the present embodiment.

[0023] Figure 2 This is a block diagram showing a main part structure of one example of a portable operating device according to the present embodiment.

[0024] Figure 3 This is a flowchart for explaining an example of processing in one example of a memory control program of the portable operating device according to the present embodiment. DETAILED DESCRIPTION

[0025] Hereinafter, embodiments of the portable operating device, the mechanical system, and the memory control program of the portable operating device of the present embodiment will be described in detail with reference to the accompanying drawings. In each of the accompanying drawings, the same or similar structural elements are given the same or similar reference numerals. In addition, the embodiments described below do not limit the technical scope of the invention described in the scope of the patent protection requested and the meaning of the terms.

[0026] Figure 1FIG. 2 is a diagram schematically showing an industrial robot system as an example of a mechanical system according to the present embodiment. Figure 1 As shown, an industrial robot system 100 as an example of a machine 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 .

[0027] A hand (end effector) 11A is provided at the front end of an arm 11 of an industrial robot (robot) 1, and the hand 11A performs predetermined processing on, for example, a workpiece (object) 5 placed on a work table 4. An industrial robot control device (robot control device) 2 controls the robot 1 based on, for example, a pre-installed program (software program).

[0028] Here, a camera (not shown) for photographing the workpiece 5 and the like may be installed near the hand 11A of the arm 11, and an image including the workpiece 5 photographed by the camera may be output to the robot control device 2. Furthermore, various changes and modifications may be made depending on the type of machine to be applied or the required processing.

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

[0030] Here, since the teaching operation panel 3 is used near the robot 1 installed in an actual factory, for example, it is exposed to electromagnetic noise generated from the robot 1 itself or various surrounding machines. That is, the teaching operation panel 3 is often used in an environment where various noises, including electromagnetic noise, exist, so the data stored in the memory of the teaching operation panel 3 may be erroneous due to the influence of electromagnetic noise.

[0031] In addition, Figure 1 In the embodiment, the teaching operation panel (portable operation device) 3 is connected to the robot control device 2 by wire, but it can also be configured to be connected to the robot control device 2 by wireless. Figure 1 The teaching operation panel shown, for example, can of course also be a tablet (tablet computer) connected to the robot control device 2 by wire or wirelessly. In addition, the portable operating device 3 is not limited to a teaching operation panel for operating robots such as industrial robots, collaborative robots, or CNC machine tools, but can be widely used as a movable operating device for controlling various machines.

[0032] Figure 2This is a block diagram showing the main structure of one embodiment of the portable operating device of the present embodiment, functionally showing Figure 1 The main parts of the teaching operation panel 3 in the industrial robot system 100 shown in FIG. Figure 2 As shown, the teaching pendant 3 includes a processing unit (CPU (Central Processing Unit, MPU (MicroProcessing Unit)) 310 and a memory (storage device) 320 .

[0033] The CPU 310 includes a code assigning unit 311, a coding area designating unit 312, and a state grasping unit 313. The code assigning unit 311 assigns an error correction code to data in the memory 320, the coding area designating unit 312 designates an area for storing data assigned with the error correction code, and the state grasping unit 313 grasps the state of the teaching operation panel 3.

[0034] The memory 320 has, for example, N storage units (a first storage unit (storage block) 321, a second storage unit 322, ..., an Nth storage unit 32N). Here, the memory 320 is a main memory (e.g., DRAM: Dynamic Random Access Memory) of the CPU 310 in the teaching operation panel 3, and can control whether the error correction code function is exerted on any storage unit 321 to 32N.

[0035] The state grasping unit 313 grasps, for example, the state of the application program (program) executed by the CPU 310 of the teaching operation panel 3 according to the control command from the robot control device 2. The coding area specifying unit 312 specifies, based on the output of the state grasping unit 313, for example, an area in the plurality of storage units 321 to 32N for storing data to which the error correction code is assigned by the code assigning unit 311.

[0036] The coding area designation unit 312 designates a storage unit for storing data to which an error correction code is assigned, among a plurality of (e.g., N) storage units 321, 322, ..., 32N included in the memory 320. That is, the coding area designation unit 312 switches, for example, the capacity of a region for storing data to which an error correction code is assigned, which is important data that is troubled by errors caused by electromagnetic noise, based on the output of the state grasping unit 313.

[0037] Here, the data stored in the area specified by the encoding area specifying unit 312, that is, the data to which the error correction code is added by the code adding unit 311 can be determined by the state of the program grasped by the state grasping unit 313, for example.

[0038] 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, the data to which the error correction code is assigned is written into the area of ​​the memory 320 designated by the coding area designation unit 312. On the other hand, 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 operation panel 3 or collecting a log, for example, the data not to which the error correction code is assigned is written into the memory 320.

[0039] That is, the code adding unit 311 adds an error correction code to data when the program executed by the CPU 310 grasped by the status grasping unit 313 is directly related to the system, and does not add an error correction code to data when it is not directly related to the system.

[0040] In other words, the coding area designation unit 312 designates an area for storing data to which an error correction code is assigned when the program executed by the CPU 310 as determined by the status grasping unit 313 is directly related to the system. On the other hand, the coding area designation unit 312 designates an area for storing data to which an error correction code is not assigned when the program executed by the CPU 310 as determined by the status grasping unit 313 is not directly related to the system.

[0041] In this way, the coding area designation unit 312 switches the capacity of the area for storing the data to which the error correction code is added in the plurality of storage units 321 to 32N according to the state of the program grasped by the state grasping unit 313 .

[0042] Here, the determination of whether 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 grasp of the program by the state grasping unit 313 can also be confirmed by, for example, a control command from the robot control device 2 to the teaching operation panel 3. In addition, the determination of whether to assign an error correction code is not limited to being determined based on whether the program executed by the CPU 310 is directly related to the system.

[0043] That is, the state grasping unit 313 can grasp the operation, use status or other various states of the teaching operation panel 3, and judge whether the code assigning unit 311 assigns the data of the error correction code based on the output of the state grasping unit 313. Alternatively, the coding area specifying unit 312 can specify the area for storing the data assigned with the error correction code from the plurality of storage units 321 to 32N of the memory 320 based on the output of the state grasping unit 313.

[0044] Here, the data to which the code assigning unit 311 assigns an error correction code can be understood as, for example, important data directly related to the system that needs to be protected by the 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 understood as, for example, data that can allow a certain degree of error and preferably avoids an increase in memory usage and a decrease in processing speed caused by the application of the error correction code. In this way, the reliability of the operation of the teaching operating panel 3 (industrial robot system 100) can be maintained, and an increase in memory usage and a decrease in processing speed can be suppressed.

[0045] Figure 3 is a flowchart for explaining an example of processing in one embodiment of the memory control program of the portable operating device of the present embodiment, for example, Figure 2 The processing of the program is executed by the arithmetic processing unit 310 of the teaching pendant 3 shown.

[0046] like Figure 3 As shown, when an embodiment of the memory control program of the teaching operating panel starts (START), in step ST1, the status grasping unit 313 grasps the status of the teaching operating panel 3 and determines the area with error correction code (the area that needs to be protected by ECC) in the first storage unit to the Nth storage unit ((storage blocks 321 to 32N)).

[0047] 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 assigned 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 to store data to which an error correction code is to be assigned among the plurality of storage units 321 to 32N of the memory 320 based on the output of the state grasping unit 313.

[0048] Then, the process proceeds to step ST3, where the code adding unit 311 adds an error correction code to the data in the designated storage unit according to the designation of the coding area designation unit 312. That is, the code adding unit 311 adds an 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 is assigned.

[0049] Here, the memory control program of the portable operating device of the present embodiment described above can be provided by recording in a non-transient recording medium or non-volatile semiconductor memory readable by a computer, and can also be provided via wired or wireless. Here, as a non-transient recording medium readable by a computer, for example, an optical disk such as a CD-ROM (Compact Disc Read Only Memory) or a DVD-ROM, or a hard disk device, etc. are considered. In addition, as a non-volatile semiconductor memory, a PROM (Programmable Read Only Memory), a flash memory, etc. are considered. And, as distribution from a server device, provision via a wired or wireless WAN (Wide Area Network), a LAN (Local Area Network), or the Internet, etc. is considered.

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

[0051] The present disclosure has been described in detail, but the present disclosure is not limited to the above-mentioned embodiments. These embodiments can be variously added, replaced, changed, partially deleted, etc. without departing from the scope of the main purpose of the present disclosure, or without departing from the scope of the main purpose of the present disclosure derived from the contents recorded in the scope of the patent protection requested and its equivalents. In addition, these embodiments can also be implemented in combination. For example, in the above-mentioned embodiments, the order of each action and the order of each processing are shown as an example and are not limited to this. In addition, the same is true for the case where numerical values ​​or mathematical formulas are used in the description of the above-mentioned embodiments.

[0052] The following additional notes are disclosed in relation to the above-mentioned embodiment and modified examples.

[0053] [Note 1]

[0054] A portable operating device 3 for operating a machine 1, wherein:

[0055] The portable operating device 3 has:

[0056] A memory 320 having a plurality of storage units 321 to 32N;

[0057] a code assigning unit 311 that assigns an error correction code to the data in the memory 320; and

[0058] The coding area designation unit 312 designates an area for storing the data to which the error correction code is added.

[0059] [Note 2]

[0060] The portable operating device according to Supplement 1, wherein:

[0061] The portable operating device further includes a state grasping unit 313 for grasping the state of the portable operating device 3.

[0062] The coding region designation unit 312 designates a region for storing the data to which the error correction code is added, among the plurality of storage units 321 to 32N, based on the output of the state grasping unit 313 .

[0063] [Note 3]

[0064] The portable operating device according to Supplement 2, wherein:

[0065] The portable operating device 3 comprises: a processing unit 310 for executing application programs;

[0066] The state grasping unit 313 grasps the state of the application program executed by the arithmetic processing unit 310.

[0067] The coding area designation unit 312 switches the capacity of the area storing the data to which the error correction code is added among the plurality of storage units 321 to 32N based on the state of the application program grasped by the state grasping unit 313 .

[0068] [Note 4]

[0069] The portable operating device according to Supplement 3, wherein:

[0070] The code assigning unit 311 assigns an error correction code to data when the application program grasped by the status grasping unit 313 is directly related to the system, and does not assign an error correction code to data when the application program grasped by the status grasping unit 313 is not directly related to the system.

[0071] [Note 5]

[0072] The portable operating device according to Appendix 3 or 4, wherein:

[0073] 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 use the error correction code function for any of the storage units 321 to 32N.

[0074] [Note 6]

[0075] A portable operating device according to any one of Notes 1 to 5, wherein:

[0076] The machine 1 is a robot or a CNC machine tool,

[0077] The portable operating device 3 is a teaching operation panel for teaching the robot or the CNC machine tool an operation.

[0078] [Note 7]

[0079] A mechanical system, comprising:

[0080] The portable operating device 3 according to any one of Notes 1 to 6;

[0081] a machine control device 2 connected to the portable operating device 3 via a communication line; and

[0082] The machine 1 is connected to the machine control device 2 via a communication line, and is operated by the portable operating device 3 via the machine control device 2 .

[0083] [Note 8]

[0084] A memory control program for a portable operating device, the portable operating device 3 comprising: a processing unit 310; and a memory 320 having a plurality of storage units 321 to 32N accessed by the processing unit 310, wherein:

[0085] The memory control program causes the operation processing device 310 to perform the following processing:

[0086] Assigning error correction code to the data in the memory 320,

[0087] An area for storing data to which the error correction code is assigned is designated.

[0088] [Note 9]

[0089] A memory control program for a portable operating device according to Supplement 8, wherein:

[0090] The memory control program causes the operation processing device 310 to further perform the following processing:

[0091] grasp the status of the portable operating device 3,

[0092] Based on the grasped state of the portable operating device 3, the area for storing the data to which the error correction code is assigned is switched.

[0093] Description of Reference Numerals

[0094] 1Industrial robots (machinery, robots);

[0095] 2 Industrial robot control devices (mechanical control devices, control devices);

[0096] 3. Teaching operation panel (portable operating device);

[0097] 4 workbench;

[0098] 5. Workpiece (object);

[0099] 11 arms;

[0100] 11A hand (end effector);

[0101] 31 display screen;

[0102] 32 operation unit;

[0103] 100 industrial robot systems (mechanical systems, systems);

[0104] 310CPU (processing unit);

[0105] 311 code grant department;

[0106] 312 coding area designation unit;

[0107] 313 Status Mastery Department;

[0108] 320 memory;

[0109] 321 to 32N storage units (storage blocks).

Claims

1. A portable operating device for operating a machine, characterized in that: The portable operating device comprises: a memory having a plurality of storage units; a code assigning unit that assigns an error correction code to the data in the memory; and A coding area designating unit designates an area for storing data to which the error correction code is added.

2. The portable operating device according to claim 1, characterized in that: The portable operating device further comprises: a state grasping unit that grasps the state of the portable operating device. The coding region designating unit designates a region storing data to which the error correction code is added, among the plurality of storage units, based on the output of the state grasping unit.

3. The portable operating device according to claim 2, characterized in that: The portable operating device comprises: a processing unit for executing an application program; The state grasping unit grasps the state of the application program executed by the arithmetic processing device. The coding area designation unit switches the capacity of the area storing the data to which the error correction code is added in the plurality of storage units based on the state of the application program grasped by the state grasping unit.

4. The portable operating device according to claim 3, characterized in that: The code assigning unit assigns an error correction code to data when the application program grasped by the status grasping unit is directly related to the system, and does not assign an error correction code to data when the application program grasped by the status grasping unit is not directly related to the system.

5. The portable operating device according to claim 3 or 4, characterized in that: The memory is a main memory accessible by the arithmetic processing unit and is a DRAM capable of controlling whether or not to exert the error correction code function for any of the storage units.

6. The portable operating device according to any one of claims 1 to 6, characterized in that: The machine is a robot or a CNC machine tool, The portable operating device is a teaching operation panel for teaching the robot or the CNC machine tool an operation.

7. A mechanical system, characterized in that: have: The portable operating device according to any one of claims 1 to 6; a machine control device connected to the portable operating device via a communication line; and The machine is connected to the machine control device via a communication line and is operated by the portable operating device via the machine control device.

8. A memory control program for a portable operating device, the portable operating device comprising: a processing unit; and a memory having a plurality of storage units accessed by the processing unit, characterized in that: The memory control program causes the operation processing device to execute the following processing: assigning error correction codes to the data in the memory, An area for storing data to which the error correction code is assigned is designated.

9. The memory control program of the portable operating device according to claim 8, characterized in that: The memory control program causes the operation processing device to further perform the following processing: grasping the status of the portable operating device, Based on the grasped state of the portable operating device, the area for storing the data to which the error correction code is assigned is switched.

Citation Information

Patent Citations

  • Semiconductor memory, its use method, its test method, and its manufacturing method

    JP2003068095A

  • Numerical control device for industrial machine

    JP2021047774A