Machining system including machine tool and parameter correction method for correcting parameters in the machining system

The machining system addresses the issue of recurring abnormalities in machine tools by implementing a comprehensive detection and correction mechanism for tool path parameters, enhancing the reliability and quality of machining processes.

JP7754852B2Active Publication Date: 2025-10-15FANUC LTD
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2022574051
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-08
Filing Date
2022-01-04
Publication Date
2025-10-15
Estimated Expiration
2042-01-04

AI Technical Summary

Technical Problem

Existing machining systems fail to effectively prevent the recurrence of abnormalities in machine tools, leading to machining defects due to insufficient control mechanisms when tool abnormalities occur.

Method used

A machining system and method that includes a trajectory generation unit, program generation unit, path generation unit, operation command generation unit, feedback control unit, operation information acquisition unit, abnormality detection unit, and correction command generation unit to detect and correct parameters such as tool path curvature and feed rate based on the machine tool's driving state to prevent abnormalities.

Benefits of technology

The system effectively suppresses the occurrence of abnormalities in machine tools by detecting and correcting parameters, thereby reducing machining defects and ensuring consistent quality in workpiece production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007754852000001
    Figure 0007754852000001
  • Figure 0007754852000002
    Figure 0007754852000002
  • Figure 0007754852000003
    Figure 0007754852000003
Patent Text Reader

Abstract

This machining system comprises: a CAM device for generating, on the basis of three-dimensional shape data, a machining program including an operation code; and a numerical control device for controlling an electric motor of a machine tool. The machining system is provided with a monitoring device for detecting an abnormality of the machine tool on the basis of a drive state of the electric motor. The machining system is provided with a revision device for generating a revision command for revising a parameter for when the CAM device generates the machining program. The revision device transmits the revision command to the CAM device so as to revise the curvature of a tool path and / or the feed rate of a tool for when the abnormality occurred.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a machining system including a machine tool. and Modifying parameters in a machining system method Regarding. [Background technology]

[0002] A machine tool can machine a workpiece while changing the relative position of the tool with respect to the workpiece. The machine tool has at least one of a device for moving a table that supports the workpiece and a device for moving a spindle head that supports the tool. The machine tool's control device can change the relative position of the tool with respect to the workpiece by automatically moving the table or the spindle head based on a machining program. Such machine tools are called numerically controlled (see, for example, Non-Patent Document 1).

[0003] A target shape for machining a workpiece using a machine tool can be generated using a CAD (Computer Aided Design) device. An operator can generate three-dimensional shape data for the workpiece by operating the CAD device. Furthermore, a CAM (Computer Aided Manufacturing) device is known that generates a machining program for the machine tool based on the three-dimensional shape data generated by the CAD device. A numerical control device for the machine tool can machine the workpiece based on the machining program generated by the CAM device. In the prior art, a machining system equipped with such a CAD device, a CAM device, and a machine tool is known. In this machining system, an operator generates a target shape for the workpiece using the CAD device, and the workpiece can be machined into the desired shape using the machine tool. [Prior art documents] [Non-patent literature]

[0004] [Non-Patent Document 1] M.-Y. Cheng, et al., “Real-time NURBS Command generators for CNC servo controllers”, International Journal of Machine Tools & Manufacture 42 (2002), p.801-813 Summary of the Invention [Problem to be solved by the invention]

[0005] An abnormality may occur in a machine tool while it is machining a workpiece. For example, a part of the tool may break during machining. If the tool breaks, it will no longer be possible to machine the workpiece with the desired quality. In other words, machining defects will occur.

[0006] In the prior art, there is known a device that detects an abnormality that occurs while a machine tool is machining a workpiece. This allows an operator to know that an abnormality has occurred while the workpiece is being machined. However, even if an abnormality in a machine tool can be detected, sufficient consideration has not been given to control for preventing the abnormality from recurring. In particular, there has been a problem in that sufficient consideration has not been given to control for reducing the rate of occurrence of machining defects when such defects occur in a machine tool. [Means for solving the problem]

[0007] A first machining system for machining a workpiece with a machine tool of the present disclosure comprises a trajectory generation unit that generates a movement trajectory of a tool moving relative to the workpiece based on pre-generated three-dimensional shape data of the workpiece and the driving conditions of the machine tool. The machining system comprises a program generation unit that generates a machining program including operation codes that define the positions of points for generating a tool path and the feed rate of the tool based on the movement trajectory generated by the trajectory generation unit. The machining system comprises a path generation unit that generates a tool path for the machine tool based on the operation code, an operation command generation unit that generates operation commands for the electric motor based on the tool path generated by the path generation unit, and an operation control unit that includes a feedback control unit that performs feedback control so that the driving state of the electric motor corresponds to the operation command. The machining system comprises an operation information acquisition unit that acquires the driving state of the electric motor from the operation control unit, and an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The machining system comprises a cause estimation unit that estimates the cause of an abnormality in the machine tool; a correction command generation unit for generating a correction command for correcting a parameter defined in a command statement of a machining program; and The correction command generation unit transmits to the program generation unit a correction command to correct parameters so as to correct at least one of the curvature of the tool path and the feed rate of the tool when the abnormality of the machine tool occurs, based on the cause of the abnormality of the machine tool.

[0008] A second machining system for machining a workpiece with a machine tool of the present disclosure comprises an operation control unit including a path generation unit that generates a tool path for the machine tool based on an operation code included in a machining program generated in advance, an operation command generation unit that generates an operation command for an electric motor based on the tool path generated by the path generation unit, and a feedback control unit that performs feedback control so that the driving state of the electric motor corresponds to the operation command. The machining system comprises an operation information acquisition unit that acquires the driving state of the electric motor from the operation control unit, and an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The machining system comprises a correction command generation unit that generates a correction command to correct parameters used by the operation control unit to generate the operation command based on a command statement of the machining program. The correction command generation unit is configured to execute a process to correct a parameter when an abnormality occurs in the machine tool. Tool path curvature Modify the parameters to fix the Route Generation Unit Send to. A third machining system for machining a workpiece with a machine tool according to the present disclosure includes a path generation unit that generates a tool path for the machine tool based on an operation code included in a pre-generated machining program, a motion command generation unit that generates motion commands for an electric motor based on the tool path generated by the path generation unit, and an operation control unit that performs feedback control so that the drive state of the electric motor corresponds to the operation command. The machining system also includes an operation information acquisition unit that acquires the drive state of the electric motor from the operation control unit, and an abnormality detection unit that detects an abnormality in the machine tool based on the drive state of the electric motor acquired by the operation information acquisition unit. The machining system also includes a correction command generation unit that generates a correction command to modify parameters used by the operation control unit to generate the operation commands based on command statements in the machining program. The correction command generation unit transmits a correction command to the operation command generation unit to correct the parameters so as to modify the feed rate of the tool when an abnormality occurs in the machine tool.

[0009] The workpiece is machined using the machine tool of the present disclosure. The fourth processing systemThe machining system includes a shape data generation unit that generates three-dimensional shape data including a free-form surface of a workpiece. The machining system includes a trajectory generation unit that generates a movement trajectory of a tool moving relative to the workpiece based on the three-dimensional shape data of the workpiece and the driving conditions of the machine tool. The machining system includes a program generation unit that generates a machining program including operation codes that define the positions of points for generating a tool path and the feed rate of the tool based on the movement trajectory generated by the trajectory generation unit. The machining system includes a path generation unit that generates a tool path for the machine tool based on the operation code, an operation command generation unit that generates operation commands for the electric motor based on the tool path generated by the path generation unit, and an operation control unit that performs feedback control so that the driving state of the electric motor corresponds to the operation command. The machining system includes an operation information acquisition unit that acquires the driving state of the electric motor from the operation control unit, and an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The machining system includes a correction command generation unit that generates a correction command to modify parameters used when the shape data generation unit generates the three-dimensional shape data. The correction command generation unit transmits a correction command to the shape data generation unit to correct parameters so as to correct the curvature of a portion of the free-form surface of the 3D shape data where an abnormality has occurred in the machine tool. The operation information acquisition unit acquires a time corresponding to the driving state of the machine tool. The abnormality detection unit acquires the driving state of the electric motor at the time the abnormality is detected, and detects the position of the tool when the abnormality occurred based on the driving state of the electric motor. The correction command generation unit identifies the portion of the free-form surface of the 3D shape where the abnormality has occurred, corresponding to the position of the tool when the abnormality has occurred, and generates a correction command to reduce the curvature of the portion where the abnormality has occurred.

[0010] A first parameter correction method of the present disclosure is a method for correcting parameters for machining a workpiece in a machining system equipped with a machine tool. The correction method comprises a step in which a trajectory generation unit generates a movement trajectory along which a tool moves relative to a workpiece, based on three-dimensional shape data of the workpiece generated in advance and on the driving conditions of the machine tool. The correction method comprises a step in which a program generation unit generates a machining program based on the movement trajectory generated by the trajectory generation unit, the machining program including operation codes that define the positions of points for generating a tool path and the feed rate of the tool. The correction method comprises a step in which an operation control unit controls an electric motor based on the operation code included in the machining program. The correction method comprises a step in which an operation information acquisition unit acquires the driving state of the electric motor from the operation control unit, and a step in which an abnormality detection unit detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The correction method comprises a step in which a cause estimation unit estimates a cause of an abnormality occurring in the machine tool; The method includes a step of generating a correction command for the program generation unit to correct parameters defined in command statements of the machining program so that the correction command generation unit corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool based on the cause of the abnormality in the machine tool, and a step of transmitting the correction command for correcting the parameters to the program generation unit.

[0011] A second parameter correction method of the present disclosure is a method for correcting parameters for machining a workpiece in a machining system including a machine tool. A path generating unit that generates a tool path for a machine tool is included. The operation control unit 、 The correction method includes a step of controlling the electric motor based on an operation code included in a machining program generated in advance. The correction method includes a step of an operation information acquisition unit acquiring a driving state of the electric motor from an operation control unit. The correction method includes a step of an abnormality detection unit detecting an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The correction method includes a step of a correction command generation unit generating a command when an abnormality in the machine tool occurs. Tool path curvature a step of generating a correction command for correcting a parameter for generating an operation command based on a command statement of the machining program by the operation control unit; Route Generation Unit and transmitting the signal to the A third parameter correction method of the present disclosure is a method for correcting parameters for machining a workpiece in a machining system including a machine tool. The correction method includes a step in which an operation control unit including an operation command generation unit that generates operation commands for an electric motor based on a tool path of the machine tool controls the electric motor based on an operation code included in a pre-generated machining program. The correction method includes a step in which an operation information acquisition unit acquires a driving state of the electric motor from the operation control unit. The correction method includes a step in which an abnormality detection unit detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The correction method includes a step in which the correction command generation unit generates a correction command to correct parameters used by the operation control unit to generate operation commands based on command statements in the machining program so as to correct the feed rate of the tool when an abnormality occurs in the machine tool, and a step in which the correction command to correct the parameters is sent to the operation command generation unit. [Effects of the Invention]

[0015] According to an aspect of the present disclosure, a machining system for suppressing the occurrence of an abnormality in a machine tool and a parameter correction method for correcting parameters in the machining system are provided. method can be provided. [Brief explanation of the drawings]

[0016] [Figure 1] FIG. 1 is a block diagram of a machining system according to an embodiment. [Figure 2] 1 is a block diagram of a CAD device according to an embodiment. [Figure 3] 1 is a graph illustrating a spline curve according to an embodiment. [Figure 4] FIG. 2 is a block diagram of a CAM device according to the embodiment. [Figure 5] 1 is a schematic perspective view of a machine tool according to an embodiment. [Figure 6] FIG. 1 is a block diagram of a machine tool according to an embodiment. [Figure 7] FIG. 2 is a block diagram of an operation control unit of the numerical control device according to the embodiment. [Figure 8] FIG. 4 is a block diagram of a feedback control unit of the operation control unit in the embodiment. [Figure 9] FIG. 2 is a perspective view showing an example of a tool path of a machine tool. [Figure 10] FIG. 1 is a block diagram of a monitoring device according to an embodiment. [Figure 11] 10 is a time chart of the rotation speed and the spindle torque of the spindle motor when the machine tool is operating normally. [Figure 12] 10 is a time chart of the rotation speed of the spindle motor and the spindle torque when an abnormality occurs in the machine tool. [Figure 13] FIG. 1 is a block diagram of a correction device according to an embodiment. [Figure 14]10 is a time chart of the curvature of the tool path and the feed rate when an abnormality occurs in the machine tool. [Figure 15] 10 is a flowchart of control for selecting a method by which the correction device suppresses the occurrence of an abnormality in the machine tool. [Figure 16] FIG. 1 is a block diagram of a simulation device according to an embodiment. [Figure 17] This is a diagram of the first free curve generated using NURBS. [Figure 18] This is a diagram of a second free curve generated using NURBS. DETAILED DESCRIPTION OF THE INVENTION

[0017] A machining system and a method for correcting parameters in the machining system according to an embodiment will be described with reference to Figures 1 to 18. The machining system according to this embodiment machines a workpiece using a machine tool. The machine tool according to this embodiment is a numerically controlled machine tool. The machine tool can cut the workpiece while automatically changing the relative position of the tool with respect to the workpiece based on a machining program.

[0018] (Processing system) FIG. 1 shows a block diagram of a machining system in this embodiment. Machining system 10 includes a CAD (Computer Aided Design) device 1 that generates a target shape (design shape) of a workpiece. CAD device 1 outputs three-dimensional shape data corresponding to the target shape of the workpiece. Machining system 10 includes a CAM (Computer Aided Manufacturing) device 2 that generates a machining program for a machine tool 3 based on the three-dimensional shape data of the workpiece. Machining system 10 includes a machine tool 3 that is driven in accordance with the machining program to machine the workpiece. Machine tool 3 includes a machine tool main body 5 that includes a spindle head and a table, and a numerical control device 4 that controls the electric motor of machine tool main body 5 based on the machining program.

[0019] The machining system 10 includes a monitoring device 7 that acquires the driving state of the machine tool 3 and detects abnormalities in the machine tool 3. The machining system 10 also includes a correction device 8 that generates a correction command for parameters so as to suppress the abnormality detected by the monitoring device 7. The correction command generated by the correction device 8 is sent to any one of the CAD device 1, CAM device 2, or numerical control device 4.

[0020] The machining system 10 includes a simulation device 9 that performs a simulation when the machine tool 3 is driven based on the machining program. The simulation device 9 performs a simulation using a corrected machining program generated based on a correction command. The simulation device 9 determines whether the occurrence of an abnormality is resolved when the machine tool 3 is driven based on the corrected machining program.

[0021] Each of the CAD device 1, CAM device 2, numerical control device 4, monitoring device 7, correction device 8, and simulation device 9 of this embodiment includes an arithmetic processing device (computer) having a CPU (Central Processing Unit) as a processor. The arithmetic processing device has RAM (Random Access Memory) and ROM (Read Only Memory) connected to the CPU via a bus. Two or more of the CAD device 1, CAM device 2, numerical control device 4, monitoring device 7, correction device 8, and simulation device 9 may be integrated. For example, a CAD device and a CAM device may be integrated. That is, a single arithmetic processing device having the functions of both a CAD device and a CAM device may be provided. Next, each of the devices included in the machining system 10 will be described in detail.

[0022] (CAD equipment) Figure 2 shows a block diagram of a CAD device according to this embodiment. The CAD device 1 includes an input unit 11 operated by an operator and a display unit 12 that displays any information related to the design of a workpiece. The input unit 11 is made up of devices operated by the operator, such as a keyboard and a mouse. The display unit 12 is made up of any display panel, such as a liquid crystal display panel.

[0023] The CAD device 1 includes a storage unit 15 that stores any information related to the generation of the target shape of the workpiece. The storage unit 15 can be configured with a non-transitory storage medium capable of storing information. For example, the storage unit 15 is configured with a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium. Note that the storage unit 21 of the CAM device 2, the storage unit 41 of the numerical control device 4, the storage unit 73 of the monitoring device 7, the storage unit 83 of the correction device 8, and the storage unit 95 of the simulation device 9, which will be described later, also have the same configuration as the storage unit 15 of the CAD device 1.

[0024] The CAD device 1 includes a shape data generation unit 13 that generates three-dimensional shape data 102, which is data on the target shape of the workpiece. The shape data generation unit 13 generates the target shape of the workpiece in response to an operator's operation of the input unit 11. The operator can generate the target shape of the workpiece by combining a solid model in which the interior of the material is filled, a surface model expressed by a flat or curved surface, a wire model for defining lines such as ridgelines of a solid, and the like.

[0025] The shape data generation unit 13 includes a free-form generation unit 14. In this embodiment, a shape including at least one of a free curve and a free-form surface is called a free shape. A free shape is an irregularly curved shape that is difficult to represent with a single shape such as a sphere. A free curve can be generated based on predetermined control points. A free-form surface can be generated based on a predetermined curve or predetermined control points. The free-form generation unit 14 generates three-dimensional shape data 102 of a workpiece including a free shape.

[0026] The shape data generator 13 corresponds to a processor of the arithmetic processing device. The freeform shape generator 14 corresponds to a processor of the arithmetic processing device. The processors are driven in accordance with predetermined programs to function as the respective units.

[0027] FIG. 3 shows a graph illustrating a spline curve for generating a free curve. The free shape generator 14 can generate a free curve using a spline curve. The spline curve is generated based on the positions of the control points. Functions of various degrees can be used to generate the spline curve. The operator can set the control points at desired positions. For example, the free shape generator 14 can use a cubic function as a function to interpolate between the control points. The free shape generator 14 then generates a smooth curve according to the arrangement of the control points. In the well-known spline interpolation method, control points are piecewise selected to fit a curve, so the entire curve is constructed so that it passes through all control points. However, the spline curve obtained in the free curve described in this disclosure does not necessarily pass through all control points. In a spline curve, for example, the shape of the curve can be changed by changing the positions of the control points. In particular, the curvature of the curve can be changed.

[0028] When generating a free-form surface, for example, an operator generates a cross-sectional shape of a workpiece including a curve. The free-form generating unit 14 can generate a surface of a three-dimensional shape by moving or rotating the cross-sectional shape. Alternatively, the operator sets multiple control points in a predetermined three-dimensional coordinate system. The free-form generating unit 14 can generate a free-form surface that passes through the multiple control points. The free-form generating unit 14 is not limited to the above-mentioned form and can generate a free form using any control. For example, as described below, a three-dimensional shape including a free curve or a free-form surface can be generated using NURBS.

[0029] The CAD device 1 outputs design data 101. The design data 101 includes three-dimensional shape data 102, which is data on the target shape of the workpiece. The three-dimensional shape data 102 includes information on the free-form surfaces of the workpiece. The three-dimensional shape data 102 is composed of, for example, information on the positions of numerous points corresponding to the surface of the workpiece. The worker can also input information other than the target shape of the workpiece from the input unit 11. For example, the worker inputs information on the finish of the surface of the workpiece, information on the coating of the surface, and information on squareness. The design data 101 includes non-shape data 103, which is data other than the target shape of the workpiece, such as data on the finish of the surface of the workpiece.

[0030] (CAM device) FIG. 4 shows a block diagram of the CAM device in this embodiment. Three-dimensional shape data 102 generated by the CAD device 1 is input to the CAM device 2. Tool information 105 and machining condition information 106 are input to the CAM device 2. The tool information 105 includes information on the type of tool that can be used in the machine tool and information on the size of the tool. The machining condition information 106 is information related to the machining of the workpiece when a movement trajectory is generated by the CAM device 2. The machining condition information 106 includes, for example, a condition that the cutting volume be constant when machining the workpiece, or a condition that the cutting speed be constant.

[0031] Further, information 107 on the driving conditions of the machine tool is input to the CAM device 2. The driving condition information 107 includes information on the kinematic constraints of the machine tool. That is, the driving condition information 107 includes information on the range in which the machine tool 3 can be driven. For example, the information includes the maximum feed rate, maximum acceleration, and maximum jerk of the tool in the normal direction or tangential direction of the movement trajectory. Further, information 108 on the material to be machined by the machine tool is input to the CAM device 2. The material information 108 includes, for example, information on the shape of the material. The three-dimensional shape data 102, tool information 105, machining condition information 106, driving condition information 107, and material information 108 are stored in the memory unit 21 of the CAM device 2.

[0032] The CAM device 2 generates a path along which the tool moves relative to the workpiece. In this embodiment, the path along which the tool moves, generated by the CAM device 2, is referred to as a movement trajectory. The CAM device 2 includes a trajectory generation unit 22 that generates the movement trajectory based on information such as three-dimensional shape data 102 and information 107 on the driving conditions of the machine tool. The trajectory generation unit 22 includes a feature detection unit 23 that calculates the portion of the workpiece to be cut based on the three-dimensional shape data 102 and material information 108.

[0033] The trajectory generating unit 22 includes a machining method setting unit 24 that sets the tool and machining method to be used for machining. The machining method setting unit 24 selects the tool to be used based on the part of the workpiece to be cut from the available tools included in the tool information 105. The machining method setting unit 24 sets the part of the tool that will cut the workpiece, such as the bottom surface of the tool, based on the machining condition information 106. Note that the selection of the tool may be determined by the operator, taking into consideration the tool inventory, delivery time, etc.

[0034] The trajectory generation unit 22 includes a trajectory calculation unit 25 that generates a movement trajectory of a tool for machining a workpiece. The trajectory calculation unit 25 generates the movement trajectory based on the machining condition information 106, the drive condition information 107, the portion to be cut calculated by the feature detection unit 23, and the tool selected by the machining method setting unit 24. The trajectory calculation unit 25 also generates a feed speed for the tool based on constraints such as a constant cutting speed included in the machining condition information 106.

[0035] The CAM device 2 includes a program generation unit 26 that generates a machining program 111 based on the movement trajectory generated by the trajectory generation unit 22. The program generation unit 26 converts the coordinate system used in the CAD device 1 into a coordinate system defined for the machine tool. The CAM device 2 outputs the machining program 111 composed of operation codes.

[0036] The machining program 111 includes operation codes as command statements that define the operation of the machine tool. The operation codes include G-codes that define commands related to the feed operation of the tool relative to the workpiece. The operation codes, such as G01, that change the position of the tool relative to the workpiece define the positions of points used to generate a tool path in a predetermined coordinate system. Points used to generate a tool path include target movement points when moving from the current position, or control points on spline curves, etc. Here, the operation codes define the coordinate values ​​of the target movement points. In other words, the operation codes define the section of the tool path from the current position to the target movement point. The operation codes that change the position of the tool relative to the workpiece define the tool feed rate. The operation codes also include M-codes that control auxiliary devices for changing tools, supplying lubricants, etc. In some machining programs, such operation codes are written with line numbers.

[0037] (machine tools) FIG. 5 shows a schematic perspective view of a machine tool according to this embodiment. FIG. 6 shows a block diagram of the machine tool according to this embodiment. With reference to FIGS. 5 and 6, this embodiment illustrates a numerically controlled machine tool 3 having three drive axes. The machine tool 3 includes a machine tool main body 5 and a numerical control device 4. The machine tool main body 5 includes a table 61 to which a workpiece 69 is fixed, a base 62 that supports a spindle head 65, and a support column 63 fixed to the base 62. The machine tool main body 5 includes a movable slide member 64 supported by the support column 63, and a spindle head 65 supported by the slide member 64. A tool 66 is supported by the spindle head 65 via the spindle. A workpiece support member 67 is fixed to the table 61 as a jig for fixing the workpiece 69.

[0038] Machine tool main body 5 includes a drive device that changes the relative position of tool 66 with respect to workpiece 69. Numerical control device 4 controls the drive device. In machine tool main body 5 of this embodiment, a machine coordinate system that does not move even when machine tool 3 is driven is set. As shown by arrow 157, the drive device moves base 62 in the direction of the X-axis of the machine coordinate system. As shown by arrow 158, the drive device moves table 61 in the direction of the Y-axis of the machine coordinate system. As shown by arrow 159, the drive device moves slide member 64 in the direction of the Z-axis of the machine coordinate system.

[0039] In this way, the drive unit in this embodiment controls the relative position of the tool 66 with respect to the workpiece 69 using a drive axis consisting of three linear axes (X-axis, Y-axis, and Z-axis). The machine tool shown in FIG. 5 is a so-called vertical milling machine, but the drive unit is not limited to this form. For example, any device or structure that can change the relative position of the tool with respect to the workpiece, such as a device or structure having a rotary axis as the drive axis, can be used.

[0040] The drive device of the machine tool main body 5 includes feed axis motors 51 as electric motors arranged corresponding to the respective drive axes. In this embodiment, a feed axis motor 51 is arranged for each drive axis. Each feed axis motor 51 is connected to a feed axis mechanism 52 for moving components of the machine tool main body 5, such as the table 61 or the spindle head 65. For example, a ball screw mechanism can be used as the feed axis mechanism 52. Furthermore, a spindle motor 54 as an electric motor for rotating the spindle is arranged inside the spindle head 65. A tool 66 is connected to the spindle motor 54 via the spindle mechanism 55. The spindle mechanism 55 includes, for example, a chuck for holding and releasing the tool 66.

[0041] The numerical control device 4 controls the operations of the feed axis motor 51 and the spindle motor 54. The numerical control device 4 includes a memory unit 41 that stores information related to the control of the machine tool 3. A machining program 111 is stored in the memory unit 41. The numerical control device 4 includes an operation control unit 42 that controls the feed axis motor 51 and the spindle motor 54 based on operation codes included in the machining program 111. Alternatively, the numerical control device 4 includes a power supply 43 that supplies electricity to each electric motor based on a current command formed by the operation control unit 42. The power supply 43 includes an electric circuit for supplying electricity to the electric motors.

[0042] FIG. 7 shows a block diagram of the operation control unit of the numerical control device. The operation control unit 42 acquires the machining program 111 from the storage unit 41. The operation control unit 42 includes a path generation unit 44 that generates a tool path, which is a path of the tool relative to the workpiece, based on the operation code included in the machining program 111. The path generation unit 44 generates interpolation points between movement points defined in the operation code. The path generation unit 44 generates a tool path in a small section between the interpolation points. Here, the path generation unit 44 may have, for example, a spline interpolation function. In this case, the path generation unit 44 can automatically generate a tool path using a spline curve that moves smoothly between movement points specified in the operation code.

[0043] The operation control unit 42 includes an operation command generation unit 45 that generates operation commands for the electric motor to control the position of the tool relative to the workpiece and the feed speed of the tool relative to the workpiece. The operation command generation unit 45 generates operation commands for the electric motor based on the minute path generated by the path generation unit 44 and the driving conditions of the machine tool.

[0044] The operation command generation unit 45 includes a speed determination unit 46 that determines the feed speed of the tool relative to the workpiece in a small section. The speed determination unit 46 calculates a speed for accelerating or decelerating the tool so that the tool moves at the feed speed specified by the operation code. In this way, the path generation unit 44 determines the position of the tool relative to the workpiece, and the speed determination unit 46 determines the feed speed of the tool relative to the workpiece.

[0045] The operation command generation unit 45 includes a command distribution unit 47 that distributes a command for moving the tool relative to the workpiece into operation commands for each drive axis. The command distribution unit 47 generates an operation command for the X-axis feed axis motor 51, an operation command for the Y-axis feed axis motor 51, and an operation command for the Z-axis feed axis motor 51.

[0046] The operation control unit 42 includes a feedback control unit that performs feedback control so that the driving state of the electric motor of each drive axis corresponds to the operation command generated by the operation command generation unit 45. A feedback control unit is formed for each drive axis. In this embodiment, an X-axis feedback control unit 48a, a Y-axis feedback control unit 48b, and a Z-axis feedback control unit 48c are formed. The command distribution unit 47 sends operation commands corresponding to the feed axis motors 51 of each drive axis to each feedback control unit.

[0047] The path generation unit 44, the motion command generation unit 45, the speed determination unit 46, the command distribution unit 47, and the feedback control units corresponding to the respective drive axes correspond to processors that operate according to a predetermined program. The processor of the arithmetic processing device executes the control defined in the program, thereby operating as each unit.

[0048] Fig. 8 shows a block diagram of the X-axis feedback control unit in this embodiment. Y-axis feedback control unit 48b and Z-axis feedback control unit 48c have the same configuration as X-axis feedback control unit 48a. Also, Figs. 7 and 8 show the feedback control unit for the feed axis motor, but a similar feedback control unit is also formed for the spindle motor.

[0049] The X-axis feedback control unit 48a includes a speed command generation unit 49 that generates a speed command based on a position command. The speed command generation unit 49 receives a position command as an operation command from the command distribution unit 47. The X-axis feedback control unit 48a includes a current command generation unit 50 that generates a current command (or a torque command) based on the speed command. The power supplier 43 supplies a current for generating torque in the feed axis motor 51 based on the current command generated by the current command generation unit 50. The speed command generation unit 49 and the current command generation unit 50 correspond to processors that operate according to a predetermined program.

[0050] In this example, an encoder 56 is attached to the feed shaft motor 51 as a rotational position detector to detect the driving state of the motor. The output of the encoder 56 is input to a position detector 57 that detects the rotational position and a speed detector 58 that detects the rotational speed. The rotational position output from the position detector 57 is input to a position command via a position control loop. Also, the rotational speed output from the speed detector 58 is input to a speed command via a speed control loop. Furthermore, the feedback control unit 48a in this embodiment has a current control loop. In the current control loop, the current value output by the power supplier 43 is detected and input to the current command.

[0051] In this way, feedback control is performed by the position control loop, speed control loop, and current control loop so that the driving state of the motor corresponds to the operation command, i.e., the current supplied to the motor is controlled so that the driving state, such as the rotational position of the motor, follows the operation command, such as the position command.

[0052] FIG. 9 shows an example of a tool path when machining a workpiece. The tool path is, for example, the path that the tool center point follows relative to the workpiece. The tool path 121 has a three-dimensional shape. As indicated by arrow 160, the tool proceeds from point 121a, which is the start point, along the tool path 121, passing through points 121b and 121c, and moving to point 121d, which is the end point. In this example, the tool moves along a linear tool path in the section from point 121b to point 121c. In the section from point 121a to point 121b and the section from point 121c to point 121d, the tool moves along a curved tool path.

[0053] The tool feed rate is slow in the curved section, but is fast in the linear section. At point 121c, the tool feed rate changes and the curvature of the tool path changes significantly. At point 121c, the tool may be damaged.

[0054] (monitoring device) In this embodiment, monitoring device 7 detects abnormalities in the machine tool based on the drive status of the electric motor. Abnormalities in the machine tool include abnormalities in the condition of the machine tool components, such as damage to the jig that grips the workpiece, or a loose chuck that secures the tool, as well as abnormalities in the machining state, such as chatter vibration. Correcting device 8 then generates correction commands to change the target shape of the workpiece, the tool path, or the drive status of the machine tool, such as the feed rate, in order to suppress the occurrence of abnormalities.

[0055] FIG. 10 shows a block diagram of a monitoring device in this embodiment. The monitoring device 7 includes an operation information acquisition unit 71 that acquires the driving state of the electric motor from the operation control unit 42 of the numerical control device 4. The monitoring device 7 includes an abnormality detection unit 72 that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit 71. The monitoring device 7 also includes a memory unit 73 that stores any information related to monitoring the driving state of the machine tool. The operation information acquisition unit 71 and the abnormality detection unit 72 correspond to the processor of the arithmetic processing device. The processor operates in accordance with a program to function as the operation information acquisition unit 71 and the abnormality detection unit 72.

[0056] The operation information acquisition unit 71 acquires the machining program 111 from the operation control unit 42. The operation information acquisition unit 71 acquires the time corresponding to the driving state of the machine tool 3 when the machine tool 3 is driving. As the time, for example, the elapsed time from when the machine tool starts to operate according to the machining program 111 can be used. Alternatively, the elapsed time from when one operation defined in the machining program 111 starts can also be used.

[0057] The operation information acquisition unit 71 acquires the operation code of the machining program 111 being executed at each time. For example, to acquire the operation code, the operation information acquisition unit 71 acquires the line number of the machining program 111 along with the time. In addition to the G code, the operation information acquisition unit 71 may also acquire codes such as an M code related to the control of an auxiliary machine or a T code related to tool replacement. Furthermore, when multiple machining programs are used, the operation information acquisition unit 71 acquires a program number to identify the machining program.

[0058] The operation information acquisition unit 71 acquires variables indicating the driving state of the electric motor along with the time. For example, the operation information acquisition unit 71 acquires the torque output by the electric motor, the rotational position of the electric motor, and the rotational speed of the electric motor. The operation information acquisition unit 71 acquires the torque, rotational position, and rotational speed in chronological order along with the respective times. The storage unit 73 stores the driving state of the electric motor acquired by the operation information acquisition unit 71.

[0059] Referring to FIG. 8 , the operation information acquiring unit 71 can acquire a current command input to the power supplier 43 as the torque output by the electric motor and calculate the torque of the electric motor. Alternatively, the operation information acquiring unit 71 can acquire a value of a current supplied from the power supplier 43 in a current control loop and calculate the torque of the electric motor from the current value. Furthermore, the operation information acquiring unit 71 can acquire a position command input to the speed command generating unit 49 as the rotational position of the electric motor. Alternatively, the operation information acquiring unit 71 can acquire a rotational position output from the position detector 57. Alternatively, the operation information acquiring unit 71 can acquire a speed command input to the current command generating unit 50 as the rotational speed of the electric motor. Alternatively, the operation information acquiring unit 71 can acquire a rotational speed output from the speed detector 58.

[0060] FIG. 11 shows a first time chart of the spindle motor rotation speed and spindle torque acquired by the operation information acquisition unit. The spindle torque is the torque generated by the spindle motor 54. The spindle torque corresponds to the load when cutting a workpiece. The torque and rotation speed of the electric motor are acquired over time. FIG. 11 is a graph showing when machining is performed normally with the machine tool. The rotation speed and spindle torque are maintained almost constant.

[0061] FIG. 12 shows a second time chart of the spindle motor rotation speed and spindle torque acquired by the operation information acquisition unit. In the driving state shown in FIG. 12, the tool breaks at time tx. If the tool is damaged, the cutting load increases. As a result, the spindle torque tends to increase in order to maintain a constant spindle motor rotation speed. If the tool breaks, the spindle torque increases intermittently. In FIG. 11, the spindle torque is almost constant at times t1, t2, t3, and t4, whereas in FIG. 12, the spindle torque temporarily increases at time tx. The spindle torque also temporarily increases at times t1, t2, t3, and t4.

[0062] The abnormality detection unit 72 of the monitoring device 7 detects the occurrence of an abnormality in the machine tool based on the driving state of the electric motor. The abnormality detection unit 72 can acquire or calculate any variable for determining an abnormality in the machine tool. For example, the abnormality detection unit 72 can calculate the position of the tool based on a position command. The abnormality detection unit 72 also detects the time when the abnormality occurred. Furthermore, the abnormality detection unit 72 detects the operation code of the machining program that was being executed at the time when the abnormality occurred.

[0063] The abnormality detection unit 72 can detect abnormalities in the machine tool using any control. For example, in the example of FIG. 12, a spindle torque judgment range can be set in advance for each predetermined section. The abnormality detection unit 72 can determine that an abnormality has occurred in the machine tool when the spindle torque deviates from the predetermined judgment range. For example, it can determine that an abnormality has occurred in the machine tool when the spindle torque exceeds a predetermined judgment value.

[0064] Alternatively, the abnormality detection unit 72 can detect the occurrence of an abnormality by using machine learning to learn changes in variables indicating the driving state of the electric motor. For example, as shown in FIGS. 11 and 12, if the tool is not damaged, no increase in spindle torque is observed, but if the tool is damaged, the spindle torque increases multiple times. This tendency in fluctuations in spindle torque can be learned by machine learning. Then, an abnormality in the machine tool can be detected based on the learned results. For machine learning, a variational autoencoder (VAE) or a Gaussian mixture model (GMM), etc., can be used.

[0065] VAE is a technology derived from autoencoder (AE). It is configured by connecting an encoder that compresses the dimensionality of the input data (extracting features) and a decoder that restores the dimensionality (restores the original input data from the extracted features). The decoder output can be used to generate similar data that has the characteristics of the input data. In training, training data is input to the encoder. Training is performed so that the decoder outputs data that matches the original training data.

[0066] GMM fits a function whose specific formula is unknown by creating a linear combination of a sufficient number of Gaussian distributions. By adjusting the weight coefficients of the combination and the mean and covariance of each Gaussian distribution, it is possible to approximate the distribution of the input data as a formula with arbitrary accuracy.

[0067] VAE and GMM can perform clustering of input data, so they can be used to detect abnormalities. For example, a machine tool is driven many times to accumulate changes in the torque of an electric motor over time. The torque change trends are clustered (classified) using VAE or BMM to determine normal and abnormal operating patterns. When determining whether an abnormality has occurred in a machine tool, it is possible to determine which cluster the torque change trend corresponds to.

[0068] VAE can perform clustering by learning using unsupervised learning that does not include label data (correct data). Then, anomalies can be detected by classifying data into clusters when an abnormality occurs and clusters when normality occurs. GMM can perform unsupervised learning and supervised learning that includes label data. In GMM, it is preferable to detect anomalies using hard clustering, which selects whether output data belongs to one cluster or not. For this reason, it is preferable to learn information when an abnormality occurs as label data. However, the methods of machine learning and label assignment are not limited to these forms, and any algorithm can be used.

[0069] Incidentally, when detecting an abnormality in a machine tool, the abnormality detection unit 72 can determine the continuity of the tool path or the rate of change of the curvature of the tool path. The abnormality detection unit 72 detects the position of the tool and the position of the workpiece corresponding to time based on the rotational position of the electric motor acquired by the operation information acquisition unit 71. The abnormality detection unit 72 detects the positions of the tool and the workpiece in chronological order. The abnormality detection unit 72 can calculate the tool path based on the positions of the tool and the workpiece at each time.

[0070] The anomaly detection unit 72 can make a judgment based on G3 continuity at a point on a curved tool path. For example, the anomaly detection unit 72 can judge G1 continuity as the continuity of the tool path. G1 continuity indicates that the tangent at that point is continuous. The continuity of the tool path can be expressed as a vector using Lagrange interpolation coefficients in the vicinity of the point to be judged.

[0071] The anomaly detection unit 72 can also determine the G2 continuity of the curve of the tool path. G2 continuity indicates that the curvature is continuous. The anomaly detection unit 72 can determine the change in curvature over time. The change in curvature over time is the change in curvature per unit time at a specified time. The change in curvature over time can be calculated, for example, by calculating the curvature of the tool path with respect to time and differentiating the curvature with respect to time. Alternatively, the curvature can be obtained as a scalar value by acquiring the tool path as time-series data, performing a differential calculation, and then performing a cross product calculation.

[0072] The abnormality detection unit 72 can determine that an abnormality has occurred in the machining of the machine tool when there is neither G1 continuity nor G2 continuity. Furthermore, the abnormality detection unit 72 may determine whether there is G3 continuity at a point on the tool path. G3 continuity indicates that there is also continuity in the twist (the rate of change of curvature) at the connection point of two curves.

[0073] Alternatively, the anomaly detection unit 72 can detect an anomaly by using spatial curvature change as the curvature change. Spatial curvature change refers to the difference in curvature between corresponding points on multiple similar tool paths. It is common in machining to repeatedly use nearly identical tool paths to create a shape. Focusing on this point, a variable called spatial curvature change can be defined by comparing the curvature changes between tool paths that are repeatedly machined. For example, when there are two parallel curved tool paths, designated points corresponding to the first and second tool paths are designated. The curvature at the designated points on the first tool path and the curvature at the designated points on the second tool path are nearly identical. However, in reality, the curvatures of the respective tool paths vary slightly. When the difference in curvature between corresponding points on multiple tool paths is relatively large and exceeds the determination range, it can be determined that an anomaly has occurred in the machine tool. Furthermore, the abnormality detection unit 72 may calculate the direction in which the tool moves, the cutting force, and the work of the cutting force to determine whether or not an abnormality has occurred in the machine tool.

[0074] Information on the driving state of the electric motor acquired by the operation information acquisition unit 71, variables such as the curvature of the tool path calculated by the abnormality detection unit 72, and the judgment results of the abnormality detected by the abnormality detection unit 72 can be stored in the memory unit 73.

[0075] (correction device) A block diagram of the correction device is shown in Fig. 13. Correction device 8 of this embodiment has a function of estimating the cause of an abnormality in machine tool 3 detected by monitoring device 7. In addition, correction device 8 generates a correction command to suppress the occurrence of an abnormality in machine tool 3.

[0076] The correction device 8 includes a cause estimation unit 81 that estimates the cause of the abnormality. The correction device 8 includes a correction command generation unit 82 that generates a correction command to correct parameters so as to suppress the occurrence of the abnormality. The correction device 8 further includes a correction unit 85 that corrects the machining program based on the correction command generated by the correction command generation unit 82 when transmitting the corrected machining program to the simulation device 9. The cause estimation unit 81, the correction command generation unit 82, and the correction unit 85 correspond to processors of the arithmetic processing device. The processors function as the respective units by being driven according to predetermined programs. The correction device 8 includes a memory unit 83 that stores information related to parameter correction, and a display unit 84 that displays the information related to parameter correction. The display unit 84 is configured with any display panel, such as a liquid crystal display panel.

[0077] Figure 14 shows a time chart showing the curvature of the tool path when a machine tool processes a workpiece and the feed speed of the tool relative to the workpiece. In Figure 14, the magnitude of the curvature is displayed on a logarithmic scale. The magnitude of the tool feed speed is displayed on a scale with regular intervals.

[0078] In this example, the abnormality detection unit 72 calculates the curvature of the tool path and the feed rate of the tool. The abnormality detection unit 72 determines that an abnormality has occurred in the machine tool at time t6. At time t6, the tool moves from a gently bending section to a sharply bending section. At this time, as shown in part A, the curvature changes significantly in a short period of time, and the change in curvature over time becomes large. In addition, the feed rate of the tool decreases sharply.

[0079] The cause estimation unit 81 acquires the driving state of the electric motor and the time when the abnormality occurred from the monitoring device 7. The cause estimation unit 81 also acquires the variables calculated by the abnormality detection unit 72. In this example, the cause estimation unit 81 acquires the temporal change in curvature and the feed speed of the tool near time t6. The cause estimation unit 81 can determine that the feed speed of the tool changed suddenly, causing an instantaneous increase in the cutting load.

[0080] The cause estimation unit 81 can estimate the cause of an abnormality based on the driving states of various electric motors. For example, one abnormality in a machine tool is chatter vibration that occurs when cutting. If chatter vibration occurs when cutting a workpiece, it causes vibration in the tool and deteriorates the quality of the machining. Chatter vibration basically occurs or does not occur depending on the rotation speed of the spindle. For this reason, the cause estimation unit 81 can determine whether chatter vibration is the cause of the abnormality in the machine tool based on the rotation speed of the electric motor.

[0081] The cause estimation unit 81 may also estimate the cause of the abnormality using machine learning. The cause estimation unit can estimate the cause of the abnormality using the VAE and GMM described above. For example, in the case of tool breakage, the tool breaks when the change in the curvature of the tool path is large or when the tool feed rate is high. The tool may also break when the tool overhang in the spindle head is large. When the tool overhang in the spindle head increases, tool vibration increases, which may cause tool breakage. Alternatively, the tool may break when a component of the machine tool, such as a chuck that holds the tool and a workpiece support member that secures the workpiece to the table, malfunctions. For each case, the cause estimation unit 81 performs learning to generate a cluster related to the driving state of the electric motor for each cause of the abnormality. The cause estimation unit 81 can then estimate the cause of the abnormality by determining which cluster the abnormality corresponds to.

[0082] The cause estimated by cause estimation unit 81 can be displayed on display unit 84. For example, if it is estimated that the tool overhang in the spindle head is the cause of the abnormality, display unit 84 can display information that the tool overhang is defective. Display unit 84 can also display an image suggesting that an inspection be carried out. The operator can check and correct the tool overhang by looking at the display on display unit 84. Alternatively, if a component of the machine tool, such as the chuck of the spindle head or a workpiece support member that secures the workpiece, is damaged, the operator can replace the damaged component.

[0083] On the other hand, the correction command generation unit 82 generates a correction command to correct parameters in the CAD device 1, the CAM device 2, or the numerical control device 4 so as to suppress the occurrence of an abnormality. The correction command generation unit 82 generates the correction command based on the driving state of the electric motor acquired by the operation information acquisition unit 71. At this time, the correction command generation unit 82 can generate the correction command based on the cause estimated by the cause estimation unit 81. For example, in the example shown in FIG. 14, it can be estimated that the tool was damaged due to a sudden change in the curvature and the tool feed speed. In this case, control can be implemented to reduce the tool feed speed in the portion of the tool path where the abnormality occurred.

[0084] Examples of control performed by the correction command generation unit 82 to suppress the occurrence of abnormalities include control to change the target shape of the workpiece so that the curvature of the tool path is reduced in the area where the abnormality occurred, control to reduce the curvature of the tool path, or control to reduce the feed speed of the tool.

[0085] Here, there are cases where the operator does not want to change the target shape of the workpiece. In this case, control can be implemented to reduce the curvature of the part of the tool path where an abnormality has occurred, without changing the target shape of the workpiece. Alternatively, the tool path can be changed significantly. For example, if the tool has been moving only in the X-axis direction of the machine coordinate system, the tool path can be changed to one that cuts in an oblique direction, including movement in both the X-axis and Y-axis directions.

[0086] In addition, there are cases where it is not desirable to make large changes to the tool path due to tool life issues. Or there are cases where it is desirable to shorten the machining time (cycle time) of a machine tool. Or there are cases where it is desirable to keep the cutting volume within a predetermined range. When multiple conditions like these exist, the correction command generation unit 82 can set an evaluation function for the multiple conditions. The evaluation function can, for example, add up values ​​obtained by multiplying the magnitude of deviation from each condition by a weight. Multiple conditions can be set so that the evaluation function becomes small.

[0087] The modification command generating unit 82 can generate a modification command for changing the target shape, a modification command for changing the curvature of the tool path, and a modification command for changing the feed rate. Then, the modification command generating unit 82 can select at least one modification command from among the modification command for changing the target shape, the modification command for changing the curvature, and the modification command for changing the feed rate based on the evaluation function so as to satisfy a plurality of conditions as much as possible.

[0088] Alternatively, the corrector 8 can select control that suppresses the occurrence of an abnormality by calculating an evaluation function and selecting control that suppresses the occurrence of an abnormality in the machine tool, as well as by the following control.

[0089] 15 is a control flowchart in which the correction device selects a method for suppressing an abnormality in the machine tool. In step 131, the correction command generation unit 82 determines whether or not an abnormal increase in motor torque has been detected. If an abnormal increase in motor torque has not been detected in step 131, this control ends. If an abnormal increase in motor torque has been detected in step 131, control proceeds to step 132.

[0090] In step 132, the correction command generating unit 82 determines whether there is a strong temporal correlation between the abnormal increase in torque and the change in curvature of the tool path. For example, the correction command generating unit 82 determines whether the change in curvature becomes large when the abnormal increase in torque occurs. The correction command generating unit 82 determines that there is a strong temporal correlation when the temporal change in curvature or the spatial change in curvature deviates from the determination range within a predetermined time range from the time when the abnormal increase in torque occurs.

[0091] In step 132, if there is a weak temporal correlation between the abnormal increase in torque and the change in curvature of the tool path, the correction command generating unit 82 can determine that there is no problem with the tool path and feed rate. For example, when a face mill is used as the tool to form a linear groove in the workpiece, control proceeds to step 133.

[0092] In step 133, the correction command generation unit 82 determines that there is a problem with the state of holding the workpiece or the state of holding the tool. For example, it is possible that the tool overhang is inappropriate or that the jig holding the workpiece is broken. The correction command generation unit 82 displays an image on the display unit 84 suggesting inspection of the member holding the workpiece or the member holding the tool. Alternatively, the correction command generation unit 82 may suggest changing the cutting depth of the workpiece or the rotational speed of the spindle. In step 132, if there is a strong temporal correlation between the abnormal increase in torque and the change in curvature of the tool path, control proceeds to step 134.

[0093] In step 134, it is determined whether there are any restrictions on changing the tool path. As mentioned above, there are cases where it is not desirable to change the tool path due to the tool life. Or, there are cases where it is desirable to avoid changing the tool path if it would increase the machining time. If such conditions cannot be met by changing the tool path, the correction command generation unit 82 determines that there are restrictions on changing the tool path. In this case, control proceeds to step 135.

[0094] In step 135, the correction command generating unit 82 selects control for locally changing the tool feed rate. The correction command generating unit 82 selects a change in the feed rate in the portion where the abnormality occurred. If there are no constraints on the change in the tool path in step 134, control proceeds to step 136.

[0095] In step 136, the modification command generating unit 82 determines whether or not there are restrictions on changing the target shape of the workpiece. For example, if changing the target shape of the workpiece is prohibited, it is determined that there are restrictions on changing the target shape of the workpiece. In this case, control proceeds to step 137. In step 137, the modification command generating unit 82 selects changing the tool path (movement trajectory). In step 136, if there are no restrictions on changing the target shape, control proceeds to step 138. In step 138, the modification command generating unit 82 can select changing the target shape.

[0096] In the control shown in Fig. 15, the correction command generation unit 82 can select a countermeasure when an abnormality occurs in the machine tool. If an abnormal increase in torque is detected in step 131, it is preferable to change the target shape of the workpiece generated by the CAD device 1. However, in reality, it is necessary to take into account fluctuations in the scientific or engineering characteristics of the machining system 10 and constraints of operating conditions. For this reason, it is preferable to change the target shape of the workpiece when there are no constraints at all.

[0097] In this embodiment, the correction device 8 includes a cause estimation unit 81, but is not limited to this. The correction device may generate a correction command in the correction command generation unit without estimating the cause of the abnormality. For example, it may be predetermined that a correction command to reduce the rotation speed of the spindle motor is generated when the spindle torque exceeds a judgment value. Alternatively, it may be predetermined that, when G3 continuity is judged, if the temporal curvature change or spatial curvature change deviates from a predetermined judgment range, the curvature of the portion where the abnormality has occurred is reduced.

[0098] 1 , when the target shape of the workpiece is to be changed, the modification command generating unit 82 of the modification device 8 transmits a modification command to the CAD device 1 as indicated by an arrow 153. When at least one of the curvature of the tool path and the feed rate of the tool is to be changed, the modification command generating unit 82 can transmit a modification command to the CAM device as indicated by an arrow 151. Alternatively, the modification command generating unit 82 can transmit a modification command to the numerical control device 4 of the machine tool 3 as indicated by an arrow 152.

[0099] (Control to send correction commands to CAD equipment) Next, a description will be given of the control by which the modification command generating unit 82 of the modification device 8 transmits a modification command to the CAD device 1. When transmitting a modification command to the CAD device 1, the modification command is transmitted so as to change the target shape of the workpiece in the three-dimensional shape data 102, with reference to Fig. 2 .

[0100] The correction command generation unit 82 acquires the tool position corresponding to the time when the abnormality occurred from the abnormality detection unit 72. The correction command generation unit 82 acquires from the CAD device 1 the three-dimensional shape data and parameters such as the positions of control points used when generating the three-dimensional shape data.

[0101] Next, the correction command generation unit 82 detects the position where the abnormality occurred in the target shape of the workpiece based on the position of the tool when the abnormality occurred. When the CAD device 1 generates three-dimensional shape data 102 of the workpiece, the shape data generation unit 13 sets a coordinate system for a three-dimensional space. For example, the shape data generation unit 13 sets the three-dimensional coordinate system with an arbitrary point on the workpiece as the origin. Then, in the CAM device 2, the coordinate system used in the CAD device 1 is converted into the coordinate system of the machine tool main body 5. For example, it is converted into a machine coordinate system set in the machine tool main body 5. The correction command generation unit 82 performs a conversion opposite to this coordinate system conversion. The correction command generation unit 82 can convert the position where the abnormality occurred, identified in the machine coordinate system, into a position in the coordinate system of the CAD device 1.

[0102] Alternatively, the coordinate system of the machine tool main body 5 can be set in advance in the CAD device 1. That is, the correspondence between the three-dimensional coordinate system in the CAD device 1 and the coordinate system in the machine tool main body 5 can be determined in advance. For example, the correction command generation unit 82 calculates the position of the tool at the time when the abnormality occurred in the machine coordinate system. The correction command generation unit 82 can calculate the position of the target shape generated by the shape data generation unit 13 of the CAD device 1 based on the position in the machine coordinate system where the abnormality occurred.

[0103] The correction command generation unit 82 transmits a correction command to correct parameters used when the shape data generation unit 13 generates three-dimensional shape data. The correction command generation unit 82 transmits the correction command to the shape data generation unit 13 so as to correct the curvature of a portion of the free shape where an abnormality has occurred. In particular, the correction command generation unit 82 can generate a correction command to reduce the curvature of the shape of the workpiece in the portion where an abnormality has occurred.

[0104] For example, when the three-dimensional shape data 102 is composed of information on the positions of many points corresponding to the surface of the workpiece, the correction command generation unit 82 generates a correction command to correct the positions of the points corresponding to the surface in the part where an abnormality has occurred. For example, the correction command generation unit 82 can correct the positions of the points corresponding to the surface so that the curvature of the shape of the workpiece is reduced by a predetermined amount of change in curvature.

[0105] Alternatively, when the free shape generating unit 14 generates the curved surface of the workpiece using a spline curve, the correction command generating unit 82 can generate a command to move the position of the control point so as to reduce the curvature of the portion of the target shape where an abnormality has occurred. For example, the correction command generating unit 82 generates a command to move the position of the control point so as to reduce the curvature by a predetermined amount of change in curvature. The shape data generating unit 13 changes the shape of the portion where an abnormality has occurred based on the correction command.

[0106] The CAD device 1 generates three-dimensional shape data 102 including data on a target shape in which the curvature of the portion where the abnormality occurred in the pre-correction target shape has been reduced. Then, based on the three-dimensional shape data 102, a machining program is generated in the CAM device 2, and the workpiece is machined by the machine tool 3.

[0107] A correction method for correcting parameters when transmitting a correction command to a CAD device includes a step in which a shape data generation unit 13 generates three-dimensional shape data including a free-form surface of the workpiece. The correction method includes a step in which a trajectory generation unit 22 generates a movement trajectory along which a tool moves relative to the workpiece, based on three-dimensional shape data 102 of the workpiece and driving conditions of the machine tool. The correction method includes a step in which a program generation unit 26 generates, based on the movement trajectory generated by the trajectory generation unit 22, a machining program 111 including operation codes that define positions of points for generating a tool path and a feed rate of the tool. The correction method includes a step in which an operation control unit 42 controls the electric motor based on the operation code included in the machining program 111. The correction method includes a step in which an operation information acquisition unit 71 acquires a driving state of the electric motor from the operation control unit 42, and a step in which an abnormality detection unit 72 detects an abnormality of the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit. The correction method includes a step of generating a correction command by the correction command generation unit 82 to correct the parameters used by the shape data generation unit 13 to generate the three-dimensional shape data 102 so that the curvature of the free-form surface of the three-dimensional shape in the portion where an abnormality has occurred in the machine tool is corrected, and a step of transmitting the correction command to the shape data generation unit 13 to correct the parameters.

[0108] The target shape of the part of the workpiece corresponding to the position where the abnormality occurred in the machine tool is changed so that the curvature is smaller. In the movement trajectory generated by the CAM device 2 and the tool path generated by the numerical control device 4, the acceleration and jerk are reduced in accordance with the movement trajectory with a smaller curvature in the part where the abnormality occurred. This suppresses sudden fluctuations in the feed rate of the tool, allowing the tool to move smoothly. This makes it possible to suppress the occurrence of abnormalities in the machine tool 3.

[0109] (Control to send correction commands to CAM device) Next, an example will be described in which the correction command generation unit 82 transmits a correction command to the CAM device 2. With reference to Fig. 4, the correction command generation unit 82 generates a command to correct parameters used when the program generation unit 26 generates a machining program. The correction command generation unit 82 transmits to the program generation unit 26 a command to correct parameters so as to correct at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs.

[0110] The correction command generating unit 82 acquires the machining program from the monitoring device 7. The correction command generating unit 82 acquires the time when the abnormality occurred from the abnormality detecting unit 72. The correction command generating unit 82 also acquires the operation code of the machining program that was being executed at the time when the abnormality occurred from the abnormality detecting unit 72. Next, the correction command generating unit 82 generates a command to modify the operation code that was being executed when the abnormality occurred so as to reduce at least one of the curvature of the tool path along which the tool moves and the feed rate of the tool.

[0111] When reducing the curvature of the tool path, the correction command generation unit 82 generates a correction command to correct the positions of the movement points defined in the operation code of the machining program so as to reduce the curvature. For example, the correction command generation unit 82 generates a correction command to change the X-axis coordinate values, Y-axis coordinate values, and Z-axis coordinate values ​​defined in the operation code. When reducing the tool feed rate, the correction command generation unit 82 generates a correction command to reduce the tool feed rate (F value) defined in the operation code that was being executed when the abnormality occurred. The amount by which the feed rate is reduced can be, for example, a predetermined amount. Alternatively, when using a simulation device described below, a binary search or the like may be performed.

[0112] Thus, when a correction command is sent to the CAM device, a correction method for correcting parameters includes a step in which the trajectory generation unit 22 generates a movement trajectory of the tool moving relative to the workpiece, based on previously generated three-dimensional shape data 102 of the workpiece and the driving conditions of the machine tool. The correction method includes a step in which the program generation unit 26 generates a machining program including an operation code. The correction method includes a step in which the abnormality detection unit 72 detects an abnormality of the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit 71. The correction method includes a step in which the program generation unit 26 generates a correction command to correct parameters used when generating the machining program, so that the correction command generation unit 82 corrects at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool, and a step in which the correction command to correct the parameters is sent to the program generation unit 26.

[0113] The program generation unit 26 of the CAM device 2 generates a modified machining program based on the modification command. The operation code corresponding to the time when the machine tool abnormality occurred has been modified to reduce the feed rate or to modify the position of the moving point to reduce the curvature. Therefore, by performing machining using the modified machining program, it is possible to prevent the occurrence of machine tool abnormalities.

[0114] (Control to send correction commands to the numerical control device) Next, an example will be described in which the correction command generation unit 82 transmits a correction command to the numerical control device 4. With reference to Fig. 7, the correction command generation unit 82 generates a correction command for modifying parameters used to control the position and feed rate of the tool. The correction command generation unit 82 transmits the correction command to the operation control unit 42.

[0115] The correction command generating unit 82 acquires the machining program from the monitoring device 7. The correction command generating unit 82 acquires the time when the abnormality occurred from the abnormality detecting unit 72. The correction command generating unit 82 also acquires the operation code of the machining program that was being executed at the time when the abnormality occurred from the abnormality detecting unit 72. Next, the correction command generating unit 82 generates a command to modify the operation code that was being executed when the abnormality occurred so as to reduce at least one of the curvature of the tool path along which the tool moves and the feed rate of the tool.

[0116] When reducing the curvature of the tool path, the correction command generating unit 82 sends a command to the path generating unit 44 to correct the positions of the movement points defined in the operation code so that the curvature of the tool path when an abnormality occurs is reduced. The path generating unit 44 corrects the positions of the movement points defined in the operation code when an abnormality occurs. Then, the path generating unit 44 generates a tool path based on the corrected positions of the movement points.

[0117] When reducing the tool feed rate, the correction command generation unit 82 transmits to the operation command generation unit 45 a command to reduce the feed rate (F value) of the operation code that was being executed when the abnormality occurred. The speed determination unit 46 reduces the tool feed rate (F value) defined in the operation code of the machining program. The speed determination unit 46 calculates the speed for acceleration or deceleration based on the corrected feed rate. Alternatively, the correction command generation unit 82 may generate a correction command to modify parameters for driving the operation command generation unit 45 and transmit the command to the operation command generation unit 45. The speed determination unit 46 of the operation command generation unit 45 can reduce the feed rate by modifying parameters for performing contour control and interpolation control.

[0118] In this way, when a correction command is sent to the numerical control device, the correction method for correcting the parameters includes a step in which the operation control unit 42 controls the electric motor based on an operation code included in a machining program generated in advance. The correction method includes a step in which the abnormality detection unit 72 detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit 71. The correction method includes a step in which the correction command generation unit 82 generates a correction command for correcting parameters used when the operation control unit 42 controls the tool position and the tool feed rate, so that the correction command generation unit 82 corrects at least one of the tool path curvature and the tool feed rate when an abnormality in the machine tool occurs, and a step in which the correction command for correcting the parameters is sent to the operation control unit 42.

[0119] By sending parameter correction commands to the numerical control device, the curvature of the tool path can be reduced and the feed rate can be slowed when machining a part of a workpiece where an abnormality has occurred in the machine tool, thereby suppressing the occurrence of abnormalities in the machine tool.

[0120] When performing control to reduce the curvature of the tool path or control to reduce the feed rate of the tool, the correction device 8 can send a correction command to the CAM device 2 or the numerical control device 4. The operator can determine in advance whether the correction command is to be sent to the CAM device 2 or the numerical control device 4.

[0121] Furthermore, in the above embodiment, the control for reducing the curvature of the target shape or tool path and the control for reducing the feed rate have been described as examples, but the present invention is not limited to this. It may also include control for increasing the curvature or control for increasing the feed rate. It is also possible to improve the tool path and feed rate more rationally with the aim of reducing the machining cycle time for machine tools and workpieces where tool abnormalities are not expected to occur. For example, it is also possible to perform control for reducing the curvature of the target shape or tool path and increasing the feed rate.

[0122] (Simulation device) 16 shows a block diagram of a simulation device according to this embodiment. The simulation device 9 includes a simulation unit 91 that performs a simulation of when the machine tool 3 is driven based on a machining program 111. The simulation device 9 includes a determination unit 94 that determines the results of the simulation performed by the simulation unit 91. The simulation unit 91 includes a command generation simulation unit 92 and a servo control simulation unit 93. Furthermore, the simulation device 9 includes a storage unit 95 that stores any information related to the simulation.

[0123] The simulation unit 91, command generation simulation unit 92, servo control simulation unit 93, and judgment unit 94 correspond to processors of the arithmetic processing device. The processors perform the control defined in the program, thereby functioning as the respective units. Setting values ​​set in the control device of the machine tool are input to the simulation unit 9 so that the operation of the machine tool can be accurately simulated. For example, control device parameters for calculating values ​​of operation commands such as position and speed based on the machining program are input to the simulation unit 9.

[0124] A command generation simulation unit 92 of the simulation unit 91 simulates the generation of an operation command for the electric motor. The command generation simulation unit 92 has the same functions as the path generation unit 44 and the operation command generation unit 45 shown in Fig. 7. That is, the command generation simulation unit 92 calculates a tool path and a feed rate based on a machining program and generates an operation command.

[0125] The servo control simulation unit 93 of the simulation unit 91 performs a simulation when controlling an electric motor based on an operation command. The servo control simulation unit 93 simulates control that causes the driving state of the electric motor that drives the object to be controlled to follow the operation command output from the command generation simulation unit. In other words, the servo control simulation unit 93 simulates feedback control.

[0126] The servo control simulation unit 93 performs a simulation using a model that represents the behavior of the machine tool. In this embodiment, a model is created in which resonance and anti-resonance occur in mechanisms such as a feed axis mechanism. The servo control simulation unit 93 virtually calculates the response of an encoder attached to an electric motor (plant transfer function) or the vibration response of the tool and workpiece using a mathematical model including differential equations. As the differential equation, in addition to linear differential equations, the Duffing equation, Mathieu equation, Meissner equation, etc. can also be used. The function representing the input and output of a differential equation corresponds to a transfer function, and the behavior of the machine tool can be represented based on the transfer function. The behavior of the machine tool's drive system and tool vibration can be modeled using differential equations or transfer functions of appropriate orders. The servo control simulation unit 93 calculates the dynamic characteristics of the machine tool, workpiece, and tool in time series.

[0127] The determination unit 94 evaluates the driving state of the machine tool after performing a simulation based on the input machining program. In this embodiment, the determination unit 94 determines whether or not an abnormality will occur in the machine tool based on the results of the simulation by the servo control simulation unit 93. Alternatively, the determination unit 94 can determine whether or not an abnormality is expected to occur in the machine tool based on the results of the simulation.

[0128] The determination unit 94 can determine the continuity or curvature change rate of the tool path based on the simulation results, similar to the detection of anomalies by the anomaly detection unit 72 of the monitoring device 7. For example, the determination unit 94 determines whether an anomaly will occur based on the temporal change in curvature or the spatial change in curvature of the tool path generated by the machining program. Alternatively, the determination unit 94 can make a determination using the driving state of the electric motor estimated by the simulation unit 91. For example, the determination unit 94 can estimate whether an anomaly will occur based on an estimated value of the torque output by the electric motor, etc.

[0129] (Iterative correction of parameters based on the results of the simulation device) 1, simulation device 9 of the present embodiment determines whether or not the occurrence of an abnormality in the machine tool can be resolved when parameters are corrected in accordance with a correction command generated by correction device 8. Then, simulation device 9 transmits the determination result to correction device 8. When the occurrence of the abnormality in the machine tool cannot be resolved, correction device 8 can generate a correction command to further correct the parameters.

[0130] When the modifying device 8 transmits a modification command to the CAD device 1 as indicated by an arrow 153, the shape data generating unit 13 of the CAD device 1 generates modified three-dimensional shape data 102 based on the modification command and transmits the data to the CAM device 2. The trajectory generating unit 22 and the program generating unit 26 of the CAM device 2 generate a modified machining program 111 based on the modified three-dimensional shape data 102. Then, the CAM device 2 transmits the modified machining program 111 to the simulation unit 91 of the simulation device 9 as indicated by an arrow 154.

[0131] A simulation unit 91 of the simulation device 9 performs a simulation when the machine tool is driven using the modified machining program. A determination unit 94 determines whether or not an abnormality occurs in the machine tool based on the result of the simulation. The determination unit 94 transmits the determination result to a modification command generation unit 82 of the modification device 8, as shown by arrow 155.

[0132] When the occurrence of the abnormality in the machine tool is resolved, the correction device 8 can determine the 3D shape data at that time as the final 3D shape data. Alternatively, the correction device 8 can adopt the machining program at that time as the final machining program. On the other hand, when the occurrence of the abnormality in the machine tool cannot be resolved, the correction command generation unit 82 of the correction device 8 generates a correction command to further change the target shape of the workpiece. For example, the correction command generation unit 82 generates a correction command to further reduce the curvature of the part of the target shape where the abnormality occurred. Then, the further correction command can be sent to the CAD device 1.

[0133] In this way, it is possible to repeatedly perform control to correct the shape of the portion of the target shape where an abnormality has occurred, control to generate a corrected machining program based on the corrected target shape, and control to evaluate the corrected machining program using a simulation device. Correction of the target shape and evaluation by simulation can be repeated until the occurrence of the abnormality in the machine tool is resolved.

[0134] Next, when the correction device 8 sends a correction command to the CAM device 2 as indicated by arrow 151, the correction command generation unit 82 sends the correction command to the program generation unit 26 of the CAM device 2. The program generation unit 26 generates a corrected machining program 111 based on the correction command. The program generation unit 26 sends the corrected machining program 111 to the simulation unit 91 of the simulation device 9 as indicated by arrow 154. The simulation unit 91 performs a simulation of when the machine tool is driven using the corrected machining program. Then, the determination unit 94 determines whether the occurrence of an abnormality in the machine tool can be resolved based on the results of the simulation. The determination unit 94 sends the determination result to the correction command generation unit 82 of the correction device 8 as indicated by arrow 155.

[0135] If the occurrence of the machine tool abnormality cannot be resolved, the correction device 8 sends a further correction command to the CAM device 2. For example, the correction command generation unit 82 can send a command to correct the parameters of the operation code so that the curvature of the tool path or the feed rate of the tool in the part where the abnormality occurred is further reduced. The simulation device 9 performs a simulation using the machining program corrected by the CAM device 2. In this way, correction of the machining program and evaluation by simulation can be repeated until the occurrence of the abnormality can be suppressed. In this control, for example, when the feed rate is to be slowed down, control can be performed to change the feed rate by binary search.

[0136] Next, the correction device 8 generates a machining program corrected in accordance with the correction command before transmitting the correction command to the numerical control device 4, as indicated by arrow 152. A correction unit 85 of the correction device 8 generates a corrected machining program based on the correction command in the operation code of the machining program. Next, the correction device 8 transmits the corrected machining program to the simulation device 9, as indicated by arrow 156. A simulation unit 91 of the simulation device 9 performs a simulation of when the machine tool is driven using the corrected machining program. A judgment unit 94 judges whether the occurrence of an abnormality in the machine tool is resolved based on the results of the simulation. The judgment unit 94 transmits the judgment result to the correction command generation unit 82 of the correction device 8, as indicated by arrow 155.

[0137] If the occurrence of the abnormality in the machine tool cannot be resolved, the correction device 8 transmits the further corrected machining program to the simulation device 9. For example, the correction command generation unit 82 further corrects the position of the movement point of the operation code so as to reduce the curvature of the tool path in the part where the abnormality has occurred. Alternatively, the correction command generation unit 82 further reduces the feed rate of the tool in the part where the abnormality has occurred. The simulation device 9 performs a simulation using the machining program corrected by the correction device 8. In this way, correction of the machining program and evaluation by simulation can be repeated until the occurrence of the abnormality in the machine tool is resolved.

[0138] In this way, by performing an evaluation using a simulation device, it is possible to determine whether or not the occurrence of an abnormality can be resolved before actually performing machining using the machining system. The parameters of each device can be set so that the occurrence of an abnormality can be resolved without actually machining a workpiece using an actual machine tool.

[0139] (Setting the judgment range using a simulation device) The simulation device 9 of this embodiment can generate a judgment range to be used in the abnormality detection unit 72 of the monitoring device 7. As the driving state of the electric motor when the machine tool is normal, for example, the driving state of the electric motor when the machine tool is new can be adopted. However, when applying the monitoring device 7 and correction device 8 of this embodiment to a machine tool that has already started to be used, it may be difficult to determine the judgment range to be used to judge abnormalities in the machine tool.

[0140] Referring to FIG. 16, the simulation device 9 can simulate the driving state of the electric motor when the machine tool is in a brand new state. For example, the simulation unit 91 can perform the simulation using differential equations corresponding to a brand new machine tool. Alternatively, the simulation unit 91 can perform the simulation using differential equations corresponding to a tool that has not lost its sharpness or is not worn. For example, the differential equations of a model used in a normal simulation assume resonance and antiresonance. However, in the simulation, an ideal transfer function in which resonance or antiresonance does not exist can be assumed. Such an ideal system simulation can estimate ideal values ​​for the torque, jerk, etc. of the electric motor.

[0141] Furthermore, by changing the order, type, and coefficients of the differential equation, it is possible to simulate the operating pattern when an abnormality occurs in the tool. For example, the Duffing equation as a differential equation has a third-order spring term, the Meissner equation has an infinite series friction term, and the Mathieu equation has a trigonometric friction term. In these differential equations, the order, type, and coefficients when an abnormality occurs are calculated by selecting an equation that is close to the waveform of the operating pattern when an abnormality occurs. Then, the coefficients in the differential equation can be fitted based on the driving state when the machine tool is actually driven. This method makes it possible to mathematically obtain a model of the machine tool when an abnormality occurs.

[0142] The simulation device 9 generates a simulation of the driving state when the machine tool is normal and the driving state when an abnormality occurs in the machine tool. Based on the results of such simulation, the simulation device 9 can generate a judgment range for determining an abnormality in the machine tool. For example, based on a simulation of tool breakage, the simulation device can calculate a torque judgment value for determining tool breakage. The simulation device can also simulate changes in the driving state, such as changes in torque over time when an abnormality occurs. Machine learning may then be performed using the changes in the driving state of the electric motor. For example, the changes in the driving state of the electric motor can be used as training data when performing machine learning.

[0143] (Program correction system) Next, a program correction system that corrects a machining program will be described. With reference to Fig. 1, a machining system 10 includes a program correction system 31. In this embodiment, a simulation device 9 and a correction device 8 function as the program correction system 31. With reference to Figs. 13 and 16, the program correction system 31 includes a simulation unit 91 that performs a simulation when the machine tool 3 is driven based on the machining program, and a determination unit 94 that determines the results of the simulation performed by the simulation unit 91. The program correction system 31 also includes a correction unit 85 that corrects the machining program based on the results of the simulation.

[0144] In the simulation device described above, a machining program that has been corrected to reduce the occurrence of abnormalities in the machine tool is input. However, the machining program before correction may also be input to the simulation unit 91. The program correction system 31 can perform a simulation without being connected to the CAD device 1, the CAM device 2, and the machine tool 3. In other words, the program correction system 31 may perform a simulation offline. Any machining program can be input to the simulation unit 91.

[0145] The determination unit 94 can determine whether or not an abnormality is predicted to occur in the machine tool 3 based on the results of the simulation by the simulation unit 91. As described above, the determination unit 94 can determine whether or not an abnormality is predicted to occur based on the results of the simulation, such as the driving state of the electric motor, the continuity of the tool path, or the rate of change of curvature.

[0146] When an abnormality is predicted to occur in the machine tool, the determination unit 94 identifies the operation code of the machining program in which the abnormality is predicted to occur. For example, the determination unit 94 identifies the line number of the operation code in the machining program that corresponds to the operation in which the abnormality is predicted to occur. The determination unit 94 transmits the operation code that corresponds to the operation in which the abnormality is predicted to occur to the modification device 8.

[0147] The correction command generating unit 82 of the correction device 8 generates a correction command to correct the operation code that is expected to cause an abnormality. For example, as described above, the correction command generating unit 82 generates a correction command to correct the operation code that is expected to cause an abnormality so as to reduce at least one of the curvature of the tool path and the feed rate of the tool. Then, the correction unit 85 can correct the operation code based on the correction command. Note that the correction unit 85 may have the function of the correction command generating unit 82. In this case, the determination unit 94 transmits the operation code corresponding to the operation that is expected to cause an abnormality to the correction unit 85, and the correction unit 85 can correct the operation code of the machining program.

[0148] Next, the correction device 8 transmits the corrected machining program to the simulation device 9, and can perform a simulation of the machine tool using the corrected machining program. Then, as in the above-mentioned robot system, the correction of the operation code based on the judgment result of the simulation device 9 may be repeated until it is predicted that no abnormality will occur in the machine tool.

[0149] The program correction system 31 may include a monitoring device 7. That is, the program correction system may include an operation information acquisition unit that acquires the driving status of the electric motor from the operation control unit, and an abnormality detection unit that detects an abnormality in the machine tool based on the driving status of the electric motor acquired by the operation information acquisition unit. With this configuration, as described above, it is possible to detect an abnormality in the machine tool and correct the machining program based on the actual driving status of the machine tool.

[0150] As described above, the program correction method for correcting a machining program includes a step in which the simulation unit 91 of the simulation device 9 performs a simulation of driving the machine tool 3 based on the machining program. The program correction method includes a step in which the determination unit 94 of the simulation device 9 determines the results of the simulation performed by the simulation unit 91. The program correction method includes a step in which the correction unit 85 of the correction device 8 corrects the machining program based on the results of the simulation. The simulation step includes a step of generating an operation command for the electric motor based on the machining program, and a step of causing the drive state of the electric motor that drives the object to be controlled to follow the operation command. The determination step includes a step of identifying, when an abnormality is predicted to occur in the machine tool 3 based on the results of the simulation, an operation code of the machining program corresponding to an operation predicted to cause the abnormality. The correction step can then include a step of correcting the operation code corresponding to the operation predicted to cause the abnormality.

[0151] The program correction system can simulate the operation of the machine tool and correct the machining program based on the results of the simulation, thereby generating a machining program that suppresses the occurrence of abnormalities when machining a workpiece with the machine tool.

[0152] (Free-form generation method) 2, the free form generating unit 14 of the CAD device 1 can generate a free form of a workpiece by any method. Here, as a method for generating a free form, a method using a NURBS (Non-Uniform Rational B-Spline) curve will be described in addition to the method using a spline curve described above.

[0153] NUBS curves are a generalization of non-rational B-spline curves. B-spline curves are a generalization of Bézier curves. NURBS curves are generated by four parameters: control points, knot vectors, basis functions, and weights. NURBS curves generated based on these parameters can accurately represent complex curves or surfaces. Here, we will qualitatively explain each parameter.

[0154] Control points are points that determine the shape of a curve. The general shape of a curve is determined by multiple control points. The shape of the curve changes depending on the position of the control points. Slightly changing the position of some of the control points changes the shape of the curve near the changed control point, but does not significantly affect the overall shape of the curve. Because the shape of part of a curve can be changed by moving some control points, even complex shapes can be easily generated in CAD devices.

[0155] Knot vectors can be explained using a physical analogy. Here, imagine a rope of an appropriate length that is fixed at both ends and bent. The shape of the bent rope corresponds to a curve. Now, a knot is created at an appropriate location on the rope. For example, three knots are created. The way the rope bends will be different for a rope with zero knots and a rope with three knots. The way the rope bends changes depending on the position where the knot is created. The shape of the rope changes because the stiffness of the rope between knots changes. Similar to this analogy, the knot vector in a NURBS curve corresponds to the position where knots are created and the number of knots. The knot vector determines the sections that bend sharply and the sections that bend less sharply. Such knot vectors can be generated using a specified generation algorithm.

[0156] The basis functions represent the strength of influence of a control point on each point on the curve, given a set of discrete control points. The basis functions represent the strength of influence of a control point on a point on the curve. The basis functions continuously change the blending ratio between the control points. As a result of this blending, a seamless, smooth curve is generated. The basis functions are uniquely determined with almost no changes other than the spline degree.

[0157] Weights are parameters used to locally change the shape of a curve. In the analogy above, weights are like hanging weights from each section of a rope. Or, weights are like manually pulling each knot. Weights are determined by the software of the CAM system or the skill of the designer. In other words, adjusting weights allows for fine adjustment of the shape of a curve.

[0158] Fig. 17 shows an example of a curve generated by a NURBS curve. Fig. 18 shows another example of a curve generated by a NURBS curve. Control points and curves are shown in Fig. 17 and Fig. 18. By using NURBS curves, it is possible to generate curves with complex shapes such as those shown in Fig. 18, in addition to the simple elliptical shape shown in Fig. 17.

[0159] 1, when the freeform generating unit 14 of the CAD device 1 generates a freeform using a NURBS curve or a NURBS surface, the three-dimensional shape data 102 also includes NURBS parameters. For example, the three-dimensional shape data 102 includes information on the positions, weights, knot vectors, and basis functions of control points related to NURBS. If the CAM device 2 has a function for generating a movement trajectory using NURBS, the CAM device 2 can use the NURBS parameters included in the three-dimensional shape data 102 to generate operation code for performing NURBS interpolation in a machining program.

[0160] Furthermore, if the numerical control device 4 of the machine tool 3 has a NURBS interpolation function, a tool path can be generated using a NURBS curve based on an operation code containing NURBS parameters. As a result, it is possible to machine a workpiece corresponding to the target shape generated by the CAD device 1. In this way, it is possible to completely compress and restore curve or surface information using NURBS. Furthermore, in the NURBS interpolation performed by the numerical control device 4, the feed rate is set based on the curvature of the NURBS curve and the driving conditions of the machine tool. This control makes it possible to avoid a loss of operational efficiency of the machine tool.

[0161] However, the CAM device 2 may not have the function of generating a movement trajectory using NURBS parameters. Alternatively, the operator may not use the function of generating a movement trajectory using NURBS in the CAM device 2. In this case, the CAM device 2 divides the free-form curve into a large number of minute line segments. Then, an operation code is generated using the positions of the discrete movement points. In this case, the numerical control device 4 generates a tool path, for example, using spline interpolation. In this way, if information on a free-form surface using NURBS is lost, a curved surface can be generated using spline interpolation. However, incomplete restoration may cause abnormalities in the machine tool, such as tool damage. For this reason, when three-dimensional shape data is generated using NURBS in the CAD device 1, it is preferable to generate a movement trajectory using NURBS in the CAM device 2. Furthermore, it is preferable for the numerical control device 4 to generate a tool path using NURBS interpolation.

[0162] Here, an example of forming a groove along the curve shown in Figures 17 and 18 in a flat workpiece will be described. A curved groove can be formed on the surface of a flat plate by using a face mill as a machine tool. When forming a groove along the elliptical curve shown in Figure 17, the curvature is small over the entire curve, and machining can be performed while maintaining a high tool feed rate. Because the load on the tool is small, damage to the tool is unlikely to occur.

[0163] On the other hand, the complex shape shown in Fig. 18 has a portion with large curvature, as shown in part B. While the tool feed rate increases in the portion with small curvature, as shown in part C, it decreases in the portion with large curvature, as shown in part B. In the portion with small curvature, such as part B, the tool feed rate changes suddenly, making the tool more susceptible to damage.

[0164] In the machining system of this embodiment, even when the target shape, movement trajectory, and tool path are generated using NURBS, the modification device 8 can create modification commands and send the modification commands to the CAD device 1, CAM device 2, or numerical control device 4.

[0165] In this case, the modification command generator 82 of the modification device 8 can generate a command to modify at least one of the parameters of the control points, knot vectors, basis functions, and weights as parameters for changing the curvature. In particular, knot vectors are often generated automatically according to the positions of the control points. Therefore, it is preferable to change the weight values ​​determined for the control points in order to locally reduce the curvature.

[0166] Referring to FIG. 1, when the modification device 8 transmits a modification command to the CAD device 1, it can transmit a command to change the NURBS parameters used when the shape data generation unit 13 generates the three-dimensional shape data 102. The modification device 8 can transmit a modification command to modify the NURBS parameters in order to change the shape of a portion of a workpiece where an abnormality has occurred in the machine tool. For example, it can transmit a command to change the weight of the NURBS used to generate a free shape. Furthermore, when the modification device 8 transmits a modification command to the CAM device 2 or the numerical control device 4, it can transmit a command to modify the operation code of the NURBS interpolation corresponding to the time when the abnormality occurred. For example, it can transmit a command to change the weight written in the operation code.

[0167] The machining system of this embodiment can automatically detect abnormalities in the machine tool and automatically correct at least one of the target shape, tool path, and tool feed rate to prevent the occurrence of the abnormality. It is difficult for an operator to accurately identify the position of the target shape when an abnormality occurs. Furthermore, because a machining program is composed of many operation codes, it is difficult for an operator to identify the operation code when an abnormality occurs. Furthermore, it is difficult for an operator to change parameters to prevent the occurrence of an abnormality. However, the machining system of this embodiment can automatically perform control to prevent the occurrence of such abnormalities.

[0168] In the above embodiment, a machine tool having three drive axes has been described as an example, but the present invention is not limited to this, and machine tools having any number of drive axes can be applied. For example, a machine tool having five drive axes in which the orientation of the workpiece or the tool can be changed can be employed. In controlling a five-axis machine tool, a coordinate transformation method for reducing the motion of the five-axis machine tool to that of a three-axis machine tool can be determined in advance. Then, by performing coordinate transformation, the motion of the five-axis machine tool can be reduced to that of a three-axis machine tool and the relative orientation of the tool, and the above control can be performed.

[0169] The machining system 10 in the above embodiment includes a CAD device 1, a CAM device 2, and a machine tool 3 so as to be able to carry out processes from designing the shape of a workpiece to machining the workpiece, but is not limited to this configuration. For example, the machining system may not include a CAD device. In this case, pre-generated three-dimensional shape data is input to the CAM device 2. A correction command from the correction device is sent to the CAM device or the numerical control device. Alternatively, the machining system may not include a CAD device or a CAM device. In this case, a pre-generated machining program is input to the numerical control device of the machine tool. A correction command from the correction device is sent to the numerical control device.

[0170] The above-described embodiments can be combined as appropriate. In each of the above-described drawings, the same or equivalent parts are designated by the same reference numerals. Note that the above-described embodiments are merely examples and do not limit the invention. Furthermore, the embodiments include modifications of the embodiments as set forth in the claims. [Explanation of symbols]

[0171] 1 CAD equipment 2 CAM device 3 Machine tools 4. Numerical Control Equipment 7 Monitoring device 8 Correction device 9 Simulation equipment 10 Processing System 13 Shape data generation unit 22 Trajectory generator 26 Program Generation Unit 31 Program Correction System 42 Motion control section 44 Route generation unit 45 Operation command generation section 48a X-axis feedback control section 48b Y-axis feedback control section 48c Z-axis feedback control section 51 Feed shaft motor 54 Spindle motor 56 Encoder 66 Tools 69 Work 71 Operation information acquisition unit 72 Abnormality detection unit 82 Modification command generation section 85 Correction section 91 Simulation Department 102 3D shape data 107 Operating condition information 111 Machining Program 121 Tool Path

Claims

1. A machining system for machining a workpiece using a machine tool, a trajectory generating unit that generates a movement trajectory along which the tool moves relative to the workpiece based on pre-generated three-dimensional shape data of the workpiece and driving conditions of the machine tool; a program generating unit that generates a machining program including an operation code in which the positions of points for generating a tool path and the feed speed of the tool are defined based on the movement trajectory generated by the trajectory generating unit; an operation control unit including a path generating unit that generates a tool path for a machine tool based on an operation code, an operation command generating unit that generates an operation command for an electric motor based on the tool path generated by the path generating unit, and a feedback control unit that performs feedback control so that a driving state of the electric motor corresponds to the operation command; an operation information acquisition unit that acquires a driving state of the electric motor from the operation control unit; an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a cause estimation unit that estimates the cause of an abnormality in the machine tool; a modification command generation unit that generates a modification command for modifying a parameter defined in a command statement of the machining program, The correction command generation unit transmits a correction command to the program generation unit to correct parameters so as to correct at least one of the curvature of the tool path and the feed rate of the tool when an abnormality occurs in the machine tool, based on the cause of the abnormality in the machine tool.

2. the operation information acquisition unit acquires a time corresponding to a driving state of the machine tool and an operation code of a machining program being executed by the operation control unit, the anomaly detection unit detects an operation code being executed when the anomaly occurred based on a time when the anomaly was detected; 2. The machining system according to claim 1, wherein the correction command generation unit generates a correction command to correct the operation code being executed when an abnormality occurs so as to reduce at least one of the curvature of the tool path and the feed rate of the tool.

3. a simulation unit that performs a simulation when the machine tool is driven based on the machining program; a determination unit that determines a result of the simulation performed by the simulation unit, the simulation unit includes a command generation simulation unit that generates an operation command for an electric motor based on a machining program, and a servo control simulation unit that causes a drive state of an electric motor that drives an object to be controlled to follow the operation command; the program generation unit transmits the modified machining program generated based on the modification command received from the modification command generation unit to the simulation unit; the simulation unit performs a simulation when the machine tool is driven using the corrected machining program, 3. The machining system according to claim 2, wherein the determining unit determines whether or not an abnormality will occur in the machine tool based on a result of the simulation, and transmits a determination result to the correction command generating unit.

4. A machining system for machining a workpiece using a machine tool, an operation control unit including: a path generation unit that generates a tool path for a machine tool based on an operation code included in a machining program that has been generated in advance; an operation command generation unit that generates an operation command for an electric motor based on the tool path generated by the path generation unit; and a feedback control unit that performs feedback control so that the driving state of the electric motor corresponds to the operation command; an operation information acquisition unit that acquires a driving state of the electric motor from the operation control unit; an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a correction command generation unit that generates a correction command for correcting a parameter for generating an operation command based on a command statement of the machining program, The correction command generation unit transmits to the path generation unit a correction command to correct parameters so as to correct the curvature of the tool path when an abnormality occurs in the machine tool.

5. A machining system for machining a workpiece using a machine tool, an operation control unit including: a path generation unit that generates a tool path for a machine tool based on an operation code included in a machining program that has been generated in advance; an operation command generation unit that generates an operation command for an electric motor based on the tool path generated by the path generation unit; and a feedback control unit that performs feedback control so that the driving state of the electric motor corresponds to the operation command; an operation information acquisition unit that acquires a driving state of the electric motor from the operation control unit; an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a correction command generation unit that generates a correction command for correcting a parameter for generating an operation command based on a command statement of the machining program, The correction command generation unit transmits to the operation command generation unit a correction command for correcting a parameter so as to correct a feed rate of a tool when an abnormality occurs in the machine tool.

6. A machining system for machining a workpiece using a machine tool, a shape data generation unit that generates three-dimensional shape data including a free-form surface of the workpiece; a trajectory generating unit that generates a movement trajectory along which the tool moves relative to the workpiece based on three-dimensional shape data of the workpiece and driving conditions of the machine tool; a program generating unit that generates a machining program including an operation code in which the positions of points for generating a tool path and the feed speed of the tool are defined based on the movement trajectory generated by the trajectory generating unit; an operation control unit including a path generating unit that generates a tool path for a machine tool based on an operation code, an operation command generating unit that generates an operation command for an electric motor based on the tool path generated by the path generating unit, and a feedback control unit that performs feedback control so that a driving state of the electric motor corresponds to the operation command; an operation information acquisition unit that acquires a driving state of the electric motor from the operation control unit; an abnormality detection unit that detects an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a modification command generation unit that generates a modification command for modifying a parameter used when the shape data generation unit generates the three-dimensional shape data, the correction command generation unit transmits to the shape data generation unit a correction command for correcting parameters so as to correct the curvature of a portion of the free-form surface of the three-dimensional shape data where an abnormality has occurred in the machine tool; the operation information acquisition unit acquires a time corresponding to a driving state of the machine tool; the abnormality detection unit acquires a driving state of the electric motor at the time when the abnormality is detected, and detects the position of the tool when the abnormality occurs based on the driving state of the electric motor; The correction command generation unit identifies the portion where the abnormality occurred on the free-form surface of the three-dimensional shape corresponding to the position of the tool when the abnormality occurred, and generates a correction command to reduce the curvature of the portion where the abnormality occurred.

7. a simulation unit that performs a simulation when the machine tool is driven based on the machining program; a determination unit that determines a result of the simulation performed by the simulation unit, the simulation unit includes a command generation simulation unit that generates an operation command for an electric motor based on a machining program, and a servo control simulation unit that causes a drive state of an electric motor that drives an object to be controlled to follow the operation command; the shape data generation unit generates modified three-dimensional shape data based on the modification command received from the modification command generation unit; the trajectory generation unit and the program generation unit generate a modified machining program based on the modified three-dimensional shape data, and transmit the modified machining program to the simulation unit; the simulation unit performs a simulation when the machine tool is driven using the corrected machining program, 7. The machining system according to claim 6, wherein the determination unit determines whether or not an abnormality will occur in the machine tool based on a result of the simulation, and transmits a determination result to the correction command generation unit.

8. The machining system according to any one of claims 1 to 7, wherein the abnormality detection unit calculates at least one of a spatial curvature change and a temporal curvature change in the tool path based on the position of the tool corresponding to time, and determines whether or not an abnormality has occurred based on the curvature change.

9. A correction method for correcting parameters for machining a workpiece in a machining system including a machine tool, comprising: a step in which a trajectory generating unit generates a movement trajectory along which the tool moves relative to the workpiece based on three-dimensional shape data of the workpiece generated in advance and driving conditions of the machine tool; a step in which a program generation unit generates a machining program including an operation code in which positions of points for generating a tool path and a feed rate of a tool are defined based on the movement trajectory generated by the trajectory generation unit; a step in which the operation control unit controls the electric motor based on an operation code included in the machining program; an operation information acquisition unit acquiring a driving state of the electric motor from the operation control unit; an abnormality detection unit detecting an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a step in which a cause estimation unit estimates a cause of an abnormality occurring in the machine tool; a step in which a correction command generation unit generates a correction command for correcting parameters defined in command statements of a machining program, based on the cause of the abnormality of the machine tool, so that the program generation unit corrects at least one of the curvature of the tool path and the feed rate of the tool when the abnormality of the machine tool occurs; transmitting a modification command to modify the parameter to the program generation unit.

10. A correction method for correcting parameters for machining a workpiece in a machining system including a machine tool, comprising: a step in which an operation control unit including a path generating unit that generates a tool path in the machine tool controls an electric motor based on an operation code included in a machining program that is generated in advance; an operation information acquisition unit acquiring a driving state of the electric motor from the operation control unit; an abnormality detection unit detecting an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a step in which a correction command generation unit generates a correction command for correcting a parameter used by the operation control unit to generate an operation command based on a command statement of the machining program so as to correct the curvature of the tool path when an abnormality occurs in the machine tool; transmitting a modification command to modify the parameter to the path generating unit.

11. A correction method for correcting parameters for machining a workpiece in a machining system equipped with a machine tool, comprising: a step in which an operation control unit including an operation command generation unit that generates an operation command for the electric motor based on a tool path of the machine tool controls the electric motor based on an operation code included in a machining program that is generated in advance; an operation information acquisition unit acquiring a driving state of the electric motor from the operation control unit; an abnormality detection unit detecting an abnormality in the machine tool based on the driving state of the electric motor acquired by the operation information acquisition unit; a step in which the correction command generation unit generates a correction command for correcting a parameter for generating an operation command based on a command statement of the machining program by the operation control unit so that the feed rate of the tool is corrected when an abnormality occurs in the machine tool; transmitting a modification command for modifying the parameter to the operation command generating unit.

Citation Information

Patent Citations

  • Numerical controller

    JP1996249042A

  • Numerical controller and numerical control method for machine tool

    JP2001216011A

  • Numerically controlled curved surface processing device

    JP2002222008A

  • Control method and control device of machine tool, program of causing computer to execute its control, and computer readable storage media storing program

    JP2003256010A

  • Method and device for checking machining program of NC machine tool, as well as NC machine tool equipped therewith

    JP2003271215A