Numerical value control device
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2024-11-14
- Publication Date
- 2026-05-21
Smart Images

Figure JP2024040448_21052026_PF_FP_ABST
Abstract
Description
Numerical control device
[0001] The present disclosure relates to a numerical control device.
[0002] Conventionally, in a numerical control device for industrial machines, there is a technique for overlapping the movement between blocks of a machining program. In the overlap between blocks, the operation of the next block is started before the current block being executed reaches the end point. There is Patent Document 1 that describes a technique related to this type of overlap.
[0003] International Publication No. WO2018 / 042704
[0004] By overlapping within the set range of the overlap amount, the machining time is shortened. However, if the overlap amount is large, the amount of inward rotation between the overlapping blocks becomes large, which may cause deterioration of machining accuracy and interference between the tool and the workpiece.
[0005] Therefore, a numerical control device that can shorten the machining time while avoiding deterioration of machining accuracy and interference between the tool and the workpiece is desired.
[0006] One aspect of the present disclosure is a numerical control device that drives and controls the control axes of an industrial machine based on a machining program including a plurality of consecutive command blocks, the program analysis unit sequentially reads the command blocks from the machining program and analyzes the read command blocks, the overlap end point acquisition unit acquires an overlap end point indicating the end point of the overlap between two consecutive command blocks, the overlap amount calculation unit calculates the overlap amount between two consecutive command blocks based on the overlap end point and control information related to the acceleration / deceleration control of the control axis, the block start determination unit determines the start point of the subsequent command block based on the overlap amount and control information related to the acceleration / deceleration control of the control axis, and the axis control unit drives and controls the control axis starting from the start point by executing the subsequent command block, the subsequent command block indicates the command block to be executed next to the command block being executed, and the command block being executed indicates the command block being executed.
[0007] This is a block diagram of a numerical control device according to Embodiment 1. This is a diagram showing the movement path of the control axis of a comparative example. This is a diagram showing the movement path of the control axis of this embodiment this embodiment. This is a graph showing the change in feed rate in the X-axis direction and the Y-axis direction. This is a graph showing the change in feed rate in the X-axis direction and the Y-axis direction. This is a graph showing the change in feed rate in the X-axis direction and the Y-axis direction. This is a diagram for explaining the acquisition of the overlap endpoint. This is a diagram for explaining the acquisition of the overlap endpoint. This is a diagram for explaining the acquisition of the overlap endpoint. This is a flowchart showing an example of the overlap control method of the simulation device according to this embodiment. This is a block diagram of a numerical control device according to Embodiment 2. This is a diagram showing the output unit.
[0008] Hereinafter, one embodiment of this disclosure will be described in detail with reference to the drawings.
[0009] [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.
[0010] As shown in Figure 1, the numerical control device 1 drives and controls the industrial machine 100. The industrial machine 100 processes 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.
[0011] 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 end point 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.
[0012] 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.
[0013] The numerical control device 1 comprises a program analysis unit 10, an overlap endpoint acquisition unit 20, an overlap amount calculation unit 30, a block start determination unit 40, and an axis control unit 50.
[0014] 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.
[0015] The overlap endpoint acquisition unit 20 acquires the overlap endpoint. The overlap endpoint indicates the endpoint of the overlap between two consecutive command blocks. The overlap endpoint acquisition unit 20 acquires the overlap endpoint based on at least one of parameters, a processing program, and an external input. Details of how the overlap endpoint acquisition unit 20 acquires the overlap endpoint will be described later with reference to Figures 6A to 6C.
[0016] The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks based on the overlap endpoint and control information related to the acceleration and deceleration control of the control shaft 110.
[0017] The block start determination unit 40 determines the starting point of the subsequent command block based on the overlap amount and control information related to the acceleration and deceleration control of the control shaft 110. The control information related to the acceleration and deceleration control of the control shaft 110 includes at least one of the following: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft, and position deviation amount during drive control of the control shaft 110.
[0018] The block start determination unit 40 determines that the start point is at least one of the following: the time when the remaining time until the executing command block reaches the overlap endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the overlap endpoint becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.
[0019] The shaft control unit 50 starts the execution of the subsequent command block from the starting point and drives and controls the control shaft 110.
[0020] As explained above with reference to Figure 1, in the numerical control device 1, the overlap endpoint acquisition unit 20 acquires the overlap endpoint. The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks based on the overlap endpoint and control information related to the acceleration and deceleration control of the control axis 110. In other words, the numerical control device 1 calculates the overlap amount by specifying the overlap endpoint. The block start determination unit 40 determines the starting point 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 and drives the control axis 110. Then, it performs overlap control based on the calculated overlap amount. Therefore, when the overlap is completed, the control axis 110 reaches the overlap endpoint specified. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0021] An example of overlap control of the numerical control device 1 will be described with reference to Figures 2A and 2B. Figure 2A is a diagram showing the movement path of the control axis 110 in a comparative example. Figure 2B is a diagram showing the movement path of the control axis 110 in this embodiment.
[0022] In the examples shown in Figures 2A and 2B, the executing command block is a command block that commands movement in the Y-axis direction, and the subsequent command block is a command block that commands movement in the X-axis direction. In Figures 2A and 2B, path Y1 represents the command path in the Y-axis direction. That is, path Y1 represents the movement path of the control axis 110 in the Y-axis direction when there is no overlap. In Figures 2A and 2B, path X1 represents the command path in the X-axis direction. That is, path X1 represents the movement path of the control axis 110 in the X-axis direction when there is no overlap. In Figures 2A and 2B, paths R1 and R2 represent the movement paths of the control axis 110 when overlap control is performed.
[0023] When there is no overlap, the movement path of the control axis 110 is one in the Y-axis direction followed by the X-axis direction, resulting in a right-angle trajectory. In contrast, when there is overlap, the movement path of the control axis 110 traces an arc-shaped trajectory that curves inward from the movement path of the control axis 110 when there is no overlap. Thus, overlap control causes an inward curve at the corners between blocks. This enables smooth machining operations. In this example, an arc-shaped trajectory is traced, but the movement could also be controlled to move diagonally in a straight line along the inside using overlap control.
[0024] In the comparative example, the overlap amount is determined based on the time or distance until the end of the execution command block. In other words, the overlap amount OV1 is set without specifying the end position of the overlap amount. Therefore, as shown in Figure 2A, the amount of inward turning may be large. In other words, the overlap amount OV1 may be large. As a result, machining is not performed on the workpiece W in the area indicated by hatching in Figure 2A.
[0025] On the other hand, in the numerical control device 1 of this embodiment, as shown in Figure 2B, the overlap endpoint EP is set. The overlap endpoint acquisition unit 20 acquires the set overlap endpoint EP.
[0026] The overlap amount calculation unit 30 calculates the overlap amount OV2 of two consecutive command blocks based on the overlap endpoint EP and control information related to the acceleration and deceleration control of the control shaft 110. Specifically, the overlap amount calculation unit 30 calculates the overlap amount OV2 based, for example, on the position of the overlap endpoint EP and at least one of the following at the current time: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft 110, and the position deviation amount during drive control of the control shaft 110. The overlap amount OV2 shown in Figure 2B is less than the overlap amount OV1 shown in Figure 2A. Therefore, the amount of inward rotation in the example shown in Figure 2B is less than the amount of inward rotation in the example shown in Figure 2A.
[0027] The block start determination unit 40 determines the starting point SP of the subsequent command block based on the overlap amount OV2 and control information related to the acceleration and deceleration control of the control shaft 110. More specifically, the block start determination unit 40 determines the starting point SP based on the overlap amount OV2 and at least one of the following at the current time: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft 110, and the amount of position deviation during drive control of the control shaft 110.
[0028] The axis control unit 50 drives and controls the control axis 110 by starting the execution of subsequent command blocks from the starting point SP. In the example shown in Figure 2B, the axis control unit 50 starts movement in the X-axis direction from the starting point SP. Therefore, as shown in path R2, the axis control unit 50 executes command blocks in the Y-axis direction in the section up to the starting point SP. Then, the axis control unit 50 executes command blocks in both the X-axis and Y-axis directions in the section from the starting point SP to the overlap end point EP. In other words, overlap control is performed by the axis control unit 50 in the section from the starting point SP to the overlap end point EP. Then, the axis control unit 50 executes command blocks in the X-axis direction in the section after the overlap end point EP. In this way, the axis control unit 50 drives and controls the control axis 110 so that it passes through the set overlap end point EP. Therefore, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0029] An example of overlap control of the numerical control device 1 will be described with reference to Figures 3A and 3B. Figure 3A is a diagram showing the movement path of the control axis 110 in a comparative example. Figure 3B is a diagram showing the movement path of the control axis 110 in this embodiment.
[0030] In the examples shown in Figures 3A and 3B, the executing command block is a command block that commands movement in the X-axis direction, and the subsequent command block is a command block that commands movement in the Y-axis direction. In Figures 3A and 3B, path X1 represents the command path in the X-axis direction. That is, path X1 represents the movement path of the control axis 110 in the X-axis direction when there is no overlap. In Figures 3A and 3B, path Y1 represents the command path in the Y-axis direction. That is, path Y1 represents the movement path of the control axis 110 in the Y-axis direction when there is no overlap. In Figures 3A and 3B, paths R1 and R2 represent the movement paths of the control axis 110 when overlap control is performed.
[0031] As shown in Figure 3A, in the comparative example, the overlap amount is determined based on the time or distance until the end of the execution command block. In other words, the overlap amount OV1 is set without specifying the end position of the overlap amount. Therefore, as shown in Figure 3A, the amount of inward turning may be large. In other words, the overlap amount OV1 may be large. As a result, interference between the tool and the workpiece occurs in the area indicated by hatching in Figure 3A.
[0032] On the other hand, in the numerical control device 1 of this embodiment, as shown in Figure 3B, similar to the overlap control described with reference to Figure 2B, the axis control unit 50 drives and controls the control axis 110 so that it passes through the set overlap endpoint EP. Specifically, in the example shown in Figure 3B, the axis control unit 50 starts movement in the Y-axis direction from the starting point SP. Therefore, as shown in path R2, the axis control unit 50 executes a command block in the X-axis direction in the section up to the starting point SP. Then, the axis control unit 50 executes command blocks in both the X-axis and Y-axis directions in the section from the starting point SP to the overlap endpoint EP. In other words, overlap control is performed in the section from the starting point SP to the overlap endpoint EP. Then, the axis control unit 50 executes a command block in the Y-axis direction in the section after the overlap endpoint EP. In this way, the axis control unit 50 drives and controls the control axis 110 so that it passes through the set overlap endpoint EP. Therefore, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0033] The overlap control will be further explained with reference to Figures 4 to 5C. Figure 4 is a diagram showing the movement path of the control axis 110 in this embodiment. Figures 5A to 5C are graphs showing the changes in feed rate in the X-axis direction and the Y-axis direction. Figure 5A is a graph when overlap control is not performed, and Figures 5B and 5C are graphs when overlap control is performed.
[0034] In the examples shown in Figures 4 to 5C, the currently executing command block is a command block that commands movement in the X-axis direction, and the subsequent command block is a command block that commands movement in the Y-axis direction. In Figure 4, path X1 shows the command path in the X-axis direction. That is, path X1 shows the movement path of the control axis 110 in the X-axis direction when there is no overlap. In Figure 4, path Y1 shows the command path in the Y-axis direction. That is, path Y1 shows the movement path of the control axis 110 in the Y-axis direction when there is no overlap. In Figure 4, path R1 shows the movement path of the control axis 110 in the comparative example when overlap control is performed from the current position NP without setting an overlap endpoint EP. The current endpoint NEP shows the endpoint of the control axis 110 in the comparative example when overlap control is performed from the current position NP. Path R2 shows the movement path of the control axis 110 according to this embodiment when an overlap endpoint EP is set and overlap control is performed from the current position NP. In Figures 5B and 5C, time SPt indicates the start time of the overlap. In Figures 5B and 5C, time EPt indicates the end time of the overlap.
[0035] As shown in Figure 4, the amount of inward curvature may be large in path R1. The current endpoint NEP, which is the end point of path R1, is located below the overlap endpoint EP. As a result, deterioration of machining accuracy and interference between the tool and the workpiece may occur.
[0036] On the other hand, the numerical control device 1 according to this embodiment performs overlap control based on the overlap endpoint EP.
[0037] First, as shown in Figure 5B, the overlap amount calculation unit 30 calculates an overlap amount OV2 (time) such that the end position of the execution command block B1 becomes the overlap endpoint EP. For example, the overlap amount calculation unit 30 calculates the overlap amount OV2 (time) based on the amount of movement d1 in the Y-axis direction from the start of the subsequent block B2 to the overlap endpoint EP. In other words, in Figure 5B, the overlap amount OV2 (time) is calculated so that the hatched portion becomes the amount of movement d1. The block start determination unit 40 determines the time when the remaining time until the execution command block B1 reaches the overlap endpoint becomes a predetermined time as the start point SP. For example, the block start determination unit 40 determines the time SPt when the remaining time until reaching the endpoint becomes the overlap amount OV2 (time) as the start point SP.
[0038] Next, the overlap amount calculation unit 30 calculates the overlap amount (distance) d2 (see Figure 4) of the execution command block B1 based on the overlap amount OV2 (time). In Figure 5C, the hatched area corresponds to the overlap amount (distance) d2.
[0039] Next, as shown in Figures 4 and 5C, the block start determination unit 40 determines that the time SPt is the starting point SP when the remaining distance until the executing command block B1 reaches the overlap endpoint EP is a predetermined distance (overlap amount (d2)). Alternatively, the block start determination unit 40 may determine that the time SPt is the starting point SP when the executing command block B1 starts to decelerate and its speed has decreased to a predetermined speed SPv.
[0040] Next, the axis control unit 50 starts executing the subsequent command block B2 from the starting point SP and drives the control axis 110. In other words, it starts overlap control from the starting point SP. The axis control unit 50 then performs overlap control for the overlap amount OV2. Therefore, overlap control is performed until the position of the control axis 110 reaches the overlap end point EP. As a result, the control axis 110 reaches the overlap end point EP specified when the overlap is completed. Therefore, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0041] Referring to FIGS. 6A to 6C, the acquisition of the overlap end point by the overlap end point acquisition unit 20 will be described. FIGS. 6A to 6C are diagrams for explaining the acquisition of the overlap end point.
[0042] As shown in FIG. 6A, the overlap end point acquisition unit 20 may acquire the overlap end point EP based on a parameter. The parameter is, for example, set by the user.
[0043] As shown in FIG. 6B, the overlap end point acquisition unit 20 may acquire the overlap end point EP based on a machining program. The overlap end point acquisition unit 20 acquires the overlap end point EP based on, for example, the amount of movement in the X-axis direction or Y-axis direction indicated by the command block.
[0044] As shown in FIG. 6C, the overlap end point acquisition unit 20 may acquire the overlap end point EP based on an external input. The overlap end point EP may be set by displaying a setting image G1 on an external terminal such as a personal computer, for example. Note that the overlap end point EP may also be set by displaying the setting image G1 on the output unit 60 (see FIG. 8) of the external terminal or the numerical control device 1, which will be described later with reference to FIGS. 8 and 9. The overlap end point EP is set at a position where deterioration of machining accuracy and interference between the tool and the workpiece do not occur. When the overlap end point EP is set at a position where deterioration of machining accuracy and interference between the tool and the workpiece may occur, the overlap end point acquisition unit 20 may cause an image indicating a warning to be displayed on the output unit 60 (see FIG. 8) of the external terminal or the numerical control device 1.
[0045] Referring to FIG. 7, the overlap control method of the numerical control device 1 according to the present embodiment will be described. FIG. 7 is a flowchart showing an example of the overlap control method of the numerical control device 1 according to the present embodiment. The overlap control is performed by executing the processes from step S102 to step S110 shown in FIG. 7.
[0046] In step S102, the program analysis unit 10 sequentially reads instruction blocks from the machining program and analyzes the read instruction blocks. The process proceeds to step S104.
[0047] In step S104, the overlap end point acquisition unit 20 acquires the overlap end point EP. The overlap end point EP indicates the end point of the overlap between two consecutive instruction blocks. The process proceeds to step S106.
[0048] In step S106, the overlap amount calculation unit 30 calculates the overlap amount between two consecutive instruction blocks based on the overlap end point EP and the control information related to the acceleration / deceleration control of the control axis. The process proceeds to step S108.
[0049] In step S108, the block start determination unit 40 determines the start point SP of the subsequent instruction block B2 based on the overlap amount OV2 and the control information related to the acceleration / deceleration control of the control axis 110. The process proceeds to step S110.
[0050] In step S110, the axis control unit 50 starts driving and controlling the control axis 110 from the start point SP for the execution of the subsequent instruction block B2. The process ends.
[0051] As explained above with reference to Figures 1 to 7, in the numerical control device 1, the overlap endpoint acquisition unit 20 acquires the overlap endpoint. The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks based on the overlap endpoint and control information related to the acceleration and deceleration control of the control axis 110. In other words, the numerical control device 1 calculates the overlap amount by specifying the overlap endpoint. The block start determination unit 40 determines the starting point 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 and drives the control axis 110. Then, it performs overlap control based on the calculated overlap amount. Therefore, when the overlap is completed, the control axis 110 reaches the specified overlap endpoint. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0052] 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 OV2. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0053] Furthermore, the block start determination unit 40 determines the start point SP to be at least one of the following: the time when the remaining time until the executing command block reaches the overlap endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the overlap endpoint 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 SP 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.
[0054] Furthermore, the overlap endpoint acquisition unit 20 acquires the overlap endpoint EP based on at least one of the parameters, the machining program, and the external input. Therefore, the overlap endpoint EP can be easily set.
[0055] [Embodiment 2] A numerical control device 1 according to Embodiment 2 of the present disclosure will be described with reference to Figures 8 and 9. Figure 8 is a block diagram showing the numerical control device 1 according to Embodiment 2. Figure 9 is a diagram showing the output unit 60. 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 output unit 60, so the overlapping parts will be omitted.
[0056] As shown in Figure 8, the numerical control device 1 includes a program analysis unit 10, an overlap endpoint acquisition unit 20, an overlap amount calculation unit 30, a block start determination unit 40, and an axis control unit 50, in addition to an output unit 60.
[0057] The output unit 60 is composed of, for example, an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), etc., and displays various images. For example, as shown in Figure 9, the output unit 60 outputs the movement path R2 of the control axis 110 as an image G2. If the overlap endpoint EP is set at a position where the movement path R2 may result in deterioration of machining accuracy or interference between the tool and the workpiece, the output unit 60 may display a warning image. The output unit 60 may also output the overlap amount as a numerical value. Specifically, for example, the output unit 60 may output the overlap time or distance as the overlap amount.
[0058] As described above with reference to Figures 8 and 9, the numerical control device 1 further includes an output unit 60. The output unit 60 outputs the overlap amount OV2 as a numerical value, or outputs the movement path R2 of the control axis 110 after the overlap as an image G2. Therefore, the user can visually confirm the application status of the overlap control.
[0059] As described above with reference to Figures 1 to 9, in the numerical control device 1 according to this embodiment, the overlap endpoint acquisition unit 20 acquires the overlap endpoint. The overlap amount calculation unit 30 calculates the overlap amount of two consecutive command blocks based on the overlap endpoint and control information related to the acceleration and deceleration control of the control axis 110. The block start determination unit 40 determines the starting point 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 and drives the control axis 110. Then, it performs overlap control based on the calculated overlap amount. Therefore, when the overlap is completed, the control axis 110 reaches the overlap endpoint specified. As a result, it is possible to shorten the machining time while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0060] 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 OV2. As a result, machining time can be shortened while avoiding deterioration of machining accuracy and interference between the tool and the workpiece.
[0061] Furthermore, the numerical control device 1 is further equipped with an output unit 60. The output unit 60 outputs the overlap amount OV2 as a numerical value, or outputs the movement path R2 of the control axis 110 after the overlap as an image G2. Therefore, the user can visually confirm the application status of the overlap control.
[0062] Furthermore, the block start determination unit 40 determines the start point SP to be at least one of the following: the time when the remaining time until the executing command block reaches the overlap endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the overlap endpoint 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 SP 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.
[0063] Furthermore, the overlap endpoint acquisition unit 20 acquires the overlap endpoint EP based on at least one of the parameters, the machining program, and the external input. Therefore, the overlap endpoint EP can be easily set.
[0064] 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.
[0065] 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)).
[0066] 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.
[0067] 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 endpoint acquisition unit (20) that acquires an overlap endpoint (EP) indicating the end point of the overlap of two consecutive command blocks; an overlap amount calculation unit (30) that calculates the overlap amount (OV2) 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 (110); and a block start determination unit (40) that determines the start point (SP) of a subsequent command block (B2) based on the overlap amount (OV2) and control information relating to the acceleration and deceleration control of the control axis (110), A numerical control device (1) comprises: an axis control unit (50) that drives and controls the control axis (110) by starting the execution of the subsequent command block (B2) from the starting point (SP), wherein the subsequent command block (B2) indicates the command block that will be executed after the currently executing command block (B1), and the currently executing command block (B1) indicates the command block that is currently being executed.
[0068] (Note 2) The numerical control device (1) described in Note 1, wherein the control information relating to the acceleration and deceleration control of the control shaft (110) includes at least one of the following: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft (110), and the amount of position deviation during drive control of the control shaft (110).
[0069] (Note 3) The numerical control device (1) according to Note 1 or Note 2, further comprising an output unit (60) that outputs the overlap amount (OV2) as a numerical value, or outputs the movement path (R2) of the control axis (110) after the overlap as an image (G2).
[0070] (Note 4) The numerical control device (1) according to any one of Notes 1 to 3, wherein the block start determination unit (40) determines the start point (SP) to be at least one of the following: the time when the remaining time until the executing command block reaches the overlap endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the overlap endpoint becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.
[0071] (Note 5) The overlap endpoint acquisition unit (20) acquires the overlap endpoint based on at least one of the parameters, the machining program, and the external input, as described in any one of Notes 1 to 4, the numerical control device (1).
[0072] 1 Numerical control unit 10 Program analysis unit 20 Overlap endpoint acquisition unit 30 Overlap amount calculation unit 40 Block start determination unit 50 Axis control unit 60 Output unit 100 Industrial machine 110 Control axis
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 endpoint acquisition unit that acquires an overlap endpoint indicating the endpoint of the overlap of two consecutive command blocks; an overlap amount calculation unit that 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; a block start determination unit that determines the start point of a subsequent command block based on the overlap amount and control information relating to the acceleration and deceleration control of the control axis; and an axis control unit that starts the execution of the subsequent command block from the start point and drives and controls the control axis, wherein the subsequent command block indicates the command block that will be executed after the currently executing command block, and the currently executing command block indicates the command block that is currently being executed.
2. The numerical control device according to claim 1, wherein the control information relating to the acceleration and deceleration control of the control shaft includes at least one of the following: feed rate, acceleration and deceleration data, acceleration and deceleration delay of the control shaft, and position deviation amount during drive control of the control shaft.
3. The numerical control device according to claim 1 or 2, further comprising an output unit that outputs the overlap amount as a numerical value, or outputs the movement path of the control axis after the overlap as an image.
4. The numerical control device according to any one of claims 1 to 3, 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 overlap endpoint becomes a predetermined time; the time when the remaining distance until the executing command block reaches the overlap endpoint becomes a predetermined distance; and the time when the executing command block starts to decelerate and its speed decreases to a predetermined speed.
5. The numerical control device according to any one of claims 1 to 4, wherein the overlap endpoint acquisition unit acquires the overlap endpoint based on at least one of the parameters, the machining program, and the external input.