Numerical control device and numerical control program
The numerical control device and program address machining errors by using a coordinate verification system to compare current coordinates with predefined shape formulas, ensuring accurate machining by stopping the process when errors are detected.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-17
- Publication Date
- 2026-03-26
AI Technical Summary
Existing numerical control devices fail to effectively detect and prevent machining errors during machining due to unintentional changes in path correction parameters or superposition of movement amounts, which existing countermeasures cannot fully address.
A numerical control device and program that includes a coordinate update unit, path calculation unit, shape identification unit, shape storage unit, shape formula generation unit, and coordinate verification unit to check for machining errors by comparing current coordinates with predefined shape formulas, issuing alarms and stopping machining when errors are detected.
Enables real-time detection and prevention of machining errors by comparing current coordinates with predefined shape formulas, ensuring accurate machining by invalidating drive commands and stopping the process when errors are identified.
Smart Images

Figure JP2024033031_26032026_PF_FP_ABST
Abstract
Description
Numerical control device and numerical control program
[0001] The present disclosure relates to a numerical control device that controls a machine tool.
[0002] Many numerical control devices move the machining points of a workpiece by a machine tool along a path based on a machining program.
[0003] Japanese Patent Application Laid-Open No. 2015-153063
[0004] In the above technology, there is a risk of incorrect machining due to errors in setting path correction parameters by an operator before machining starts or due to incorrect operations by the operator during machining interruption. As one of the countermeasures, for example, it is conceivable that the operator intervenes during machining interruption and checks for incorrect machining by the time of resumption.
[0005] However, incorrect machining may occur not only before machining starts or during machining interruption but also during machining due to unintentional changes in path correction parameters or superposition of unintentional movement amounts. In such cases, the above countermeasures cannot fully cope.
[0006] The present disclosure has been made in view of the above circumstances, and aims to enable checking for incorrect machining even during machining.
[0007] The numerical control device of the present disclosure is a numerical control device that controls a machine tool based on a machining program, including: a coordinate update unit that updates a predetermined current coordinate related to a machining point during machining of a workpiece by the machine tool; a path calculation unit that calculates a planned path of the machining point based on the machining program; a shape identification unit that identifies shape information of each block obtained by dividing the planned path into a plurality of blocks; a shape storage unit that stores the shape information and the corresponding blocks; a shape formula generation unit that reads out the shape information corresponding to an execution block as the block for executing machining from the shape storage unit and generates a shape formula; a coordinate confirmation unit that compares the current coordinate with coordinates that satisfy the shape formula of the current execution block; and a result output unit that outputs the result of the comparison.
[0008] The numerical control program of this disclosure is a numerical control program that causes a computer to function as a numerical control device that controls a machine tool based on a machining program, and includes: a coordinate update unit that updates predetermined current coordinates related to machining points during machining of a workpiece by the machine tool; a path calculation unit that calculates a planned path of the machining points based on the machining program; a shape identification unit that identifies the shape information of each block into which the planned path is divided into multiple parts; a shape storage unit that stores the shape information and the corresponding block; a shape formula generation unit that reads the shape information corresponding to an execution block as the block that performs machining from the shape storage unit and generates a shape formula; a coordinate confirmation unit that compares the current coordinates with the coordinates of the current execution block that satisfy the shape formula; and a result output unit that outputs the result of the comparison, thereby causing the computer to function.
[0009] This is a diagram showing the numerical control device and machine tool of the first embodiment. This is a diagram showing an example of a predicted path. This is an image diagram showing the shape memory unit. This is a diagram showing an example of the current command coordinates on the predicted path. This is a diagram showing an example of the current theoretical distance and the current amount moved. This is a flowchart showing control by the numerical control device. This is a diagram showing the numerical control device and machine tool of the first embodiment.
[0010] The embodiments of this disclosure will be described below with reference to the drawings. However, this disclosure is not limited in any way to the embodiments described below, and may be modified as appropriate without departing from the spirit of this disclosure.
[0011] [First Embodiment] As shown in Figure 1, the numerical control device 60 is provided with respect to the machine tool 90. The machine tool 90 comprises a spindle 91, a table 93, and a feed device 95. The spindle 91 extends, for example, in the vertical direction and is configured to be rotatable about the vertical direction as an axis. A tool T is attached to the lower end of the spindle 91. The table 93 is configured to hold a workpiece W. The feed device 95 comprises a plurality of feed axes. The feed device 95 moves the tool T relative to the workpiece W by moving the spindle 91 relative to the table 93 in the axial direction of the feed axes, thereby moving the machining point P of the workpiece W by the machine tool 90. The axial direction of these plurality of feed axes may be, for example, a six-axis direction, a five-axis direction excluding the length direction of the spindle 91, or a four-axis or less direction.
[0012] The numerical control device 60 controls the machine tool 90 according to the machining program 11, thereby advancing the machining of the workpiece W. The numerical control device 60 is mainly composed of a computer and a numerical control program loaded into it. The computer includes, for example, a CPU, ROM, RAM, etc. The numerical control program is stored on a recording medium readable by the computer. The numerical control program causes the computer to function as the numerical control device 60. Thus, the numerical control device 60 is realized through the cooperation of the computer and the numerical control program.
[0013] The numerical control device 60 comprises a coordinate update unit 21 and a control unit 51. Hereinafter, the current command coordinates of the machining point P are referred to as "current command coordinates Pc". Also, the current feedback coordinates of the machining point P, based on the position feedback of the machining point P from the machine tool 90, are referred to as "current feedback coordinates Pf".
[0014] The coordinate update unit 21 updates the current command coordinate Pc and the current feedback coordinate Pf as the machining progresses. In this embodiment, the current command coordinate Pc may be read as "current coordinate" among these current command coordinate Pc and current feedback coordinate Pf.
[0015] The control unit 51 controls the machine tool 90 based on the current command coordinates Pc, etc., which are updated by the coordinate update unit 21. Specifically, the control unit 51 controls the feed device 95 based on the current command coordinates Pc, etc. The control unit 51 also controls the rotational speed of the spindle 91 based on commands from the machining program 11.
[0016] The numerical control device 60 further includes a path calculation unit 31, a path identification unit 32, a shape storage unit 33, a shape formula generation unit 34, a movement amount calculation unit 35, a coordinate verification unit 41, a result output unit 42, and a handling unit 43.
[0017] The path calculation unit 31 calculates the planned path Rt of the machining point P, for example, as shown in Figure 2, based on the machining program 11. Hereinafter, each block obtained by dividing the planned path Rt into multiple parts will be referred to as "block B". These blocks B include, for example, the first to sixth blocks B1 to B6, as shown in Figure 2.
[0018] The shape identification unit 32 identifies the shape information Sp for each of the blocks B. This shape information Sp includes, for example, information regarding the starting point coordinates, information regarding the ending point coordinates, information regarding the shape, information regarding the arc center coordinates, etc., as shown in Figure 3.
[0019] The shape memory unit 33 stores the identified shape information Sp and the corresponding block B. Hereinafter, the block B on which processing is performed will be referred to as the "execution block Be".
[0020] The shape formula generation unit 34 reads shape information Sp corresponding to the current execution block Be from the shape storage unit 33 and generates a shape formula Fm.
[0021] Specifically, for example, if the first block B1 shown in Figure 2 is the execution block Be, then "X = 0, 0 ≤ Y ≤ 5" is generated as the shape expression Fm. Also, if the second block B2 is the execution block Be, then "Y = 5, 0 ≤ X ≤ 10" is generated as the shape expression Fm. Furthermore, if the third block B3 is the execution block Be, then "Y = -X + 15, 0 ≤ X ≤ 10, 5 ≤ Y ≤ 15" is generated as the shape expression Fm.
[0022] Furthermore, if the fourth block B4 is the execution block Be, then "X 2 + (Y - 10) 2 = 5 2 The shape formula Fm is generated as "X = -5, 5 ≤ X ≤ 0, 10 ≤ Y ≤ 15". Also, if the fifth block B5 is the execution block Be, the shape formula Fm is generated as "X = -5, 5 ≤ Y ≤ 10". Also, if the sixth block B6 is the execution block Be, the shape formula Fm is generated as "Y = 5, -5 ≤ X ≤ 0".
[0023] The movement amount calculation unit 35 shown in Figure 1 accumulates the movement amount of the machining point P based on the movement speed Vc of the current command coordinate Pc at each update cycle of the current command coordinate Pc. This allows it to calculate the current movement amount L1 of the machining point P within the current execution block Be, for example, as shown in Figure 5. Specifically, for example, the current movement amount L1 is calculated from the time integral of the movement speed of the current command coordinate Pc.
[0024] The coordinate verification unit 41 compares the current command coordinates Pc, which are being updated by the coordinate update unit 21, with the coordinates that satisfy the shape formula Fm of the current execution block Be, for example, during machining as shown in Figure 4. Specifically, it checks whether the current command coordinates Pc are within a predetermined range from the coordinates that satisfy the shape formula Fm. If they are not within that range, it determines that an error has occurred during machining.
[0025] This verification can be performed, for example, by substituting the values (X, Y) of the current command coordinates Pc into the shape formula Fm, and determining whether the absolute value of the difference between the left and right sides of the resulting shape formula Fm is less than or equal to a predetermined threshold. Specifically, for example, suppose the current command coordinates Pc in the third block B3 are (7.2, 8.0). Substituting this into the shape formula Fm of the third block B3, which is "Y = -X + 15", the left side becomes "8.0" and the right side becomes "7.8". Therefore, the absolute value of the difference between the left and right sides is "0.2". In this case, for example, if the threshold is "0.3", the absolute value of the difference between the left and right sides (0.2) is less than or equal to the threshold (0.3), so it is determined to be within the predetermined range, and it is determined that no processing error has occurred.
[0026] On the other hand, suppose the current command coordinate Pc is (7.2, 8.2). Substituting this into the shape formula Fm of the third block B3, "Y = -X + 15", the left side becomes "8.2" and the right side becomes "7.8". Therefore, the absolute value of the difference between the left and right sides is "0.4". In this case as well, if the threshold is "0.3", the absolute value of the difference between the left and right sides (0.4) is greater than the threshold (0.3), so it is determined that it is outside the specified range and that an error has occurred.
[0027] Furthermore, the coordinate verification unit 41 checks, for example, whether the value of X at the current command coordinate Pc is within an expanded range obtained by expanding the range of X in the current execution block Be by a predetermined threshold on both the plus and minus sides. If the value of X at the current command coordinate Pc is not within the expanded range, it is determined that a machining error has occurred. Specifically, for example, suppose the current execution block Be is the third block B3 and the threshold is "0.1". In this case, since the range of X in the third block B3 is "0 to 10", the expanded range obtained by expanding it by the threshold (0.1) on both the plus and minus sides is "-0.1 to 10.1". In this case, suppose the value of X at the current command coordinate Pc is "10.2". In this case, since the value of X at the current command coordinate Pc (10.2) is not within the expanded range (-0.1 to 10.1), it is determined that a machining error has occurred.
[0028] Furthermore, the coordinate verification unit 41, in substantially the same manner, checks whether the Y value at the current command coordinate Pc is within an expanded range obtained by expanding the Y range in the current execution block Be by a predetermined threshold on both the positive and negative sides. If the Y value at the current command coordinate Pc is not within the expanded range, it is determined that a machining error has occurred.
[0029] Furthermore, in the above case, the shape formula Fm of the fourth block B4 is "X 2 + (Y - 10) 2 = 5 2The condition "-5 ≤ X ≤ 0, 10 ≤ Y ≤ 15" may be changed to, for example, "X = 5 × cosθ, Y = 10 + 5 × sinθ, 90° ≤ θ ≤ 180°". The coordinate verification unit 41 may also verify whether the value of θ at the current command coordinate Pc is within an expanded range obtained by expanding the range of θ in the current execution block Be by a predetermined threshold on both the positive and negative sides.
[0030] Furthermore, the coordinate verification unit 41 calculates the current theoretical distance L2 during machining, for example, as shown in Figure 5. Here, "current theoretical distance L2" refers to the distance from the starting point of the current execution block Be to the current command coordinate Pc along the execution block Be. The coordinate verification unit 41 compares the current theoretical distance L2 with the current amount moved L1. Specifically, for example, it checks whether the absolute value of the difference between the current theoretical distance L2 and the current amount moved L1 is less than or equal to a predetermined threshold. If it is not less than or equal to the threshold, it determines that a machining error has occurred.
[0031] More specifically, suppose the threshold is "0.3", the current theoretical distance L2 is "4.3", and the current amount moved is "4.1". In this case, the absolute value of the difference between the current theoretical distance L2 and the current amount moved L1 is "0.2", which is less than or equal to the threshold (0.3), so it is determined that no processing error has occurred. On the other hand, suppose the current theoretical distance L2 is "4.5" instead of "4.3". In this case, the absolute value of the difference between the current theoretical distance L2 and the current amount moved L1 is "0.4", which is greater than the threshold (0.3), so it is determined that processing error has occurred.
[0032] The result output unit 42 shown in Figure 1 outputs the result Rs of these checks performed by the coordinate verification unit 41 to the handling unit 43.
[0033] When the handling unit 43 detects an error in machining based on the comparison in the coordinate verification unit 41, it transmits an alarm signal As to the control unit 51. Upon receiving the alarm signal As, the control unit 51 issues an alarm to the operator. This alarm may appeal to the visual sense, such as through a screen display, or to the auditory sense, such as through an alarm sound, or both. At this time, the control unit 51 also invalidates the movement command for the machining point P by reverting the current command coordinate Pc to the previous one, thereby invalidating the drive command to the feed device 95.
[0034] Next, the control during machining by the numerical control device 60 described above will be explained with reference to the flowchart in Figure 6. In the following, "S" before a number stands for "step". The control by the path calculation unit 31, path identification unit 32, and shape memory unit 33 shown in Figure 1 is performed before the start of machining.
[0035] As shown in Figure 6, during machining, first, in S1, the shape formula generation unit 34 generates the shape formula Fm of the current execution block Be. Next, in S2, the movement amount calculation unit 35 calculates the amount moved L1. Next, in S3, the coordinate verification unit 41 verifies the coordinates. Specifically, it verifies whether the current command coordinate Pc is within a predetermined range from the coordinates that satisfy the shape formula Fm of the current execution block Be. It also verifies whether the absolute value of the difference between the current theoretical distance L2 and the current amount moved L1 is within a predetermined range. If the coordinate verification in S3 is determined to be normal, the process proceeds to S4. In S4, the control unit 51 causes the feed device 95 to perform axis movement and then returns to S1.
[0036] On the other hand, if the coordinate verification unit 41 determines that there is an abnormality in the coordinate verification in S3 described above, the process proceeds to S5. In S5, the response unit 43 transmits an alarm signal As to the control unit 51, thereby disabling the axis movement by the feed device 95. As a result, machining stops in the following S6.
[0037] The configuration and effects of this embodiment are summarized below.
[0038] The path calculation unit 31 calculates a planned path Rt of the machining point P based on the machining program 11, as shown in FIG. 2 for example. The shape identification unit 32 identifies the shape information Sp of each block B obtained by dividing the planned path Rt into a plurality of blocks. The shape storage unit 33 stores the shape information Sp and the corresponding block B, as shown in FIG. 3 for example. The shape formula generation unit 34 reads out the shape information Sp corresponding to the execution block Be from the shape storage unit 33 and generates a shape formula Fm. The coordinate confirmation unit 41 compares, for example, the current command coordinate Pc shown in FIG. 4 with the coordinates that satisfy the shape formula Fm of the current execution block Be. From this, it is possible to check for machining errors even during machining. Therefore, for example, even when machining errors occur due to an unintentional change in the path correction parameter during machining or an unintentional superposition of the movement amount during machining, it is possible to respond.
[0039] The movement amount calculation unit 35 shown in FIG. 1 accumulates the movement amount of the machining point P based on the movement speed of the current command coordinate Pc for each update cycle of the current command coordinate Pc. Thereby, for example, as shown in FIG. 5, the moved amount L1 of the machining point P within the current execution block Be is calculated. The coordinate confirmation unit 41 compares the current theoretical distance L2 with the current moved amount L1. From this, it is possible to check not only for machining errors when the current command coordinate Pc deviates from the locus of the current execution block Be, but also for machining errors when the current command coordinate Pc deviates in the length direction on the locus of the current execution block Be.
[0040] The countermeasure unit 43 shown in FIG. 1 issues an alarm signal As when a machining error is detected based on the comparison by the coordinate confirmation unit 41. Thereby, the drive command based on the current command coordinate Pc is invalidated and machining is stopped. Therefore, when a machining error is detected, machining can be stopped promptly.
[0041] [Second Embodiment] Next, the second embodiment will be described while referring to FIG. 7. For this embodiment, the description will focus on the points different from the first embodiment based on the first embodiment, and the description of the same or similar points as the first embodiment will be omitted as appropriate.
[0042] In this embodiment, it is different from the first embodiment in that the coordinate confirmation unit 41 shown in FIG. 7 performs coordinate confirmation based on the current feedback coordinate Pf instead of the current command coordinate Pc. Therefore, the coordinate confirmation unit 41 compares the current feedback coordinate Pf with the coordinates that satisfy the shape formula Fm of the current execution block Be, for example, instead of the current command coordinate Pc shown in FIG. 4. Further, the coordinate confirmation unit 41 compares the current theoretical distance based on the current feedback coordinate Pf with the current moved amount L1, for example, instead of the current theoretical distance L2 based on the current command coordinate Pc shown in FIG. 5.
[0043] According to this embodiment, by performing coordinate confirmation based on the current feedback coordinate Pf, the same effect as in the case of the first embodiment can be obtained.
[0044] [Other Embodiments] The embodiments shown above can be modified as follows, for example. The movement amount calculation unit shown in FIG. 1 may be eliminated, and the comparison between the current theoretical distance L2 and the current moved amount L1 as shown in FIG. 5 may not be performed. Even in such a case, for example, incorrect machining in the case where the current command coordinate Pc deviates from the locus of the current execution block Be as shown in FIG. 4 can be checked.
[0045] According to the above embodiments, the numerical control devices of Supplementary Notes 1 to 5 and the numerical control program of Supplementary Note 6 shown below can be realized.
[0046] [Note 1] A numerical control device (60) that controls a machine tool (90) based on a machining program (11), comprising: a coordinate update unit (21) that updates predetermined current coordinates (Pc, Pf) related to the machining point while the machine tool (90) is machining a workpiece (W); a path calculation unit (31) that calculates a planned path (Rt) of the machining point based on the machining program (11); a shape identification unit (32) that identifies the shape information (Sp) of each block (B) into which the planned path (Rt) is divided; a shape storage unit (33) that stores the shape information (Sp) and the corresponding block (B); and a shape expression generation unit (34) that reads the shape information (Sp) corresponding to the execution block (Be) as the block (B) that performs machining from the shape storage unit (33) and generates a shape expression (Fm). A numerical control device (60) comprising: a coordinate verification unit (41) that compares the current coordinates (Pc, Pf) with the coordinates of the current execution block (Be) that satisfy the shape formula (Fm); and a result output unit (42) that outputs the result of the comparison.
[0047] [Note 2] The current coordinates (Pc, Pf) are the current command coordinates (Pc) of the machining point, as described in Note 1 (60).
[0048] [Note 3] The current coordinates (Pc, Pf) are the current feedback coordinates (Pf) of the machining point, based on the position feedback of the machining point from the machine tool (90), as described in Note 1, for the numerical control device (60).
[0049] [Note 4] The numerical control device (60) according to any one of Notes 1 to 3, wherein the coordinate update unit (21) updates at least the current command coordinate (Pc) of the processing point, the numerical control device (60) includes a movement amount calculation unit (35) that calculates the amount the processing point has moved (L1) within the current execution block (Be) by accumulating the amount the processing point has moved based on the movement speed of the current command coordinate (Pc) at each update cycle of the current command coordinate (Pc), and the coordinate confirmation unit (41) compares the distance (L2) from the starting point of the current execution block (Be) along the execution block (Be) to reach the current coordinate (Pc, Pf) with the current amount the processing point has moved (L1).
[0050] [Note 5] The numerical control device (60) according to any one of Notes 1 to 4, wherein the coordinate update unit (21) updates at least the current command coordinate (Pc) of the machining point, and the numerical control device (60) includes a countermeasure unit (43) that disables the drive command based on the current command coordinate (Pc) and stops machining when an incorrect machining is detected based on the comparison in the coordinate confirmation unit (41).
[0051] [Note 6] A numerical control program that makes a computer function as a numerical control device (60) that controls a machine tool (90) based on a machining program (11), comprising: a coordinate update unit (21) that updates predetermined current coordinates (Pc, Pf) related to the machining point while the machine tool (90) is machining the workpiece (W); a path calculation unit (31) that calculates the planned path (Rt) of the machining point based on the machining program (11); a shape identification unit (32) that identifies the shape information (Sp) of each block (B) into which the planned path (Rt) is divided; a shape storage unit (33) that stores the shape information (Sp) and the corresponding block (B); and a shape expression generation unit (34) that reads the shape information (Sp) corresponding to the execution block (Be) as the block (B) that performs the machining from the shape storage unit (33) and generates a shape expression (Fm). A numerical control program that causes the computer to function includes: a coordinate verification unit (41) that compares the current coordinates (Pc, Pf) with the coordinates of the current execution block (Be) that satisfy the shape formula (Fm); and a result output unit (42) that outputs the result of the comparison.
[0052] 11 Machining program 21 Coordinate update unit 31 Path calculation unit 32 Shape identification unit 33 Shape memory unit 35 Movement amount calculation unit 34 Shape formula generation unit 41 Coordinate confirmation unit 42 Result output unit 43 Handling unit 60 Numerical control device 90 Machine tool B Block Be Execution block Fm Shape formula L1 Movement amount L2 Current theoretical distance Pc Current command coordinates (current coordinates: first embodiment) Pf Current feedback coordinates (current coordinates: second embodiment) Rt Planned path Sp Shape information W Work
Claims
1. A numerical control device for controlling a machine tool based on a machining program, comprising: a coordinate update unit that updates predetermined current coordinates related to a machining point while the machine tool is machining a workpiece; a path calculation unit that calculates a planned path of the machining point based on the machining program; a shape identification unit that identifies the shape information of each block into which the planned path is divided; a shape storage unit that stores the shape information and the corresponding block; a shape formula generation unit that reads the shape information corresponding to an execution block as the block that performs machining from the shape storage unit and generates a shape formula; a coordinate confirmation unit that compares the current coordinates with the coordinates of the current execution block that satisfy the shape formula; and a result output unit that outputs the result of the comparison.
2. The numerical control device according to claim 1, wherein the current coordinates are the current command coordinates of the machining point.
3. The numerical control device according to claim 1, wherein the current coordinates are the current feedback coordinates of the machining point, based on the position feedback of the machining point from the machine tool.
4. The numerical control device according to any one of claims 1 to 3, wherein the coordinate update unit updates at least the current command coordinate of the machining point, the numerical control device includes a movement amount calculation unit that calculates the amount the machining point has moved within the current execution block by accumulating the amount the machining point has moved based on the movement speed of the current command coordinate at each update cycle of the current command coordinate, and the coordinate confirmation unit compares the distance from the starting point of the current execution block to the current coordinate along the execution block with the current amount the machining point has moved.
5. The numerical control device according to any one of claims 1 to 4, wherein the coordinate update unit updates at least the current command coordinates of the machining point, and the numerical control device includes a countermeasure unit that, when an incorrect machining is detected based on the comparison in the coordinate confirmation unit, invalidates the drive command based on the current command coordinates and stops the machining.
6. A numerical control program that causes a computer to function as a numerical control device that controls a machine tool based on a machining program, comprising: a coordinate update unit that updates predetermined current coordinates related to the machining point while the machine tool is machining a workpiece; a path calculation unit that calculates a planned path of the machining point based on the machining program; a shape identification unit that identifies the shape information of each block into which the planned path is divided into multiple parts; a shape storage unit that stores the shape information and the corresponding block; a shape formula generation unit that reads the shape information corresponding to the execution block as the block that performs machining from the shape storage unit and generates a shape formula; a coordinate confirmation unit that compares the current coordinates with the coordinates of the current execution block that satisfy the shape formula; and a result output unit that outputs the result of the comparison, the numerical control program that causes the computer to function.
Citation Information
Patent Citations
Automatic programming device for NC lathe
JP1989290006A
Numerical control device having display part for displaying information for evaluating processing
JP2013250636A
Numerically controlled machine tool measuring apparatus
JP2019016216A
Numerical controller, processing route setting method, and program
JP2020077311A
Numerical control device
WO2022138843A1