Control device for controlling machine by means of extended software

By introducing a preprocessing program storage and execution unit into the control device, the problem of insufficient flexibility in handling software changes in robot and machine tool control devices is solved, and normal function addition and deletion processing is realized.

CN120936984APending Publication Date: 2025-11-11FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380097052.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-05-26
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

In the existing technology, it is difficult to properly handle changes when adding or deleting extended software in the control devices of robots and machine tools, resulting in insufficient functional flexibility.

Method used

By introducing a preprocessor storage unit and a preprocessor execution unit into the control device, the preprocessor is executed before the expansion software is modified, ensuring the smooth progress of the modification process.

Benefits of technology

It enables normal change processing when adding or deleting extended software for robot and machine tool control devices, improving the flexibility and scalability of functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120936984A_ABST
    Figure CN120936984A_ABST
Patent Text Reader

Abstract

A control device is provided with: a pre-processing program storage unit that stores a pre-processing program to be executed prior to a change process for extension software for controlling an extension function of a machine; a pre-processing program execution unit that executes the pre-processing program stored in the pre-processing program storage unit; and a change processing unit that, after the pre-processing program execution unit executes the pre-processing program, executes a change process for the extension software, the extension software being configured so as to include the pre-processing program corresponding to the extension software.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a control device for controlling machinery through extended software. Background Technology

[0002] The robot and machine tool (hereinafter, sometimes simply referred to as "machinery") are controlled by a robot controller and a numerical control unit (hereinafter, sometimes simply referred to as "control unit") according to "standard software" and "extended software," respectively. The standard actions of the machine are controlled by the control unit based on the standard software that has been imported into (installed on) the control unit at the time of manufacture. On the other hand, optional functions that can be added or deleted afterward, and the actions of selected peripheral devices, are controlled by the control unit based on extended software.

[0003] Robots and machine tools are highly flexible and can be applied to various purposes. They can be customized by adding or removing additional functions, peripheral devices, or other components from the control unit as needed. For example, after the machinery and its control unit leave the factory, users (customers using the machinery and its control unit) or manufacturers (manufacturers of the machinery and its control unit) sometimes make changes based on the intended use or purpose, such as adding or removing unnecessary software from the control unit.

[0004] Existing technical documents

[0005] Patent documents

[0006] Patent Document 1: Japanese Patent Application Publication No. 06-309018

[0007] Patent Document 2: Japanese Patent Application Publication No. 2015-069601 Summary of the Invention

[0008] The problem that the invention aims to solve

[0009] In robot controllers that control robots, numerical control devices that control machine tools, and other similar applications, there is a need for technologies that can properly handle changes to expandable functions and extended software used to control peripheral devices.

[0010] Methods for solving problems

[0011] According to one aspect of this disclosure, the control device includes: a preprocessing program storage unit that stores a preprocessing program to be executed before modification processing of extended software for extended functions of controlling machinery; a preprocessing program execution unit that executes the preprocessing program stored in the preprocessing program storage unit; and a modification processing unit that performs modification processing for the extended software after the preprocessing program execution unit executes the preprocessing program, the extended software being configured to include a preprocessing program corresponding to the extended software. Attached Figure Description

[0012] Figure 1 This is a block diagram illustrating a control device according to one embodiment of the present disclosure.

[0013] Figure 2 This is a block diagram illustrating a modified example of a control device according to an embodiment of the present disclosure.

[0014] Figure 3 This is a flowchart illustrating the operation flow of the additional processing in the first mode of the control device 1, which represents the embodiments and variations thereof of this disclosure.

[0015] Figure 4 This is a flowchart illustrating the operation flow of the second mode of additional processing in the control device 1 of the embodiments and variations of this disclosure.

[0016] Figure 5 This is a flowchart illustrating the operation flow of third-party additional processing in the control device 1, which represents the embodiments and variations thereof of this disclosure.

[0017] Figure 6 This is a flowchart illustrating the deletion process of the first mode in the control device 1 of the embodiments and variations of the present disclosure.

[0018] Figure 7 This is a flowchart illustrating the operation flow of the deletion process in the control device 1 of the second mode, which represents an embodiment and a variation thereof of this disclosure.

[0019] Figure 8 This is a flowchart illustrating the operation flow of the third-party deletion process in the control device 1, which represents an embodiment and a variation thereof of this disclosure. Detailed Implementation

[0020] The control device for controlling machinery via extended software according to the embodiments will now be described with reference to the accompanying drawings. Furthermore, in the following description, structures having the same or similar functions will be labeled with the same reference numerals. Also, repeated descriptions of these structures will sometimes be omitted. For ease of understanding, the scale of the drawings has been appropriately changed.

[0021] One embodiment of the control device disclosed herein is a robot controller for controlling a robot or a numerical control device for controlling a machine tool. Here, as an example, the case where the control device is a robot controller will be described, but the following description can also be applied to the case where the control device is a numerical control device.

[0022] <Overall Structure of One Embodiment of the Present Disclosure>

[0023] Figure 1This is a block diagram illustrating a control device according to one embodiment of the present disclosure.

[0024] The control device 1 for controlling a robot (not shown) has functions that can be broadly divided into standard functions and extended functions. One embodiment of the control device 1 of this disclosure controls the robot using standard software for controlling the standard functions of the control device 1 and extended software for controlling the extended functions of the control device 1.

[0025] "Standard functions" refer to the basic functions and functions for controlling existing peripheral equipment that are pre-installed (installed) in control device 1. Control device 1 uses standard software to control the standard functions of control device 1.

[0026] "Extended functions" refer to the functions that can be added to the control device 1 after the fact, such as the selection functions and the functions of controlling selected peripheral devices. The control device 1 controls the robot's extended functions based on the extended software. Regarding the extended functions of the control device 1, changes can be made after the robot and control device 1 have left the factory, such as adding or deleting them. For example, after the robot and control device 1 have left the factory, if it is necessary to add extended functions to the control device 1, the user or manufacturer adds the extended software corresponding to the extended functions. Conversely, after the robot and control device 1 have left the factory, if unnecessary extended functions exist in the control device 1, the user or manufacturer deletes the extended software corresponding to those extended functions.

[0027] Examples of extended software include extended software for controlling specific peripheral devices of a robot, extended software for enabling the robot's arm to perform specific movements, and extended software for enabling the robot's body (base) to perform specific movements. However, extended software other than these may also be included. Examples of extended software for controlling specific peripheral devices of a robot include extended software for controlling specific robotic arms installed on the robot, extended software for controlling specific tools installed on the robot, extended software for controlling specific cameras installed on the robot, and extended software for controlling specific sensors installed on the robot. However, extended software other than these may also be included.

[0028] For each extended function, extended software is specified. In particular, in the embodiments of this disclosure, the extended software includes, in addition to program information, screen information, and setting information, a preprocessing program and is composed of an archive file packaged together.

[0029] The preprocessing program, as a component of the extension software, is a program executed in a preparatory stage before performing "change processing for the extension software"—that is, processing for adding the extension software to the control device 1 and processing for deleting the extension software from the control device 1—to ensure the smooth and normal execution of such processing. In this sense, the preprocessing program can also be called a "pre-processing program" or a "preparation processing program," etc.

[0030] Examples of preprocessors include preprocessors for changing filenames in program information, preprocessors for specifying the order in which extension software is added, preprocessors for deleting main programs specified in program information, preprocessors for stopping the execution of main programs specified in program information, preprocessors for stopping the operation of peripheral devices controlled by extension software, preprocessors for deleting running main programs by referring to program information of other extension software, preprocessors for specifying the order in which extension software is deleted, and preprocessors for restoring various variables of the main program specified in program information to their initial values. However, preprocessors other than these may also be included.

[0031] As a component of extended software, program information defines the main program that is directly or indirectly related to the control of the extended function. For example, the program information may include a command file that describes the commands to control device 1 (the processes that control device 1 should perform for the extended function).

[0032] Screen information, which is a component of the extended software, includes screen files and image files used for screen display on the teaching operation panel (not shown) or external display device (not shown) connected to the control device 1.

[0033] The setting information, as a component of the extended software, specifies information related to various settings of the extended functions controlled by the extended software. For example, there are setting information related to the supply voltage of peripheral devices, setting information related to communication with peripheral devices, setting information related to the robot's coordinate system, setting information related to the load, and other setting information.

[0034] In one embodiment of this disclosure, an extension software is pre-created that packages the aforementioned preprocessing program, program information, screen information, and setting information into an archive file format. Then, when performing modification processing (i.e., appending or deleting processing) on ​​the extension software, the preprocessing program is executed before performing the modification processing on the extension software, and the modification processing on the extension software is executed after performing the preprocessing program.

[0035] like Figure 1As shown, the control device 1 of one embodiment of this disclosure includes a candidate storage unit 10, a preprocessing program import unit 11, a preprocessing program storage unit 12, a preprocessing program execution unit 13, a change processing unit 14, an extension software storage unit 15, an addition acceptance unit 16, a deletion acceptance unit 17, and a control unit 20. Furthermore, although not shown here, the control device 1 includes a power supply, a measuring device, an input device, a display device, a cooling device, and other circuits.

[0036] The candidate storage unit 10 stores additional candidate expansion software. The expansion software stored in the candidate storage unit 10 is only stored in the candidate storage unit 10 and is not directly used by the control device 1 to control the expansion functions. By pre-storing multiple expansion software options that a user who has purchased the robot and its control device 1 might add as additional candidates in the candidate storage unit 10, the user can easily and quickly select and add the desired expansion software. The storage of additional candidate expansion software in the candidate storage unit 10 is performed by the manufacturer of the control device 1 during the manufacturing of the control device 1.

[0037] Candidate storage unit 10 does not need to be a high-speed read / write storage device; a low-speed, inexpensive storage device can be used. Furthermore, in order to store multiple additional candidate expansion software, candidate storage unit 10 is preferably a high-capacity storage device. Examples of candidate storage units 10 include hard disk drives (HDDs), solid-state drives (SSDs), and flash memory. The more expansion software stored in candidate storage unit 10, the greater the range of options for expansion software that can be added to control device 1. Figure 1 In the example shown, for instance, candidate storage unit 10 stores extension software A and extension software B, etc.

[0038] The preprocessor storage unit 12 stores a preprocessor that is executed before the change processing for the extended software. The preprocessor storage unit 12 can be any rewritable memory, such as non-volatile memory like SRAM or EEPROM, or volatile memory like DRAM.

[0039] The extended software added to the control device 1 is stored in the extended software storage unit 15. Control of the extended functions in the control device 1 is achieved by the control unit 20 executing the extended software stored in the extended software storage unit 15. That is, the extended software stored in the extended software storage unit 15, rather than the extended software stored in the candidate storage unit 10, is directly used by the control device 1 to control the extended functions. The extended software storage unit 15 can be any rewritable memory; it can be a non-volatile memory such as SRAM or EEPROM, or a volatile memory such as DRAM.

[0040] The add-on processing unit 16 accepts add-on instructions from the add-on candidate software stored in the candidate storage unit 10, selecting the add-on target software. For example, a list of add-on candidate software is displayed on the screen of the output device of the control device 1 or the teaching pendant (not shown) connected thereto, allowing the operator to refer to it and use the input device to select one or more add-on target software. The input device accepts the operator's operation and sends an add-on instruction to the add-on processing unit 16 indicating the selected add-on target software. The add-on processing unit 16 notifies the preprocessing import unit 11 and the change processing unit 14 that the add-on instruction has been accepted.

[0041] The deletion acceptance unit 17 accepts deletion commands from the extended software stored in the extended software storage unit 15, selecting the extended software to be deleted. For example, a list of extended software added to the control device 1 is displayed on the screen of the output device of the control device 1 or the teaching pendant (not shown) connected to it, allowing the operator to use an input device to select one or more extended software items to be deleted. The input device accepts the operator's operation and sends a deletion command indicating the selected extended software item to the deletion acceptance unit 17. The deletion acceptance unit 17 notifies the preprocessing execution unit 13 and the change processing unit 14 that the deletion command has been accepted.

[0042] When the addition acceptance unit 16 receives an addition instruction, the preprocessor import unit 11 reads the preprocessor from the candidate storage unit 10 in the expansion software of the addition target before performing the change processing as an addition process for expansion software, and stores the preprocessor in the preprocessor storage unit 12. When the addition instruction received by the addition acceptance unit 16 indicates the selection of expansion software for multiple addition targets, the preprocessor import unit 11 reads all the preprocessors within the expansion software of the multiple addition targets from the candidate storage unit 10 and stores all the preprocessors in the preprocessor storage unit 12. Figure 1 In the example shown, the preprocessor storage unit 12 stores preprocessors a1 and a2 of the extended software A, as well as preprocessors b1 and b2, etc.

[0043] When the add receiving unit 16 receives an add instruction, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the extended software of the add object. When the delete receiving unit 17 receives a delete instruction, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the extended software of the delete object. More details are described below.

[0044] When the addition acceptance unit 16 accepts an addition instruction, the preprocessing execution unit 13 executes the preprocessing program corresponding to the added extension software stored in the preprocessing program storage unit 12 before the change processing unit 14 performs the addition processing for the extension software. When the addition instruction accepted by the addition acceptance unit 16 indicates the selection of multiple added extension software, the preprocessing execution unit 13 executes at least one of all the preprocessing programs stored in the preprocessing program storage unit 12 corresponding to the added extension software.

[0045] When the deletion acceptance unit 17 accepts a deletion instruction, the preprocessing execution unit 13 executes the preprocessing program corresponding to the deleted extension software stored in the preprocessing program storage unit 12 before the change processing unit 14 executes the deletion processing for extension software. If the deletion instruction accepted by the deletion acceptance unit 17 indicates the selection of multiple deleted extension software, the preprocessing execution unit 13 executes at least one of the multiple preprocessing programs corresponding to the deleted extension software stored in the preprocessing program storage unit 12.

[0046] After the preprocessing execution unit performs the preprocessing procedure, the change processing unit 14 performs change processing on the extended software. More details are described below.

[0047] When the addition receiving unit 16 receives an addition instruction, after the preprocessing execution unit 13 executes the preprocessing program corresponding to the extension software to be added, the modification processing unit 14 executes the addition process, reading the extension software to be added from the candidate storage unit 10 and storing it in the extension software storage unit 15. If the addition instruction received by the addition receiving unit 16 indicates the selection of multiple extension software to be added, the modification processing unit 14 executes the addition process after the preprocessing execution unit 13 executes at least one of all preprocessing programs corresponding to the extension software to be added. Thus, the extension software to be added is added to the control device 1. Figure 1 In the example shown, as one example, the extended software storage unit 15 stores extended software A and B, etc.

[0048] When the deletion acceptance unit 17 receives a deletion instruction, after the preprocessing execution unit 13 executes the preprocessing program corresponding to the extension software to be deleted, the modification processing unit 14 performs the deletion process of deleting the extension software to be deleted from the extension software storage unit 15. If the deletion instruction received by the deletion acceptance unit indicates that multiple extension software items are selected for deletion, the modification processing unit 14 performs the deletion process after the preprocessing execution unit 13 executes at least one of the preprocessing programs corresponding to all extension software items. Thus, the extension software to be deleted is removed from the control device 1.

[0049] Furthermore, while the preprocessing program storage unit 12 and the extended software storage unit 15 are provided as independent storage devices, the storage areas for the preprocessing program storage unit 12 and the extended software storage unit 15 can also be provided separately within the same storage device. This allows for further reduction in the mounting area on the substrate and further reduction in manufacturing costs.

[0050] At least one processor, serving as an arithmetic processing unit, is provided within the control device 1. Examples of such arithmetic processing units include ICs, LSIs, CPUs, MPUs, and DSPs. The arithmetic processing unit includes a preprocessing program import unit 11, a preprocessing program execution unit 13, a modification processing unit 14, an addition receiving unit 16, a deletion receiving unit 17, a control unit 20, and other processing units. These units are functional modules implemented, for example, by programs executed on the processor. For instance, when the preprocessing program import unit 11, preprocessing program execution unit 13, modification processing unit 14, addition receiving unit 16, deletion receiving unit 17, control unit 20, and other processing units are constructed as programs, the functions of each unit can be realized by causing the arithmetic processing unit to operate according to the program. The programs for executing the processes in the preprocessing program import unit 11, preprocessing program execution unit 13, modification processing unit 14, addition receiving unit 16, deletion receiving unit 17, control unit 20, and other processing units can also be provided in the form of a computer-readable recording medium such as a semiconductor memory, magnetic recording medium, or optical recording medium. Alternatively, the preprocessing import unit 11, the preprocessing execution unit 13, the change processing unit 14, the addition acceptance unit 16, the deletion acceptance unit 17, the control unit 20, and other processing units can be implemented as semiconductor integrated circuits with programs written to implement the functions of each unit.

[0051] In addition, at least one memory, serving as a storage device, is provided within the control device 1. The memory includes a candidate storage section 10, a preprocessing program storage section 12, and an extended software storage section 15. Examples of memory types include electrically erasable / recordable non-volatile memory such as EEPROM (registered trademark), or high-speed read / write random access memory such as DRAM or SRAM. The storage device may also have a structure such as HDD (hard disk drive) or SSD (solid-state drive). The memory may also store programs for operating the preprocessing program import section 11, the preprocessing program execution section 13, the change processing section 14, the addition receiving section 16, the deletion receiving section 17, the control section 20, and other processing sections. Furthermore, the memory may also store various programs and data associated with the control device 1. Additionally, the memory may also store various programs and data related to the robot controlled by the control device 1.

[0052] <Overall structure of a variation of one embodiment of this disclosure>

[0053] Figure 2 This is a block diagram illustrating a modified example of a control device according to an embodiment of the present disclosure.

[0054] In reference Figure 1 In the described embodiment, the candidate storage unit 10 is provided inside the control device 1, but as a variation, the candidate storage unit 10 may also be provided in an external storage device 2 located outside the control device 1.

[0055] like Figure 2 As shown, the control device 1 according to one embodiment of this disclosure includes a preprocessing program import unit 11, a preprocessing program storage unit 12, a preprocessing program execution unit 13, a change processing unit 14, an extension software storage unit 15, an addition acceptance unit 16, a deletion acceptance unit 17, and a control unit 20. Furthermore, although not shown here, the control device 1 includes a power supply, a measuring device, an input device, a display device, a cooling device, and other circuits.

[0056] Regarding the preprocessing program import unit 11, preprocessing program storage unit 12, preprocessing program execution unit 13, change processing unit 14, extended software storage unit 15, addition acceptance unit 16, deletion acceptance unit 17, and control unit 20 within the control device 1, please refer to... Figure 1 As explained.

[0057] An external storage device 2, located outside the control device 1, includes a candidate storage unit 10. Regarding the function and operation of the candidate storage unit 10, please refer to... Figure 1The preprocessing import unit 11 reads the preprocessing program corresponding to the expansion software to be added from the candidate storage unit 10 in the external storage device 2 and stores it in the preprocessing program storage unit 12 before the modification processing unit 14 executes the addition processing after the addition receiving unit 16 executes the preprocessing program. When the addition receiving unit 16 accepts the addition instruction, the modification processing unit 14 executes the addition processing after the preprocessing execution unit 13 executes the preprocessing program, and then executes the addition processing to read the expansion software to be added from the candidate storage unit 10 in the external storage device 2 and store it in the expansion software storage unit 15.

[0058] Examples of external storage devices 2 include removable recording media such as USB memory, SD card, micro SD card, CD, DVD, and MO. The external storage device 2, which is a removable recording medium, is electrically, magnetically, or optically connected to the control device 1, and the candidate storage unit 10 is connected to the preprocessing program import unit 11 and the change processing unit 14.

[0059] Furthermore, for example, the external storage device 2 may be a storage device connected to a network. In this case, the external storage device 2 on the network is connected to the control device 1 via wireless or wired communication, thereby connecting the candidate storage unit 10 to the preprocessing program import unit 11 and the change processing unit 14. The external storage device 2 on the network may be installed, for example, in a factory, warehouse, or management office where the control device 1 is installed, or in the warehouse, sales office, or maintenance service center of the manufacturer of the control device 1 or the manufacturer of the robot.

[0060] The storage of additional candidate expansion software to the candidate storage unit 10 is performed by the manufacturer of the control device 1, for example, during the manufacture of the external storage device 2. Furthermore, for example, if the external storage device 2 is a storage device connected to a network, whenever additional candidate expansion software is newly developed by the manufacturer of the control device 1, the expansion software can be stored in the candidate storage unit 10 of the external storage device 2.

[0061] According to this variation, even after the control device 1 has left the factory, newly developed additional candidate expansion software can be easily provided to the user.

[0062] <Addition of extended software in embodiments and variations thereof>

[0063] Several operational procedures for adding extended software to the control device 1 in relation to embodiments and variations thereof are listed below.

[0064] Figure 3This is a flowchart illustrating the operation flow of the first mode of the addition processing in the control device 1, which represents an embodiment and a variation thereof of this disclosure. In the addition processing of the first embodiment, before performing the addition processing of an extension software, all preprocessing procedures corresponding to the extension software to be added are executed.

[0065] In step S101, the additional receiving unit 16 determines whether the additional instruction has been accepted.

[0066] If, in step S101, it is determined that an additional instruction has been accepted, the additional instruction acceptance unit 16 notifies the preprocessor import unit 11 and the change processing unit 14 that the additional instruction has been accepted. Then, in step S102, the preprocessor import unit 11 reads the preprocessor from the candidate storage unit 10 in the extended software of the additional object indicated by the additional instruction. When the extended software of the additional object includes multiple preprocessors, the preprocessor import unit 11 reads all preprocessors from the candidate storage unit 10.

[0067] In step S103, the preprocessor import unit 11 stores the read preprocessor in the preprocessor storage unit 12. If multiple preprocessors are read, the preprocessor import unit 11 stores them in all of the preprocessor storage units 12.

[0068] In step S104, the preprocessor execution unit 13 executes the preprocessor corresponding to the extended software of the added object among the preprocessors stored in the preprocessor storage unit 12. If multiple preprocessors are stored in the preprocessor storage unit 12, the preprocessor execution unit 13 executes all the preprocessors corresponding to the extended software of the added object among the preprocessors stored in the preprocessor storage unit 12.

[0069] In step S105, the change processing unit 14 reads the extension software of the appended object indicated by the append instruction from the candidate storage unit 10, and stores the extension software in the extension software storage unit 15.

[0070] In the above-mentioned first method of additional processing, whenever the additional receiving unit 16 receives an additional instruction, the processing steps S101 to S105 are executed.

[0071] Figure 4 This is a flowchart illustrating the operation flow of the second method of the addition processing in the control device 1, which represents an embodiment and a variation thereof of this disclosure. In the addition processing of the second embodiment, before continuously executing the addition processing of multiple extension software, all preprocessing procedures corresponding to the extension software to be added are executed.

[0072] In step S201, the additional acceptance unit 16 determines whether the additional instruction for selecting multiple additional objects of the expansion software has been accepted.

[0073] When it is determined in step S201 that an addition instruction for selecting multiple additional objects of extended software has been accepted, the addition acceptance unit 16 notifies the preprocessor import unit 11 and the change processing unit 14 that the addition instruction for selecting multiple additional objects of extended software has been accepted. Then, in step S202, the preprocessor import unit 11 reads all the preprocessors contained in the extended software of multiple additional objects from the candidate storage unit 10.

[0074] In step S203, the preprocessing program import unit 11 stores all the read preprocessing programs in the preprocessing program storage unit 12.

[0075] In step S204, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the extended software of the added object.

[0076] In step S205, the preprocessor execution unit 13 determines whether all preprocessors corresponding to the extended software of the added object have been executed. If it is not determined in step S205 that all preprocessors have been executed, the process returns to step S204. If it is determined in step S205 that all preprocessors have been executed, the process proceeds to step S206. By repeatedly executing steps S204 and S205, the preprocessor execution unit 13 executes all preprocessors stored in the preprocessor storage unit 12.

[0077] In step S206, the change processing unit 14 reads the extension software of the appended object indicated by the append instruction from the candidate storage unit 10, and stores the extension software in the extension software storage unit 15.

[0078] In step S207, the change processing unit 14 determines whether all the extension software for the added object has been added. If it is not determined in step S207 that all the extension software for the added object has been added, the process returns to step S206. If it is determined in step S207 that all the extension software for the added object has been added, the process ends. By repeatedly executing steps S206 and S207, all the extension software for the multiple added objects indicated by the add command is stored in the extension software storage unit 15.

[0079] Figure 5This is a flowchart illustrating the operation flow of the third-party addition processing in the control device 1, which represents the embodiments and variations of this disclosure. In the third-party addition processing, when multiple extension software addition processes are executed consecutively, a portion of the multiple preprocessing programs corresponding to the extension software to be added are executed uniformly, and the remaining preprocessing programs are executed separately before executing the addition processing of each extension software. The choice of which preprocessing program to execute uniformly or separately can be predetermined during the manufacture of the control device 1, or can be appropriately set by the operator using an input device.

[0080] In step S301, the additional acceptance unit 16 determines whether to accept the additional instruction for the expansion software that selects multiple additional objects.

[0081] When it is determined in step S301 that an addition instruction for selecting multiple additional objects of extended software has been accepted, the addition acceptance unit 16 notifies the preprocessor import unit 11 and the change processing unit 14 that the addition instruction for selecting multiple additional objects of extended software has been accepted. Then, in step S302, the preprocessor import unit 11 reads all the preprocessors contained in the extended software of multiple additional objects from the candidate storage unit 10.

[0082] In step S303, the preprocessing program import unit 11 stores all the preprocessing programs read out in the preprocessing program storage unit 12.

[0083] In step S304, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the extended software of the added object and should be executed first.

[0084] In step S305, the preprocessor execution unit 13 determines whether all preprocessors that should be executed beforehand, corresponding to the extended software of the added object, have been executed. If it is not determined in step S205 that all preprocessors that should be executed beforehand have been executed, the process returns to step S304. If it is determined in step S305 that all preprocessors that should be executed beforehand have been executed, the process proceeds to step S306. By repeatedly executing steps S304 and S305, the preprocessor execution unit 13 executes all preprocessors that should be executed beforehand, stored in the preprocessor storage unit 12, in a unified manner.

[0085] In step S306, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the additional expansion software and should be executed separately. Furthermore, the preprocessor executed in step S306 corresponds to the predetermined expansion software added in step S307, which follows step S306.

[0086] In step S307, the change processing unit 14 reads the extension software of the appended object indicated by the append instruction from the candidate storage unit 10 and stores the extension software in the extension software storage unit 15.

[0087] In step S308, the change processing unit 14 determines whether all extension software for the added object has been added. If it is not determined in step S308 that all extension software for the added object has been added, the process returns to step S306. If it is determined in step S308 that all extension software for the added object has been added, the process ends. By repeatedly executing steps S306 to S308, the preprocessing program that should be executed individually is performed, and all extension software for the multiple added objects indicated by the add command is stored in the extension software storage unit 15.

[0088] As explained above, in the first to third type of additional 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 executes at least one of all preprocessors, the change processing unit 14 executes additional processing to store the extended software in the extended software storage unit 15.

[0089] <Removal of extended software in embodiments and variations thereof>

[0090] Several operational procedures for deleting extended software from control device 1 in accordance with embodiments and variations thereof of this disclosure are listed below.

[0091] Figure 6 This is a flowchart illustrating the operation flow of the deletion process in the control device 1 of the embodiments and variations thereof according to the present disclosure, in the first mode. In the deletion process of the first mode, before performing the deletion process of an extension software, all preprocessing procedures corresponding to the extension software to be deleted are executed.

[0092] In step S401, the deletion acceptance unit 17 determines whether the deletion command has been accepted.

[0093] If a deletion instruction is deemed accepted in step S401, the deletion acceptance unit 17 notifies the preprocessor execution unit 13 and the change processing unit 14 that the deletion instruction has been accepted. Then, in step S402, the preprocessor execution unit 13 executes the preprocessor corresponding to the extended software of the deletion target stored in the preprocessor storage unit 12.

[0094] In step S403, the change processing unit 14 performs the process of deleting the extension software of the deletion object from the extension software storage unit 15.

[0095] In the deletion process of the first method described above, whenever the deletion receiving unit 17 receives a deletion instruction, the processing steps S401 to S403 are executed.

[0096] Figure 7 This is a flowchart illustrating the operation flow of the deletion process in the control device 1 of the second method according to the embodiments and variations of this disclosure. In the deletion process of the second method, before continuously executing the deletion processes of multiple extension software, all preprocessing procedures corresponding to the extension software to be deleted are executed.

[0097] In step S501, the deletion acceptance unit 17 determines whether to accept the deletion instruction for the extension software that selects multiple deletion objects.

[0098] When it is determined in step S501 that a deletion instruction for selecting multiple deletion targets of extended software has been accepted, the deletion acceptance unit 17 notifies the preprocessor execution unit 13 and the change processing unit 14 that the deletion instruction for selecting multiple additional targets of extended software has been accepted. Then, in step S502, the preprocessor execution unit 13 executes the preprocessor corresponding to the deleted target extended software in the preprocessor stored in the preprocessor storage unit 12.

[0099] In step S503, the preprocessor execution unit 13 determines whether all preprocessors corresponding to the extended software of the object to be deleted have been executed. If it is not determined in step S503 that all preprocessors have been executed, the process returns to step S502. If it is determined in step S503 that all preprocessors have been executed, the process proceeds to step S504. By repeatedly executing steps S502 and S503, the preprocessor execution unit 13 executes all preprocessors stored in the preprocessor storage unit 12.

[0100] In step S504, the change processing unit 14 performs the process of deleting the extension software of the deletion object from the extension software storage unit 15.

[0101] In step S505, the change processing unit 14 determines whether all extension software of the deletion target has been deleted. If it is not determined in step S505 that all extension software of the deletion target has been deleted, the process returns to step S504. If it is determined in step S505 that all extension software of the deletion target has been deleted, the process ends. By repeatedly executing steps S504 and S505, all extension software of the multiple deletion targets indicated by the deletion command is deleted from the extension software storage unit 15.

[0102] Figure 8This is a flowchart illustrating the operation flow of the third-party deletion process in the control device 1, which represents an embodiment and a variation thereof. In the third-party deletion process, when multiple extension software deletion processes are executed consecutively, a portion of the multiple preprocessing programs corresponding to the extension software to be deleted are executed uniformly, and the remaining preprocessing programs are executed separately before executing the additional processing for each extension software. The choice of which preprocessing program to execute uniformly or separately can be predetermined during the manufacture of the control device 1, or appropriately set by the operator using an input device.

[0103] In step S601, the deletion acceptance unit 17 determines whether the additional instruction of the extension software that selects multiple deletion objects has been accepted.

[0104] When it is determined in step S601 that a deletion instruction for selecting multiple deletion targets of extended software has been accepted, the deletion acceptance unit 17 notifies the preprocessor execution unit 13 and the change processing unit 14 that the deletion instruction for selecting multiple deletion targets of extended software has been accepted. Then, in step S602, the preprocessor stored in the preprocessor storage unit 12 that the preprocessor corresponding to the deleted target extended software should be executed first is executed.

[0105] In step S603, the preprocessor execution unit 13 determines whether all preprocessing programs that should be executed first, corresponding to the extended software of the object to be deleted, have been executed. If it is not determined in step S603 that all preprocessing programs that should be executed first have been executed, the process returns to step S602. If it is determined in step S603 that all preprocessing programs that should be executed first have been executed, the process proceeds to step S604. By repeatedly executing steps S602 and S603, the preprocessor execution unit 13 executes all preprocessing programs that correspond to the extended software of the object to be deleted and that should be executed first, stored in the preprocessor storage unit 12.

[0106] In step S604, the preprocessor execution unit 13 executes the preprocessor stored in the preprocessor storage unit 12 that corresponds to the extended software of the deletion target and should be executed separately. The preprocessor executed in step S604 corresponds to the extended software deleted in step S605, which follows step S604.

[0107] In step S605, the change processing unit 14 performs the process of deleting the extension software of the deletion object from the extension software storage unit 15.

[0108] In step S606, the change processing unit 14 determines whether all extension software of the deletion target has been deleted. If it is not determined in step S606 that all extension software of the deletion target has been deleted, the process returns to step S604. If it is determined in step S606 that all extension software of the deletion target has been deleted, the process ends. By repeating steps S604 to S606, while executing the preprocessing program that should be executed separately, all extension software of the multiple deletion targets indicated by the deletion command is deleted from the extension software storage unit 15.

[0109] The above describes the case where control device 1 is a robot controller that controls a robot, but the above description can also be applied to numerical control devices that control machine tools.

[0110] As explained above, according to the embodiments of this disclosure, in robot controllers that control robots, numerical control devices that control machine tools, and the like, change processing such as adding or deleting extended software for controlling peripheral devices can be normally implemented.

[0111] For example, conventionally, when adding extension software to a control device, the addition of the extension software fails if it contains a program with the same name as a program already existing in the control device. To address this, in embodiments and variations thereof, a preprocessing program for changing the filename of the program information is included in the extension software and configured beforehand. Furthermore, when adding extension software to the control device, the preprocessing program for changing the filename of the program information is executed first, followed by the extension software addition process. This allows the addition of the extension software to proceed normally. Alternatively, for example, a preprocessing program for deleting the currently running main program by referencing program information from another extension software is included in the extension software and configured beforehand. Furthermore, when adding extension software to the control device, the preprocessing program for deleting the currently running main program by referencing program information from another extension software is executed first, followed by the extension software addition process, thus allowing the addition of the extension software to proceed normally.

[0112] For example, some software, based on the addition of other extension software, already exists. When adding multiple extension software programs, they must be added in an appropriate order, and in the past, it was sometimes impossible to add multiple extension software programs uniformly. To address this situation, in the embodiments and variations thereof of this disclosure, for example, a preprocessing program specifying the order in which extension software programs are added is included in the extension software and pre-configured. Furthermore, when adding multiple extension software programs to the control device, the preprocessing program specifying the order in which the extension software programs are added is first executed, and the addition process of the extension software programs is performed according to the order specified by the preprocessing program. Therefore, it is possible to correctly add extension software programs based on an appropriate order, and it is possible to add multiple extension software programs uniformly.

[0113] For example, when deleting extension software from a control device, all programs included in the extension software must be in a stopped state. Conventionally, if the extension software is to be deleted while any programs included in it are running, the deletion fails. To address this, in embodiments and variations of this disclosure, a preprocessing program for stopping the execution of the main program specified in the extension software's program information is included in the extension software and pre-configured. Furthermore, when deleting the extension software from the control device, first, the main program is stopped by executing the preprocessing program for stopping the execution of the main program specified in the program information, and then the deletion process for the extension software is performed. Thus, the deletion of the extension software can be performed normally.

[0114] For example, when deleting extension software from a control device, the peripheral devices controlled by the extension software must be stopped. Previously, if a peripheral device controlled by the extension software attempted to delete the extension software while it was in operation, the deletion might fail, or the peripheral device might malfunction. To address this, in embodiments and variations thereof, a pre-processing program for stopping the operation of peripheral devices controlled by the extension software is included within the extension software and pre-configured. Furthermore, when deleting the extension software from the control device, the peripheral device is first stopped normally by executing the pre-processing program for stopping the operation of peripheral devices controlled by the extension software, and then the deletion process for the extension software is performed. This allows for the normal deletion of the extension software.

[0115] For example, if the program information of an extension software is referenced by other extension software, the extension software cannot be deleted first. Therefore, when deleting multiple extension software programs, they must be deleted in an appropriate order; previously, it was sometimes impossible to delete multiple extension software programs at the same time. To address this situation, in the embodiments and variations thereof of this disclosure, for example, a preprocessing program for deleting the running main program by referencing the program information of other extension software is included in the extension software and pre-configured. Moreover, when deleting an extension software from the control device, first, the preprocessing program for deleting the running main program by referencing the program information of another extension software is executed, and then the deletion process of the extension software is performed. Therefore, extension software can be deleted normally, and multiple extension software programs can be deleted at the same time. Alternatively, for example, a preprocessing program that specifies the order in which extension software programs are deleted is included in the extension software and pre-configured. Moreover, when deleting an extension software from the control device, first, the preprocessing program that specifies the order in which extension software programs are deleted is executed, and the deletion process of the extension software is performed in the order defined in the preprocessing program. Thus, the deletion of extension software based on an appropriate order can be performed normally, and multiple extension software programs can be deleted at the same time.

[0116] The present disclosure has been described in detail above, but it is not limited to the various embodiments and modifications described above. These embodiments and modifications can be supplemented, substituted, modified, or partially deleted in various ways without departing from the spirit of the present disclosure or from the spirit of the present disclosure derived from the content described under the scope of the claimed patent protection and its equivalents. Furthermore, these embodiments and modifications can also be implemented in combination. For example, in the embodiments and modifications described above, the order of each action and the order of each process are shown as examples and are not limited thereto. The same applies to the use of numerical values ​​or mathematical formulas in the descriptions of the embodiments and modifications described above.

[0117] <Postscript>

[0118] The following notes are also disclosed regarding the above-described embodiments and variations.

[0119] (Note 1)

[0120] The control device (1) includes:

[0121] The preprocessing program storage unit (12) stores the preprocessing program that is executed before the change processing of the extended software for the extended functions used to control the machinery;

[0122] The preprocessor execution unit (13) executes the preprocessor stored in the preprocessor storage unit (12); and

[0123] The change processing unit (14) performs change processing for the extended software after the preprocessing unit (13) performs the preprocessing.

[0124] The extension software is configured to include a preprocessor corresponding to the extension software.

[0125] (Note 2)

[0126] According to the control device (1) described in Appendix 1, wherein,

[0127] The control device (1) includes:

[0128] The additional processing unit (16) accepts additional instructions for expansion software that selects the expansion target from the additional expansion software candidates;

[0129] The preprocessor import unit (11), when the addition acceptance unit (16) accepts the addition instruction, reads the preprocessor in the extension software of the addition target and stores it in the preprocessor storage unit (12) before performing the change processing as the addition processing of the extension software; and

[0130] The extended software storage unit (15) stores the added extended software.

[0131] When the addition processing unit (14) receives the addition instruction from the addition acceptance unit (16), after the preprocessing execution unit (13) executes the preprocessing procedure, it performs the process of storing the extension software of the addition object in the extension software storage unit (15) as the addition processing.

[0132] (Note 3)

[0133] According to the control device (1) described in Appendix 2, wherein,

[0134] When the addition instruction received by the addition receiving unit (16) indicates that multiple addition objects are selected, the preprocessing import unit (11) reads out all the preprocessing programs in the multiple addition objects' extension software and stores them in the preprocessing storage unit (12).

[0135] The preprocessor execution unit (13) executes at least one of all preprocessors stored in the preprocessor storage unit (12).

[0136] After the preprocessing execution unit (13) has executed at least one of all preprocessing procedures, the change processing unit (14) performs additional processing.

[0137] (Note 4)

[0138] According to the control device (1) described in Appendix 2, wherein,

[0139] The control device (1) includes: a candidate storage unit (10) that stores additional candidate expansion software.

[0140] When the addition acceptance unit (16) accepts the addition instruction, the preprocessing import unit (11) reads the preprocessing program corresponding to the extension software of the addition object from the candidate storage unit (10) and stores it in the preprocessing program storage unit (12) before the addition processing is performed by the change processing unit (14).

[0141] (Note 5)

[0142] According to the control device (1) described in Appendix 2, wherein,

[0143] Additional candidate extension software is stored in a candidate storage unit (10), which is located in an external storage device outside the control device (1).

[0144] When the addition acceptance unit (16) accepts the addition instruction, the preprocessing import unit (11) reads the preprocessing program corresponding to the extension software of the addition object from the candidate storage unit (10) and stores it in the preprocessing program storage unit (12) before the change processing unit (14) performs the addition processing.

[0145] (Note 6)

[0146] According to the control device (1) described in Appendix 2, wherein,

[0147] The control device (1) includes: a deletion receiving unit (17) that receives deletion instructions from the extended software stored in the extended software storage unit (15) to select the extended software to be deleted.

[0148] When the deletion acceptance unit (17) accepts a deletion instruction, the preprocessing execution unit (13) executes the preprocessing program corresponding to the extension software to be deleted, which is stored in the preprocessing program storage unit (12), before executing the change processing for the deletion of extension software.

[0149] After the preprocessing execution unit (13) executes the preprocessing procedure, the change processing unit (14) performs the deletion process of deleting the extension software of the deletion object from the extension software storage unit (15).

[0150] (Note 7)

[0151] According to the control device (1) described in Appendix 6, wherein,

[0152] When the deletion instruction received by the deletion acceptance unit (17) indicates the selection of multiple deletion targets (extension software), the preprocessor execution unit (13) executes at least one of the multiple preprocessors corresponding to the extension software of the deletion targets stored in the preprocessor storage unit (12).

[0153] After the preprocessing execution unit (13) has executed at least one of the multiple preprocessing procedures, the change processing unit (14) performs the deletion process.

[0154] (Note 8)

[0155] According to the control device (1) described in Appendix 2, wherein,

[0156] The preprocessor storage unit (12) and the extended software storage unit (15) are located in the same storage device.

[0157] (Note 9)

[0158] According to the control device (1) described in Appendices 1-8, wherein,

[0159] The extension software is configured to include at least one preprocessor corresponding to the extension software.

[0160] (Postscript 10)

[0161] According to the control device (1) described in Appendix 9, wherein,

[0162] The preprocessor storage unit (12) stores at least one preprocessor.

[0163] (Postscript 11)

[0164] According to the control device (1) described in Appendices 1-10, wherein,

[0165] The control device (1) is a numerical control device that controls a machine tool as a machine.

[0166] (Postscript 12)

[0167] According to the control device (1) described in Appendices 1-10, wherein,

[0168] The control device (1) is a robot controller that controls the robot as a machine.

[0169] Symbol Explanation

[0170] 1 Control device

[0171] 2 External storage devices

[0172] 10 candidate storage units

[0173] 11 Preprocessing Import Section

[0174] 12 Preprocessor Storage Unit

[0175] 13 Preprocessing Execution Unit

[0176] 14 Change Processing Department

[0177] 15. Expanded Software Storage Department

[0178] 16 Additional Acceptance Departments

[0179] 17. Delete the Acceptance Department

[0180] 20. Control Department.

Claims

1. A control device, characterized in that, have: A preprocessing program storage unit stores preprocessing programs that are executed before the change processing of extended software for extended functions used to control machinery; The preprocessor execution unit executes the preprocessor stored in the preprocessor storage unit; as well as The change processing unit performs the change processing for the extended software after the preprocessing execution unit executes the preprocessing. The extended software is configured to include the preprocessing program corresponding to the extended software.

2. The control device according to claim 1, characterized in that, The control device includes: An additional receiving department accepts additional instructions for expansion software selected from the additional candidates for expansion software. The preprocessing import unit, when the addition acceptance unit accepts the addition instruction, reads out the preprocessing program in the extension software of the addition target and stores it in the preprocessing storage unit before executing the change processing as the addition processing of the extension software; as well as An extended software storage unit stores the added extended software. When the addition acceptance unit accepts the addition instruction, the change processing unit performs the addition processing of storing the addition object's extension software in the extension software storage unit after the preprocessing execution unit executes the preprocessing program corresponding to the extension software of the addition object.

3. The control device according to claim 2, characterized in that, When the append instruction received by the append acceptance unit indicates the selection of multiple appended objects' extension software, the preprocessor import unit reads all the preprocessors within the extension software of the multiple appended objects and stores them in the preprocessor storage unit. The preprocessor execution unit executes at least one of all the preprocessors stored in the preprocessor storage unit that correspond to the extended software of the plurality of appended objects. The change processing unit performs the additional processing after the preprocessing execution unit has executed at least one of the preprocessing procedures.

4. The control device according to claim 2, characterized in that, The control device includes: a candidate storage unit that stores the additional candidate extension software. When the addition acceptance unit accepts the addition instruction, the preprocessing import unit reads the preprocessing program corresponding to the extension software of the addition object from the candidate storage unit and stores it in the preprocessing program storage unit before the addition processing unit executes the addition processing.

5. The control device according to claim 2, characterized in that, The additional candidate extended software is stored in a candidate storage unit, which is located in an external storage device outside the control device. When the addition acceptance unit accepts the addition instruction, the preprocessing import unit reads the preprocessing program corresponding to the extension software of the addition object from the candidate storage unit and stores it in the preprocessing program storage unit before the addition processing unit performs the addition processing.

6. The control device according to claim 2, characterized in that, The control device includes: a deletion receiving unit that receives deletion instructions from the extended software stored in the extended software storage unit, selecting the extended software to be deleted. When the deletion acceptance unit accepts the deletion instruction, the preprocessing execution unit executes the preprocessing program corresponding to the extension software to be deleted, stored in the preprocessing program storage unit, before executing the change processing as the deletion processing of the extension software. After the preprocessing execution unit executes the preprocessing program, the change processing unit performs the deletion process of deleting the extension software of the deletion object from the extension software storage unit.

7. The control device according to claim 6, characterized in that, When the deletion instruction received by the deletion acceptance unit indicates the selection of multiple deletion targets (extension software), the preprocessor execution unit executes at least one of the multiple preprocessors corresponding to the extension software of the deletion targets stored in the preprocessor storage unit. The change processing unit performs the deletion process after the preprocessing execution unit has executed at least one of the plurality of preprocessing procedures.

8. The control device according to claim 2, characterized in that, The preprocessor storage unit and the extended software storage unit are located in the same storage device.

9. The control device according to any one of claims 1 to 8, characterized in that, The extended software is configured to include at least one preprocessor corresponding to the extended software.

10. The control device according to claim 9, characterized in that, The preprocessor storage unit stores at least one of the preprocessors.

11. The control device according to any one of claims 1 to 10, characterized in that, The control device is a numerical control device that controls the machine tool, which is the machine.

12. The control device according to any one of claims 1 to 10, characterized in that, The control device is a robot controller that controls the robot, which is the machine.

Citation Information

Patent Citations

  • Data management system for cnc

    JP1994309018A

  • Method for installing software and program for installing software

    JP2015069601A