Numerical control device

WO2026203366A1PCT designated stage Publication Date: 2026-10-01FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/012988
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-28
Publication Date
2026-10-01

Smart Images

  • Figure JP2025012988_01102026_PF_FP_ABST
    Figure JP2025012988_01102026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a numerical control device with which an overlap amount can be set by a method suitable for each block of a processing program. This numerical control device comprises: a program analysis unit; an overlap start point acquisition unit that acquires an overlap start point; an overlap inner corner rounding amount acquisition unit that acquires an overlap inner corner rounding amount; an overlap designation selection unit that selects an applied designation method indicating a designation method to be applied, from among a start point designation method and an inner corner rounding amount designation method, on the basis of an analysis result of the program analysis unit; a block start determination unit that, when the applied designation method is the start point designation method, calculates an overlap amount on the basis of the overlap start point and control information related to acceleration / deceleration control of control axes of an in-execution command block and a subsequent command block, and when the applied designation method is the inner corner rounding amount designation method, determines a subsequent command block start point on the basis of the overlap inner corner rounding amount and the control information related to the acceleration / deceleration control of the control axes of the in-execution command block and the subsequent command block; and an axis control unit.
Need to check novelty before this filing date? Find Prior Art

Description

Numerical Control Device

[0001] The present disclosure relates to a numerical control device.

[0002] Conventionally, in numerical control devices for industrial machines, there is a technology for overlapping movement between blocks of a machining program. In overlapping between blocks, the operation of the next block is started before the current block being executed reaches the end point. Patent Document 1 discloses a technology related to this type of overlapping.

[0003] As methods for setting overlapping, there are a method of setting an overlap start position and a method of setting an inward cut amount. An operator can cause the numerical control device to operate according to the selected method by selecting either the method of setting an overlap start position or the method of setting an inward cut amount. Overlapping between blocks is performed for all blocks in the machining program according to the selected method.

[0004] International Publication No. 2018 / 042704

[0005] There are cases where it is desired to set overlapping by different methods within a machining program. However, it is not possible to switch overlapping to different methods for each block in the machining program. Therefore, there is a possibility that the overlap amount cannot be set by a method suitable for each block of the machining program.

[0006] Therefore, there is a need for a numerical control device capable of setting an overlap amount by a method suitable for each block of a machining program.

[0007] One aspect of the present disclosure is a numerical control device for driving and controlling the control axis of an industrial machine based on a machining program that includes a plurality of consecutive command blocks, comprising: a program analysis unit that sequentially reads the command blocks from the machining program and analyzes the read command blocks; an overlap start point acquisition unit that acquires an overlap start point indicating the starting position of the overlap of two consecutive command blocks; an overlap inner circumference amount acquisition unit that acquires an overlap inner circumference amount indicating the distance of the inner circumference of the overlap of two consecutive command blocks; an overlap specification selection unit that selects an application specification method indicating the specification method to be applied from a start point specification method and an inner circumference amount specification method based on the analysis results analyzed by the program analysis unit; and, if the application specification method is the start point specification method, based on the overlap start point and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block, two consecutive The numerical control device comprises: an overlap amount calculation unit that calculates an overlap amount indicating the overlap distance or time between two consecutive command blocks of the command block, and when the application specification method is the inward rotation amount specification method, calculates the overlap amount based on the overlap inward rotation amount and control information relating to the acceleration and deceleration control of the control shaft between the executing command block and the subsequent command block; a block start determination unit that determines a subsequent command block start point indicating the position or time at which the subsequent command block starts based on the overlap amount and control information relating to the acceleration and deceleration control of the control shaft of the executing command block; and an axis control unit that starts the execution of the subsequent command block from the subsequent command block start point and drives and controls the control shaft, wherein the subsequent command block indicates the command block that will be executed next to the executing command block, and the executing command block indicates the command block that is currently being executed.

[0008] This is a block diagram of a numerical control device according to Embodiment 1. This diagram shows the movement path of the control axis of this embodiment. This diagram shows an example of a machining program. This flowchart shows an example of an overlap control method of the numerical control device according to this embodiment. This flowchart shows an example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment. This diagram shows another example of a machining program. This flowchart shows another example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment. This diagram shows another example of a machining program. This diagram shows the movement path of the control axis of this embodiment. This diagram shows the movement path of the control axis of this embodiment. This block diagram of a numerical control device according to Embodiment 2. This diagram shows the movement path of the control axis of this embodiment. This flowchart shows an example of an overlap control method of the numerical control device according to this embodiment. This flowchart shows an example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment. This diagram shows another example of a machining program. This flowchart shows another example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment. This flowchart shows another example of a machining program. This flowchart shows another example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment. This flowchart shows another example of a method for selecting the application specification method of the overlap specification selection unit according to this embodiment.

[0009] Hereinafter, one embodiment of this disclosure will be described in detail with reference to the drawings.

[0010] [Embodiment 1] A numerical control device 1 according to Embodiment 1 of the present disclosure will be described with reference to Figure 1. Figure 1 is a block diagram showing the numerical control device 1 according to Embodiment 1.

[0011] As shown in Figure 1, the numerical control device 1 drives and controls the industrial machine 100. The industrial machine 100 performs machining on a workpiece, for example. More specifically, the industrial machine 100 processes the workpiece into a predetermined shape, for example, under the control of the numerical control device 1. The industrial machine 100 is, for example, a lathe, a drilling machine, a milling machine, a grinding machine, and a laser processing machine.

[0012] The numerical control device 1 drives and controls the control axis 110 of the industrial machine 100 based on a machining program that includes a plurality of consecutive command blocks. The plurality of command blocks include an execution command block and a subsequent command block. The execution command block indicates the command block that is currently being executed. The subsequent command block indicates the command block that will be executed after the execution command block. The numerical control device 1 drives and controls the control axis 110 by overlapping the movement between the blocks based on the machining program. For example, the numerical control device 1 drives and controls the control axis 110 by overlapping the execution command block and the subsequent command block. The numerical control device 1 determines the amount of overlap by specifying the starting point of the overlap and the amount of inward rotation of the overlap. Then, based on the determined amount of overlap, it drives and controls the control axis 110 by overlapping the execution command block and the subsequent command block.

[0013] The numerical control device 1 is comprised of a computer equipped with a processor such as a CPU (Central Processing Unit), memory such as ROM (Read Only Memory) and RAM (Random Access Memory), a storage device such as a hard disk drive, and a communication control device.

[0014] The numerical control device 1 comprises a program analysis unit 10, an overlap start point acquisition unit 22, an overlap inward rotation amount acquisition unit 24, an overlap specification selection unit 60, an overlap amount calculation unit 30, a block start determination unit 40, and an axis control unit 50.

[0015] The program analysis unit 10 sequentially reads command blocks from the machining program and analyzes the read command blocks. For example, if the analyzed command block is a command block that commands movement related to a predetermined control axis 110, the program analysis unit 10 creates movement command data related to the command block for controlling the movement of the control axis 110 based on the analysis results. The program analysis unit 10 then outputs the created movement command data to the block start determination unit 40.

[0016] The overlap start point acquisition unit 22 acquires the overlap start point. The overlap start point indicates the starting position of the overlap between two consecutive command blocks. The overlap start point acquisition unit 22 acquires the overlap start point based on at least one of the parameters, the processing program, and the external input.

[0017] The overlap inward circumference acquisition unit 24 acquires the overlap inward circumference. The overlap inward circumference indicates the distance of the overlap inward circumference of two consecutive command blocks. The overlap inward circumference acquisition unit 24 acquires the overlap inward circumference based on at least one of the parameters, the machining program, and the external input.

[0018] The overlap specification selection unit 60 selects an applicable specification method from the start point specification method and the inner turn amount specification method based on the analysis results analyzed by the program analysis unit 10. In other words, in this embodiment, the overlap specification selection unit 60 selects an applicable specification method from two types of specification methods. The applicable specification method indicates the specification method to be applied. Details of the selection of the applicable specification method by the overlap specification selection unit 60 will be described later with reference to Figures 3 to 9B.

[0019] The overlap amount calculation unit 30 calculates the overlap amount based on the overlap start point and control information related to the acceleration / deceleration control of the control axis 110 between the executing command block and the subsequent command block, when the application specification method is the start point specification method. The overlap amount indicates the overlap distance or time between two consecutive command blocks.

[0020] The overlap amount calculation unit 30 calculates the overlap amount based on the overlapping inward rotation amount and the control information relating to the acceleration and deceleration control of the control shaft 110 between the executing command block and the subsequent command block, when the application specification method is the inward rotation amount specification method.

[0021] The block start determination unit 40 determines the subsequent command block start point ASP1 based on the overlap amount and control information related to the acceleration / deceleration control of the control shaft 110. The subsequent command block start point ASP1 indicates the position or time at which the subsequent command block will start. The control information related to the acceleration / deceleration control of the control shaft 110 includes at least one of the following: feed rate, acceleration / deceleration data, acceleration / deceleration delay of the control shaft, and position deviation amount during drive control of the control shaft 110.

[0022] The block start determination unit 40 determines that the starting point ASP1 is at least one of the following: the time when the remaining time until the executing command block reaches the end of the block becomes a predetermined time; the time when the remaining distance until the executing command block reaches the end of the block becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.

[0023] The shaft control unit 50 starts the execution of the subsequent command block from the starting point ASP1 and drives and controls the control shaft 110.

[0024] As explained above with reference to Figure 1, in the numerical control device 1, the overlap specification selection unit 60 selects the applicable specification method from the start point specification method and the inner turn amount specification method based on the analysis results analyzed by the program analysis unit 10. The applicable specification method indicates the specification method to be applied. When the applicable specification method is the start point specification method, the overlap amount calculation unit 30 calculates the overlap amount based on the overlap start point and the control information relating to the acceleration and deceleration control of the control axis 110 between the currently executing command block and the subsequent command block. The overlap amount indicates the overlap distance or time between two consecutive command blocks. When the applicable specification method is the inner turn amount specification method, the overlap amount calculation unit 30 calculates the overlap amount based on the overlap inner turn amount and the control information relating to the acceleration and deceleration control of the control axis 110 between the currently executing command block and the subsequent command block. The block start determination unit 40 determines the start point of the subsequent command block based on the overlap amount and the control information relating to the acceleration and deceleration control of the control axis 110. The axis control unit 50 drives and controls the control axis 110 by starting the execution of the subsequent command block from the starting point. Therefore, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each block of the machining program.

[0025] Furthermore, the control information related to the acceleration and deceleration control of the control axis 110 includes at least one of the following: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control axis 110, and position deviation amount during drive control of the control axis 110. Therefore, based on the control information, the overlap amount calculation unit 30 can accurately calculate the overlap amount. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.

[0026] Furthermore, the block start determination unit 40 determines the starting point ASP1 of the subsequent command block as at least one of the following: the time when the remaining time until the currently executing command block reaches the end of the block becomes a predetermined time; the time when the remaining distance until the currently executing command block reaches the end of the block becomes a predetermined distance; and the time when the currently executing command block starts to decelerate and its speed decreases to a predetermined speed. Therefore, the block start determination unit 40 can accurately calculate the starting point ASP1 of the subsequent command block. This makes it possible to shorten the machining time while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.

[0027] An example of overlap control of the numerical control device 1 will be described with reference to Figures 2 and 3. Figure 2 is a diagram showing the movement path of the control axis 110 in this embodiment. Figure 3 is a diagram showing an example of a machining program.

[0028] In Figure 2, the solid arrows indicate sections where the feed type of the control axis 110 is rapid traverse. Rapid traverse means that the axis control unit 50 drives and controls the control axis 110 so that the industrial machine 100 moves the control axis 110 without machining the workpiece W. Rapid traverse is an example of "non-machining feed".

[0029] In Figure 2, the dashed arrow indicates the section where the feed type of the control axis 110 is cutting feed. Cutting feed indicates that the axis control unit 50 drives and controls the control axis 110 so that the industrial machine 100 moves the control axis 110 while performing cutting on the workpiece W. Cutting feed is an example of "machining feed".

[0030] The program analysis unit 10 reads the machining program PG1 shown in Figure 3 and identifies the feed type of the control axis 110 for each command block B. Specifically, the program analysis unit 10 identifies that the feed type of the control axis 110 for command block B1 of sequence number N1 is rapid traverse. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B2 of sequence number N2 is cutting feed. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B3 of sequence number N3 is rapid traverse. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B4 of sequence number N4 is rapid traverse.

[0031] The program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining the workpiece by the industrial machine. Specifically, the program analysis unit 10 identifies that the feed type of the control axis 110 of command block B1 in sequence number N1 is a non-machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B2 in sequence number N2 is a machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B3 in sequence number N3 is a non-machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B4 in sequence number N4 is a non-machining feed.

[0032] The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block.

[0033] For example, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a machining feed and the feed type of the subsequent command block is a non-machining feed. In the example shown in Figures 2 and 3, the command block B2 of sequence number N2 is a cutting feed (machining feed), and the command block B3 of sequence number N3 is a rapid traverse (non-machining feed). In other words, while the command block B2 of sequence number N2 is executing, the feed type of the currently executing command block (command block B2 of sequence number N2) is a machining feed, and the feed type of the subsequent command block (command block B3 of sequence number N3) is a non-machining feed. Therefore, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method for the overlap between the command block B2 of sequence number N2 and the command block B3 of sequence number N3. As a result, when the current position of the control axis 110 reaches the start point ASP1, the command block of sequence number N3 starts. Therefore, overlap can be started from the starting point SP where the cutting process ends.

[0034] The overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-processing feed and the feed type of the subsequent command block is a non-processing feed. In the example shown in Figures 2 and 3, the command block B3 of sequence number N3 is a fast traverse (non-processing feed), and the command block B4 of sequence number N4 is a fast traverse (non-processing feed). In other words, while the command block B3 of sequence number N3 is executing, the feed type of the currently executing command block (command block B3 of sequence number N3) is a non-processing feed, and the feed type of the subsequent command block (command block B4 of sequence number N4) is a non-processing feed. Therefore, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method for the overlap between the command block B3 of sequence number N3 and the command block B4 of sequence number N4. As a result, when the current position of the control axis 110 reaches position P1 (starting point ASP1) where the overlap amount is less than or equal to the control axis 110, the command block B4 of sequence number N4 is started, and the axis control unit 50 drives and controls the control axis 110 so that it passes through a path that is less than or equal to the overlap amount OR. Therefore, it is possible to shorten the machining time while avoiding interference between the control axis 110 (tool) and the workpiece W (workpiece).

[0035] Referring to Figure 4, the overlap control method of the numerical control device 1 according to this embodiment will be described. Figure 4 is a flowchart showing an example of the overlap control method of the numerical control device 1 according to this embodiment. Overlap control is performed by executing the processes from step S102 to step S120 shown in Figure 4.

[0036] In step S102, the program analysis unit 10 sequentially reads the command blocks B from the machining program and analyzes the read command blocks B. The process then proceeds to step S104.

[0037] In step S104, the overlap specification selection unit 60 selects the applicable specification method. The process then proceeds to step S106.

[0038] In step S106, the program analysis unit 10 determines what type of application specification method it is. If the program analysis unit 10 determines that the type of application specification method is an inward turning amount specification method (step S106: inward turning amount specification method), the process proceeds to step S112. If the program analysis unit 10 determines that the type of application specification method is a start point specification method (step S106: start point specification method), the process proceeds to step S108.

[0039] In step S108, the overlap start point acquisition unit 22 acquires the overlap start point SP. The overlap start point SP indicates the starting position of the overlap between two consecutive command blocks B. The process then proceeds to step S110.

[0040] In step S110, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap starting point SP and control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S116.

[0041] In step S112, the overlap inward rotation amount acquisition unit 24 acquires the overlap inward rotation amount OR. The overlap inward rotation amount OR indicates the distance of the overlap inward rotation of two consecutive command blocks B. The process proceeds to step S114.

[0042] In step S114, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap inward rotation amount OR and the control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S116.

[0043] In step S116, the block start determination unit 40 determines the subsequent command block start point ASP1 based on the overlap amount and control information related to the acceleration / deceleration control of the control shaft 110. The process then proceeds to step S118.

[0044] In step S118, the axis control unit 50 determines whether or not the currently executed block has reached the start point ASP1. If the axis control unit 50 determines that the currently executed block has not reached the start point ASP1 (step S118: No), the process returns to step S118 again. If the axis control unit 50 determines that the currently executed block has reached the start point ASP1 (step S118: Yes), the process proceeds to step S120. In other words, the process of step S118 is repeated until the currently executed block reaches the start point ASP1.

[0045] In step S120, the axis control unit 50 drives and controls the control axis 110 by starting execution of the subsequent command block from the start point ASP1 of the subsequent command block. The process ends.

[0046] With reference to FIG. 5, an example of a method for selecting an application designation method by the overlap designation selection unit 60 according to the present embodiment will be described. FIG. 5 is a flowchart showing an example of a method for selecting an application designation method by the overlap designation selection unit 60 according to the present embodiment. The application designation method is selected by executing the processes from step S1041 to step S1044 shown in FIG. 5.

[0047] In step S1041, the program analysis unit 10 specifies the type of feed of the control axis for each command block B. The process proceeds to step S1042.

[0048] In step S1042, the overlap designation selection unit 60 determines what the combination of feed types of the control axis 110 is. Specifically, the overlap designation selection unit 60 determines what the combination of the feed type of the currently executed command block and the feed type of the subsequent command block is.

[0049] If the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is fast traverse and the feed type of the control axis 110 of the subsequent command block is fast traverse (step S1042: fast traverse → fast traverse), the process proceeds to step S1044. In other words, if the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is non-machining feed and the feed type of the control axis 110 of the subsequent command block is non-machining feed, the process proceeds to step S1044.

[0050] If the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type for the currently executing command block is a cutting feed and the feed type for the control axis 110 of the subsequent command block is a rapid traverse (step S1042: cutting feed → rapid traverse), the process proceeds to step S1043. In other words, if the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type for the currently executing command block is a machining feed and the feed type for the control axis 110 of the subsequent command block is a non-machining feed, the process proceeds to step S1043.

[0051] In step S1043, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the feed type of the currently executing command block is a machining feed and the feed type of the control axis 110 of the subsequent command block is a non-machining feed, it selects the start point specification method as the applicable specification method. The process then ends.

[0052] In step S1044, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the feed type of the currently executing command block is a non-machining feed and the feed type of the control axis 110 of the subsequent command block is a non-machining feed, it selects the inward rotation amount specification method as the applicable specification method. The process then ends.

[0053] As explained above with reference to Figures 1 to 5, the program analysis unit 10 identifies the feed type of the control axis 110 for each command block B. The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block. Therefore, the overlap amount can be automatically set in a method suitable for each block of the machining program according to the feed type.

[0054] Furthermore, the program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining on the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining on the workpiece W by the industrial machine 100. The overlap specification selection unit 60 selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, the position where the machining control of the workpiece W of the industrial machine 100 is completed can be set as the overlap start point ASP1. Thus, overlap control can be performed immediately after the machining of the workpiece W of the industrial machine 100 is properly completed. As a result, machining time can be shortened while suppressing deterioration of machining accuracy. Furthermore, the overlap specification selection unit 60 selects the inner turn amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, it is possible to shorten the machining time while avoiding interference between the control axis 110 (tool) and the workpiece W (workpiece).

[0055] Referring to Figure 6, another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 6 is a diagram showing another example of the machining program PG2.

[0056] As shown in Figure 6, the machining program PG2 assigns a specification method code CD to the command block B. The specification method code CD is a program code that indicates the specification method. In this embodiment, when the specification method code CD is "QA1", it indicates the start point specification method. When the specification method code CD is "QA2", it indicates the inward turning amount specification method. In the example shown in Figure 6, the command block with sequence number N2 is assigned the specification method code CD1. The command block with sequence number N3 is assigned the specification method code CD2.

[0057] The program analysis unit 10 identifies the specification method based on the specification method code assigned to each command block. Specifically, for the command block with sequence number N2, the specification method code CD1 is "QA1", so the program analysis unit 10 identifies the specification method for command block B2 of sequence number N2 as the start point specification method. For the command block B3 of sequence number N3, the specification method code CD2 is "QA2", so the program analysis unit 10 identifies the specification method for command block B3 of sequence number N3 as the inward turning amount specification method.

[0058] The overlap specification selection unit 60 selects an applicable specification method for each command block B based on the specification method identified by the program analysis unit 10. Specifically, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method for command block B2 of sequence number N2. The overlap specification selection unit 60 selects the inner turn amount specification method as the applicable specification method for command block B3 of sequence number N3.

[0059] Referring to Figure 7, another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 7 is a flowchart showing another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment. The application specification method is selected by executing the processes from step S1046 to step S1049 shown in Figure 7.

[0060] In step S1046, the program analysis unit 10 identifies the specification method for each command block B based on the specification method code CD. The process then proceeds to step S1047.

[0061] In step S1047, the overlap specification selection unit 60 determines what the specification method identified by the program analysis unit 10 is. If the overlap specification selection unit 60 determines that the identified specification method is an inner turn amount specification method (step S1047: inner turn amount specification method), the process proceeds to step S1049. If the overlap specification selection unit 60 determines that the identified specification method is a start point specification method (step S1047: start point specification method), the process proceeds to step S1048.

[0062] In step S1048, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the specified specification method is the start point specification method, it selects the start point specification method as the applicable specification method. The process then ends.

[0063] In step S1049, the overlap specification selection unit 60 selects the inner turn amount specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the specified specification method is the inner turn amount specification method, it selects the inner turn amount specification method as the applicable specification method. The process then ends.

[0064] As explained above with reference to Figures 6 and 7, the program analysis unit 10 identifies the specification method based on the specification method code CD assigned to each command block B. The specification method code is a program code that indicates the specification method. The overlap specification selection unit 60 selects the applicable specification method for each command block B based on the specification method identified by the program analysis unit 10. Therefore, the operator can easily set the overlap control method for each command block B by adding the specification method code of the specification method to be applied to each command block B included in the machining program PG. Consequently, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each command block B of the machining program.

[0065] Referring to Figures 8 to 9B, another example of the method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 8 is a diagram showing another example of the machining program PG3. Figure 9A is a diagram showing the movement path of the control axis 110 in this embodiment. Figure 9B is a diagram showing the movement path of the control axis 110 in this embodiment.

[0066] As shown in Figure 8, in the machining program PG3, a setting value SE is assigned according to the specified method code CD. In the example shown in Figure 8, the command block B11 of sequence number N11 is assigned "QB0.5" as the setting value SE1, according to "QA2" (inner turn amount specification method) of the specified method code CD1. The setting value SE is the overlap inner turn amount OR. "QB0.5" in the setting value SE11 indicates that the overlap inner turn amount OR is set to 0.5 mm. The command block B21 of sequence number N21 is assigned "QB1.0" as the setting value SE21, according to "QA1" (start point specification method) of the specified method code CD21. The setting value SE is the distance d1 from the overlap start point SP to the end point N21EP of the currently executing command block. The end point N21EP of the currently executing command block indicates the end position of the currently executing command block. The setting value SE21, "QB1.0", indicates that the distance d1 from the overlap start point SP to the execution command block end point N21EP is set to 1.0 mm as the setting value SE.

[0067] The program analysis unit 10 identifies a setting value SE for each command block B, corresponding to the assigned designation method code CD. Specifically, for command block B11 of sequence number N11, the designation method code CD11 is "QA2" (inner loop amount designation method) and the setting value SE11 is "QB0.5" (0.5 mm), so the program analysis unit 10 identifies the overlap amount setting value for command block B11 of sequence number N11 as 0.5 mm. For command block B21 of sequence number N21, the designation method code CD21 is "QA1" (start point designation method) and the setting value SE21 is "QB1.0" (1.0 mm), so the program analysis unit 10 identifies the overlap start point setting value for command block B21 of sequence number N21 as 1.0 mm.

[0068] The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the specified method and set value SE identified by the program analysis unit 10. As shown in Figure 9A, the overlap amount calculation unit 30 calculates the overlap amount such that the overlap inward rotation amount OR of command block B11 of sequence number N11 is 0.5 mm or less. When the current position is less than or equal to the overlap amount, the control shaft 110 is driven and controlled so that it passes through a path with an overlap inward rotation amount of 0.5 mm or less.

[0069] As shown in Figure 9B, the overlap amount calculation unit 30 calculates the overlap amount such that the overlap start point SP of the command block B21 of sequence number N21 becomes 1.0 mm. When the current position becomes less than or equal to the overlap amount, that is, when the current position reaches the overlap start point SP, the control shaft 110 is driven and controlled to start overlapping from the overlap start point SP.

[0070] As explained above with reference to Figures 8 to 9B, the program analysis unit 10 identifies a setting value SE for each command block B according to the assigned specification method. The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the specification method and setting value SE identified by the program analysis unit 10. Therefore, the operator can easily set setting values ​​such as position or distance related to overlap control by describing the setting value SE in the machining program PG.

[0071] Furthermore, the set value SE is the distance d1 from the overlap start point SP to the execution command block end point N21EP. Therefore, the set value for the start point specification method can be easily set. The set value SE is the overlap inner loop amount OR. Therefore, the set value for the inner loop amount specification method can be easily set.

[0072] [Embodiment 2] A numerical control device 1 according to Embodiment 2 of the present disclosure will be described with reference to Figure 10. Figure 10 is a block diagram showing the numerical control device 1 according to Embodiment 2. The numerical control device 1 according to Embodiment 2 has the same configuration as the numerical control device 1 according to Embodiment 1, except that it further comprises an overlap endpoint acquisition unit 26, so the description of the overlapping parts will be omitted.

[0073] As shown in Figure 10, the numerical control device 1 includes a program analysis unit 10, an overlap start point acquisition unit 22, an overlap inward rotation amount acquisition unit 24, an overlap amount calculation unit 30, an overlap designation selection unit 60, a block start determination unit 40, and an axis control unit 50, in addition to an overlap end point acquisition unit 26.

[0074] The overlap endpoint acquisition unit 26 acquires the overlap endpoint. The overlap endpoint indicates the end position of the overlap between two consecutive command blocks. The overlap endpoint acquisition unit 26 acquires the overlap endpoint based on at least one of the parameters, the processing program, and the external input.

[0075] The overlap specification selection unit 60 selects an applicable specification method from the start point specification method, the inner turn amount specification method, and the end point specification method based on the analysis results analyzed by the program analysis unit 10. In other words, in this embodiment, the overlap specification selection unit 60 selects an applicable specification method from three types of specification methods.

[0076] When the application specification method is the endpoint specification method, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap endpoint EP and the control information relating to the acceleration and deceleration control of the control axis 110 between the currently executing command block and the subsequent command block.

[0077] As explained above with reference to Figure 10, in the numerical control device 1, the overlap specification selection unit 60 selects an applicable specification method from the start point specification method, the inner turn amount specification method, and the end point specification method based on the analysis results analyzed by the program analysis unit 10. Therefore, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each block of the machining program.

[0078] Referring to Figure 11, an example of overlap control of the numerical control device 1 will be described. Figure 11 is a diagram showing the movement path of the control axis 110 in this embodiment.

[0079] In Figure 11, the solid arrows indicate sections where the feed type of the control axis 110 is rapid traverse. The dashed-dotted arrows indicate sections where the feed type of the control axis 110 is cutting feed.

[0080] The program analysis unit 10 reads the machining program PG1 shown in Figure 3 and identifies the feed type of the control axis 110 for each command block B. Specifically, the program analysis unit 10 identifies that the feed type of the control axis 110 for command block B1 of sequence number N1 is rapid traverse. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B2 of sequence number N2 is cutting feed. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B3 of sequence number N3 is rapid traverse. The program analysis unit 10 identifies that the feed type of the control axis 110 for command block B4 of sequence number N4 is rapid traverse.

[0081] The program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining the workpiece by the industrial machine. Specifically, the program analysis unit 10 identifies that the feed type of the control axis 110 of command block B1 in sequence number N1 is a non-machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B2 in sequence number N2 is a machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B3 in sequence number N3 is a non-machining feed. The program analysis unit 10 identifies that the feed type of the control axis 110 of command block B4 in sequence number N4 is a non-machining feed.

[0082] The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block.

[0083] For example, the overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method when the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a machining feed. In the example shown in Figures 11 and 3, the command block B1 of sequence number N1 is a rapid traverse (non-machining feed), and the command block B2 of sequence number N2 is a cutting feed (machining feed). In other words, while the command block B1 of sequence number N1 is executing, the feed type of the currently executing command block (command block B1 of sequence number N1) is a non-machining feed, and the feed type of the subsequent command block (command block B2 of sequence number N2) is a machining feed. Therefore, the overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method for the overlap between the command block B1 of sequence number N1 and the command block B2 of sequence number N2. As a result, when the current position NP of the control axis 110 falls below the overlap amount, the axis control unit 50 drives the control axis 110 to start executing the command block B2 of sequence number N2 and begin the overlap. Subsequently, when the overlap is completed, that is, when the execution of the command block B1 of sequence number N1 is completed, the axis control unit 50 controls the control axis 110 so that the current position NP of the control axis 110 reaches the overlap end point EP. Therefore, the overlap can be performed up to the overlap end point EP, which is the starting position of the cutting process. As a result, the time or section in which the overlap is performed can be extended. Consequently, the machining time can be shortened.

[0084] Similar to Embodiment 1 explained using Figure 2 as an example, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, similar to Embodiment 1 explained using Figure 2 as an example, in this embodiment as well, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method for the overlap between command block B2 of sequence number N2 and command block B3 of sequence number N3. As a result, when the current position of the control axis 110 reaches the start point ASP1, the command block of sequence number N3 starts. Therefore, the overlap can be started from the start point ASP1 where the cutting process ends.

[0085] Similar to Embodiment 1 explained using Figure 2 as an example, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, similar to Embodiment 1 explained using Figure 2 as an example, in this embodiment as well, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method for the overlap between command block B3 of sequence number N3 and command block B4 of sequence number N4. As a result, when the current position NP of the control axis 110 reaches position P1 (start point ASP1) where the overlap amount is less than or equal to the control axis 110, command block B4 of sequence number N4 starts, and the axis control unit 50 drives and controls the control axis 110 so that it passes through a path that is less than or equal to the overlap inward rotation amount OR. Therefore, the machining time can be shortened while avoiding interference between the control axis 110 (tool) and the workpiece W (workpiece).

[0086] Referring to Figure 12, the overlap control method of the numerical control device 1 according to this embodiment will be described. Figure 12 is a flowchart showing an example of the overlap control method of the numerical control device 1 according to this embodiment. Overlap control is performed by executing the processes from step S202 to step S224 shown in Figure 12.

[0087] In step S202, the program analysis unit 10 sequentially reads the command blocks B from the machining program and analyzes the read command blocks B. The process then proceeds to step S204.

[0088] In step S204, the overlap specification selection unit 60 selects the applicable specification method. The process then proceeds to step S206.

[0089] In step S206, the program analysis unit 10 determines the type of application specification method. If the program analysis unit 10 determines that the type of application specification method is the endpoint specification method (step S206: endpoint specification method), the process proceeds to step S216. If the program analysis unit 10 determines that the type of application specification method is the inner turn amount specification method (step S206: inner turn amount specification method), the process proceeds to step S212. If the program analysis unit 10 determines that the type of application specification method is the start point specification method (step S206: start point specification method), the process proceeds to step S208.

[0090] In step S208, the overlap start point acquisition unit 22 acquires the overlap start point SP. The overlap start point SP indicates the starting position of the overlap between two consecutive command blocks B. The process then proceeds to step S210.

[0091] In step S210, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap starting point SP and control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S220.

[0092] In step S212, the overlap inward rotation amount acquisition unit 24 acquires the overlap inward rotation amount OR. The overlap inward rotation amount OR indicates the distance of the overlap inward rotation of two consecutive command blocks B. The process proceeds to step S214.

[0093] In step S214, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap inward rotation amount OR and the control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S220.

[0094] In step S216, the overlap endpoint acquisition unit 26 acquires the overlap endpoint EP. The overlap endpoint EP indicates the end position of the overlap between two consecutive command blocks B. The process then proceeds to step S218.

[0095] In step S218, the overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the overlap endpoint EP and control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S220.

[0096] In step S220, the block start determination unit 40 determines the subsequent command block start point ASP1 based on the overlap amount and control information related to the acceleration and deceleration control of the control shaft 110. The process then proceeds to step S222.

[0097] In step S222, the axis control unit 50 determines whether the execution block has reached the starting point ASP1. If the axis control unit 50 determines that the execution block has not reached the starting point ASP1 (step S222: No), the process returns to step S222. If the axis control unit 50 determines that the execution block has reached the starting point ASP1 (step S222: Yes), the process proceeds to step S224. In other words, the process in step S222 is repeated until the execution block reaches the starting point ASP1.

[0098] In step S224, the shaft control unit 50 starts the execution of the subsequent command block from the subsequent command block start point ASP1 and drives the control shaft 110. The process ends.

[0099] Referring to Figure 13, an example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 13 is a flowchart showing an example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment. The application specification method is selected by executing the processes from step S2041 to step S2045 shown in Figure 13.

[0100] In step S2041, the program analysis unit 10 identifies the type of feed for each command block B. The process then proceeds to step S2042.

[0101] In step S2042, the overlap selection unit 60 determines the combination of feed types for the control axis 110. More specifically, the overlap selection unit 60 determines the combination of the feed type of the currently executing command block and the feed type of the subsequent command block.

[0102] If the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is rapid traverse and the feed type of the control axis 110 in the subsequent command block is a cutting feed (step S2042: rapid traverse → cutting feed), the process proceeds to step S2045. In other words, if the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is a non-machining feed and the feed type of the control axis 110 in the subsequent command block is a machining feed, the process proceeds to step S2045.

[0103] If the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is fast traverse and the feed type of the control axis 110 in the subsequent command block is fast traverse (step S2042: fast traverse → fast traverse), the process proceeds to step S2044. In other words, if the overlap selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is non-machining feed and the feed type of the control axis 110 in the subsequent command block is non-machining feed, the process proceeds to step S2044.

[0104] If the overlap specification selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is a cutting feed and the feed type of the control axis 110 in the subsequent command block is a rapid traverse (step S2042: cutting feed → rapid traverse), the process proceeds to step S2043. In other words, if the overlap specification selection unit 60 determines that the combination of feed types for the control axis 110 is such that the feed type of the currently executing command block is a machining feed and the feed type of the control axis 110 in the subsequent command block is a non-machining feed, the process proceeds to step S2043.

[0105] In step S2043, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the feed type of the currently executing command block is a machining feed and the feed type of the control axis 110 of the subsequent command block is a non-machining feed, it selects the start point specification method as the applicable specification method. The process then ends.

[0106] In step S2044, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the feed type of the currently executing command block is a non-machining feed and the feed type of the control axis 110 of the subsequent command block is a non-machining feed, it selects the inward rotation amount specification method as the applicable specification method. The process then ends.

[0107] In step S2045, the overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the feed type of the currently executing command block is a non-machining feed and the feed type of the control axis 110 of the subsequent command block is a machining feed, it selects the endpoint specification method as the applicable specification method. The process then ends.

[0108] As explained above with reference to Figures 10 to 13, the program analysis unit 10 identifies the feed type of the control axis 110 for each command block B. The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block. Therefore, the overlap amount can be automatically set using a method suitable for each block of the machining program according to the feed type.

[0109] Furthermore, the program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining on the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining on the workpiece W by the industrial machine 100. The overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method if the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a machining feed. Therefore, overlap can be performed up to the overlap endpoint EP, which is the starting position of the cutting process. As a result, the time or section in which overlap is performed can be lengthened. Consequently, the machining time can be shortened.

[0110] Furthermore, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, the position where the machining control of the workpiece W of the industrial machine 100 is completed can be set as the overlap start point ASP1. Consequently, overlap control can be performed immediately after the machining of the workpiece W of the industrial machine 100 is properly completed. As a result, machining time can be shortened while suppressing deterioration of machining accuracy.

[0111] Furthermore, the overlap specification selection unit 60 selects the inward rotation amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, it is possible to shorten the machining time while avoiding interference between the control axis 110 (tool) and the workpiece W (workpiece).

[0112] Referring to Figure 14, another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 14 is a diagram showing another example of the machining program PG4.

[0113] As shown in Figure 14, the machining program PG4 assigns a specification method code CD to the command block B. The specification method code CD is a program code that indicates the specification method. In this embodiment, when the specification method code CD is "QA1", it indicates the start point specification method. When the specification method code CD is "QA2", it indicates the inward turning amount specification method. When the specification method code CD is "QA3", it indicates the end point specification method. In the example shown in Figure 14, the command block B2 of sequence number N2 is assigned the specification method code CD1. The command block B3 of sequence number N3 is assigned the specification method code CD2. The command block B1 of sequence number N1 is assigned the specification method code CD3.

[0114] The program analysis unit 10 identifies the specification method based on the specification method code assigned to each command block. Specifically, for the command block of sequence number N2, the specification method code CD1 is "QA1", so the program analysis unit 10 identifies the specification method of command block B2 of sequence number N2 as the start point specification method. For the command block B3 of sequence number N3, the specification method code CD2 is "QA2", so the program analysis unit 10 identifies the specification method of command block B3 of sequence number N3 as the inward turning amount specification method. For the command block B1 of sequence number N1, the specification method code CD1 is "QA3", so the program analysis unit 10 identifies the specification method of command block B1 of sequence number N1 as the start point specification method.

[0115] The overlap specification selection unit 60 selects an applicable specification method for each command block B based on the specification method identified by the program analysis unit 10. Specifically, for command block B2 of sequence number N2, the start point specification method is selected. For command block B3 of sequence number N3, the inner loop amount specification method is selected. For command block B1 of sequence number N1, the end point specification method is selected.

[0116] Referring to Figure 15, another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 15 is a flowchart showing another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment. The application specification method is selected by executing the processes from step S2046 to step S2050 shown in Figure 15.

[0117] In step S2046, the program analysis unit 10 identifies the designation method for each command block B based on the designation method code CD. The process then proceeds to step S2047.

[0118] In step S2047, the overlap specification selection unit 60 determines what the specification method identified by the program analysis unit 10 is. If the overlap specification selection unit 60 determines that the identified specification method is an end point specification method (step S2047: end point specification method), the process proceeds to step S2050. If the overlap specification selection unit 60 determines that the identified specification method is an inward turn amount specification method (step S2047: inward turn amount specification method), the process proceeds to step S2049. If the overlap specification selection unit 60 determines that the identified specification method is a start point specification method (step S2047: start point specification method), the process proceeds to step S2048.

[0119] In step S2048, the overlap specification selection unit 60 selects the start point specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the specified specification method is the start point specification method, it selects the start point specification method as the applicable specification method. The process then ends.

[0120] In step S2049, the overlap specification selection unit 60 selects the inner turn amount specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the specified specification method is the inner turn amount specification method, it selects the inner turn amount specification method as the applicable specification method. The process then ends.

[0121] In step S2050, the overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method. That is, if the overlap specification selection unit 60 determines that the specified specification method is the endpoint specification method, it selects the endpoint specification method as the applicable specification method. The process then ends.

[0122] As described above with reference to Figures 14 and 15, in this embodiment, as in Embodiment 1, the operator can easily set the overlap control method for each command block B included in the machining program PG by adding a specification method code for the desired method to each command block B. Therefore, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each command block B of the machining program.

[0123] In the example described with reference to Figures 14 and 15, only one specification method was assigned to one command block B in the machining program PG4, but this disclosure is not limited to this. For example, multiple specification methods may be assigned to one command block B.

[0124] Referring to Figure 16, another example of the method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figure 16 is a diagram showing another example of the machining program PG5.

[0125] As shown in Figure 16, the machining program PG5 assigns a specification method code CD to the command block B. In the example shown in Figure 16, the command block B3 of sequence number N3 is assigned two specification method codes CD: specification method code CD2 "QA2" and specification method code CD4 "QA3". In other words, the command block B3 of sequence number N3 is assigned multiple specification methods. Specifically, the command block B3 of sequence number N3 is assigned an inner turning amount specification method and an end point specification method.

[0126] If multiple specification methods are assigned to a single command block B, the overlap specification selection unit 60 selects the specification method with the largest overlap amount as the applicable specification method. In other words, the overlap specification selection unit 60 selects the specification method that results in the shortest processing time as the applicable specification method.

[0127] Referring to Figures 17 and 18, another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment will be described. Figures 17 and 18 are flowcharts showing another example of a method for selecting the application specification method of the overlap specification selection unit 60 according to this embodiment. The application specification method is selected by executing the processes from step S302 to step S310 shown in Figure 17 and from step S312 to step S318 shown in Figure 18.

[0128] In step S302, the program analysis unit 10 identifies the specification method for each command block B based on the specification method code CD. The process then proceeds to step S304.

[0129] In step S304, the program analysis unit 10 determines whether multiple specification methods are assigned to the command block B. If the program analysis unit 10 determines that multiple specification methods are not assigned to the command block B (step S304: No), the process proceeds to step S312 shown in Figure 18. If the program analysis unit 10 determines that multiple specification methods are assigned to the command block B (step S304: Yes), the process proceeds to step S306.

[0130] In step S306, the overlap amount calculation unit 30 calculates the overlap amount for each of the multiple specified methods. The process then proceeds to step S308.

[0131] In step S308, the overlap amount calculation unit 30 calculates the maximum overlap amount. The maximum overlap amount is the largest overlap amount among the multiple overlap amounts calculated. The process then proceeds to step S310.

[0132] In step S310, the overlap specification selection unit 60 selects the specification method corresponding to the maximum overlap amount as the applicable specification method. The process then ends.

[0133] Steps S312 to S318 perform the same processing as steps S2047 to S2050 shown in Figure 15. The processing then terminates.

[0134] As explained above with reference to Figures 16 to 18, the program analysis unit 10 determines whether multiple designation methods are assigned to the command block B. If the program analysis unit 10 determines that multiple designation methods are assigned to the command block B, the overlap amount calculation unit 30 calculates the overlap amount for each of the multiple designation methods. The overlap amount calculation unit 30 calculates the maximum overlap amount. The maximum overlap amount is the largest overlap amount among the multiple overlap amounts calculated. The overlap designation selection unit 60 selects the designation method corresponding to the maximum overlap amount as the applicable designation method. Therefore, the overlap designation selection unit 60 selects the designation method that results in the shortest processing time as the applicable designation method. As a result, the processing time can be reduced.

[0135] In the numerical control device 1 according to the embodiment described with reference to Figures 1 to 18, the set value according to the specified method was the distance from the overlap start point to the end point of the execution command block or the overlap inward amount, but this disclosure is not limited thereto. For example, the set value may be, for example, the distance from the end point of the execution command block to the overlap end point.

[0136] As described above with reference to Figures 1 to 18, in the numerical control device 1 according to this embodiment, the overlap specification selection unit 60 selects an applicable specification method from the start point specification method and the inner turn amount specification method based on the analysis results analyzed by the program analysis unit 10. The applicable specification method indicates the specification method to be applied. When the applicable specification method is the start point specification method, the overlap amount calculation unit 30 calculates the overlap amount based on the overlap start point and control information relating to the acceleration and deceleration control of the control axis 110 between the executing command block and the subsequent command block. The overlap amount indicates the distance or time of overlap between two consecutive command blocks. When the applicable specification method is the inner turn amount specification method, the overlap amount calculation unit 30 calculates the overlap amount based on the overlap inner turn amount and control information relating to the acceleration and deceleration control of the control axis 110 between the executing command block and the subsequent command block. The block start determination unit 40 determines the starting point ASP1 of the subsequent command block based on the overlap amount and control information related to the acceleration and deceleration control of the control axis 110. The axis control unit 50 starts the execution of the subsequent command block from the starting point ASP1 and drives and controls the control axis 110. Therefore, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each block of the machining program.

[0137] Furthermore, in the numerical control device 1, the overlap specification selection unit 60 selects the applicable specification method from the start point specification method, the inner turn amount specification method, and the end point specification method based on the analysis results analyzed by the program analysis unit 10. Therefore, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each block of the machining program.

[0138] Furthermore, the program analysis unit 10 identifies the feed type of the control axis 110 for each command block B. The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block. Therefore, the overlap amount can be automatically set using a method suitable for each block of the machining program, according to the feed type.

[0139] Furthermore, the program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining on the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining on the workpiece W by the industrial machine 100. The overlap specification selection unit 60 selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, the position where the machining control of the workpiece W of the industrial machine 100 is completed can be set as the overlap start point ASP1. Thus, overlap control can be performed immediately after the machining of the workpiece W of the industrial machine 100 is properly completed. As a result, machining time can be shortened while suppressing deterioration of machining accuracy. Furthermore, the overlap specification selection unit 60 selects the inner turn amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a non-machining feed. Therefore, it is possible to shorten the machining time while avoiding interference between the control axis 110 (tool) and the workpiece W (workpiece).

[0140] Furthermore, the program analysis unit 10 identifies the feed type of the control axis 110 for each command block B. The overlap specification selection unit 60 selects an applicable specification method based on the combination of the feed type of the currently executing command block and the feed type of the subsequent command block. Therefore, the overlap amount can be automatically set using a method suitable for each block of the machining program, according to the feed type.

[0141] Furthermore, the program analysis unit 10 identifies whether the feed type of command block B is a machining feed or a non-machining feed. A machining feed indicates a feed that involves machining on the workpiece W by the industrial machine 100. A non-machining feed indicates a feed that does not involve machining on the workpiece W by the industrial machine 100. The overlap specification selection unit 60 selects the endpoint specification method as the applicable specification method if the feed type of the currently executing command block is a non-machining feed and the feed type of the subsequent command block is a machining feed. Therefore, overlap can be performed up to the overlap endpoint EP, which is the starting position of the cutting process. As a result, the time or section in which overlap is performed can be lengthened. Consequently, the machining time can be shortened.

[0142] Furthermore, the program analysis unit 10 identifies the specification method based on the specification method code CD assigned to each command block B. The specification method code is a program code that indicates the specification method. The overlap specification selection unit 60 selects the applicable specification method for each command block B based on the specification method identified by the program analysis unit 10. Therefore, the operator can easily set the overlap control method for each command block B by adding the specification method code of the specification method to be applied to each command block B included in the machining program PG. Consequently, the overlap method can be switched for each block of the machining program. As a result, the overlap amount can be set using a method suitable for each command block B of the machining program.

[0143] The program analysis unit 10 identifies a setting value SE for each command block B according to the assigned specification method. The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks B based on the specification method and setting value SE identified by the program analysis unit 10. Therefore, the operator can easily set setting values ​​such as position or distance related to overlap control by describing the setting value SE in the machining program PG.

[0144] The set value SE is the distance d1 from the overlap start point SP to the end point N21EP of the execution command block. Therefore, the set value for the start point specification method can be easily set. The set value SE is the overlap inner loop amount OR. Therefore, the set value for the inner loop amount specification method can be easily set.

[0145] The program analysis unit 10 determines whether multiple designation methods are assigned to command block B. If the program analysis unit 10 determines that multiple designation methods are assigned to command block B, the overlap amount calculation unit 30 calculates the overlap amount for each of the multiple designation methods. The overlap amount calculation unit 30 calculates the maximum overlap amount. The maximum overlap amount is the largest overlap amount among the multiple overlap amounts calculated. The overlap designation selection unit 60 selects the designation method corresponding to the maximum overlap amount as the applicable designation method. Therefore, the overlap designation selection unit 60 selects the designation method that results in the shortest processing time as the applicable designation method. As a result, the processing time can be reduced.

[0146] Furthermore, the control information related to the acceleration and deceleration control of the control axis 110 includes at least one of the following: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control axis 110, and position deviation amount during drive control of the control axis 110. Therefore, based on the control information, the overlap amount calculation unit 30 can accurately calculate the overlap amount. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.

[0147] Furthermore, the block start determination unit 40 determines the start point ASP1 to be at least one of the following: the time when the remaining time until the executing command block reaches the end of the block becomes a predetermined time; the time when the remaining distance until the executing command block reaches the end of the block becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed. Therefore, the block start determination unit 40 can calculate the start point ASP1 with high accuracy. This makes it possible to shorten the machining time while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.

[0148] The numerical control device described above can be implemented using hardware, software, or a combination thereof. Here, implementation by software means that it is implemented by a computer loading and executing a program.

[0149] Programs can be stored and supplied to a computer using various types of non-transitor computer-readable media. Non-transitor computer-readable media include various types of tangible storage media. Examples of non-transitor computer-readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (random access memory)).

[0150] While this disclosure has been described in detail, it 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 gist of this disclosure or from the spirit of this disclosure derived from the claims and their equivalents. Furthermore, these embodiments can be implemented in combination. For example, the order of operations and processes in the embodiments described above are given 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.

[0151] With respect to the above embodiments and modifications, the following additional notes are disclosed. (Addendum 1) A numerical control device (1) that drives and controls the control axis (110) of an industrial machine (100) based on a machining program that includes a plurality of consecutive command blocks, comprising: a program analysis unit (10) that sequentially reads the command blocks from the machining program and analyzes the read command blocks; an overlap start point acquisition unit (22) that acquires an overlap start point indicating the start position of the overlap of two consecutive command blocks; an overlap inner circumference amount acquisition unit (24) that acquires an overlap inner circumference amount indicating the distance of the inner circumference of the overlap of two consecutive command blocks; and an overlap specification selection unit (60) that selects an application specification method indicating the specification method to be applied from the start point specification method and the inner circumference amount specification method based on the analysis results analyzed by the program analysis unit, An overlap amount calculation unit (30) calculates the overlap amount based on the overlap amount and the control information relating to the acceleration and deceleration control of the control shaft of the executing command block and the subsequent command block when the application specification method is the start point specification method, and when the application specification method is the inward rotation amount specification method, it calculates the overlap amount based on the overlap inward rotation amount and the control information relating to the acceleration and deceleration control of the control shaft of the executing command block and the subsequent command block. A block start determination unit (40) determines the subsequent command block start point (ASP1) indicating the position or time at which the subsequent command block starts, based on the overlap amount and the control information relating to the acceleration and deceleration control of the control shaft of the executing command block. An axis control unit (50) drives and controls the control shaft (110) by starting the execution of the subsequent command block from the subsequent command block start point (ASP1). The numerical control device (1) wherein the subsequent command block indicates the command block to be executed after the currently executing command block, and the currently executing command block indicates the command block that is currently being executed.

[0152] (Note 2) The numerical control device (1) described in Note 1 further comprises an overlap endpoint acquisition unit (26) that acquires an overlap endpoint indicating the end position of the overlap of two consecutive command blocks, the overlap specification selection unit (60) selects the applicable specification method from the start point specification method, the inward turning amount specification method and the end point specification method based on the analysis results analyzed by the program analysis unit (10), and the overlap amount calculation unit (30) calculates the overlap amount of two consecutive command blocks based on the overlap endpoint (EP) and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block when the applicable specification method is the end point specification method, wherein the numerical control device (1) described in Note 1 further comprises an overlap endpoint acquisition unit (26) that acquires an overlap endpoint indicating the end position of the overlap of two consecutive command blocks, the overlap specification selection unit (60) selects the applicable specification method from the start point specification method, the inward turning amount specification method and the end point specification method, and the overlap amount calculation unit (30) calculates the overlap amount of two consecutive command blocks based on the overlap endpoint (EP) and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block.

[0153] (Note 3) The numerical control device (1) described in Note 1 or Note 2, wherein the program analysis unit (10) identifies the type of feed of the control axis for each command block, and the overlap designation selection unit (60) selects the applicable designation method based on the combination of the type of feed of the currently executing command block and the type of feed of the subsequent command block.

[0154] (Note 4) The numerical control device (1) described in Note 3, wherein the industrial machine (100) performs processing on the workpiece (W), the program analysis unit (10) determines whether the type of feed in the command block is a processing feed indicating that the industrial machine (100) performs processing on the workpiece (W), or a non-processing feed indicating that the industrial machine (100) performs processing on the workpiece (W), the overlap designation selection unit (60) selects the start point designation method as the applicable designation method if the type of feed in the currently executing command block is the processing feed and the type of feed in the subsequent command block is the non-processing feed, and selects the inner turn amount designation method as the applicable designation method if the type of feed in the currently executing command block is the non-processing feed and the type of feed in the subsequent command block is the non-processing feed.

[0155] (Note 5) The numerical control device (1) described in Note 2, wherein the program analysis unit (10) identifies the type of feed of the control axis for each command block, and the overlap designation selection unit (60) selects the applicable designation method based on the combination of the type of feed of the currently executing command block and the type of feed of the subsequent command block.

[0156] (Note 6) The numerical control device (1) described in Note 5, wherein the industrial machine (100) performs processing on a workpiece (W), the program analysis unit (10) identifies whether the type of feed in the command block is a processing feed indicating that the industrial machine performs processing on the workpiece, or a non-processing feed indicating that the industrial machine performs processing on the workpiece, and the overlap designation selection unit (60) selects the endpoint designation method as the applicable designation method if the type of feed in the currently executing command block is the non-processing feed and the type of feed in the subsequent command block is the processing feed, selects the start point designation method as the applicable designation method if the type of feed in the currently executing command block is the processing feed and the type of feed in the subsequent command block is the non-processing feed, and selects the inward rotation amount designation method as the applicable designation method.

[0157] (Note 7) The numerical control device (1) described in Note 1 or Note 2, wherein the program analysis unit (10) identifies the designation method based on the designation method code assigned to each command block, and the overlap designation selection unit (60) selects the applicable designation method for each command block based on the designation method identified by the program analysis unit (10), and the designation method code is a program code indicating the designation method.

[0158] (Note 8) The numerical control device according to Note 7, wherein the program analysis unit (10) identifies a setting value (SE) corresponding to the designated method assigned to each command block, and the overlap amount calculation unit (30) calculates the overlap amount of two consecutive command blocks based on the designated method and the setting value identified by the program analysis unit (10).

[0159] (Note 9) The program analysis unit (10) identifies the designation method based on the designation method code assigned to each command block, the overlap designation selection unit (60) selects the applicable designation method for each command block based on the designation method identified by the program analysis unit (10), the designation method code is a program code indicating the designation method, the program analysis unit identifies a setting value corresponding to the designation method assigned to each command block, the overlap amount calculation unit calculates the overlap amount of two consecutive command blocks based on the designation method and setting value identified by the program analysis unit, the setting value is one of the distance from the overlap start point to the execution command block end point, the overlap inward rotation amount, and the distance from the execution command block end point to the overlap end point, the execution command block end point indicates the end position of the execution command block, as described in Note 2.

[0160] (Note 10) The numerical control device according to Note 7 or Note 8, wherein the program analysis unit (10) determines whether multiple designation methods are assigned to the command block, the program analysis unit (10) determines that multiple designation methods are assigned to the command block, the overlap amount calculation unit calculates the overlap amount for each of the multiple designation methods, calculates the maximum overlap amount which is the largest of the multiple overlap amounts calculated, and the overlap designation selection unit (60) selects the designation method corresponding to the maximum overlap amount as the applicable designation method.

[0161] (Note 11) The numerical control device according to any one of Notes 1 to 10, wherein the control information relating to the acceleration and deceleration control of the control shaft includes at least one of the feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft, and the amount of position deviation during drive control of the control shaft.

[0162] (Note 12) The numerical control device according to any one of Notes 1, 2 and 5 to 11, wherein the block start determination unit 40 determines the start point (ASP1) to be at least one of the following: the time when the remaining time until the executing command block reaches the block endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the block endpoint becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.

[0163] 1 Numerical control device 10 Program analysis unit 20 Quantity acquisition unit 22 Overlap start point acquisition unit 24 Overlap inner rotation amount acquisition unit 26 Overlap end point acquisition unit 30 Overlap amount calculation unit 40 Block start determination unit 50 Axis control unit 60 Overlap specification selection unit 100 Industrial machine 110 Control axis ASP1 Successor command block start point SP Overlap start point EP Overlap end point OR Overlap inner rotation amount W Work

Claims

1. A numerical control device for driving and controlling the control axis of an industrial machine based on a machining program that includes a plurality of consecutive command blocks, comprising: a program analysis unit that sequentially reads the command blocks from the machining program and analyzes the read command blocks; an overlap start point acquisition unit that acquires an overlap start point indicating the starting position of the overlap of two consecutive command blocks; an overlap inner circumference amount acquisition unit that acquires an overlap inner circumference amount indicating the distance of the inner circumference of the overlap of two consecutive command blocks; and an overlap specification selection unit that selects an application specification method indicating the specification method to be applied from the start point specification method and the inner circumference amount specification method based on the analysis results analyzed by the program analysis unit. If the application specification method is the start point specification method, the overlap amount calculation unit calculates an overlap amount indicating the overlap distance or time between two consecutive command blocks based on the overlap start point and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block; if the application specification method is the inward rotation amount specification method, the overlap amount calculation unit calculates an overlap amount based on the overlap inward rotation amount and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block; the block start determination unit determines a subsequent command block start point indicating the position or time at which the subsequent command block starts based on the overlap amount and control information relating to the acceleration and deceleration control of the control axis of the executing command block; and the axis control unit drives and controls the control axis by starting the execution of the subsequent command block from the subsequent command block start point, wherein the subsequent command block indicates the command block that will be executed after the executing command block. The aforementioned command block being executed is a numerical control device that indicates the command block being executed.

2. The numerical control device according to claim 1, further comprising an overlap endpoint acquisition unit that acquires an overlap endpoint indicating the end position of the overlap of two consecutive command blocks, wherein the overlap specification selection unit selects the applicable specification method from the start point specification method, the inward turning amount specification method, and the end point specification method based on the analysis results analyzed by the program analysis unit, and the overlap amount calculation unit calculates the overlap amount of two consecutive command blocks based on the overlap endpoint and control information relating to the acceleration and deceleration control of the control axis between the executing command block and the subsequent command block when the applicable specification method is the end point specification method.

3. The numerical control device according to claim 1 or 2, wherein the program analysis unit identifies the type of feed of the control axis for each command block, and the overlap specification selection unit selects the applicable specification method based on the combination of the type of feed of the currently executing command block and the type of feed of the subsequent command block.

4. The numerical control device according to claim 3, wherein the industrial machine performs processing on a workpiece, the program analysis unit identifies whether the feed type of the command block is a processing feed indicating that the industrial machine performs processing on the workpiece, or a non-processing feed indicating that the industrial machine does not perform processing on the workpiece, and the overlap specification selection unit selects the start point specification method as the applicable specification method when the feed type of the currently executing command block is a processing feed and the feed type of the subsequent command block is a non-processing feed, and selects the inner turn amount specification method as the applicable specification method when the feed type of the currently executing command block is a non-processing feed and the feed type of the subsequent command block is a non-processing feed.

5. The numerical control device according to claim 2, wherein the program analysis unit identifies the type of feed of the control axis for each command block, and the overlap designation selection unit selects the application designation method based on the combination of the type of feed of the currently executing command block and the type of feed of the subsequent command block.

6. The numerical control device according to claim 5, wherein the industrial machine performs processing on a workpiece, the program analysis unit identifies whether the type of feed in the command block is a processing feed indicating that the industrial machine performs processing on the workpiece, or a non-processing feed indicating that the industrial machine does not perform processing on the workpiece, and the overlap specification selection unit selects the endpoint specification method as the applicable specification method if the type of feed in the currently executing command block is the non-processing feed and the type of feed in the subsequent command block is the processing feed, selects the start point specification method as the applicable specification method if the type of feed in the currently executing command block is the processing feed and the type of feed in the subsequent command block is the non-processing feed, and selects the inward rotation amount specification method as the applicable specification method.

7. The numerical control device according to claim 1 or 2, wherein the program analysis unit identifies the designation method based on the designation method code assigned to each command block, the overlap designation selection unit selects the applicable designation method for each command block based on the designation method identified by the program analysis unit, and the designation method code is a program code indicating the designation method.

8. The numerical control device according to claim 7, wherein the program analysis unit identifies a setting value corresponding to the designated method assigned to each command block, and the overlap amount calculation unit calculates the overlap amount of two consecutive command blocks based on the designated method and the setting value identified by the program analysis unit.

9. The numerical control device according to claim 2, wherein the program analysis unit identifies the designation method based on the designation method code assigned to each command block, the overlap designation selection unit selects the applicable designation method for each command block based on the designation method identified by the program analysis unit, the designation method code is a program code indicating the designation method, the program analysis unit identifies a setting value corresponding to the designation method assigned to each command block, the overlap amount calculation unit calculates the overlap amount of two consecutive command blocks based on the designation method and setting value identified by the program analysis unit, the setting value is one of the distance from the overlap start point to the execution command block end point, the overlap inward rotation amount, and the distance from the execution command block end point to the overlap end point, and the execution command block end point indicates the end position of the execution command block.

10. The numerical control device according to claim 7 or 8, wherein the program analysis unit determines whether multiple designation methods are assigned to the command block, the program analysis unit determines that multiple designation methods are assigned to the command block, the overlap amount calculation unit calculates the overlap amount for each of the multiple designation methods, calculates the maximum overlap amount which is the largest of the multiple overlap amounts calculated, and the overlap designation selection unit selects the designation method corresponding to the maximum overlap amount as the applicable designation method.

11. The numerical control device according to any one of claims 1 to 10, wherein the control information relating to the acceleration and deceleration control of the control shaft includes at least one of the feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft, and the amount of position deviation during drive control of the control shaft.

12. The numerical control device according to claim 1, claim 2, and any one of claims 5 to 11, wherein the block start determination unit determines the start point to be at least one of the following: the time when the remaining time until the executing command block reaches the block endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the block endpoint becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.