Mobile operating device, machine system and memory control program for mobile operating device
The mobile operation device addresses the issue of electromagnetic noise-induced errors in industrial environments by dynamically applying error correction codes based on program state, thus maintaining reliability and processing speed.
Patent Information
- Application Number
- DE112022007556
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-09-29
- Publication Date
- 2025-05-22
AI Technical Summary
Mobile teach pendants used in industrial environments are exposed to electromagnetic noise, which can cause errors in data stored in their memory, and the application of error correction codes increases memory requirements and decreases processing speed.
A mobile operation device with a memory that includes multiple storage units, a code switching unit to mediate error correction codes, and a coding area specification unit to specify areas for error correction, dynamically applies error correction codes based on the state of the program executed by the device.
This approach reduces the increase in storage consumption and maintains processing speed while ensuring reliability by dynamically applying error correction codes only when necessary.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical field
[0001] The present disclosure relates to a mobile operating device, a machine system, and a memory control program for the mobile operating device. Related prior art
[0002] In recent years, a mobile operating device connected to a machine control device has been used to portable control a machine such as a robot or a CNC (computer numerical control) machine tool. An example of such a mobile operating device may be a teach pendant for teaching an operation or the like to an industrial robot. This teach pendant is used, for example, to cause the industrial robot to perform a predetermined machining operation on a workpiece in a factory or the like where the industrial robot is actually installed.
[0003] It should be noted that the teaching pendant (mobile operation device) may be detachable and used in a factory or the like where an industrial robot (machine) is installed, and is therefore subject to electromagnetic noise or the like generated by various machines around the industrial robot or the industrial robot itself. Specifically, since the teaching pendant is often used in an environment where various types of noise, including electromagnetic noise, exist, the data stored in a memory of the teaching pendant may cause an error due to the influence of electromagnetic noise or the like.
[0004] Therefore, an error-correcting code (ECC) can be input into the memory (main memory) of the programming pendant. An error-correcting code is a code added to detect and correct data errors that occur in the memory on a receiving (reading) side when the data is stored (written) in the memory. This error-correcting code (ECC data) is generated from original data, for example, based on a predetermined protocol, and the generated ECC data is added to the original data and stored in a memory.
[0005] Specifically, ECC data is used, for example, to detect and correct an error (disturbance) in the data read from memory on the receiving side. When generating ECC data, for example, the original data is cut to a predetermined length, and a predetermined protocol is applied to the cut data to be generated. Furthermore, the data, with the ECC data added to the original data, is written to a main memory, which may be a dynamic random access memory (DRAM) in the teaching pendant.
[0006] Furthermore, on a data read side, ECC data added to the original data is used to detect and correct errors in the data read from memory. That is, on the read side, the ECC data is separated from the original data at the time of data reading, and whether or not an error exists in the original data is confirmed by applying a predetermined protocol. Furthermore, if an error is detected on the read side, the correct data is restored based on the ECC data.
[0007] Although various error correction code (ECC) systems have been proposed, it is not possible to completely detect and correct all errors. Rather, each system determines whether it can detect or correct errors up to a certain number of bits per predetermined length. In general, as the length of the error correction code increases, the number of errors (number of bits) that can be detected / corrected increases, so the storage capacity and computational effort required for error detection / correction also increase.
[0008] In particular, as the number of bits to be detected / corrected by applying the error correction code increases, the data volume and processing time for the error correction code become longer. Therefore, the application of the error correction code is selected taking into account the requirements of the number of bits to be detected / corrected, the available memory capacity, the bandwidth, and the like. Note that various codes, such as Hamming code, longitudinal and vertical parity code, Reed-Solomon code, and BCH code, can be used as the error correction code.
[0009] Conventionally, various proposals for a programming handheld device with the function of transmitting an error correction code can be found. [Citation list][Patent literature] [PTL 1] Unexamined Japanese Patent Publication (Kokai) No. 2003-068095 [PTL 2] Unexamined Japanese Patent Publication (Kokai) No. 2021-047774 Summary[Technical problem]
[0010] As described above, in a factory where an industrial robot is installed, a mobile teaching pendant is generally used near the industrial robot and is therefore exposed to electromagnetic noise or the like generated by various machines near or around the industrial robot itself. Therefore, there is a possibility that an error may occur in the data stored in the teaching pendant's memory, and the error correction code is applied.
[0011] However, when applying an error correction code, data (ECC data) for the error correction code must be added, and processing to perform error correction (detection and correction) is also required. Therefore, when applying the error correction code in a teach pendant, the memory requirements of the teach pendant may increase, and the processing speed may also decrease.
[0012] It should be noted that the teach pendant is not limited to a device that teaches an industrial robot a predetermined operation on a workpiece, but can also be a mobile teach pendant that operates various machines, such as various robots, CNC machine tools, or collaborative robots. Specifically, the mobile operating device described here is a mobile (portable) device, including a teach pendant that operates various machines.
[0013] As described above, in a memory control program of the mobile operation device, the machine system, and the mobile operation device, it is desired to eliminate an increase in memory consumption and a decrease in processing speed while maintaining reliability. [Solution to the problem]
[0014] According to one embodiment of the present invention, a mobile operating device for portable operation of a machine is provided, comprising a memory, a code switching unit, and a coding area specification unit. The memory comprises a plurality of storage units, the code switching unit is configured to switch an error correction code to data in the memory; and the coding area specification unit is configured to specify an area for storing the data to which the error correction code is switched.
[0015] The objects and effects of the present invention will be clearly attained through the use of the components and combinations pointed out in the claims. Both the foregoing general description and the following detailed description are exemplary and descriptive, but are not limiting of the invention as described in the claims. Brief description of the drawings
[0016] They show: [ Fig. 1] Fig. 1 is a schematic diagram of an industrial robot system as an example of a machine system according to the present embodiment; [ Fig. 2] Fig. 2 is a block diagram showing a main part configuration in an example of a mobile operating device according to the present embodiment; and [ Fig. 3] Fig. 3 is a flowchart for describing a processing example in an example of a memory control program of the mobile operating device according to the present embodiment. Description of implementation examples
[0017] Examples of a mobile operating device, a machine system, and a memory control program of the mobile operating device according to the present embodiment will be described in detail below with reference to the accompanying drawings. In each of the drawings, the same or similar constituent components are designated by the same or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope and meaning of the inventive concepts recited in the claims.
[0018] Fig. 1 is a diagram schematically illustrating an industrial robot system as an example of a machine system according to the present embodiment. As shown in Fig. 1, an industrial robot system 100 as an example of a machine system according to the present embodiment includes an industrial robot (a machine) 1, a robot control device (machine control device) 2, and a teaching pendant (mobile operating device) 3.
[0019] At the tip of an arm 11 of the industrial robot (robot) 1, a hand unit (an end effector) 11A is provided, which performs predetermined processing on the workpiece (object) 5 placed, for example, on the workbench 4. The industrial robot control device (robot control device) 2 controls the robot 1, for example, based on a previously installed program (software program).
[0020] Note that a camera (not shown) for photographing the workpiece 5 or the like may be mounted near the hand unit 11A of the arm 11, and an image of the workpiece 5 photographed by the camera may be output to the robot control device 2. Furthermore, various modifications and variations are possible depending on the type of machine to be used and the processing required.
[0021] The teaching pendant 3 includes a display screen 31 and an operation unit 32 and is connected to the robot controller 2 via a cable. The teaching pendant 3 is used to teach the robot 1 a predetermined operation via the robot controller 2 using the pendant 11A by operating the operation unit 32 while a worker (teacher) confirms the image of the display screen 31.
[0022] Since the teaching pendant 3 is used near the robot 1 installed in, for example, a factory, the teaching pendant 3 is exposed to electromagnetic noise or the like generated by various machines in the vicinity of the robot 1 or the robot 1 itself. In particular, since the teaching pendant 3 is frequently used in an environment where various types of noise, including electromagnetic noise, exist, the data stored in the memory of the teaching pendant 3 may cause an error (malfunction) due to the influence of the electromagnetic noise or the like.
[0023] It should be noted that in Fig. 1 the teaching pendant (the mobile operating device) 3 is connected to the robot control device 2 by wire, but can also be connected to the robot control device 2 by radio. The mobile operating device 3 is not limited to the Fig. 1, but may be, for example, a tablet (tablet computer) or the like, which is wired or wirelessly connected to the robot control device 2. Furthermore, the mobile operating device 3 is not limited to a device for operating a robot, such as an industrial robot or a collaborative robot, a CNC machine tool, or the like, but can be widely used as a mobile operating device for portable control of various machines.
[0024] Fig. 2 is a block diagram showing a main part configuration in an embodiment of a mobile operation device according to the present embodiment, and a main part of the teaching pendant 3 in the embodiment shown in Fig. 1 is shown functionally. As shown in Fig. 2, the teaching pendant 3 comprises an arithmetic processing unit (CPU (Central Processing Unit), MPU (Micro Processing Unit)) 310, and a memory (a storage device) 320.
[0025] The CPU 310 includes a code switching unit 311, a code area specification unit 312, and a state detection unit 313. The code switching unit 311 imparts an error correction code to the data in the memory 320, the code area specification unit 312 specifies an area for storing the data to which the error correction code is imparted, and the state detection unit 313 detects the state of the teaching pendant 3.
[0026] The memory 320 includes, for example, N memory units (a first memory unit (a first memory block) 321, a second memory unit 322, ..., an Nth memory unit 32N). Here, the memory 320 is a main memory (e.g., DRAM: Dynamic Random Access Memory) of the CPU 310 in the teaching pendant 3, and it can be controlled whether or not one of the memory units 321 to 32N executes an error correction code.
[0027] The state acquisition unit 313 acquires, for example, a state of an application program (program) executed by the CPU 310 of the teaching pendant 3 according to a control command from the robot controller 2. The coding area specification unit 312 specifies, for example, an area for storing the data to which the error correction code has been imparted by the code imparting unit 311, among the plurality of storage units 321 to 32N, based on an output of the state acquisition unit 313.
[0028] The coding area specification unit 312 specifies a storage unit that stores data to which the error correction code is imparted in a plurality of (e.g., N) storage units 321, 322, ..., 32N included in the memory 320. Specifically, based on the output of the state detection unit 313, the coding area specification unit 312 switches a capacity of the area for storing data to which the error correction code is imparted, which is important data in which an error occurs due to, for example, electromagnetic noise or the like.
[0029] At this time, the data stored in the area specified by the coding area specification unit 312, that is, the data to which the error correction code has been applied by the code switching unit 311, can be determined, for example, by the state of the program acquired by the state acquisition unit 313.
[0030] For example, specifically, when the program executed by the CPU 310 is directly related to the industrial robot system 100, such as the operation of the industrial robot 1, the data to which the error correction code is applied is written into the area of the memory 320 specified by the coding area specification 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 photographing the display screen 31 of the teaching pendant 3 or collecting a log, the data that does not convey the error correction code is written into the memory 320.
[0031] Specifically, the code switching unit 311 switches an error correction code to the data when the program executed by the CPU 310, which is detected by the state detecting unit 313, is directly related to the system, and does not switch an error correction code to the data when the program is not directly related to the system.
[0032] In other words, the coding area specification unit 312 specifies an area for storing data to which the error correction code is imparted when the program executed by the CPU 310, which is acquired by the state acquisition unit 313, is directly related to the system. On the other hand, the coding area specification unit 312 specifies an area for storing data that does not impart an error correction code to the data when the program executed by the CPU 310, which is acquired by the state acquisition unit 313, is not directly related to the system.
[0033] As described above, the coding area specification unit 312 switches the capacity of the area for storing the data to which the error correction code is applied between the plurality of storage units 321 to 32N based on the program state acquired by the state acquisition unit 313.
[0034] It should be noted that the determination of whether or not the code relay unit 311 applies the error correction code may be determined by the state detection unit 313, which detects the program executed by the CPU 310. Likewise, the detection of the program by the state detection unit 313 may be confirmed, for example, by a control command for the teach pendant 3 from the robot controller 2. Furthermore, the determination of whether or not to relay the error correction code is not limited to determining whether the program executed by the CPU 310 is directly related to the system.
[0035] Specifically, the state detection unit 313 can detect an operation state, a use state, or other various states of the teaching pendant 3, and it is possible to determine whether or not the code relay unit 311 applies the error correction code based on an output of the state detection unit 313. Alternatively, based on the output of the state detection unit 313, the coding area specification unit 312 can specify an area for storing the data to which the error correction code has been applied among the plurality of storage units 321 to 32N of the memory 320.
[0036] Here, the data to which the code arbitration unit 311 applies the error correction code is, for example, important data 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 arbitration unit 311 does not apply the error correction code is, for example, data for which a certain amount of error is acceptable, and it is possible to acquire data that is preferential to avoid an increase in memory usage and a decrease in processing speed due to the application of an error correction code. Therefore, it is possible to eliminate an increase in memory usage and a decrease in processing speed while maintaining the reliability of the teaching pendant 3 (industrial robot system 100).
[0037] Fig. 3 is a flowchart for describing a processing example in an example of a memory control program of the mobile operating device according to the present embodiment, and for describing, for example, a processing of a program executed by the arithmetic processing unit 310 of the Fig. 2 shown programming pendant 3.
[0038] As in Fig. 3, when starting (BEGIN) an embodiment of the control program of the teaching pendant 3 in step ST 1, the state detection unit 313 detects a state of the teaching pendant 3 and determines an area to which an error correction code is applied (an area in which the ECC is applied for protection) between a first memory unit and an N-th memory unit (memory blocks 321 to 32N) to which the error correction code can be applied.
[0039] Next, in step ST2, the coding area specification unit 312 determines an area to which the error correction code is applied based on a determination result of the state detection unit 313. Specifically, as described above, based on the output of the state detection unit 313, the coding area specification unit 312 specifies an area for storing the data to which the error correction code is applied among the plurality of storage units 321 to 32N of the memory 320.
[0040] Further, in step ST3, the code switching unit 311 switches an error correction code to the data of the specified storage unit based on a specification from the coding area specification unit 312. Specifically, the code switching unit 311 switches the error correction code to the data of the area in which the data obtained by switching the error correction code in the memory 320 specified by the coding area specification unit 312 is stored.
[0041] It should be noted that the memory control program of the mobile operating device according to the above-described embodiment may be recorded and provided in a computer-readable, non-temporary recording medium or a non-volatile semiconductor memory device, or may be provided via wired or wireless communication. As the computer-readable, non-temporary recording medium, for example, an optical disk such as a CD-ROM (Compact Disc Read Only Memory) or a DVD-ROM, or a hard disk device, and the like, may be considered. Furthermore, as the non-volatile semiconductor memory device, a PROM (Programmable Read Only Memory), a Flash Memory (registered trademark), and the like are also conceivable.In addition, distribution from the server device can be performed via a wired or wireless WAN (Wide Area Network), LAN (Local Area Network), or via the Internet.
[0042] As described above in detail, according to a mobile operation device, a machine system, and a control program for the mobile operation device according to the present embodiment, it is possible to eliminate an increase in memory usage and a decrease in processing speed while maintaining the reliability of the mobile operation device (machine system).
[0043] Although the embodiments of the present disclosure are described in detail, the present disclosure is not limited to the individual embodiments described above. These embodiments include various additions and replacements without departing from the gist of the invention, or without departing from the idea and spirit of the invention, which are apparent from the content described in the claims and their equivalents, and modifications, partial deletion, and the like are possible. In the embodiments described above, for example, the order of each operation and the order of each method are exemplified and are not limited to them. The same applies when numerical values or equations are used in the description of the embodiments described above.
[0044] The following descriptions are further disclosed for the embodiments and variants described above.
[0045] [Annex 1] A mobile control device (3) for the portable operation of a machine (1), comprising: a memory (320) comprising a plurality of storage units (321 to 32N); a code switching unit (311) configured to switch an error correction code to the data in the memory (320); and a coding area specification unit (312) configured to specify an area for storing the data to which the error correction code is imparted.
[0046] [Annex 2] The mobile control device (3) as defined in Annex 1, which further includes: a state detection unit (313) configured to detect a state of the mobile operating device (3), and wherein the coding area specification unit (312) is configured to specify an area for storing data to which the error correction code is imparted among the plurality of storage units (321 to 32N) based on an output of the state detection unit (313).
[0047] [Annex 3] The mobile control device (3) as defined in Annex 2, which further includes: an arithmetic processing unit (310) configured to execute an application program, and wherein the state detection unit (313) is configured to detect a state of the application program executed by the arithmetic processing unit (310), and the coding area specification unit (312) is configured to switch a capacity of an area for storing the data to which the error correction code is imparted among the plurality of storage units (321 to 32N) based on the state of the application program detected by the state detection unit.
[0048] [Annex 4] The mobile control device (3) as defined in Annex 3, where the code switching unit (311) is configured to switch an error correction code to data when the application program detected by the state detection unit (313) is directly related to a system, and not transmit the error correction code if the application program detected by the state detection unit (313) is not directly related to the system.
[0049] [Annex 5] The mobile control device (3) as defined in Annex 3 or 4, where the memory (320) is a main memory accessible by the arithmetic processing unit (310) and is a DRAM capable of controlling whether or not one of the memory units (321 to 32N) executes the error correction code.
[0050] [Annex 6] The mobile operating device (3) according to any one of Annexes 1 to 5, wherein the machine (1) is a robot or a CNC machine tool, and the mobile operating device (3) is a teaching pendant configured to teach the robot or the CNC machine tool an operation.
[0051] [Annex 7] A machine system comprising: the mobile operating device (3) according to one of Annexes 1 to 6; a machine control device (2) connected to the mobile operating device (3) via a communication line; and the machine (1) is connected to the machine control device (2) via a communication line and is operated by the mobile operating device via the machine control device (2).
[0052] [Appendix 8] A memory control program for a mobile operating device (3) comprising an arithmetic processing unit (310) and a memory (320) which in turn comprises a plurality of memory units (321 to 32N) accessed by the arithmetic processing unit (310), the memory control program causing the arithmetic processing unit (320) to execute: Imparting an error correction code to data in the memory (320); and Specify an area to store the data to which the error correction code is applied.
[0053] [Annex 9] The memory control program of the mobile control device (3) according to Annex 8, where the memory control program causes the arithmetic processing unit (320) to continue executing: Detecting a state of the mobile operating device (3); and Switching a capacity of an area for storing the data to which the error correction code is imparted based on the detected state of the mobile operating device (3). List of reference symbols 1 industrial robot (machine, robot) 2 Industrial robot control device (machine control device, control device) 3 Programming handset (mobile control device) 4 workbench 5 Workpiece (object) 11 Arm 11A Hand unit (end effector) 31 Display screen 32 Control unit 100 industrial robot systems (machine systems, systems) 310 CPU (Arithmetic Processing Unit) 311 Code switching unit 312 Coding area specification unit 313 Condition recording unit 320 memory 321 to 32n memory unit (memory block) QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2003-068095
[0009] JP 2021-047774
[0009]
Claims
[1] Mobile operating device for the portable operation of a machine, comprising: a memory comprising a plurality of storage units; a code switching unit configured to switch an error correction code to the data in the memory; and a coding area specification unit configured to specify an area for storing the data to which the error correction code is imparted. [2] Mobile operating device according to claim 1, further comprising: a state detection unit configured to detect a state of the mobile operating device, and wherein the coding area specification unit is configured to specify an area for storing data to which the error correction code is imparted among the plurality of storage units based on an output of the state detection unit. [3] Mobile operating device according to claim 2, further comprising: an arithmetic processing unit configured to execute an application program, and wherein the state acquisition unit is configured to acquire a state of the application program executed by the arithmetic processing unit, and the coding area specification unit is configured to switch a capacity of an area for storing the data to which the error correction code is imparted among the plurality of storage units based on the state of the application program acquired by the state acquisition unit. [4] Mobile operating device according to claim 3, wherein the code switching unit is configured to provide the data with an error correction code if the application program acquired by the state acquisition unit is directly related to a system, and not to convey the error correction code if the application program acquired by the state acquisition unit is not directly related to the system. [5] The mobile operating device according to claim 3 or 4, wherein the memory is a main memory accessible by the arithmetic processing unit and is a DRAM capable of controlling whether or not one of the memory units should execute the error correction code. [6] The mobile operating device according to any one of claims 1 to 6, wherein the machine is a robot or a CNC machine tool, and the mobile operating device is a teaching pendant configured to teach an operation to the robot or the CNC machine tool. [7] Machine system comprising: the mobile operating device according to one of claims 1 to 6; a machine control device connected to the mobile operating device via a communication line; and the machine which is connected to the machine control device via a communication line and is operated by the mobile operating device via the machine control device. [8] A memory control program for a mobile operating device comprising an arithmetic processing unit and a memory comprising a plurality of memory units accessed by the arithmetic processing unit, the memory control program causing the arithmetic processing unit to execute: Imparting an error correction code to data in the memory; and Specify an area to store the data to which the error correction code is applied. [9] The memory control program of the mobile operating device according to claim 8, wherein the control program of the memory causes the arithmetic processing unit to further execute: Detecting a state of the mobile operating device; and Switching a capacity of an area for storing the data to which the error correction code is imparted based on the detected state of the mobile operation device.
Citation Information
Patent Citations
2003-068095
2021-047774