Numerical control device, information processing device, and computer-readable storage medium

The numerical control device uses polynomials to generate movement commands, addressing high processing loads in curved non-cutting sections by reducing command frequency and improving computational efficiency.

WO2025220115A1PCT designated stage Publication Date: 2025-10-23FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/015133
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-16
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing numerical control systems face high processing loads due to the need to command minute line segments for tool movement along curved non-cutting sections, leading to increased computational demands.

Method used

A numerical control device that employs a curve command reading unit, mathematical expression derivation unit, and curve command analysis unit to generate movement commands using polynomials, reducing the number of commands and processing load by expressing tool trajectories with polynomials.

Benefits of technology

Reduces the capacity and processing load of machining programs by combining commands and adjusting the number of commands per unit time, enabling efficient tool movement in non-cutting sections.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024015133_23102025_PF_FP_ABST
    Figure JP2024015133_23102025_PF_FP_ABST
Patent Text Reader

Abstract

This numerical control device reads curve instructions and a speed instruction of a processing program, derives a polynomial expressing the trajectory and speed of a tool on the basis of coefficients included in the instructions, generates a movement instruction for each control cycle from the polynomial, and outputs the movement instructions to execute control.
Need to check novelty before this filing date? Find Prior Art

Description

Numerical control device, information processing device, and computer-readable storage medium

[0001] The present disclosure relates to a numerical control device, an information processing device, and a computer-readable storage medium.

[0002] In machine tool machining, cutting and non-cutting sections are typically repeated. In the cutting sections, the tool is moved along the machining path. In the non-cutting sections, it is common to move each axis independently while avoiding contact with the workpiece. That is, the tool is moved linearly in the X-axis and Y-axis directions while avoiding contact with the workpiece. There is also a technique for moving the tool in a curved line to shorten the movement time in the non-cutting sections (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2021-12522

[0004] When moving a tool along a curve, the curve is divided into minute line segments and the position and speed are commanded. Dividing a curve into minute line segments increases the amount of commands to be processed per unit time, which increases the load.

[0005] In the field of numerical control, it is desirable to reduce the processing load for analyzing and executing tool movement commands in curved non-cutting sections.

[0006] A numerical control device according to one aspect of the present disclosure includes a curve command reading unit that reads curve commands of a machining program, a mathematical expression derivation unit that derives a polynomial that expresses a tool trajectory based on coefficients included in the curve command, a curve command analysis unit that generates a movement command for each control cycle from the polynomial, and a curve command unit that outputs the movement command and executes control.

[0007] 7 is a block diagram of a numerical control device of a first embodiment. FIG. 8 is a diagram showing an example of a machining program including a curve command. FIG. 9 is a diagram showing a tool trajectory expressed by a polynomial. FIG. 10 is a flowchart explaining the operation of a numerical control device. FIG. 11 is a diagram showing an example of a conventional machining program for a curve in a non-cutting section. FIG. 12 is a block diagram of a numerical control device of a second embodiment. FIG. 13 is an example of a machining program including a block for saving and executing curve commands. FIG. 14 is a diagram showing a tool trajectory when the machining program of FIG. 7 is executed. FIG. 15 is a block diagram of an information processing device of a third embodiment. FIG. 16 is a diagram showing an example of a machining program that calls a file of binary format movement commands. FIG. 17 is a diagram showing an example of binary format movement commands. FIG. 18 is a block diagram of an information processing device 200 of a fourth embodiment. FIG. 19 is a hardware configuration diagram of the numerical control device of the first and second embodiments, and the information processing device of the third embodiment.

[0008] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplicate descriptions of those components may be omitted.

[0009] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on other elements in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on XX that has been calculated or processed. "XX" is any element (for example, any information).

[0010] 1 is a block diagram of a numerical control device 100 according to a first embodiment. The numerical control device 100 includes a curve command reading unit 1, a mathematical expression deriving unit 2, a curve command analyzing unit 3, and a curve command unit 4.

[0011] The curve command reading unit 1 reads the curve command of the machining program. The grammar of the curve command is not an existing one, but is newly disclosed in this embodiment. The curve command is a polynomial that calculates the "X coordinate," "Y coordinate," and "Z coordinate" expressed in the machining program. The grammar of the curve command includes a word indicating the degree of the polynomial and a word indicating the coefficient of the polynomial. FIG. 2 shows an example of a curve command. The curve commands in FIG. 2 are "G0Gx.xP1A_B_C_," "P2A_B_C_," "P3A_B_C_," and "P4A_B_C_." "Gx.x" on the first line indicates that this is a curve command. "A_," "B_," and "C_" are words indicating the coefficients of each axis. In this embodiment, "A_" indicates the coefficient of the term that calculates the "X coordinate," "B_" indicates the "Y coordinate," and "C_" indicates the coefficient of the term that calculates the "Z coordinate." "P_" is a word indicating the degree. The number after "P" indicates "degree + 1." That is, in the case of "P2A_B_C_", the degree of the terms used to calculate the "X coordinate", "Y coordinate", and "Z coordinate" is "1". In the case of "P3A_B_C_", the degree of the terms used to calculate the "X coordinate", "Y coordinate", and "Z coordinate" is "2".

[0012] The mathematical formula derivation unit 2 converts the curve command read from the machining program into a polynomial. The following are formulas showing the "X coordinate," "Y coordinate," and "Z coordinate." The mathematical formula is a curve that smoothly passes through passing points, which will be described later. The method of connecting multiple points with a curve is called interpolation. There are multiple interpolation methods, but they are well-known techniques, so their explanation will be omitted.

[0013]

[0014] Figure 3 shows the tool trajectory expressed by a polynomial. In the example of Figure 3, the tool drills holes at two locations. There is a non-cutting section between the first machining (machining 1) and the next machining (machining 2).

[0015] The passing points in this embodiment include a movement start position P0 of a non-cutting command, a maximum lifting point P2, a movement end position P4, etc. Furthermore, new passing points may be defined so that these passing points do not come into contact with the workpiece to be machined.

[0016] The polynomial in this embodiment expresses the "X coordinate," "Y coordinate," and "Z coordinate," which are elements of three-dimensional coordinates, as functions with time t as a variable. The "X coordinate," "Y coordinate," and "Z coordinate" indicate the position of the tool at time t. By differentiating the functions of the "X coordinate," "Y coordinate," and "Z coordinate," the tool speed at time t can be calculated. In the example of FIG. 3, since translation occurs relative to the XZ plane, functions in the three directions of the "X axis," "Y axis," and "Z axis" are not necessary, and only functions of the two axes, the "X axis," and the "Z axis," are found.

[0017] Furthermore, the function does not necessarily have to be a function of time t. For example, a NURBS curve formula (Non-Uniform Rational B-Splines) can be used as the function. A NURBS curve can express the path of each of the X, Y, and Z axes as a polynomial function, similar to the former, for the parameter t. However, since a NURBS curve formula is not a function of time, it is necessary to similarly express the velocity as a polynomial. As with the previous command format, "G0Gx.xPnA_B_C_α_β_γ" is used, and the coefficients of order n+1 for the command position are specified by A, B, and C, while the coefficients of order n+1 for the velocity are specified by α, β, and γ.

[0018] The curve command analysis unit 3 calculates the tool position and the tool speed at that position from the polynomial obtained from the curve command, and generates a movement amount (movement command) for the control cycle.

[0019] The curve command analysis unit 3 corrects the movement command generated from the polynomial. If the movement amount calculated from the polynomial cannot be analyzed by the industrial machine per control cycle, the curve command analysis unit combines blocks and corrects the movement amount so that it falls within an appropriate range.

[0020] The curve command unit 4 outputs a movement command calculated from the polynomial to a servo amplifier, etc. The tool moves in the non-cutting section along a path and at a speed indicated by the curve command.

[0021] The operation of the numerical control device 100 will be described with reference to Fig. 4. The numerical control device 100 analyzes a machining program and performs machining. When the machining program includes a curve command as shown in Fig. 2, the curve command reading unit 1 also reads the coefficients of the polynomial and the degree of the polynomial in accordance with the grammar of the curve command (step S1).

[0022] The mathematical expression deriving section 2 derives a polynomial based on the coefficients and degrees read by the curve command reading section 1 (step S2).

[0023] The curve command analysis unit 3 calculates the tool position and the tool speed at that position from the polynomial obtained from the curve command (step S3).The curve command analysis unit 3 calculates the tool movement amount for each control cycle from the tool speed and generates a movement command (step S4).

[0024] The curve command unit 4 outputs a tool movement command for each control cycle to the servo amplifier (step S5). The servo motor moves the tool in accordance with the movement command. The tool moves through the non-cutting section along the path and at the speed indicated by the curve command.

[0025] The numerical control device 100 of this embodiment employs a notation method called a curve command, and therefore can reduce the capacity of the machining program.

[0026] For comparison, a conventional machining program will be described. Moving a tool along a curve in a conventional machining program requires a large number of commands. This is because, in the past, to command a curve where the speed changes depending on the tool position, the curve was divided into infinitesimal line segments and a speed command was issued for each infinitesimal line segment. Therefore, the conventional program required the same number of commands as the number of infinitesimal line segments. Figure 5 shows a conventional machining program for a curve in a non-cutting section. In the example of Figure 5, the tool is moved along a curve by successively executing movement commands and speed commands for infinitesimal line segments, such as "G0Z-49.998.F2000.0," "G0Z-49.995X100.001.F2001.0," ..., "G0Z5.0X150.F2000.0." Conventional machining programs require the same number of commands as the infinitesimal line segments to represent a curve, resulting in a large machining program capacity.

[0027] According to the numerical control device 100 of this embodiment, by expressing a curve using a polynomial, the machining program becomes shorter, the capacity of the machining program is reduced, and the load of reading the machining program can be reduced.

[0028] Furthermore, since the tool movement speed is high in the non-cutting section, if commands are generated for the number of minute line segments as in the conventional method, the number of commands to be processed per unit time will be large. According to the numerical control device 100 of this embodiment, by expressing the curve with a polynomial, commands can be combined and the number of movement commands to be processed per unit time can be adjusted.

[0029] Furthermore, according to the numerical control device 100 of this embodiment, since the polynomial uses the tool time t as a variable, the coordinates and velocity of the tool can be calculated from the polynomial by differentiating the polynomial. Based on these coordinates and velocity, the numerical control device 100 can generate a movement command for the movement amount that the machine tool can analyze per control cycle. Furthermore, even if the command related to velocity is not a function of time t like a NURBS curve equation, it is possible to calculate the coordinates and velocity of the tool by expressing it in the form of a polynomial.

[0030] Second Embodiment Fig. 6 is a block diagram of a numerical control device 100 according to a second embodiment. The numerical control device 100 according to the second embodiment includes a curve command reading unit 1, a mathematical formula derivation unit 2, a curve command analysis unit 3, a curve command unit 4, and a curve command storage unit 5. The curve command storage unit 5 stores curve commands for non-cutting sections. The stored curve commands can be read out as needed. Note that a description of the same components of the numerical control device 100 according to the second embodiment as those of the first embodiment will be omitted.

[0031] Figure 7 shows an example of a machining program that executes the stored curve command. In Figure 7, the curve command expressed by the block between "G0Gx.xL1" and "Gx.yL1" in the machining program is saved in the curve command storage unit. In the next block, "Gx.zL1X10.0", the created curve command is translated by "X10.0" and executed.

[0032] Fig. 8 shows the trajectory of the tool when the machining program of Fig. 7 is executed. This trajectory passes through the movement start position P0, the highest lift point P2, and the movement end position P4. The machining program of Fig. 7 stores this curve command. Then, the start point is translated by "X10.0" and the tool is moved according to the stored curve command. In the numerical control device 100 of the second embodiment, by defining and storing the curve command, not only is the size of the machining program for the curve command reduced, but the load on the curve command analysis unit is also reduced.

[0033] 9 is a block diagram of a numerical control device 100 according to a third embodiment. The numerical control device 100 includes a curve command reading unit 1, a curve command analyzing unit 3, a curve command unit 4, and a binary storage unit 6. Note that in the numerical control device 100 according to the third embodiment, a description of the same components as those in the first embodiment will be omitted.

[0034] The numerical control device 100 of the third embodiment includes a binary storage unit 6. The binary storage unit 6 is a storage area for programs that can be referenced by the numerical control device 100. The binary storage unit 6 stores movement commands in binary format. The binary format is a digital representation of the movement amount of a tool. By converting the movement commands into binary format, analysis is not required and processing is faster. In FIG. 10, the curve command of the machining program is replaced with a block called "G0.new". When the curve command reading unit 1 reads the command "G0.new" from the machining program, it reads the "G0.new" file from the binary storage unit 6. The curve command unit 4 outputs the binary movement command read from the "G0.new" file to a servo amplifier or the like.

[0035] In the numerical control device 100 of the second embodiment, since a binary format movement command is directly issued, analysis of the machining program is not required, and the calculation load can be reduced.

[0036] Fig. 11 shows an example of a binary format movement command. A binary format movement command is expressed by arranging a combination of X movement amount, Y movement amount, and Z movement amount for each control cycle. The binary format has the advantage of being easy to read because it expresses changes in the tool position in chronological order.

[0037] [Fourth Embodiment] In a fourth embodiment, an external information processing device 200 analyzes curve commands in a machining program and generates axis movement commands. Fig. 12 is a block diagram of the information processing device 200 of the fourth embodiment. The information processing device 200 is, for example, a computer such as a personal computer attached to a numerical control device, a personal computer connected to the numerical control device via a wired / wireless network, a cell computer, a fog computer, or a cloud server.

[0038] The information processing device 200 of the fourth embodiment includes a curve command reading unit 1, a mathematical formula derivation unit 2, a curve command analysis unit 3, and a movement command output unit 7. The curve command reading unit 1, mathematical formula derivation unit 2, and curve command analysis unit 3 of the third embodiment perform substantially the same operations as those of the first embodiment. That is, the curve command reading unit 1 reads a curve command of a machining program, and the mathematical formula derivation unit 2 converts the curve read from the machining program into a polynomial. The curve command analysis unit 3 generates a movement command for each control cycle from the polynomial obtained from the curve command. The movement command output unit 7 converts the generated movement command into a binary file and outputs it to the numerical control device. The numerical control device includes a curve command unit 4. The curve command unit 4 reads a binary movement command and controls the curved movement of the tool.

[0039] The information processing device 200 of the third embodiment generates a movement command from a curve command, thereby reducing the load on the numerical control device for generating the movement command. Furthermore, even if the numerical control device does not have a function for analyzing a curve command, the information processing device 200 can analyze the curve command.

[0040] The hardware configurations of the numerical control device 100 and the information processing device 200 to which the present disclosure is applied will be described below. Fig. 13 is a hardware configuration diagram of the numerical control device 100 and the information processing device 200. Note that the information processing device 200 also has a similar hardware configuration, but a description thereof will be omitted. As shown in Fig. 13, the numerical control device 100 has a CPU 111 that controls the entire numerical control device 100, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data. The CPU 111 reads out a system program recorded in the ROM 112 via a bus and converts a curve command into a movement command.

[0041] The nonvolatile memory 114 is backed up by, for example, a battery (not shown), and the stored state is maintained even when the power supply to the numerical control device 100 is turned off. The nonvolatile memory 114 stores various data such as programs read from the external device 120 via the interfaces 115, 118, and 119 and operation inputs input via the input device 20. The nonvolatile memory 114 may store programs and data for executing the numerical control device 100 of this embodiment.

[0042] The interface 115 is an interface for connecting the numerical control device 100 to an external device 120 such as an adapter. Programs, various parameters, etc. are loaded from the external device 120. The interface 118 is an interface for connecting the numerical control device 100 to a display device 30 such as a liquid crystal display. The display device 30 displays various data loaded into memory, data obtained as a result of executing programs, etc. The interface 119 is an interface for connecting the numerical control device 100 to an input device 20 such as a keyboard or pointing device. The input device 20 passes commands, data, etc. based on operations by an operator to the CPU 111 via the interface 119.

[0043] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.

[0044] The following are supplementary notes relating to embodiments of the present disclosure. (Supplementary Note 1) A numerical control device (100) includes a curve command reading unit (1) that reads a curve command of a machining program, a mathematical expression derivation unit (2) that derives a polynomial that represents a tool trajectory based on coefficients included in the curve command, a curve command analysis unit (3) that generates a movement command for each control cycle from the polynomial, and a curve command unit (4) that outputs the movement command and executes control. (Supplementary Note 2) The mathematical expression derivation unit (2) derives a polynomial that represents a tool trajectory based on coefficients and degrees included in the curve command. (Supplementary Note 3) The polynomial represents the tool position and the tool velocity at that position. (Supplementary Note 4) The polynomial is a function with time as a variable, and the derivative of time represents the tool velocity. (Supplementary Note 5) The mathematical expression derivation unit (2) derives multiple polynomials, each representing a three-dimensional element. (Supplementary Note 6) The curve command analysis unit (3) combines commands to adjust the number of movement commands to be processed per unit time. (Supplementary Note 7) The curve command analysis unit (3) generates movement commands for movement amounts that can be analyzed by the machine tool per control cycle. (Supplementary Note 8) The numerical control device (100) includes a curve command storage unit (5) that stores the movement commands, the curve command reading unit (1) reads out the movement commands stored in the curve command storage unit (5) in accordance with the machining program, and the curve command unit (4) outputs the read movement commands to execute control. (Supplementary Note 9) A numerical control device (100) includes a curve command reading unit (1) that reads a curve command of a machining program, a mathematical expression derivation unit (2) that derives a polynomial that expresses a tool trajectory based on coefficients included in the curve command, a curve command analysis unit (3) that generates a movement command for each control cycle from the polynomial, and a movement command output unit (7) that outputs the movement command to the numerical control device (100). (Supplementary Note 10) A computer-readable storage medium (112, 113, 114) stores instructions that cause one or more processors (111) to execute processing to read a curve command of a machining program, derive a polynomial that expresses a tool trajectory based on coefficients included in the curve command, and generate a movement command for each control cycle from the polynomial.

[0045] REFERENCE SIGNS LIST 100 Numerical control device 200 Information processing device 1 Curve command reading unit 2 Mathematical formula derivation unit 3 Curve command analysis unit 4 Curve command unit 5 Curve command storage unit 6 Binary storage unit 7 Movement command output unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory

Claims

1. A numerical control device comprising: a curve command reading unit that reads curve commands of a machining program; a mathematical expression derivation unit that derives a polynomial that expresses a tool trajectory based on coefficients included in the curve command; a curve command analysis unit that generates a movement command for each control cycle from the polynomial; and a curve command unit that outputs the movement command and executes control.

2. The numerical control device according to claim 1, wherein said mathematical expression deriving section derives a polynomial that expresses the tool trajectory based on coefficients and degrees included in said curve command.

3. A numerical control device according to claim 1, wherein the polynomial expresses the position of a tool and the velocity of the tool at that position.

4. A numerical control device according to claim 1, wherein the polynomial is a function with time as a variable, and the derivative of the polynomial with respect to time indicates the tool speed.

5. The numerical control device according to claim 1, wherein said mathematical expression deriving section derives a plurality of polynomials, each polynomial expressing a respective element of three dimensions.

6. The numerical control device according to claim 1, wherein said curve command analysis unit combines commands to adjust the number of movement commands to be processed per unit time.

7. The numerical control device according to claim 1, wherein said curve command analysis unit generates a movement command for a movement amount that can be analyzed by the machine tool per control cycle.

8. A numerical control device according to claim 1, further comprising a curve command storage unit that stores the movement commands, wherein the curve command reading unit reads out the movement commands stored in the curve command storage unit in accordance with the machining program, and the curve command unit outputs the read movement commands to execute control.

9. An information processing device comprising: a curve command reading unit that reads curve commands of a machining program; a mathematical expression derivation unit that derives a polynomial that expresses a tool trajectory based on coefficients included in the curve command; a curve command analysis unit that generates a movement command for each control cycle from the polynomial; and a movement command output unit that outputs the movement command to a numerical control device.

10. A computer-readable storage medium that stores instructions to cause one or more processors to execute the following process: read curve commands of a machining program, derive a polynomial that represents the trajectory of a tool based on coefficients included in the curve commands, and generate movement commands for each control cycle from the polynomial.

Citation Information

Patent Citations

  • Control unit for machining equipment, control method for machining equipment, machining system, and storage medium

    JP2001242921A

  • Method for numerical control

    JP2002175105A

  • Method for controlling an industrial processing machine

    US20040024487A1