Control device and computer-readable recording medium
The control device optimizes program execution in industrial machinery by managing call information to reduce return processes, thereby shortening cycle time and improving machining precision.
Patent Information
- Application Number
- PCT/JP2024/006773
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-26
- Publication Date
- 2025-09-04
AI Technical Summary
Existing control systems for industrial machinery, such as machine tools and robots, face inefficiencies in program calling and returning processes, which increase cycle time and reduce machining precision due to frequent tool changes and complex machining processes.
A control device that records the order of program calls, executes them sequentially without returning to the caller program, and manages call information to optimize the execution flow, reducing the need for time-consuming return processes.
This approach shortens processing time, improves machining precision, and maintains reusability of machining programs by minimizing the number of return processes, thus enhancing overall efficiency and surface quality.
Smart Images

Figure JP2024006773_04092025_PF_FP_ABST
Abstract
Description
Control device and computer-readable recording medium
[0001] The present disclosure relates to a control device and a computer-readable recording medium.
[0002] In control devices for industrial machines such as machine tools and robots installed at manufacturing sites, similar control processes are often performed frequently. For example, in machining using an automatic lathe, machining processes for small, complex parts are often performed repeatedly. Tool changes are also frequently performed. For this reason, macro programs and subprograms that command frequently used tool change processes and machining processes are created, and these programs are called as needed within the machining program (see, for example, Patent Document 1).
[0003] In this way, small tool change processes and machining processes are successively combined to perform one cycle of machining. In this case, program calls are frequently made.
[0004] International Publication No. 2022 / 030496
[0005] The process of calling a program and returning from the called program generally involves searching for files and accessing devices. Therefore, these processes take time. At the same time, manufacturing sites are also seeking to reduce cycle time in order to efficiently carry out mass production.
[0006] The control device for industrial machinery according to the present disclosure records the order of programs called by successive call commands when analyzing a machining program.Then, without returning to the caller program, the control device moves to the caller program in order and executes the programs.Then, when there are no more caller programs, the control device executes a process of returning to the caller program, thereby solving the above-mentioned problem.
[0007] One aspect of the present disclosure is a control device including: a program acquisition unit that acquires a machining program; a program analysis unit that analyzes commands in the acquired machining program; a call information storage unit that stores multiple pieces of call information; a multiple call processing unit that stores information specifying the machining programs to be called by successive call commands in the machining program as call information in the call information storage unit based on the analysis results by the program analysis unit, retrieves the first piece of call information from the call information storage unit, and instructs the program acquisition unit to acquire the machining program indicated by the call information; a return command processing unit that, when the program analysis unit analyzes a return command, retrieves the next call information from the call information storage unit and instructs the program acquisition unit to acquire the machining program indicated by the call information; and a control unit that controls industrial machinery based on the analysis results by the program analysis unit.
[0008] 1 is a schematic hardware configuration diagram of a control device according to a first embodiment; FIG. 2 is a schematic functional block diagram of a control device according to a first embodiment; FIG. 3 shows an example of a machining program including blocks of consecutive call commands; FIG. 4 is an example of call information stored in a call information storage unit; FIG. 5 is a schematic diagram showing a flow until call information is created by a multiple call processing unit; FIG. 6 is a schematic diagram showing a flow until each machining program is called based on multiple pieces of call information; FIG. 7 is a schematic diagram showing a flow until calling of a machining program based on multiple pieces of call information is completed; FIG. 8 is a schematic diagram showing an example of a machining program including multiple call commands; FIG. 9 is a schematic diagram showing an example of a machining program in which the number of times a machining program is repeatedly called is specified; FIG. 10 is a schematic diagram showing another example of a machining program including multiple call commands; FIG. 11 is a diagram showing an example of caller information stored in a call information storage unit;
[0009] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplicate descriptions of those components may be omitted.
[0010] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).
[0011] 1 is a schematic hardware configuration diagram showing the main parts of a control device according to an embodiment of the present disclosure. The control device 1 of the present disclosure can be implemented as a control device that controls industrial machinery such as a machine tool or a robot. The following describes an example of the control device 1 that controls a machine tool that processes a workpiece by controlling the relative position of a tool and a workpiece.
[0012] The CPU 11 included in the control device 1 of the present disclosure is a processor that performs overall control of the control device 1. The CPU 11 reads a system program stored in the ROM 12 via the bus 22 and controls the entire control device 1 in accordance with the system program. The RAM 13 temporarily stores temporary calculation data, display data, various data input from outside, and the like.
[0013] The nonvolatile memory 14 is configured, for example, by a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and retains its stored state even when the power to the control device 1 is turned off. The nonvolatile memory 14 stores control programs and data read from the external device 72 via the interface 15, data and control programs input via the input device 71, and various data acquired from the industrial machine 3. The control programs and data stored in the nonvolatile memory 14 may be expanded into the RAM 13 when executed / used. Furthermore, various system programs such as known analysis programs are written in the ROM 12 in advance.
[0014] The interface 15 is an interface for connecting the CPU 11 of the control device 1 to an external device 72 such as a USB memory, CompactFlash (registered trademark), or SD card. For example, control programs and various data used to control the industrial machine 3 can be read from the external device 72. Furthermore, control programs and various data edited within the control device 1 can be stored in the external device 72. A PLC (Programmable Logic Controller) 16 controls the industrial machine 3 by outputting signals to the industrial machine 3, its control panel, and peripheral devices (e.g., tool changers, actuators such as robots, and sensors attached to the industrial machine 3) via an I / O unit 17 using a sequence program built into the control device 1. The PLC 16 also receives signals from various buttons, dials, and switches on the control panel of the industrial machine 3, machine door locks and personal authentication devices, peripheral devices, and other industrial machines operating in conjunction with the industrial machine 3, and passes the signals to the CPU 11 after performing the necessary signal processing.
[0015] The display device 70 displays various data loaded into the memory, data obtained as a result of executing control programs, system programs, etc., output via the interface 18. Furthermore, the input device 71, which is composed of a keyboard, a mouse, a touch panel, or other pointing device, transmits instructions, data, etc., based on operations by an operator, to the CPU 11 via the interface 19.
[0016] The interface 20 is an interface for connecting the CPU 11 of the control device 1 to a wired or wireless network 5. The network 5 may communicate using technologies such as serial communication such as RS-485, Ethernet (registered trademark), optical communication, wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), etc. Other industrial machines 4, fog computers 6, cloud servers 7, PCs (Personal Computers) 8, etc. are connected to the network 5, and data is exchanged between the network 5 and the control device 1.
[0017] The axis control circuit 30 for controlling the control axes of the industrial machine 3 receives position commands for the control axes from the CPU 11 and outputs commands for the control axes to the servo amplifier 40. The servo amplifier 40 receives these commands and drives the servo motors 50 for the control axes, moving each part of the industrial machine 3 along the respective control axes. Each servo motor 50 has a built-in position detector, and feeds back a position feedback signal from the position detector to the axis control circuit 30. The axis control circuit 30 performs feedback control of the servo motor 50 based on the position feedback signal. Note that while only one axis control circuit 30, servo amplifier 40, and servo motor 50 are shown in the hardware configuration diagram of FIG. 1 , in reality, there are as many axis control circuits 30, servo amplifiers 40, and servo motors 50 as there are control axes of the industrial machine 3 to be controlled. For example, to control a typical machine tool with three linear axes and two rotary axes, five sets of axis control circuits 30, servo amplifiers 40, and servo motors 50 are provided to move a spindle to which a tool is attached and a workpiece relatively in the three linear axes (X-axis, Y-axis, and Z-axis).
[0018] The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to a spindle amplifier 61. The spindle amplifier 61 receives this spindle speed signal and rotates a spindle motor 62 of the industrial machine 3 at the commanded rotation speed to drive the spindle. A position coder 63 is connected to the spindle motor 62. The position coder 63 outputs a feedback pulse in synchronization with the rotation of the spindle, and the feedback pulse is read by the CPU 11.
[0019] 2 is a schematic block diagram illustrating functions of the control device 1 according to the first embodiment of the present disclosure. Each function of the control device 1 according to this embodiment is realized by the CPU 11 included in the control device 1 shown in FIG. 1 executing a system program and controlling the operation of each part of the control device 1.
[0020] The control device 1 of this embodiment includes a program acquisition unit 100, a program analysis unit 110, a control unit 120, a multiple call processing unit 130, and a return command processing unit 140. The RAM 13 to the nonvolatile memory 14 of the control device 1 are provided with a call information storage unit 200, which is an area for storing call information related to the calling of a machining program.
[0021] The program acquisition unit 100 acquires a machining program to be executed when controlling the industrial machine 3. The program acquisition unit 100 may acquire a machining program that is pre-stored in, for example, the RAM 13 or the non-volatile memory 14 of the control device 1. Alternatively, the program acquisition unit 100 may acquire a machining program stored in an external device 72. Furthermore, the program acquisition unit 100 may acquire a machining program stored in the fog computer 6, the cloud server 7, the PC 8, or the like via the network 5. The program acquisition unit 100 sequentially acquires blocks of the machining program and outputs them to the program analysis unit 110.
[0022] The program analysis unit 110 sequentially analyzes blocks included in the machining program. The blocks included in the machining program may include blocks that command movements related to predetermined control axes, blocks that command rotation of the spindle motor 62, and blocks that command input and output of various signals. Based on the results of analyzing these blocks, the program analysis unit 110 creates commands to control each part of the control device 1 and the industrial machine 3, and outputs the commands to the control unit 120.
[0023] The blocks included in a machining program may include blocks including call commands that call other machining programs, blocks including return commands that return to the calling machining program, and command blocks including other known commands. When a machining program includes a block with a single call command, the program analysis unit 110 instructs the program acquisition unit 100 to acquire the called machining program based on the results of analyzing the block. Furthermore, when a machining program includes a block with consecutive call commands, the program analysis unit 110 instructs the multiple call processing unit 130 to create call information based on the results of analyzing the block with the consecutive call commands.
[0024] 3 shows an example of a machining program including a block of consecutive call commands. In the example of FIG. 3, in sequence numbers N0012 to N0017 of machining program O0001, machining programs P0002 to P0007 are consecutively called by subprogram call command M98. The program analysis unit 110 analyzes such a block of consecutive call commands and outputs the analysis results to the multiple call processing unit 130. The call command may be a macro call such as G65.
[0025] On the other hand, if the machining program contains a block of a return command, the program analysis unit instructs the return command processing unit 140 to perform processing related to the return command based on the analysis result of the block. The return command may be, for example, a subprogram end command such as M99 or a program end command such as M02 or M30.
[0026] The control unit 120 controls each part of the control device 1 and the industrial machine 3 based on various commands input from the program analysis unit 110. The control unit 120 drives the servo motors 50 associated with each control axis of the industrial machine 3 based on, for example, commands related to the movement of the servo motors 50 associated with the axes input from the program analysis unit 110. The control unit 120 also drives the spindle motor 62 of the industrial machine 3 based on, for example, commands related to the rotation of the spindle motor 62. Furthermore, the control unit 120 controls the input and output of signals in the PLC 16 based on, for example, commands related to the control of peripheral devices of the industrial machine 3. The control unit 120 also acquires information related to the status of each part of the control device 1 and information related to the status of the industrial machine 3, and uses this information to control the industrial machine 3.
[0027] Based on the analysis results by the program analysis unit 110, the multiple call processing unit 130 stores information specifying the multiple machining programs to be called by successive call commands in the machining program as call information in the call information storage unit 200. The call information includes information that can uniquely identify at least the called machining program, such as a program number. For example, if the program analysis unit 110 analyzes successive call commands in sequence numbers N0012 to N0017 in the machining program O0001 illustrated in FIG. 3, the multiple call processing unit 130 creates call information for each of the machining programs O0002, O0003, ..., O0007. The created multiple call information is then stored in the call information storage unit 200 so that the call order can be determined. FIG. 4 shows an example of call information stored in the call information storage unit 200. Any format may be used for storing the call information in the call information storage unit 200. The data may be stored in a list format that allows the order to be understood, or in a data format such as a stack or queue. Any data format is acceptable as long as the calling order of the machining programs can be maintained.
[0028] When the multiple call processing unit 130 stores multiple pieces of call information related to consecutive call commands in the call information storage unit 200, it may instruct the program acquisition unit 100 to prepare for acquisition of the machining programs specified by each piece of call information. This preparation for acquisition may include, for example, a search process for files related to the machining programs, a process for opening files related to the machining programs, and a process for connecting to another computer that stores files related to the machining programs. By preparing in advance for acquisition of multiple machining programs that are scheduled to be acquired, it is possible to reduce delays at the start of acquisition when the machining programs are actually acquired.
[0029] The multiple call processing unit 130 stores multiple pieces of call information relating to consecutive call commands in the call information storage unit 200, and then retrieves the first piece of call information from the call information storage unit 200. Then, it instructs the program acquisition unit 100 to acquire the machining program specified by the retrieved call information. At this time, the retrieved call information is deleted from the call information storage unit 200.
[0030] When the program analysis unit 110 analyzes a block of return commands, the return command processing unit 140 retrieves call information relating to the machining program to be called next from the call information storage unit 200. Then, it instructs the program acquisition unit 100 to acquire the machining program indicated in the retrieved call information. At this time, the retrieved call information is deleted from the call information storage unit 200. Furthermore, if no call information is stored in the call information storage unit 200, the return command processing unit 140 instructs the program acquisition unit 100 to acquire the block next to the block of consecutive call commands in the machining program including the block of consecutive call commands.
[0031] The operation of the control device 1 according to this embodiment will be described below with reference to Figures 5 to 7. The examples of Figures 5 to 7 show an example in which the machining program exemplified in Figure 3 is acquired and executed.
[0032] FIG. 5 is a schematic diagram showing the flow up to the creation of call information by the multiple call processing unit 130. First, the program acquisition unit 100 acquires the machining program O0001 illustrated in FIG. 3 (step SA01). Then, the program acquisition unit 100 sequentially reads out blocks included in the machining program O0001 and outputs them to the program analysis unit 110 (step SA02). The program analysis unit 110 sequentially analyzes the blocks of the machining program O0001 and instructs the control unit 120 to control the industrial machine 3 based on the analysis results (step SA03). Meanwhile, when the program analysis unit 110 analyzes consecutive call commands, it outputs the analysis results to the multiple call processing unit 130 (step SA04). The multiple call processing unit 130 creates multiple pieces of call information based on the analysis results by the program analysis unit 110 and stores them in the call information storage unit 200 (step SA05).
[0033] FIG. 6 is a schematic diagram showing the process of calling each machining program based on multiple pieces of call information. After creating the call information, the multiple call processing unit 130 retrieves the call information for the machining program to be called first from the call information storage unit 200 (step SB01). Here, the call information for the machining program O0002 is retrieved. The multiple call processing unit 130 then instructs the program acquisition unit 100 to acquire the machining program O0002 based on the retrieved call information (step SB02). The program acquisition unit 100 then acquires the machining program O0002 in accordance with the instruction (step SB03). The program analysis unit 110 then sequentially reads out the blocks included in the machining program O0002 and outputs them to the program analysis unit 110 (step SB04). The program analysis unit 110 analyzes the machining program O0002 and instructs the control unit 120 to control the industrial machine 3 based on the analysis results (step SB05). On the other hand, when the program analysis unit 110 analyzes a return command (M99 of machining program O0002 in the case of FIG. 6 ), it outputs the analysis result to the return command processing unit 140 (step SB06). Based on the analysis result by the program analysis unit 110, the return command processing unit 140 references the call information storage unit 200 and retrieves call information related to the machining program to be called next from the call information storage unit 200 (step SB07). In this case, the call information related to machining program O0003 is retrieved. Based on the retrieved call information, the return command processing unit 140 instructs the program acquisition unit 100 to acquire machining program O0003 (step SB08).
[0034] FIG. 7 is a schematic diagram showing the process of terminating the call of a machining program based on multiple pieces of call information. FIG. 7 illustrates a state in which steps SB03 to SB08 in FIG. 6 are repeated, resulting in the final machining program O0007 being called by successive call commands. At this time, all of the call information stored in the call information storage unit 200 has been retrieved by the return command processing unit 140. The program acquisition unit 100 acquires the machining program O0007 in accordance with the command (step SC01). Then, it sequentially reads out blocks included in the machining program O0007 and outputs them to the program analysis unit 110 (step SC02). The program analysis unit 110 analyzes the machining program O0007 and instructs the control unit 120 to control the industrial machine 3 based on the analysis results (step SB03). Meanwhile, when the program analysis unit 110 analyzes a return command (M99 of the machining program O0007 in FIG. 7), it outputs the analysis results to the return command processing unit 140 (step SC04). The return command processing unit 140 refers to the call information storage unit 200 based on the analysis result by the program analysis unit 110 (step SC05). Since all the call information stored in the call information storage unit 200 has been retrieved, the return command processing unit 140 instructs the program acquisition unit 100 to return to the block next to the block of consecutive call commands in the machining program O0001 that includes the block of consecutive call commands (step SC06). Thereafter, the return command processing unit 140 acquires the machining program O0001 and continues processing from the block next to the block of consecutive call commands.
[0035] The control device 1 according to this embodiment, which has the above configuration, can reduce the number of processes that return to the calling program for consecutively called programs, thereby shortening the processing time. Therefore, by reducing the number of processes that return from the call, the cycle time is shortened. Furthermore, by reducing the time-consuming return processes, axis movement is not stopped, and it is expected that the quality of the machined surface will also improve.
[0036] Generally, when calling multiple machining programs to control an industrial machine 3, the processing time for each call and return increases, thereby increasing the overall cycle time. Furthermore, the increased processing time for the call and return delays the supply of the machining programs, which in turn delays the analysis of the machining programs and causes axis movement to stop at unintended locations while waiting for the next command, potentially resulting in reduced machining surface quality. In response to this, consolidating all consecutively called programs into a single file can shorten the processing time for calling and returning from the machining programs, but this poses a problem: the machining programs cannot be divided into smaller programs for each process, reducing the reusability of the called machining programs. The control device 1 according to this embodiment maintains reusability by eliminating the need to consolidate consecutively called machining programs into a single file, thereby reducing the number of times the program returns to the calling program, thereby reducing processing time.
[0037] As a modification of the control device 1 according to this embodiment, a new multiple call command may be prepared. In this case, when a machining program contains multiple call commands, the program analysis unit 110 analyzes the program in the same manner as a block of consecutive call commands. FIG. 8 is a schematic diagram showing an example of a machining program containing multiple call commands. In the example of FIG. 8, machining program O0001 includes a multiple call command M298. The multiple call command commands a list including the call order of multiple called machining programs. In the example of FIG. 8, the multiple call command M298 commands the sequential calling of machining programs O0002 to O0007. After analyzing this command, the program analysis unit 110 notifies the multiple call processing unit 130 of the analysis result, assuming that machining programs O0002 to O0007 have been called consecutively. Note that the multiple call command is not limited to the example shown in FIG. 8. Any format of command may be used as long as it can specify at least a list including the call order of multiple called machining programs.
[0038] The control device 1 according to this modification can easily include multiple consecutive call commands in a machining program, thereby reducing the user's effort in creating the machining program. It can also reduce the size of the machining program. For example, it is common for an automatic lathe to machine a large number of small parts. To machine various parts, a machining program is created for each workpiece or for each shape within the workpiece. At this time, it may be necessary to change the machining sequence to coordinate with other machining processes or to adjust production volume. The control device 1 according to this modification performs multiple consecutive calls within a single multiple call command, so the machining sequence can be easily and freely changed simply by rearranging the arguments of the command.
[0039] As another modification of the control device 1 according to this embodiment, the number of times each machining program is repeatedly called may be specified. FIG. 9 is a schematic diagram showing an example of a machining program in which the number of times the machining program is repeatedly called is specified. In the example of FIG. 9, the argument of the subprogram call command at sequence number 0013 specifies that the machining program O0003 is to be called three times. Furthermore, the argument of the subprogram call command at sequence number 0018 specifies that the machining program O0007 is to be called twice. When a repetition count is included in multiple call commands in a machining program, the program analysis unit 110 analyzes the program assuming that the same program is called consecutively the number of times. The multiple call processing unit 130 then stores the repetition count in the call information storage unit 200. When the multiple call processing unit 130 and the return command processing unit 140 retrieve call information from the call information storage unit 200 and the call information includes a repetition count, they subtract 1 from the repetition count instead of deleting the retrieved call information. Then, when the repetition count becomes 0, the call information is deleted from the call information storage unit 200.
[0040] This repetition count specification can also be applied to multiple call commands. FIG. 10 is a schematic diagram showing another example of a machining program including a multiple call command. In the example of FIG. 10, machining program O0001 includes multiple call command M298. Furthermore, in the argument specifying the machining program to be called, a number is specified after a colon following the machining program number. For example, the argument specifying machining program O0003 specifies the number 3 after a colon. This means that machining program O0003 is to be called three times repeatedly. Furthermore, the argument specifying machining program O0007 specifies the number 2 after a colon. This means that machining program O0007 is to be called twice repeatedly. When a multiple call command in a machining program includes a repetition count, the program analysis unit 110 analyzes the program assuming that the same program is called consecutively the number of times. Note that when specifying the repetition count in a multiple call command, the specification method is not limited to the example shown in FIG. 10. Any format of command may be used as long as it allows at least the number of repetitions to be specified for each machining program.
[0041] The control device 1 according to this modification can easily include multiple consecutive call commands in a machining program, thereby reducing the user's effort in creating the machining program. When it is desired to change the number of machining repetitions due to adjustments with other machining processes or adjustments to production volume, the number of machining repetitions can be freely changed simply by changing the number of repetitions of the machining program calls in one multiple call command.
[0042] Second Embodiment A control device according to a second embodiment of the present disclosure will be described below. The control device 1 according to this embodiment has the same hardware configuration as the control device 1 according to the first embodiment.
[0043] Like the control device 1 according to the first embodiment, the control device 1 according to this embodiment includes a program acquisition unit 100, a program analysis unit 110, a control unit 120, a multiple call processing unit 130, and a return command processing unit 140. In addition, a call information storage unit 200, which is an area for storing call information related to the call of a machining program, is prepared in advance in the RAM 13 to the nonvolatile memory 14 of the control device 1.
[0044] The program acquisition unit 100, the program analysis unit 110, and the control unit 120 according to this embodiment have the same functions as those according to the first embodiment.
[0045] The multiple call processing unit 130 according to this embodiment stores, as call information, information specifying multiple machining programs to be called by successive call commands in the machining program, in the call information storage unit 200, based on the analysis results by the program analysis unit 110. The multiple call processing unit 130 also stores, as call source information, the caller machining program and the position of the last block of the successive call commands in the machining program in the call information storage unit 200.
[0046] FIG. 11 is a diagram showing an example of caller information stored in the call information storage unit 200. FIG. 11 shows an example in which the multiple call processing unit 130 creates call information and caller information based on the machining program shown in FIG. 3 and stores the call information in the call information storage unit. The machining program in FIG. 3 includes consecutive call commands at sequence numbers N0012 to N0017 (13th to 18th blocks). Based on the analysis results by the program analysis unit 110 for these blocks, the multiple call processing unit 130 creates call information for each block and caller information "O0001, 18th block" indicating that N0017 of O0001 is the last block of the caller.
[0047] The return command processing unit 140 according to this embodiment retrieves call information relating to the machining program to be called next from the call information storage unit 200 when the program analysis unit 110 analyzes the block of the return command. Then, it instructs the program acquisition unit 100 to acquire the machining program indicated in the retrieved call information. At this time, it deletes the retrieved call information from the call information storage unit 200. Furthermore, if no call information is stored in the call information storage unit 200, the return command processing unit 140 retrieves caller information from the call information storage unit 200. At this time, it deletes the retrieved caller information from the call information storage unit 200. Then, it instructs the program acquisition unit 100 to acquire the next position of the block of the machining program indicated by the retrieved caller information.
[0048] The control device 1 according to the present embodiment, which has the above configuration, can manage the call processing flow for consecutively called programs using the call information and the call source information, thereby making it possible to call multiple machining programs without complex processing.
[0049] Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the invention or the idea and intent of the present disclosure derived from the content described in the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0050] The following are supplementary notes relating to embodiments of the present disclosure. (Supplementary Note 1) A control device (1) according to one aspect of the present disclosure includes a program acquisition unit (100) that acquires a machining program, a program analysis unit (110) that analyzes commands in the acquired machining program, and a call information storage unit (200) that stores a plurality of pieces of call information, and stores information specifying machining programs that are to be called by successive call commands in the machining program as call information in the call information storage unit (200) based on analysis results by the program analysis unit (110), and retrieves the first call information from the call information storage unit (200). The industrial machine includes a multiple call processing unit (130) that retrieves call information and commands the program acquisition unit (100) to acquire the machining program indicated by the call information, a return command processing unit (140) that retrieves the next call information from the call information storage unit (200) when the program analysis unit (110) analyzes a return command and commands the program acquisition unit (100) to acquire the machining program indicated by the call information, and a control unit (120) that controls an industrial machine (3) based on the analysis result by the program analysis unit (110).
[0051] (Supplementary Note 2) The multiple call processing unit (130) included in the control device (1) according to another aspect of the present disclosure stores the caller program and block position as caller information in the call information storage unit (200), and if the call information is not stored in the call information storage unit (200) when the program analysis unit (110) analyzes the return command, the return command processing unit (140) instructs the program acquisition unit (100) to acquire the next block of the machining program indicated by the caller information stored in the call information storage unit (200). (Supplementary Note 3) The multiple call processing unit (130) included in the control device (1) according to another aspect of the present disclosure instructs the program acquisition unit (100) to prepare in advance for acquiring multiple machining programs that are respectively called by successive call commands in the machining program.
[0052] (Supplementary Note 4) The multiple call processing unit (130) provided in the control device (1) according to another aspect of the present disclosure stores the call information in the call information storage unit (200) including the number of repetitions in the call command when the number of repetitions is described in the call command, and the return command processing unit (140) decrements the number of repetitions included in the call information by 1 when the program analysis unit (110) analyzes the return command, and deletes the call information when the number of repetitions becomes 0. (Supplementary Note 5) The consecutive call commands analyzed by the control device (1) according to another aspect of the present disclosure are one block of call commands including designations of multiple machining programs to be called.
[0053] (Supplementary Note 6) A computer-readable recording medium according to one aspect of the present disclosure includes a program acquisition unit (100) that acquires a machining program, a program analysis unit (110) that analyzes commands in the acquired machining program, a call information storage unit (200) that stores a plurality of pieces of call information, and, based on the analysis results by the program analysis unit (110), information specifying machining programs that are to be called by successive call commands in the machining program is stored as call information in the call information storage unit (200), and the call information storage unit (200) reads the most recent call information from the call information storage unit (200). A multiple call processing unit (130) retrieves the first call information and commands the program acquisition unit (100) to retrieve the machining program indicated by the call information, a return command processing unit (140) retrieves the next call information from the call information storage unit (200) when the program analysis unit (110) analyzes the return command and commands the program acquisition unit (100) to retrieve the machining program indicated by the call information, and a control unit (120) that controls industrial machinery (3) based on the analysis results by the program analysis unit (110).
[0054] REFERENCE SIGNS LIST 1 Control device 3, 4 Industrial machine 5 Network 6 Fog computer 7 Cloud server 8 PC 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15, 18, 19, 20 Interface 16 PLC 17 I / O unit 22 Bus 30 Axis control circuit 40 Servo amplifier 50 Servo motor 60 Spindle control circuit 61 Spindle amplifier 62 Spindle motor 63 Position coder 70 Display device 71 Input device 72 External device 100 Program acquisition unit 110 Program analysis unit 120 Control unit 130 Multiple call processing unit 140 Return command processing unit 200 Call information storage unit
Claims
1. A control device comprising: a program acquisition unit that acquires a machining program; a program analysis unit that analyzes commands in the acquired machining program; a call information storage unit that stores multiple pieces of call information; a multiple call processing unit that stores, based on the analysis results by the program analysis unit, information specifying the machining programs to be called by successive call commands in the machining program as call information in the call information storage unit, retrieves the first piece of call information from the call information storage unit, and instructs the program acquisition unit to retrieve the machining program indicated by the call information; a return command processing unit that, when the program analysis unit analyzes a return command, retrieves the next call information from the call information storage unit and instructs the program acquisition unit to retrieve the machining program indicated by the call information; and a control unit that controls industrial machinery based on the analysis results by the program analysis unit.
2. The control device described in claim 1, wherein the multiple call processing unit stores the calling program and block position as call source information in the call information storage unit, and the return command processing unit instructs the program acquisition unit to acquire the next block of the machining program indicated by the call source information stored in the call information storage unit if the call information is not stored in the call information storage unit when the program analysis unit analyzes the return command.
3. The control device according to claim 1, wherein the multiple call processing unit instructs the program acquisition unit to prepare in advance for acquiring multiple machining programs that are to be called by successive call commands in the machining program.
4. The control device according to claim 1, wherein, when the call command contains a repetition count, the multiple call processing unit stores the call information in the call information storage unit, including the repetition count; and when the program analysis unit analyzes the return command, the return command processing unit decrements the repetition count included in the call information by 1, and deletes the call information when the repetition count becomes 0.
5. The control device according to claim 1, wherein the successive call commands are a call command of one block including designations of multiple machining programs to be called.
6. A computer-readable recording medium having recorded thereon a program that causes a computer to operate as: a program acquisition unit that acquires a machining program; a program analysis unit that analyzes commands in the acquired machining program; a call information storage unit that stores multiple pieces of call information; a multiple call processing unit that stores, based on the analysis results by the program analysis unit, information specifying the machining programs to be called by successive call commands in the machining program as call information in the call information storage unit, retrieves the first call information from the call information storage unit, and instructs the program acquisition unit to retrieve the machining program indicated by the call information; a return command processing unit that, when the program analysis unit analyzes a return command, retrieves the next call information from the call information storage unit and instructs the program acquisition unit to retrieve the machining program indicated by the call information; and a control unit that controls industrial machinery based on the analysis results by the program analysis unit.
Citation Information
Patent Citations
Numerical controller with multi-program function
JP1993113818A
Program calling system
JP1994019518A
nc program number list display device
JP1994033207U
Numeric control method and numeric controller
JP2000293211A