Program change processing device and computer-readable recording medium

The program change processing device enhances machining efficiency by rearranging cutting paths in an optimized order with curve command paths, addressing limitations of existing methods by minimizing non-cutting movements and avoiding obstacles.

WO2026140035A1PCT designated stage Publication Date: 2026-07-02FANUC LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2024-12-23
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Existing methods for shortening cycle time by changing the trajectory, speed, and acceleration of non-cutting paths in machining programs have limitations in improving machining efficiency, particularly when machining multiple locations on a workpiece, as they do not consider the optimal machining order.

Method used

A program change processing device that extracts cutting paths from a machining program, rearranges them in an optimized order using curve command paths, and modifies the machining program to improve efficiency indicators such as cycle time or axis movement, while avoiding obstacles.

Benefits of technology

The device effectively shortens cycle time and improves machining efficiency by rearranging cutting paths to minimize non-cutting movements and avoid obstacles, thereby optimizing the machining process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024045518_02072026_PF_FP_ABST
    Figure JP2024045518_02072026_PF_FP_ABST
Patent Text Reader

Abstract

A program change processing device according to the present disclosure comprises: a cutting path extraction unit that extracts a plurality of cutting paths included in a first machining program; a machining order change unit whereby the execution order of the cutting paths is changed so that a first execution order of the plurality of cutting paths in the first machining program becomes a path in which adjacent cutting paths are connected by a curve command path and the cutting paths are arranged in a second execution order that is optimized according to at least one index; a program change unit that changes the first machining program to a second machining program on the basis of the second execution order of the plurality of cutting paths and the curve command path; and a program output unit that outputs the second machining program.
Need to check novelty before this filing date? Find Prior Art

Description

Program change processing device and computer-readable recording medium

[0001] The present disclosure relates to a program change processing device and a computer-readable recording medium.

[0002] In a manufacturing site, various technologies are used to shorten the cycle time required for workpiece processing. As one such technology, there is a technology for shortening the cycle time by changing the trajectory, speed, and acceleration of the non-cutting path of the machining program within a range where the cutting tool does not interfere with obstacles (for example, Patent Documents 1 to 4, etc.).

[0003] Japanese Patent Application Laid-Open No. 2017-076211 International Publication No. 2022 / 045292 International Publication No. 2022 / 045162 International Publication No. 2022 / 045161

[0004] Simply changing the trajectory, speed, and acceleration of the non-cutting path has limitations in improving the efficiency of workpiece processing. For example, when machining a plurality of locations on a workpiece, further improvement in machining efficiency may be expected by considering the machining order. In a manufacturing site, technologies for improving the efficiency of workpiece processing are desired.

[0005] The program change processing device according to the present disclosure solves the above problems by changing the machining order and the machining program based on an index of cycle time or the moving distance of a specific axis.

[0006] And one aspect of the present disclosure includes a cutting path extraction unit that extracts a plurality of cutting paths included in a first machining program, and a first execution order of the plurality of cutting paths in the first machining program, which is a path connecting between adjacent cutting paths by a curve command path, and changes the execution order of the cutting paths so that the cutting paths are arranged in a second execution order that is optimized in at least one index. A machining order change unit, a program change unit that changes the first machining program to a second machining program in which the plurality of cutting paths are rearranged in the second execution order based on the second execution order of the plurality of cutting paths and the curve command path, and a program output unit that outputs the second machining program. It is a program change processing device provided with.

[0007] This is a schematic hardware configuration diagram of the program change processing device according to the first embodiment. This is a block diagram showing the schematic functions of the program change processing device according to the first embodiment. This is a schematic diagram showing an example of the tool movement path to the workpiece according to the commands included in the machining program. This is a schematic diagram showing an example of the tool movement path when performing multiple drilling operations on a workpiece. This is a schematic diagram showing an example where cutting paths are connected by curved command paths when performing drilling operations. This is a schematic diagram showing an example where the order in which cutting paths are executed is changed and then connected by curved command paths when there are obstacles on the workpiece. This is a schematic diagram showing an example of the schematic configuration of the machining program. This is a schematic diagram showing an example of the schematic configuration of the modified machining program in which the cutting paths are rearranged to a different execution order. This is a block diagram showing the schematic functions of the program change processing device according to the second embodiment. This is a block diagram showing the schematic functions of the program change processing device according to the third embodiment. This is a schematic diagram showing an example of an execution order selection screen. This is a block diagram showing the schematic functions of the program change processing device according to the fourth embodiment. This is a block diagram showing the schematic functions of the program change processing device according to the fifth embodiment.

[0008] The embodiments of this disclosure will be described below with reference to the drawings. [First Embodiment] Figure 1 is a schematic hardware configuration diagram showing the main parts of a program change processing device according to the first embodiment of this disclosure. The program change processing device 1 of this disclosure can be implemented, for example, as a control device for controlling industrial machinery. The program change processing device 1 of this disclosure can also be implemented on a personal computer attached to a control device for controlling industrial machinery, or on a personal computer, cell computer, fog computer 6, cloud server 7, or other computer connected to the control device via a wired / wireless network. In this embodiment, an example is shown in which the program change processing device 1 is implemented on a personal computer equipped with diagnostic functions that is connected to a control device for controlling industrial machinery via a network.

[0009] The CPU 11 in the program modification processing device 1 according to this embodiment is a processor that controls the program modification processing device 1 as a whole. The CPU 11 reads the system program stored in the ROM 12 via the bus 22 and controls the entire program modification processing device 1 according to the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from external sources.

[0010] The non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and its stored state is maintained even when the power to the program change processing device 1 is turned off. The non-volatile memory 14 stores programs and data read from external devices 72 via the interface 15, programs and data input via the input device 71, and processing programs and data acquired from industrial machines 3. The data stored in the non-volatile memory 14 may be expanded into the RAM 13 when executed or used. In addition, various system programs, such as known analysis programs, are pre-written in the ROM 12.

[0011] Interface 15 is an interface for connecting the CPU 11 of the program change processing device 1 to an external device 72 such as a USB device. From the external device 72, for example, pre-stored control programs and data related to the operation of each industrial machine 3 can be read. In addition, control programs and setting data edited within the program change processing device 1 can be stored in the external storage means via the external device 72.

[0012] Interface 20 is an interface for connecting the CPU 11 of the program change processing device 1 to a wired or wireless network 5. Industrial machines 3, fog computers 6, cloud servers 7, etc., are connected to the network 5, and they exchange data with the program change processing device 1.

[0013] The display device 70 displays data, programs, and other data obtained as a result of their execution, which are loaded into memory, and output via the interface 17. The input device 71, consisting of a keyboard and pointing device, transmits commands and data based on operator operations to the CPU 11 via the interface 18.

[0014] Industrial machine 3 is a machine such as a machine tool or a robot. Industrial machine 3 processes a workpiece based on a processing program. The program change processing device 1 obtains a predetermined processing program from industrial machine 3 via the network 5 and interface 20. The obtained processing program is stored in RAM 13 or non-volatile memory 14 and processed by CPU 11.

[0015] Figure 2 is a schematic block diagram showing the functions of the program modification processing device 1 according to the first embodiment of this disclosure. Each function of the program modification processing device 1 according to this embodiment is realized by the CPU 11 of the program modification processing device 1 shown in Figure 1 executing a system program and controlling the operation of each part of the program modification processing device 1.

[0016] The program modification processing device 1 according to this embodiment includes a cutting path extraction unit 100, a machining sequence changing unit 110, a program modification unit 120, and a program output unit 130. Furthermore, the RAM 13 to non-volatile memory 14 of the program modification processing device 1 are pre-prepared with a machining program 200 for controlling the industrial machine 3.

[0017] The cutting path extraction unit 100 extracts multiple cutting path commands included in the machining program 200. The machining program 200 includes non-cutting commands (e.g., G00) that position the relative position between the tool and the workpiece without machining the workpiece, cutting commands (e.g., G01) that machine the workpiece while moving the relative position between the tool and the workpiece, and other commands that set parameters and control peripheral equipment of the industrial machine 3. The cutting path extraction unit 100 extracts the start point (the position positioned by the non-cutting command before the cutting command is executed) and the end point of the cutting command, and uses the path of the extracted cutting command as the cutting path. For parts in the machining program 200 where multiple cutting commands are consecutive, the cutting path extraction unit 100 extracts the path from the start point to the end point as a single cutting path.

[0018] Figure 3 is a schematic diagram showing an example of the tool's movement path relative to the workpiece according to the commands included in the machining program 200. In Figure 3, dotted arrows indicate non-cutting paths, and solid arrows indicate cutting paths. In the example in Figure 3, the tool first moves from the starting point P0 to point P1 due to a non-cutting command in block N1. Then, the tool moves to points P2, P3, and P4 while machining the workpiece according to cutting commands in blocks N2 to N4. After that, it moves to point P5 due to a non-cutting command in block N5. From the machining program 200, which has a series of such commands, the cutting path extraction unit 100 extracts the movement path according to the commands from block N2 to N4 as a single cutting path, with point P1 as the cutting start point and point P4 as the cutting end point.

[0019] The cutting path extraction unit 100 records the execution order of commands related to each cutting path when extracting multiple cutting paths from the machining program 200. Figure 4 is a schematic diagram showing an example of the tool's movement path when performing multiple drilling operations on a workpiece 300. The example in Figure 4 shows the tool's movement path as viewed from a direction intersecting the drilling direction. In Figure 4, dotted arrows indicate non-cutting paths, and solid arrows indicate cutting paths. In the example in Figure 4, the tool first moves from the starting point P0 to point P1 with a non-cutting command in block N1. Then, with cutting commands in blocks N2 and N3, the tool moves to points P2 and P3 while machining the workpiece. After that, with a non-cutting command in block N4, it moves to point P5. Subsequently, the workpiece 300 is machined while moving back to the machining start point with non-cutting commands. The cutting path extraction unit 100 extracts the movement paths specified by the commands in blocks N2 and N3, the movement paths specified by the commands in blocks N7 and N8, and the movement paths specified by the commands in blocks N12 and N13 from the machining program 200 which commands the movement of the tool as illustrated in Figure 4, as cutting paths. If these cutting paths are designated as cutting path R1, cutting path R2, and cutting path R3, the cutting path extraction unit 100 records that the execution order of the commands related to these cutting paths is in the order of cutting path R1 -> cutting path R2 > cutting path R3.

[0020] The cutting path extraction unit 100 outputs a plurality of cutting paths, including the execution order extracted in this manner, to the machining order changing unit 110.

[0021] The machining order change unit 110 changes the execution order of the multiple cutting paths extracted by the cutting path extraction unit 100 to another execution order that is more efficient in at least one indicator. At this time, the machining order change unit 110 generates a curve command path that connects the cutting paths that are in the order of other execution orders, and determines the efficiency in at least one indicator after considering the curve command path between the multiple cutting paths arranged in the other execution order. The indicator that the machining order change unit 110 determines may be, for example, the machining cycle time. This can be used as an indicator to improve efficiency when there is wasted movement in the non-cutting path between cutting paths, or when there is an obstacle between cutting positions causing unnecessary avoidance. Another indicator may be a predetermined amount of movement in the axial direction. This can be used as an indicator when it is desired to reduce the amount of movement of an axis, such as when the movement of some axes consumes a large amount of power or when there is an axis with low durability.

[0022] Figure 5 is a schematic diagram showing an example of connecting cutting paths with curved command paths during drilling. The example in Figure 5 depicts the tool movement path when the surface of the workpiece 300 to be drilled is viewed from diagonally above. In Figure 5, the dotted arrows indicate non-cutting paths, and the cutting paths are omitted. The directions of the X, Y, and Z axes are also shown in the upper left of Figure 5. In the example in Figure 5, after drilling is performed at point P1 by a cutting command, the N4 block drives the tool in the positive Z-axis direction to move it away from the workpiece 300, while the X and Y axes are driven in the positive direction to move the tool towards the next machining position, point P6. After the tool has been sufficiently moved away from the workpiece 300 in the positive Z-axis direction, the N5 block drives the X and Y axes in the positive direction while maintaining the Z-axis position to move the tool towards point P6. Then, the N6 block drives the Z-axis in the negative direction while driving the X and Y axes in the positive direction to move the tool to point P6. After that, drilling is performed at point P6 by cutting command. Such curved command paths connecting cutting paths can be generated using known techniques disclosed in Patent Documents 2 to 4, etc.

[0023] Figure 6 is a schematic diagram showing an example where the cutting path, as illustrated in Figure 5, is connected by a curve command path after the order in which the cutting paths are executed has been changed. In the example in Figure 5, machining is performed at point P1 first, then at point P6, and then at point P11 in that order. In Figure 6, machining is performed at point P1 first, then at point P11, and then at point P6. When the cutting path execution order is as illustrated in Figure 6, it can be said that efficiency has been improved, using the amount of Y-axis movement as an indicator, compared to the cutting path execution order illustrated in Figure 5.

[0024] Figure 7 is a schematic diagram showing an example where the order of execution of the cutting path is changed and then connected with a curved command path when there is an obstacle on the workpiece. In the example in Figure 7, there is an obstacle between point P6 and point P11. In such a case, when moving the tool between these machining locations, it is necessary to detour around the obstacle or move significantly in the Z direction to avoid it. In such cases, the cycle time may be extended. Therefore, in Figure 7, machining is performed at point P6 first, then at point P1, and then at point P11. If machining is attempted using the same cutting path execution order as in Figure 5 when there is an obstacle as exemplified in Figure 7, the cycle time may be extended to avoid the obstacle. However, by using the cutting path execution order exemplified in Figure 7, it can be said that efficiency is improved in terms of cycle time.

[0025] The machining order change unit 110 may, for example, change the execution order of the cutting paths in the machining program 200 to another execution order according to predetermined rules. Alternatively, it may find an alternative execution order that is more efficient by executing a search algorithm that uses predetermined indicators as evaluation values ​​for all combinations of the execution order of the cutting paths. Furthermore, it may create several candidate alternative execution orders, calculate indicators for each execution order, and then display the created multiple candidate alternative execution orders for the user to select. The machining order change unit 110 outputs the alternative execution order obtained by changing the execution order of the cutting paths in the machining program 200 to the program change unit 120.

[0026] The program modification unit 120 rearranges the multiple cutting paths included in the machining program 200 into a machining program with a different execution order, based on the other execution order of the multiple cutting paths changed by the machining order modification unit and the curve command path generated by the machining order modification unit 110. The program modification unit 120 rearranges the order of the cutting commands corresponding to each cutting path included in the machining program 200, and then replaces the non-cutting commands included between the cutting commands with commands related to the curve command path, thereby changing the machining program 200 into the modified machining program. The program modification unit 120 outputs the modified machining program to the program output unit 130.

[0027] Figure 8 is a schematic diagram showing a general example of the configuration of the machining program 200. The machining program 200 includes, for example, several other commands for pre-processing before machining (described in the "Other Commands 1" section of Figure 8), followed by non-cutting commands for moving the tool to the machining start position (described in the "Non-Cutting Command 0" section of Figure 8), cutting commands for performing machining (described in the "Cutting Command 1" section of Figure 8), non-cutting commands for moving the tool to the next machining start position (described in the "Non-Cutting Command 1" section of Figure 8), cutting commands for performing the next machining (described in the "Cutting Command 2" section of Figure 8), and finally commands for retracting the tool from the workpiece (described in the "Non-Cutting Command 3" section of Figure 8), and several other commands for post-processing after machining (described in the "Other Commands 2" section of Figure 8).

[0028] Figure 9 is a schematic diagram showing a general example of the configuration of a modified machining program in which the program modification unit 120 rearranges the cutting path to a different execution order. The other machining program illustrated in Figure 9 is one in which the execution order of cutting commands in machining program 200 is rearranged so that cutting command 3 is executed first, followed by cutting command 1 and cutting command 2. Between each cutting command, the commands are replaced with commands so that the tool follows the curve command path created by the machining order modification unit 110. The command written in the frame of non-cutting command 0 in machining program 200 is changed to move to the starting position of the first cutting command to be executed, and the command to retract the tool from the workpiece at the end is changed to move from the ending position of the last cutting command to the retraction position. If the machining program 200 includes modal commands that change the state of the modal during machining before each cutting command, it is sufficient to perform a simulation or the like beforehand to check the state of the modal in each cutting command, and then, after changing the order of the cutting commands, insert the modal commands before each cutting command so that the state of the modal when each cutting command is executed is the same as before the change. Such modifications to the machining program can be achieved using the general modification function of the machining program.

[0029] The program output unit 130 outputs the modified machining program input from the program modification unit 120. The program output unit 130 may also output the program to a display device 70, for example. Alternatively, it may transmit the program to an industrial machine 3, a fog computer 6, a cloud server 7, etc., via the network 5.

[0030] The program change processing device 1 according to this embodiment, which has the above configuration, can change the non-cutting path while further shortening the cycle time by not only curving the non-cutting path but also modifying the machining order. In particular, when there is an obstacle in the non-cutting path, the cycle time can be shortened by changing the execution order of the cutting path and the non-cutting path to generate a movement path that avoids the obstacle. The same technology can also be used for purposes other than shortening the cycle time (such as reducing power consumption by reducing the movement distance of a specific axis).

[0031] [Second Embodiment] The following describes a program change processing device according to a second embodiment. The program change processing device 1 according to this embodiment has the same hardware configuration as the program change processing device 1 according to the first embodiment.

[0032] Figure 10 is a schematic block diagram showing the functions of the program modification processing device 1 according to the second embodiment of this disclosure. Each function of the program modification processing device 1 according to this embodiment is realized, similar to the program modification processing device 1 according to the first embodiment, by the CPU 11 of the program modification processing device 1 shown in Figure 1 executing a system program and controlling the operation of each part of the program modification processing device 1.

[0033] The program modification processing device 1 according to this embodiment includes a cutting path extraction unit 100, a machining sequence change unit 110, a program modification unit 120, and a program output unit 130. Furthermore, the machining sequence change unit 110 according to this embodiment includes a cutting sequence change unit 111 and a curve command generation unit 112. In addition, a machining program 200 for controlling the industrial machine 3 is pre-prepared in the RAM 13 to non-volatile memory 14 of the program modification processing device 1.

[0034] The cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to this embodiment have the same functions as the cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to the first embodiment.

[0035] In this embodiment, the machining order changing unit 110 commands the cutting order changing unit 111 and the curve command generation unit 112 to change the execution order of the multiple cutting paths extracted by the cutting path extraction unit 100 to another execution order in which adjacent cutting paths are connected by curve command paths. At this time, the cutting order changing unit 111 changes the execution order of the multiple cutting paths based on execution order change rules that can improve a predetermined indicator. Examples of execution order change rules that can improve a predetermined indicator include, for example, when a predetermined axial movement amount is used as the indicator, a rule that rearranges the execution order of the cutting paths in ascending or descending order of that axis. Also, when cycle time is used as the indicator, if there is an interference object such as a workpiece or machine component between one cutting path and another cutting path, and these cutting paths are adjacent when machined in the execution order of the machining program 200, the indicator can be improved by changing the execution order so that these cutting paths are not adjacent and the movement distance between each cutting path is minimized. The cutting sequence change unit 111 rearranges the cutting paths into an execution order that improves a predetermined indicator by selecting the heuristically defined change rules according to the situation. The cutting sequence change unit 111 outputs the execution order of the modified cutting paths to the program change unit 120.

[0036] The machining sequence change unit 110 may also determine an alternative, more efficient execution sequence by instructing the cutting sequence change unit 111 and the curve command generation unit 112 to execute a search algorithm using a predetermined index as an evaluation value for all combinations of the execution sequence of the cutting path.

[0037] The program change processing device 1 according to this embodiment, which has the above configuration, can change the non-cutting path while further shortening the cycle time by not only curving the non-cutting path but also modifying the machining order. In particular, when there is an obstacle in the non-cutting path, the cycle time can be shortened by changing the execution order of the cutting path and the non-cutting path to generate a movement path that avoids the obstacle. The same technology can also be used for purposes other than shortening the cycle time (such as reducing power consumption by reducing the movement distance of a specific axis).

[0038] [Third Embodiment] The following describes a program change processing device according to the third embodiment. The program change processing device 1 according to this embodiment has the same hardware configuration as the program change processing device 1 according to the first embodiment.

[0039] Figure 11 is a schematic block diagram showing the functions of the program modification processing device 1 according to the third embodiment of this disclosure. Each function of the program modification processing device 1 according to this embodiment is realized, similar to the program modification processing device 1 according to the first embodiment, by the CPU 11 of the program modification processing device 1 shown in Figure 1 executing a system program and controlling the operation of each part of the program modification processing device 1.

[0040] The program modification processing device 1 according to this embodiment includes a cutting path extraction unit 100, a machining sequence modification unit 110, a program modification unit 120, and a program output unit 130. Furthermore, the machining sequence modification unit 110 according to this embodiment includes a curve command generation unit 112, a sequence candidate creation unit 113, and an execution sequence selection unit 114. In addition, a machining program 200 for controlling the industrial machine 3 is pre-prepared in the RAM 13 to non-volatile memory 14 of the program modification processing device 1.

[0041] The cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to this embodiment have the same functions as the cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to the first embodiment.

[0042] The order candidate creation unit 113 according to this embodiment creates a plurality of candidates for the execution order of a plurality of cutting paths based on the execution order of the cutting paths in the machining program 200 of the plurality of cutting paths. The order candidate creation unit 113 may create a plurality of candidates for the execution order according to, for example, a predetermined rule determined in advance. Alternatively, after obtaining all combinations of the execution orders of the cutting paths, these may be used as candidates for the execution order. The curve command generation unit 112 generates a curve command path connecting between the cutting paths for each candidate for the execution order created by the order candidate creation unit 113. The path related to the candidate for the execution order created in this way is output to the execution order selection unit 114.

[0043] The execution order selection unit 114 selects one execution order from the candidates for the execution order created by the order candidate creation unit 113 based on at least one of the cycle time or the moving distance of a specific axis. Then, the execution order selection unit 114 outputs the selected execution order to the program change unit 120. The execution order selection unit 114 may, for example, display information related to each candidate for the execution order on the display device 70 and allow the user to select the execution order. FIG. 12 is a schematic diagram showing an example of an execution order selection screen. On the execution order selection screen, for example, a diagram that can show the execution order of the cutting paths in each candidate for the execution order may be displayed, or a value related to at least one index value such as the cycle time or the moving distance of a specific axis in each candidate for the execution order may be displayed.

[0044] The program change processing device 1 according to this embodiment having the above configuration can change the non-cutting path to further shorten the cycle time by not only curving the non-cutting path but also making the processing order a target for change. By enabling the user to select the processing order, it becomes possible for the user to select an execution order considering the situation at the machining site.

[0045] [Fourth Embodiment] Hereinafter, the program change processing device according to the fourth embodiment will be described. The program change processing device 1 according to this embodiment has the same hardware configuration as the program change processing device 1 according to the first embodiment.

[0046] FIG. 13 is a schematic block diagram showing the functions of the program change processing apparatus 1 according to the fourth embodiment of the present disclosure. Each function of the program change processing apparatus 1 according to the present embodiment is realized in the same manner as the program change processing apparatus 1 according to the first embodiment, by the CPU 11 provided in the program change processing apparatus 1 shown in FIG. 1 executing a system program and controlling the operations of each part of the program change processing apparatus 1.

[0047] The program change processing apparatus 1 according to the present embodiment further includes an interference confirmation unit 140 in addition to a cutting path extraction unit 100, a processing order change unit 110, a program change unit 120, and a program output unit 130. Further, a machining program 200 for controlling the industrial machine 3 is prepared in advance in the RAM 13 to the non-volatile memory 14 of the program change processing apparatus 1.

[0048] The cutting path extraction unit 100, the program change unit 120, and the program output unit 130 according to the present embodiment have the same functions as the cutting path extraction unit 100, the program change unit 120, and the program output unit 130 according to the first embodiment.

[0049] The interference confirmation unit 140 according to the present embodiment checks whether a moving object including a cutting tool interferes with an interference object such as a workpiece or a machine component in the command path after the change by the processing order change unit 110. And when it is determined that there is interference, it commands the processing order change unit 110 to regenerate the curved command path so as not to interfere with the interference object. And the processing order change unit 110 according to the present embodiment regenerates a curved command path that avoids the interference object for the curved command path where interference has occurred.

[0050] The program change processing apparatus 1 according to the present embodiment having the above configuration can change the non-cutting path with a shorter cycle time by not only curving the non-cutting path but also making the processing order a target for change. Further, for the curved command path, after checking whether interference occurs with the workpiece, machine components, etc., if interference occurs, the curved command path is recreated, so it is expected that a safer execution order can be created.

[0051] [Fifth Embodiment] The following describes a program change processing device according to the fifth embodiment. The program change processing device 1 according to this embodiment has the same hardware configuration as the program change processing device 1 according to the first embodiment.

[0052] Figure 14 is a schematic block diagram showing the functions of the program modification processing device 1 according to the fifth embodiment of this disclosure. Each function of the program modification processing device 1 according to this embodiment is realized, similar to the program modification processing device 1 according to the first embodiment, by the CPU 11 of the program modification processing device 1 shown in Figure 1 executing a system program and controlling the operation of each part of the program modification processing device 1.

[0053] The program modification processing device 1 according to this embodiment includes a cutting path extraction unit 100, a machining sequence changing unit 110, a program modification unit 120, a program output unit 130, and further includes a constraint condition acquisition unit 150. In addition, the RAM 13 to non-volatile memory 14 of the program modification processing device 1 are pre-prepared with a machining program 200 for controlling the industrial machine 3.

[0054] The cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to this embodiment have the same functions as the cutting path extraction unit 100, program modification unit 120, and program output unit 130 according to the first embodiment.

[0055] The constraint acquisition unit 150 in this embodiment acquires constraints relating to the execution order of multiple cutting paths. These constraints may, for example, specify an execution order in which evaluation related to an index value must be performed for the execution order of multiple cutting commands. Alternatively, they may fix the execution order between some cutting paths, or prohibit the execution order between some cutting paths. The constraint acquisition unit 150 may display a screen on the display device 70 prompting the user to input the constraints. Alternatively, it may acquire constraints from a fog computer 6 or cloud server 7 via the network 5. The constraint acquisition unit 150 outputs the acquired constraints to the machining order change unit 110. The machining order change unit 110 in this embodiment then changes the execution order of the multiple cutting paths included in the machining program 200 to a different execution order based on the constraints acquired by the constraint acquisition unit 150.

[0056] The program modification processing device 1 according to this embodiment, having the above configuration, not only curves the non-cutting path but also modifies the machining order, thereby enabling modification of the non-cutting path with a shorter cycle time. Furthermore, by imposing constraints, it is possible to ensure that evaluation is always performed for a specific execution order, or by imposing constraints on some execution orders, thereby increasing the likelihood of obtaining the execution order of the cutting path desired by the user.

[0057] While embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the spirit of the invention or from the idea and intent of this disclosure derived from the claims and their equivalents. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0058] The following are annotations relating to embodiments of the present disclosure. (Annotation 1) A program modification processing device (1) according to one aspect of the present disclosure includes: a cutting path extraction unit (100) for extracting a plurality of cutting paths included in a first machining program (200); a machining order modification unit (110) for changing the execution order of the cutting paths so that the first execution order of the plurality of cutting paths in the first machining program (200) becomes a path in which adjacent cutting paths are connected by curve command paths and the cutting paths are arranged in a second execution order that is optimized in at least one indicator; a program modification unit (120) for changing the first machining program (200) to a second machining program in which the plurality of cutting paths are rearranged in the second execution order based on the second execution order of the plurality of cutting paths and the curve command paths; and a program output unit (130) for outputting the second machining program.

[0059] (Note 2) The processing sequence changing unit (110) of a program change processing device (1) according to another aspect of the present disclosure includes a cutting sequence changing unit (111) that changes the first execution order of a plurality of cutting paths in the first processing program (200) to a second execution order that is more efficient in terms of at least one of the indicators of cycle time and the travel distance of a specific axis, and a curve command generation unit (112) that generates a curve command path that connects the cutting paths that are in order in the second execution order. (Note 3) The processing order changing unit (110) of the program change processing device (1) according to another aspect of the present disclosure includes: a sequence candidate creation unit (113) that creates a plurality of execution order candidates for a plurality of cutting paths based on a first execution order of the plurality of cutting paths in the first processing program (200); a curve command generation unit (112) that generates a curve command path connecting adjacent cutting paths for each of the plurality of execution order candidates; and an execution order selection unit (114) that selects the second execution order from the plurality of execution order candidates based on an indicator of at least one of cycle time or the travel distance of a specific axis.

[0060] (Note 4) The program modification processing device (1) according to another aspect of the present disclosure further includes an interference confirmation unit (140) that checks whether a moving object including a cutting tool interferes with an interfering object, either a workpiece or a machine component, in the command path after modification by the machining sequence modification unit (110), and if the interference confirmation unit (140) determines that interference occurs, it instructs the machining sequence modification unit (110) to regenerate the curve command path so as not to interfere with the interfering object. (Note 5) The program modification processing device (1) according to another aspect of the present disclosure further includes a constraint acquisition unit (150) that acquires constraint conditions relating to the execution order of a plurality of cutting paths, and the machining sequence modification unit (110) changes the first execution order to the second execution order in the constraint conditions.

[0061] (Note 6) A computer-readable recording medium according to another aspect of the present disclosure records a program that causes the computer to operate as: a cutting path extraction unit (100) for extracting a plurality of cutting paths included in a first machining program (200); a machining order modification unit (110) for changing the execution order of the cutting paths so that the first execution order of the plurality of cutting paths in the first machining program (200) becomes a path in which adjacent cutting paths are connected by curve command paths and the cutting paths are arranged in a second execution order that is more efficient in at least one indicator; a program modification unit (120) for changing the first machining program (200) to a second machining program based on the second execution order of the plurality of cutting paths and the curve command paths; and a program output unit (130) for outputting the second machining program.

[0062] 1 Program change processing unit 3 Industrial machine 5 Network 6 Fog computer 7 Cloud server 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15, 17, 18, 20 Interface 22 Bus 70 Display device 71 Input device 72 External device 100 Cutting path extraction unit 110 Machining sequence change unit 111 Cutting sequence change unit 112 Curve command generation unit 113 Sequence candidate creation unit 114 Execution sequence selection unit 120 Program change unit 130 Program output unit 140 Interference confirmation unit 150 Constraint condition acquisition unit 200 Machining program

Claims

1. A program modification processing device comprising: a cutting path extraction unit for extracting a plurality of cutting paths included in a first machining program; a machining order modification unit for changing the execution order of the plurality of cutting paths in the first machining program to a path in which adjacent cutting paths are connected by curve command paths and the cutting paths are arranged in a second execution order that is optimized in at least one indicator; a program modification unit for changing the first machining program to a second machining program in which the plurality of cutting paths are rearranged in the second execution order based on the second execution order of the plurality of cutting paths and the curve command path; and a program output unit for outputting the second machining program.

2. The program modification processing apparatus according to claim 1, wherein the machining sequence modification unit comprises: a cutting sequence modification unit that modifies the first execution order of a plurality of cutting paths in the first machining program to a second execution order that is optimized in terms of at least one of the indicators of cycle time and the travel distance of a specific axis; and a curve command generation unit that generates a curve command path that connects the cutting paths that are in the order in the second execution order.

3. The program modification processing apparatus according to claim 1, wherein the machining sequence changing unit comprises: a sequence candidate creation unit that creates a plurality of execution sequence candidates for a plurality of cutting paths based on a first execution sequence of the plurality of cutting paths in the first machining program; a curve command generation unit that generates a curve command path connecting adjacent cutting paths for each of the plurality of execution sequence candidates; and an execution sequence selection unit that selects the second execution sequence from the plurality of execution sequence candidates based on an indicator of at least one of cycle time or the travel distance of a specific axis.

4. The program modification processing device according to claim 1, further comprising an interference confirmation unit that checks whether a moving object including a cutting tool interferes with an interfering object, either a workpiece or a machine component, in the command path modified by the processing sequence modification unit, wherein if the interference confirmation unit determines that interference occurs, it instructs the processing sequence modification unit to regenerate the curve command path so as not to interfere with the interfering object.

5. The program modification processing apparatus according to claim 1, further comprising a constraint acquisition unit for acquiring constraint conditions relating to the execution order of a plurality of cutting paths, wherein the processing order change unit changes the first execution order to a second execution order in the constraint conditions.

6. A computer-readable recording medium that records a program that causes a computer to operate as: a cutting path extraction unit that extracts a plurality of cutting paths included in a first machining program; a machining order modification unit that changes the execution order of the plurality of cutting paths in the first machining program so that the first execution order of the plurality of cutting paths becomes a path in which adjacent cutting paths are connected by curve command paths and the cutting paths are arranged in a second execution order that is optimized in at least one indicator; a program modification unit that changes the first machining program to a second machining program based on the second execution order of the plurality of cutting paths and the curve command paths; and a program output unit that outputs the second machining program.