CONTROL DEVICE FOR CONTROLLING A MACHINE BY EXTENSION SOFTWARE
The control device addresses the challenge of managing extended software changes by executing preprocessing programs, ensuring smooth integration or removal of functions and peripheral equipment in robot and machine tool control units.
Patent Information
- Application Number
- DE112023006014
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-05-26
- Publication Date
- 2026-01-08
AI Technical Summary
Existing technologies lack a systematic approach for proper execution of change processing on extended software used to control expandable functions and peripheral equipment in robot and machine tool control units, leading to potential failures during addition or removal of optional functions and equipment.
A control device with a preprocessing program storage unit, execution unit, and modification processing unit that executes preprocessing programs before modifying extended software, ensuring smooth addition or removal of functions and peripheral equipment by managing filename changes, execution states, and sequence definitions.
Ensures proper and efficient addition or removal of extended software functions and peripheral equipment by executing preprocessing programs, preventing failures and ensuring seamless integration or removal.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The present disclosure relates to a control device that controls a machine with extended software. GENERAL STATE OF THE ART
[0002] A robot and a machine tool (hereinafter referred to simply as "machines") are each controlled by a robot control unit and a numerical control unit, respectively (hereinafter referred to simply as "control units"), according to "standard software" and "extended software." Standard operation of a machine is controlled by the machine's control unit according to standard software, which is already implemented in the control unit at the time of shipment of the machine and control unit from the factory. On the other hand, optional functions can be added or removed subsequently, and the operation of optional peripheral equipment is controlled by the control unit according to the extended software.
[0003] Robots and machine tools are highly flexible and adaptable to various uses, and optional functions and peripheral equipment can be added to or removed from the control unit as needed. For example, after a machine and its control unit have been shipped from the factory, a user (a customer who uses the machine and its control unit) or a manufacturer (a producer of the machine and its control unit) can perform modifications, such as adding advanced software to the control unit or removing unnecessary advanced software from the control unit, according to the intended use and purpose. LIST OF QUOTES, PATENT LITERATURE [PTL 1] JP1994(H06)-309018A [PTL 2] JP2015-069601A BRIEF DESCRIPTION OF THE INVENTIONAL PROBLEM
[0004] A technique is desired that enables the proper execution of change processing on extended software used to control an expandable function and peripheral equipment in a robot control unit that controls a robot and a numerical control unit that controls a machine tool. SOLUTION TO THE PROBLEM
[0005] According to one aspect of the present disclosure, a control device includes a preprocessing program storage unit configured to store a preprocessing program that is executed prior to modification processing on extended software for controlling an extension function of a machine, a preprocessing program execution unit configured to execute the preprocessing program stored in the preprocessing program storage unit, and a modification processing unit configured to execute the modification processing on the extended software after the preprocessing program has been executed by the preprocessing program execution unit, wherein the extended software is configured to include the preprocessing program related to the extended software. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a block diagram illustrating a control device according to an embodiment of the present disclosure. Fig. Figure 2 is a block diagram illustrating a control device according to a modified example of the embodiment of the present disclosure. Fig. Figure 3 is a flowchart illustrating the operational sequence of an addition processing operation in a first form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. Fig. Figure 4 is a flowchart illustrating the operational sequence of an addition processing operation in a second form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. Fig. Figure 5 is a flowchart illustrating the operational sequence of an addition processing operation in a third form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. Fig. Figure 6 is a flowchart illustrating the operational sequence of a distance processing operation in the first form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. Fig. Figure 7 is a flowchart illustrating the operational sequence of a distance processing system in the second form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. Fig. Figure 8 is a flowchart illustrating the operational sequence of a distance processing system in the third form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. DESCRIPTION OF EXECUTION FORMS
[0006] A control device that controls a machine with extended software, according to one embodiment, is described below with reference to the drawings. It should be noted that components having the same or similar functions are given the same reference numerals. This allows for the omission of unnecessary descriptions of the components. For ease of understanding, the drawings use different scales where applicable.
[0007] A control device according to one embodiment of the present disclosure is a robot control device that controls a robot, or a numerical control device that controls a machine tool. While the case of a robot control device is described, the following description is also applicable if the control device is a numerical control device. <Gesamtkonfiguration einer Ausführungsform der vorliegenden Offenbarung>
[0008] Fig. Figure 1 is a block diagram illustrating a control device according to an embodiment of the present disclosure.
[0009] The functions of a control device 1 that controls a robot (not illustrated) can be broadly divided into standard functions and extension functions. The control device 1 according to the embodiment of the present disclosure controls the robot using standard functions for controlling the standard functions of the control device 1 and extended software for controlling the extension functions of the control device 1.
[0010] The "standard functions" refer to a basic function that is previously installed (implemented) in the control unit 1, and a function for controlling existing peripheral equipment. The control unit 1 controls the standard functions of the control unit 1 according to the standard software.
[0011] The "extension functions" refer to a function for controlling an optional function that can be subsequently added to the control unit 1, and a function for controlling optional peripheral equipment. The control unit 1 controls the robot's extension functions according to the extended software. A change, such as an addition or removal, can be made to the extension function of the control unit 1 after the robot and control unit 1 have been shipped from the factory. For example, if an extension function needs to be added to the control unit 1 after the robot and control unit 1 have been shipped from the factory, a user or manufacturer performs an add-process on the extended software related to the extension function.If an extension function is no longer needed in the control unit 1 after the robot and control unit 1 have been shipped from the factory, a user or manufacturer performs a removal processing of the extended software related to the extension function.
[0012] Examples of extended software include extended software for controlling specific peripheral equipment of the robot, extended software for causing the robot's arm to make a special movement, and extended software for causing the robot's body (base) to make a special movement, but may also include other types of extended software.Among the previously mentioned types of advanced software, examples of advanced software for controlling specific peripheral equipment of the robot include advanced software for controlling a specific gripper attached to the robot, advanced software for controlling a specific tool attached to the robot, advanced software for controlling a specific camera attached to the robot, and advanced software for controlling a specific sensor attached to the robot, but may also include other types of advanced software.
[0013] Extended software is defined for each extension function. In particular, in the embodiment of the present disclosure, extended software is configured with an archive file that includes program information, screen information, setting information and, additionally, a preprocessing program as a single package.
[0014] A preprocessing program, which is part of extended software, is a program executed as preprocessing to enable smooth and proper "change processing on the extended software," such as processing the addition of extended software to control unit 1 and the removal of extended software from control unit 1, in a preparatory phase before the execution of the change processing on the extended software. In this sense, a preprocessing program can also be referred to as a "pre-processing program," a "preparatory processing program," or the like.
[0015] Examples of a preprocessing program include a preprocessing program to change the filename of program information, a preprocessing program to define a sequence in which parts of extended software are added, a preprocessing program to remove a main program defined in the program information, a preprocessing program to stop the execution of a main program defined in the program information, a preprocessing program to stop the operation of peripheral equipment controlled by the extended software, a preprocessing program to remove a main program that operates with respect to program information of another part of extended software, and a preprocessing program to define a sequence in which parts of extended software are removed.and a preprocessing program for reverting various variables of a main program, defined in the program information, to initial values, but may include other preprocessing programs.
[0016] Program information, which is part of extended software, defines a main program that is directly or indirectly involved in controlling the extension function. For example, program information includes an instruction file that describes an instruction to control unit 1 (a process to be performed by control unit 1 for the extension function).
[0017] Screen information, which is part of extended software, includes a screen file and an image file used for screen display on an instruction control panel (not illustrated) or an external display device (not illustrated) connected to the control unit 1.
[0018] Setting information, which is part of extended software, defines information about various settings of the extended function controlled by the extended software. Examples of setting information include settings for the supply voltage of peripheral equipment, settings for communication with peripheral equipment, settings for the robot's coordinate system, settings for a load, and other settings.
[0019] In the embodiment of the present disclosure, extended software is pre-generated in an archive file format that includes, as a package, a preprocessing program, program information, screen information, and setting information as described above. Subsequently, when modification processing is performed on the extended software, a preprocessing program is executed before the modification processing on the extended software is executed, and the modification processing on the extended software is performed after the execution of the preprocessing program.
[0020] As in Fig. As illustrated in Figure 1, the control device 1, according to the embodiment of the present disclosure, includes a candidate storage unit 10, a preprocessing program initiation unit 11, a preprocessing program storage unit 12, a preprocessing program execution unit 13, a modification processing unit 14, a storage unit 15 for extended software, an addition acceptance unit 16, a removal acceptance unit 17, and a control unit 20. Furthermore, while not illustrated in the diagram, the control device 1 includes a power source, measuring equipment, input equipment, display equipment, cooling equipment, and other circuitry.
[0021] Candidate Memory Unit 10 stores extended software that is a candidate for addition. Extended software stored in Candidate Memory Unit 10 is not, simply by virtue of being stored there, directly used to control the extension function by the control unit 1. By pre-storing multiple pieces of extended software that can be added as candidate modules in Candidate Memory Unit 10, a user acquiring the robot and its control unit 1 can easily and immediately select and add the desired extended software. Storing candidate extended software in Candidate Memory Unit 10 is performed by the manufacturer of the control unit 1 during its production.
[0022] The candidate storage unit 10 need not be a storage device capable of high-speed reading and writing; therefore, a cost-effective storage device with lower read and write speeds may be used. Furthermore, the candidate storage unit 10 is preferably a high-capacity storage device capable of storing a plurality of pieces of extended software that are addition candidates. Examples of candidate storage units 10 include a hard disk drive (HDD), a solid-state drive (SSD), and flash memory. A larger number of pieces of extended software stored in the candidate storage unit 10 provides an advantage in expanding the range of choices for extended software that can be added to the control device 1. In the example shown in Fig. As illustrated in Figure 1, the candidate storage unit 10 stores, for example, extended software A, extended software B, and the like.
[0023] The preprocessing program memory unit 12 stores a preprocessing program that is executed before any modification processing of extended software. The preprocessing program memory unit 12 can be non-volatile memory, such as SRAM or EEPROM, or volatile memory, such as DRAM, as long as the memory is rewritable.
[0024] The extended software memory unit 15 stores extended software that is added to the control unit 1. Control of an extended function in the control unit 1 is achieved by the control unit 20 executing extended software stored in the extended software memory unit 15. In other words, extended software stored in the extended software memory unit 15 is used directly to control an extended function by the control unit 1, instead of extended software stored in the candidate memory unit 10. The extended software memory unit 15 can be non-volatile memory, such as SRAM or EEPROM, or volatile memory, such as DRAM, as long as the memory is rewritable.
[0025] The Addition Acceptance Unit 16 accepts an add command to select extended software from among parts of extended software stored in the Candidate Memory Unit 10. For example, a list of parts of extended software that are add candidates is displayed on a screen of an output device of the control unit 1 or an instructional control panel (not illustrated) connected to the control unit 1, and an operator can access the list and, using an input device, perform an operation to select one or more parts of extended software to be added. In response to the operator's actuation, the input device sends an add command to the Addition Acceptance Unit 16, specifying the selected extended software to be added.The add acceptance unit 16 notifies the preprocessing program initiation unit 11 and the change processing unit 14 of the acceptance of the add command.
[0026] The removal acceptance unit 17 receives a removal command to select extended software from among parts of extended software stored in the candidate memory unit 10. For example, a list of parts of extended software already added to the control device 1 is displayed on a screen of the control device 1's output device or the instruction control panel (not illustrated) connected to the control device 1, and an operator can access the list and, using the input device, select one or more parts of extended software to be removed. In response to the operator's action, the input device sends a removal command to the removal acceptance unit 17, specifying the selected extended software to be removed.The removal acceptance unit 17 notifies the pre-processing program execution unit 13 and the change processing unit 14 of the acceptance of the removal command.
[0027] When the Addition Acceptance Unit 16 accepts an add instruction, the Preprocessor Initiation Unit 11 reads a preprocessor in extended software to be added from the Candidate Memory Unit 10 and stores the preprocessor in the Preprocessor Memory Unit 12 before performing a modification operation, which is an add operation to extended software. If the add instruction accepted by the Addition Acceptance Unit 16 specifies a selection of a plurality of parts of extended software to be added, the Preprocessor Initiation Unit 11 reads all preprocessors in the plurality of parts of extended software to be added and stores all preprocessors in the Preprocessor Memory Unit 12. In the example shown in Fig. As illustrated in Figure 1, the preprocessing program storage unit 12 stores, for example, preprocessing programs a1, a2 and the like in extended software A and preprocessing programs b1, b2 and the like in extended software B.
[0028] When the Add Acceptance Unit 16 accepts an add command, the Preprocessor Program Execution Unit 13 executes a preprocessor program related to extended software to be added from preprocessor programs stored in the Preprocessor Program Memory Unit 12. When the Remove Acceptance Unit 17 accepts a remove command, the Preprocessor Program Execution Unit 13 executes a preprocessor program related to extended software to be removed from the preprocessor programs stored in the Preprocessor Program Memory Unit 12. The process is as follows.
[0029] When the Addition Acceptance Unit 16 accepts an Addition instruction, the Preprocessor Program Execution Unit 13 executes a preprocessor program related to the extended software to be added from the preprocessor programs stored in the Preprocessor Program Memory Unit 12, before Addition Processing is performed on the extended software by the Modification Processing Unit 14. If the Addition instruction accepted by the Addition Acceptance Unit 16 specifies a selection of multiple parts of extended software to be added, the Preprocessor Program Execution Unit 13 executes at least one of all preprocessor programs related to the parts of extended software to be added from the preprocessor programs stored in the Preprocessor Program Memory Unit 12.
[0030] When the removal acceptance unit 17 accepts a removal command, the preprocessing program execution unit 13 executes a preprocessing program related to extended software to be removed from the preprocessing programs stored in the preprocessing program storage unit 12, before a change processing operation, which is a removal operation on extended software, is performed by the change processing unit 14.If the removal instruction accepted by the removal acceptance unit 17 specifies a selection of a plurality of parts of extended software to be removed, the preprocessing program execution unit 13 executes at least one of a plurality of preprocessing programs related to the parts of extended software to be removed from the preprocessing programs stored in the preprocessing program storage unit 12.
[0031] The change processing unit 14 performs change processing on extended software after the execution of a preprocessing program by the preprocessing program execution unit. Specifically, the process is as follows.
[0032] When the add acceptance unit 16 accepts an add instruction, the change processing unit 14 performs change processing to read extended software to be added from the candidate storage unit 10 and store the software in the extended software storage unit 15, after the preprocessor execution unit 13 executes a preprocessor related to the extended software to be added. If the add instruction accepted by the add acceptance unit 16 specifies a selection of multiple parts of extended software to be added, the change processing unit 14 performs the add processing after the preprocessor execution unit 13 executes at least one of all preprocessor programs related to the parts of extended software to be added.In the example that is in . Fig. As illustrated in Figure 1, the storage unit 15 stores, for example, parts of the extended software A, B, and the like for extended software.
[0033] When the removal acceptance unit 17 accepts a removal command, the change processing unit 14 performs removal processing of the extended software to be removed from the extended software storage unit 15, after the preprocessing program execution unit 13 executes a preprocessing program related to the extended software to be removed. If the removal command accepted by the removal acceptance unit specifies a selection of multiple parts of extended software to be removed, the change processing unit 14 performs the removal processing after the preprocessing program execution unit 13 executes at least one of all preprocessing programs related to the parts of extended software to be removed.Therefore, the extended software that is to be removed is removed from control unit 1.
[0034] It should be noted that, while assuming that the preprocessing program storage unit 12 and the extended software storage unit 15 are separate storage devices, a storage area for the preprocessing program storage unit 12 and a storage area for the storage unit 15 can be provided separately within the same storage device. Consequently, a further reduction in the mounting area on a substrate and a further reduction in manufacturing costs can be achieved.
[0035] At least one processor, which is an arithmetic processing unit, is provided in the control unit 1. Examples of the arithmetic processing unit include an IC, an LSI, a CPU, an MPU, and a DSP. The arithmetic processing unit includes the preprocessing program initiation unit 11, the preprocessing program execution unit 13, the modification processing unit 14, the addition acceptance unit 16, the removal acceptance unit 17, the control unit 20, and other processing units. For example, each of the components included in the arithmetic processing unit is a functional module provided by a program running on the processor.For example, if the preprocessing program initiation unit 11, the preprocessing program execution unit 13, the change processing unit 14, the addition acceptance unit 16, the removal acceptance unit 17, the control unit 20 and the other processing units are set up in a program format, the function of each unit can be provided by operating the arithmetic processing unit according to the program.The program for performing processing in each of the preprocessing program initiation unit 11, the preprocessing program execution unit 13, the modification processing unit 14, the addition acceptance unit 16, the removal acceptance unit 17, the control unit 20 and the other processing units can be provided in a form that is recorded on a computer-readable storage medium, such as a semiconductor memory, a magnetic storage medium or an optical storage medium.Alternatively, the preprocessing program initiation unit 11, the preprocessing program execution unit 13, the change processing unit 14, the addition acceptance unit 16, the removal acceptance unit 17, the control unit 20 and the other processing units can be provided as an integrated semiconductor circuit in which the program providing the function of each unit is written.
[0036] Furthermore, at least one memory, which is a storage device, is provided in the control unit 1. The memory includes the candidate memory unit 10, the preprocessing program memory unit 12, and the extended software memory unit 15. Examples of the memory include electrically erasable-writable non-volatile memory, such as an EEPROM (registered trademark), and random-access memory capable of high-speed reading and writing, such as DRAM and SRAM. The storage device may also have a configuration such as a hard disk drive (HDD) or a solid-state drive (SSD).The memory can store a program for operating the preprocessing program initiation unit 11, the preprocessing program execution unit 13, the modification processing unit 14, the addition acceptance unit 16, the removal acceptance unit 17, the control unit 20, and the other processing units. Furthermore, the memory can store various programs and various types of data related to the control unit 1. Additionally, the memory can store various programs and various types of data related to the robot controlled by the control unit 1. <Gesamtkonfiguration eines modifizierten Beispiels einer Ausführungsform der vorliegenden Offenbarung>
[0037] Fig. Figure 2 is a block diagram illustrating a control device according to a modified example of the embodiment of the present disclosure.
[0038] While in the with reference to Fig. In the embodiment described in 1, where the candidate storage unit 10 is provided in the control device 1, the candidate storage unit 10 can, as a modified example, be provided in an external storage device 2 outside the control device 1.
[0039] As in Fig. As illustrated in Figure 2, the control device 1, according to the embodiment of the present disclosure, includes a preprocessing program induction unit 11, a preprocessing program storage unit 12, a preprocessing program execution unit 13, a modification processing unit 14, a storage unit 15 for extended software, an addition acceptance unit 16, a removal acceptance unit 17, and a control unit 20. Furthermore, while not illustrated in the diagram, the control device 1 includes a power source, measuring equipment, input equipment, display equipment, cooling equipment, and other circuitry.
[0040] The preprocessing program induction unit 11, the preprocessing program storage unit 12, the preprocessing program execution unit 13, the change processing unit 14, the extended software storage unit 15, the addition acceptance unit 16, the removal acceptance unit 17 and the control unit 20 in the control device 1 are, as described with reference to Fig. 1 described.
[0041] The external storage device 2, which is provided outside the control unit 1, includes a candidate storage unit 10. The function and operation of the candidate storage unit 10 are described with reference to Fig. As described in section 1. When the add acceptance unit 16 accepts an add instruction, the preprocessing program initiation unit 11 reads a preprocessing program related to extended software to be added from candidate memory unit 10 in external storage device 2 and stores the program in preprocessing program memory unit 12 before add processing is performed by the change processing unit 14. When the add acceptance unit 16 accepts an add instruction, the change processing unit 14 performs add processing to read extended software to be added from candidate memory unit 10 in external storage device 2 and store the software in extended software memory unit 15 after the preprocessing program execution unit 13 executes the preprocessing program.
[0042] Examples of the external storage device 2 include portable storage media such as a USB flash drive, an SD card, a micro SD card, a CD, a DVD, and a MO. The candidate storage unit 10 is connected to the control unit 1 with the preprocessing program induction unit 11 and the change processing unit 14 by electrically, magnetically, or optically connecting the external storage device 2, which is a portable storage medium.
[0043] Furthermore, the external storage device 2 can, for example, be configured with a storage device connected to a network. In this case, the candidate storage unit 10 is connected to the preprocessing program initiation unit 11 and the change processing unit 14 by connecting the external storage device 2 to the network and the control unit 1 via wireless or wired communication. For example, the external storage device 2 is provided on the network in a factory, warehouse, or administrative office where the control unit 1 is installed, or in a warehouse, sales office, or maintenance service center of the control unit 1 manufacturer or the robot manufacturer.
[0044] The storage of extended software, which is a candidate for addition, in candidate storage unit 10 is performed by the manufacturer of the control device 1, for example, when the external storage device 2 is manufactured. Furthermore, for example, if the external storage device 2 is configured with a network-connected storage device, the manufacturer of the control device 1 can store extended software, which is a candidate for addition, in candidate storage unit 10 of the external storage device 2 each time new extended software is developed.
[0045] According to the modified example, newly developed extended software, which is a candidate for addition, can be easily deployed to a user even after the shipment of control unit 1. <Hinzufügen von erweiterter Software in einer Ausführungsform der vorliegenden Offenbarung und einem modifizierten Beispiel derselben>
[0046] Various operational procedures for adding extended software to the control device 1 according to the embodiment of the present disclosure and the modified example thereof will be listed below.
[0047] Fig. Figure 3 is a flowchart illustrating the operational sequence of an add-in processing operation in a first form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. In the add-in processing operation of the first form, all pre-processing programs relating to a part of extended software to be added are executed before the add-in processing is performed on the extended software.
[0048] In step S101, the add acceptance unit 16 determines whether an add command is accepted.
[0049] When it is determined in step S101 that an add instruction is accepted, the add acceptance unit 16 notifies the preprocessing program initiation unit 11 and the change processing unit 14 of the add instruction's acceptance. Then, in step S102, the preprocessing program initiation unit 11 reads from the candidate memory unit 10 one preprocessing program from the extended software to be added, as specified in the add instruction. If multiple preprocessing programs are included in the extended software to be added, the preprocessing program initiation unit 11 reads all preprocessing programs from the candidate memory unit 10.
[0050] In step S103, the preprocessing program initiation unit 11 stores the read preprocessing program in the preprocessing program storage unit 12. If multiple read preprocessing programs are present, the preprocessing program initiation unit 11 stores all the programs in the preprocessing program storage unit 12.
[0051] In step S104, the preprocessing program execution unit 13 executes a preprocessing program related to the extended software to be added from the preprocessing programs stored in the preprocessing program storage unit 12. If multiple preprocessing programs are stored in the preprocessing program storage unit 12, the preprocessing program execution unit 13 executes all preprocessing programs related to the extended software to be added from the preprocessing programs stored in the preprocessing program storage unit 12.
[0052] In step S105, the change processing unit 14 reads the extended software to be added, as specified in the add command, from the candidate storage unit 10 and stores the software in the extended software storage unit 15.
[0053] In the add processing in the first form described above, the processing in steps S101 to S105 is performed each time the add acceptance unit 16 accepts an add command.
[0054] Fig. Figure 4 is a flowchart illustrating the operational sequence of an add-in processing operation in a second form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. In the add-in processing operation of the second form, all pre-processing programs relating to a part of extended software to be added are executed before the add-in processing is sequentially executed on a plurality of parts of extended software.
[0055] In step S201, the add acceptance unit 16 determines whether an add command to select a plurality of parts of extended software to be added is accepted.
[0056] If, in step S201, it is determined that an add instruction to select a plurality of parts of extended software to be added is accepted, the add acceptance unit 16 notifies the preprocessing program initiation unit 11 and the change processing unit 14 of the acceptance of the add instruction to select a plurality of parts of extended software to be added. Then, in step S202, the preprocessing program initiation unit 11 reads all preprocessing programs included in the plurality of parts of extended software to be added from the candidate memory unit 10.
[0057] In step S203, the preprocessing program initiation unit 11 stores all the read-out programs in the preprocessing program storage unit 12.
[0058] In step S204, the preprocessing program execution unit 13 executes a preprocessing program related to extended software to be added from the preprocessing programs stored in the preprocessing program storage unit 12.
[0059] In step S205, the preprocessing program execution unit 13 determines whether all preprocessing programs related to the extended software to be added have been executed. If step S205 determines that not all preprocessing programs have been executed, processing returns to step S204. If step S205 determines that all preprocessing programs have been executed, processing proceeds to step S206. By repeatedly executing steps S204 and S205, all preprocessing programs stored in the preprocessing program storage unit 12 are executed by the preprocessing program execution unit 13.
[0060] In step S206, the change processing unit 14 reads the extended software to be added, as specified in the add command, from the candidate storage unit 10 and stores the software in the extended software storage unit 15.
[0061] In step S207, the change processing unit 14 determines whether all parts of extended software to be added have been added. If step S207 determines that not all parts of extended software to be added have been added, processing returns to step S206. If step S207 determines that all parts of extended software to be added have been added, processing terminates. Repeating steps S206 and S207 stores all parts of extended software to be added, as specified in the add command, in the extended software storage unit 15.
[0062] Fig. Figure 5 is a flowchart illustrating the operational sequence of an add-process in a third form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. When an add-process is executed sequentially on a plurality of parts of extended software in the add-process in the third form, a portion of a plurality of pre-processing programs relating to the parts of extended software to be added is executed jointly, and the remaining pre-processing programs are executed individually before the add-process is executed on each part of extended software.Pre-processing programs to be executed jointly and pre-processing programs to be executed individually may be defined in advance when the control device 1 is manufactured, or may, as applicable, be set by an operator using an input device.
[0063] In step S301, the add acceptance unit 16 determines whether an add command to select a plurality of parts of extended software to be added is accepted.
[0064] If, in step S301, it is determined that an add instruction to select a plurality of parts of extended software to be added is accepted, the add acceptance unit 16 notifies the preprocessing program initiation unit 11 and the change processing unit 14 of the acceptance of the add instruction to select a plurality of parts of extended software to be added. Then, in step S302, the preprocessing program initiation unit 11 reads all preprocessing programs included in the plurality of parts of extended software to be added from the candidate memory unit 10.
[0065] In step S303, the preprocessing program initiation unit 11 stores all the read-out programs in the preprocessing program storage unit 12.
[0066] In step S304, the preprocessing program execution unit 13 executes a preprocessing program to be executed in advance, the program relating to extended software to be added, from the preprocessing programs stored in the preprocessing program storage unit 12.
[0067] In step S305, the preprocessing program execution unit 13 determines whether all preprocessing programs to be executed in advance, where the programs relate to the extended software to be added, have been executed. If step S305 determines that not all preprocessing programs to be executed in advance have been executed, processing returns to step S304. If step S305 determines that all preprocessing programs to be executed in advance have been executed, processing proceeds to step S206. By repeatedly executing steps S204 and S205, all preprocessing programs to be executed in advance, where the programs are stored in the preprocessing program storage unit 12, are executed simultaneously by the preprocessing program execution unit 13.
[0068] In step S306, the preprocessing program execution unit 13 executes a preprocessing program, which is to be executed individually, from the preprocessing programs stored in the preprocessing program storage unit 12. This preprocessing program is related to extended software that is to be added in step S307, which follows step S306.
[0069] In step S307, the change processing unit 14 reads the extended software to be added, as specified in the add command, from the candidate storage unit 10 and stores the software in the extended software storage unit 15.
[0070] In step S308, the change processing unit 14 determines whether all parts of extended software to be added have been added. If step S308 determines that not all parts of extended software to be added have been added, processing returns to step S306. If step S308 determines that all parts of extended software to be added have been added, processing terminates. By repeatedly executing steps S306 through S308, all parts of extended software to be added, as specified in the add command, are stored in the extended software memory unit 15 while the preprocessing programs, which are to be executed individually, are run.
[0071] As described above, in the first to third forms of the add-on processing, the preprocessor execution unit 13 executes at least one of all preprocessors stored in the preprocessor storage unit 12. Then, after the preprocessor execution unit 13 has executed at least one of all preprocessors, the modification processing unit 14 performs the add-on processing to store extended software in the extended software storage unit 15. <Entfernen von erweiterter Software in einer Ausführungsform der vorliegenden Offenbarung und einem modifizierten Beispiel derselben>
[0072] Various operational procedures for removing extended software from the control unit 1 according to the embodiment of the present disclosure and the modified example thereof will be listed below.
[0073] Fig. Figure 6 is a flowchart illustrating the operational sequence of a removal processing operation in the first form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. In the removal processing operation of the first form, all pre-processing programs relating to a part of extended software to be removed are executed before the removal processing is performed on that part of extended software.
[0074] In step S401, the distance acceptance unit 17 determines whether a distance command is accepted.
[0075] When it is determined in step S401 that a removal command is accepted, the removal acceptance unit 17 notifies the preprocessing program execution unit 13 and the change processing unit 14 of the acceptance of the removal command. Then, in step S402, the preprocessing program execution unit 13 executes a preprocessing program related to the extended software to be removed, from preprocessing programs stored in the preprocessing program storage unit 12.
[0076] In step S403, the change processing unit 14 performs a process to remove the extended software to be removed from the extended software storage unit 15.
[0077] In the distance processing described above, the processing in steps S401 to S403 is performed each time the distance acceptance unit 17 accepts a distance command.
[0078] Fig. Figure 7 is a flowchart illustrating the operational sequence of a removal processing operation in the second form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. In the removal processing operation in the second form, all pre-processing programs relating to extended software to be removed are executed before the addition processing is sequentially performed on a plurality of parts of extended software.
[0079] In step S501, the removal acceptance unit 17 determines whether a removal command is accepted to select a plurality of parts of extended software to be removed.
[0080] When, in step S501, it is determined that a removal command to select multiple parts of extended software to be removed has been accepted, the removal acceptance unit 17 notifies the preprocessing program execution unit 13 and the change processing unit 14 of the acceptance of the removal command to select multiple parts of extended software to be removed. Then, in step S502, the preprocessing program execution unit 13 executes a preprocessing program related to the extended software to be removed from preprocessing programs stored in the preprocessing program storage unit 12.
[0081] In step S503, the preprocessing program execution unit 13 determines whether all preprocessing programs related to the extended software to be removed have been executed. If step S503 determines that not all preprocessing programs have been executed, processing returns to step S502. If step S503 determines that all preprocessing programs have been executed, processing proceeds to step S504. By repeatedly executing steps S502 and S503, all preprocessing programs stored in the preprocessing program storage unit 12 are executed by the preprocessing program execution unit 13.
[0082] In step S504, the change processing unit 14 performs a process to remove the extended software to be removed from the extended software storage unit 15.
[0083] In step S505, the change processing unit 14 determines whether all parts of extended software to be removed have been removed. If step S505 determines that not all parts of extended software to be removed have been removed, processing returns to step S504. If step S505 determines that all parts of extended software to be added have been added, processing terminates. Repeating steps S504 and S505 removes all parts of extended software to be removed from the extended software storage unit 15, based on the plurality of parts specified in the removal command.
[0084] Fig.Figure 8 is a flowchart illustrating the operational sequence of a removal processing operation in the third form of the control device 1 according to the embodiment of the present disclosure and the modified example thereof. When removal processing is performed sequentially on a plurality of parts of extended software in the removal processing operation of the third form, a portion of a plurality of preprocessing programs relating to the parts of extended software to be removed is executed jointly, and the remaining preprocessing programs are executed individually before the removal processing is performed on each part of extended software.Pre-processing programs to be executed jointly and pre-processing programs to be executed individually may be defined in advance when the control device 1 is manufactured, or may, as applicable, be set by an operator using an input device.
[0085] In step S601, the removal acceptance unit 17 determines whether a removal command is accepted to select a plurality of parts of extended software to be removed.
[0086] When, in step S601, it is determined that a removal command to select multiple parts of extended software to be removed is accepted, the removal acceptance unit 17 notifies the preprocessing program execution unit 13 and the change processing unit 14 of the acceptance of the removal command to select multiple parts of extended software to be removed. Then, in step S602, a preprocessing program to be executed in advance, where the program is related to the extended software to be removed, is executed from preprocessing programs stored in the preprocessing program storage unit 12.
[0087] In step S603, the preprocessing program execution unit 13 determines whether all preprocessing programs to be executed in advance, where the programs relate to the extended software to be added, have been executed. If step S603 determines that not all preprocessing programs to be executed in advance have been executed, processing returns to step S602. If step S603 determines that all preprocessing programs to be executed in advance have been executed, processing proceeds to step S604. By repeatedly executing steps S602 and S603, all preprocessing programs to be executed in advance, where the programs are stored in the preprocessing program storage unit 12, are executed simultaneously by the preprocessing program execution unit 13.
[0088] In step S604, the preprocessing program execution unit 13 executes a preprocessing program, which is to be executed individually, from the preprocessing programs stored in the preprocessing program storage unit 12. This preprocessing program relates to extended software that is to be removed. It should be noted that the preprocessing program executed in step S604 relates to extended software that is to be added in step S605, which follows step S604.
[0089] In step S605, the change processing unit 14 performs a process to remove the extended software to be removed from the extended software storage unit 15.
[0090] In step S606, the change processing unit 14 determines whether all parts of extended software to be removed have been removed. If step S606 determines that not all parts of extended software to be removed have been removed, processing returns to step S604. If step S606 determines that all parts of extended software to be added have been added, processing terminates. Repeating steps S604 through S606 removes all parts of extended software to be removed from the extended software storage unit 15, as specified in the removal command, while the preprocessing programs to be executed individually are carried out.
[0091] While the case of control unit 1, which is a robot control unit that controls a robot, has been described above, the description mentioned above is also applicable to a numerical control unit that controls a machine tool.
[0092] As described above, according to the embodiment of the present disclosure, modification processing, such as addition processing and removal processing, can be duly performed on extended software used to control an extendable function and peripheral equipment in a robot control device that controls a robot, a numerical control device that controls a machine tool, and the like.
[0093] For example, conventionally, adding extended software to a control device fails if the extended software includes a program with the same name as a program already present in the control device. To prepare for such a situation, in the embodiment of the present disclosure and the modified example thereof, extended software is preconfigured to include a preprocessing program for modifying the filename of program information. Then, when extended software is added to the control device, the preprocessing program for modifying the filename of the program information is executed first, and then the addition processing is performed on the extended software. Accordingly, the addition of the extended software can be carried out correctly.Alternatively, for example, extended software is preconfigured to include a preprocessing program for removing a main program that operates on program information from another part of the extended software. Then, when extended software is added to the control device, the preprocessing program for removing a main program that operates on program information from another part of the extended software is executed first, and then the addition processing of the extended software is executed; and therefore the addition of the extended software can be carried out correctly.
[0094] For example, some extended software requires that another part of extended software has already been added. When multiple parts of extended software are added, the parts must be added in a purposeful order; and conventionally, multiple parts of extended software cannot be added together. In preparation for such a situation, in the embodiment of the present disclosure and the modified example of the same extended software, for example, it is preconfigured to include a preprocessing program for defining an order in which parts of extended software are added.Then, when multiple parts of extended software are added to the control device, the preprocessing program is executed first to define the sequence in which the parts of the extended software are added. Afterward, the addition processing is performed on the parts of the extended software in the sequence defined in the preprocessing program. Consequently, the addition of the parts of the extended software can be carried out properly based on a purposeful sequence, and multiple parts of the extended software can be added simultaneously.
[0095] For example, when extended software is removed from the control device, all programs included in the extended software must be placed in a suspended state. Conventionally, an attempt to remove extended software while a program included in the extended software is executing causes the removal of the extended software to fail. To prepare for such a situation, in the embodiment of the present disclosure and the modified example of the same extended software, for example, the extended software is preconfigured to include a preprocessing program for suspending the execution of a main program defined in the program information of the extended software.When extended software is removed, a main program, defined in the program information, is first paused by executing a preprocessing program to halt the execution of the main program. Afterward, the removal process is performed on the extended software. Therefore, the removal of the extended software can be carried out correctly.
[0096] For example, when extended software is removed from the control device, peripheral equipment controlled by the extended software must be stopped. Conventionally, an attempt to remove extended software while peripheral equipment controlled by the extended software is in operation can cause the removal of the extended software to fail or the peripheral equipment to malfunction. In preparation for such a situation, in the embodiment of the present disclosure and the modified example of the same extended software, for example, is preconfigured to include a preprocessing program for stopping the operation of peripheral equipment controlled by the extended software.When extended software is removed, the peripheral equipment is first properly stopped by executing the pre-processing program to halt the operation of the peripheral equipment controlled by the extended software, and then the removal processing is performed on the extended software. Therefore, the removal of the extended software can be carried out properly.
[0097] For example, if program information of extended software is accessed by another part of extended software, the extended software cannot be removed first. Therefore, when removing multiple parts of extended software, the parts must be removed in a purposeful order; and conventionally, multiple parts of extended software cannot be removed together. In preparation for such a situation, in the embodiment of the present disclosure and the modified example of the same extended software, for example, it is preconfigured to include a preprocessing program for removing a main program that operates with respect to program information of another part of extended software.Then, when extended software is removed from the control device, the preprocessing program for removing a main program that operates on program information of another part of the extended software is executed first, and then the removal processing is performed on the extended software; and therefore the removal of the extended software can be carried out properly, and multiple parts of extended software can be removed together. Alternatively, extended software is preconfigured, for example, to include a preprocessing program for defining a sequence in which parts of the extended software are removed.When extended software is removed from the control device, the preprocessing program is executed first to define the sequence in which parts of the extended software are removed. Then, the removal process is performed on the parts of the extended software in the sequence defined in the preprocessing program. Therefore, the removal of extended software can be carried out properly based on an appropriate sequence, and multiple parts of the extended software can be removed simultaneously.
[0098] While the present disclosure has been described in detail, it is not limited to each of the previously mentioned embodiments and their modified examples. Various additions, substitutions, modifications, partial removals, and the like may be made to the embodiments and their modified examples without departing from the spirit of the present disclosure or from the scope of protection derived from the content described in the claims and their equivalents. Furthermore, the embodiments and their modified examples may be implemented in combination. For example, an operation sequence or a processing sequence is described as an example in embodiments and their modified examples and is not limited to them.Furthermore, the above also applies if a numerical value or a mathematical expression is used in the description of the aforementioned embodiments and the modified examples thereof. <Ergänzende Anmerkungen>
[0099] The following additional remarks are further disclosed with regard to the aforementioned embodiments and the modified examples thereof. (Supplementary Note 1)
[0100] Control unit 1, comprising the following: a preprocessing program storage unit 12 configured to store a preprocessing program that is executed prior to any modification processing on extended software for controlling an extension function of a machine, a preprocessing program execution unit 13 configured to execute the preprocessing program stored in the preprocessing program storage unit 12, and a change processing unit 14 configured to perform change processing on the extended software after the preprocessing program has been executed by the preprocessing program execution unit 13, wherein The extended software is configured to include the preprocessing program that is related to the extended software. (Supplementary Note 2)
[0101] Control device 1 according to supplementary note 1, which further includes the following: an add acceptance unit 16 configured to accept an add command for selecting the extended software to be added from among one or more parts of the extended software that are add candidates, a preprocessing program initiation unit 11, which is configured, when the add acceptance unit 16 accepts the add command, to read the preprocessing program in the extended software to be added and to store the program in the preprocessing program storage unit 12 before the change processing, which is an add processing, is performed on the extended software, and a storage unit 15 for extended software, configured to store the added extended software 15, wherein, When the Addition Acceptance Unit 16 accepts the Addition command, the Change Processing Unit 14 performs a processing operation to store the extended software to be added in the Extended Software Storage Unit 15 as the Addition operation, after the Preprocessing Program Execution Unit 13 executes the preprocessing program. (Supplementary Note 3)
[0102] Control device 1 according to supplementary note 2, wherein, If the add command accepted by the add acceptance unit 16 specifies a selection of a plurality of parts of extended software to be added, the preprocessing program induction unit 11 reads all preprocessing programs in the plurality of parts of extended software to be added and stores the programs in the preprocessing program storage unit 12, the preprocessing program execution unit 13 executes at least one of all the preprocessing programs that are stored in the preprocessing program storage unit 12, and The change processing unit 14 performs the addition processing after the preprocessing program execution unit 13 has executed at least one of all the preprocessing programs. (Supplementary Note 4)
[0103] Control device 1 according to supplementary note 2, which further includes the following: a candidate storage unit 10 configured to store the extended software, which is an addition candidate, wherein, When the Addition Acceptance Unit 16 accepts the Addition command, the Preprocessing Program Initiation Unit 11 reads a preprocessing program related to the extended software to be added from the Candidate Memory Unit 10 and stores the program in the Preprocessing Program Memory Unit 12 before the Addition processing is carried out by the Change Processing Unit 14. (Supplementary Note 5)
[0104] Control device 1 according to supplementary note 2, wherein the extended software, which is an addition candidate, is stored in a candidate storage unit 10, which is provided in an external storage device outside the control unit 1, and, When the Addition Acceptance Unit 16 accepts the Addition command, the Preprocessing Program Initiation Unit 11 reads the preprocessing program related to the extended software to be added from the candidate memory unit 10 and stores the program in the preprocessing program memory unit 12 before the Addition processing is carried out by the Change Processing Unit 14. (Supplementary Note 6)
[0105] Control device 1 according to supplementary note 2, which further includes the following: a removal acceptance unit 17 configured to accept a removal command for selecting extended software to be removed from among one or more parts of the extended software stored in the extended software storage unit 15, wherein, When the removal acceptance unit 17 accepts the removal command, the preprocessing program execution unit 13 executes a preprocessing program related to the extended software to be removed, under one or more preprocessing programs stored in the preprocessing program storage unit 12, before the modification processing, which is a removal processing, is performed on the extended software, and The change processing unit 14 performs a processing operation to remove the extended software to be removed from the extended software storage unit 15 after the preprocessing program execution unit 13 executes the preprocessing program. (Supplementary Note 7)
[0106] Control device 1 according to supplementary note 6, wherein, if the removal command accepted by the removal acceptance unit 17 specifies a selection of a plurality of parts of extended software to be removed, the preprocessing program execution unit 13 executes at least one of a plurality of preprocessing programs that related to the extended software that is to be removed, from the preprocessing programs stored in the preprocessing program storage unit 12, and executes The change processing unit 14 performs the removal processing after the preprocessing program execution unit 13 has executed at least one of the majority of preprocessing programs. (Supplementary Note 8)
[0107] Control device 1 according to supplementary note 2, wherein The preprocessing program storage unit 12 and the extended software storage unit 15 are provided in the same storage device. (Supplementary Note 9)
[0108] Control device 1 according to one of the supplementary notes 1 to 8, wherein The extended software is configured to include at least one preprocessing program that is related to the extended software. (Supplementary Note 10)
[0109] Control device 1 according to supplementary note 9, wherein The preprocessing program storage unit 12 stores at least one preprocessing program. (Supplementary Note 11)
[0110] Control device 1 according to one of the supplementary notes 1 to 10, wherein The control unit 1 is a numerical control unit that controls a machine tool, which is the machine. (Supplementary Note 12)
[0111] Control device 1 according to one of the supplementary notes 1 to 10, wherein The control unit 1 is a robot control unit that controls a robot, which is the machine. REFERENCE MARK LIST 1 Control unit 2 External storage device 10 candidate memory units 11 Preprocessing Program Introductory Unit 12 Preprocessing program storage unit 13 Pre-processing program execution unit 14 Change processing unit 15 storage units for extended software 16 Addition Acceptance Unit 17 Distance acceptance unit 20 Control unit 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 309018A
[0003] JP 2015-069601A
[0003]
Claims
[1] Control device comprising the following: a preprocessing program storage unit configured to store a preprocessing program that is executed prior to any modification processing on extended software for controlling an extension function of a machine, a preprocessing program execution unit configured to execute the preprocessing program stored in the preprocessing program storage unit, and a change processing unit configured to perform change processing on the extended software after the preprocessing program has been executed by the preprocessing program execution unit, wherein The extended software is configured to include the preprocessing program that is related to the extended software. [2] Control device according to claim 1, further comprising: an add acceptance unit configured to accept an add command to select the extended software to be added from among one or more parts of the extended software that are add candidates, a preprocessing program initiation unit configured to read the preprocessing program in the extended software to be added and store the program in the preprocessing program storage unit when the add acceptance unit accepts the add command, before the change processing, which is an add processing, is performed on the extended software, and a storage unit for extended software configured to store the added extended software, wherein, When the add acceptance unit accepts the add command, the change processing unit performs a processing operation to store the extended software to be added in the extended software storage unit as the add operation, after the preprocessor execution unit executes the preprocessor. [3] Control device according to claim 2, wherein, If the add command accepted by the add acceptance unit specifies a selection from a multitude of parts of extended software to be added, the preprocessing program induction unit reads all preprocessing programs in the multitude of parts of extended software to be added and stores the programs in the preprocessing program storage unit, the preprocessing program execution unit executes at least one of all the preprocessing programs stored in the preprocessing program storage unit that relate to the multitude of parts of extended software to be added, and The change processing unit performs the add processing after the preprocessor execution unit has executed at least one of all the preprocessors. [4] Control device according to claim 2, further comprising: a candidate storage unit configured to store the extended software that is an addition candidate, wherein, When the add acceptance unit accepts the add command, the preprocessing program initiation unit reads a preprocessing program related to the extended software to be added from the candidate memory unit and stores the program in the preprocessing program memory unit before the add processing is carried out by the change processing unit. [5] Control device according to claim 2, wherein the extended software, which is an addition candidate, is stored in a candidate storage unit provided in an external storage device outside the control unit, and, When the add acceptance unit accepts the add command, the preprocessing program initiation unit reads the preprocessing program related to the extended software to be added from the candidate memory unit and stores the program in the preprocessing program memory unit before the add processing is carried out by the change processing unit. [6] Control device according to claim 2, further comprising: a removal acceptance unit configured to accept a removal command to select extended software to be removed from among one or more parts of the extended software stored in the extended software storage unit, wherein, When the removal acceptance unit accepts the removal command, the preprocessing program execution unit executes a preprocessing program related to the extended software to be removed, under one or more preprocessing programs stored in the preprocessing program storage unit, before the change processing, which is a removal processing, is performed on the extended software, and The change processing unit performs a process to remove the extended software to be removed from the extended software storage unit after the preprocessing program execution unit executes the preprocessing program. [7] Control device according to claim 6, wherein, if the removal command accepted by the removal acceptance unit specifies a selection of a plurality of parts of extended software to be removed, the preprocessing program execution unit executes at least one of a plurality of preprocessing programs related to the extended software to be removed from the preprocessing programs stored in the preprocessing program storage unit and The change processing unit performs the removal processing after the preprocessing program execution unit has executed at least one of the majority of preprocessing programs. [8] Control device according to claim 2, wherein the preprocessing program storage unit and the extended software storage unit are provided in the same storage device. [9] Control device according to any one of claims 1 to 8, wherein the extended software is configured to include at least one preprocessing program related to the extended software. [10] Control device according to claim 9, wherein the preprocessing program storage unit stores at least one preprocessing program. [11] Control device according to any one of claims 1 to 10, wherein the control device is a numerical control device that controls a machine tool, which is the machine. [12] Control device according to any one of claims 1 to 10, wherein the control device is a robot control device that controls a robot which is the machine.
Citation Information
Patent Citations
309018A
Method for installing software and program for installing software
JP2015069601A