Numerical control device, control method, and storage medium

The numerical control device addresses the issue of chatter vibrations by switching between two gain settings (KVI1 and KVI2) based on machining commands, thereby enhancing the quality of the machined surface.

JP2025074400APending Publication Date: 2025-05-14BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023185172
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-30
Publication Date
2025-05-14

AI Technical Summary

Technical Problem

Existing numerical control devices fail to reduce chatter vibrations effectively when the actual rotational speed of the spindle does not drop below a predetermined level, leading to a deterioration in the quality of the machining surface.

Method used

A numerical control device that switches between two control modes based on machining commands, adjusting the velocity loop integral gain to suppress chatter vibrations. In the first mode, the gain is set to a higher value (KVI1) for accurate processing, and in the second mode, the gain is reduced (KVI2) to mitigate chatter vibrations.

Benefits of technology

The solution effectively suppresses chatter vibrations and improves the quality of the machined surface by dynamically adjusting the gain based on the control mode, ensuring better surface finish even under heavy cutting conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025074400000001_ABST
    Figure 2025074400000001_ABST
Patent Text Reader

Abstract

To provide a numerical control device, control method, and storage medium capable of suppressing chatter-vibration and improving the processing surface quality.SOLUTION: A numerical control device switches a control mode at the time of driving a motor based on a cutting command to a first mode by a first switching command at the time of execution of an NC program (S4). The first mode is a control mode in which the magnitude of KVI at the time of driving the motor based on the cutting command is set to KVI1. The numerical control device switches the control mode at the time of driving the motor based on the cutting command to a second mode by a second switching command at the time of execution of the NC program (S6). The second mode is the control mode in which the magnitude of KVI at the time of driving the motor based on the cutting command is set to KVI2. The magnitude of KVI2 is smaller than the magnitude of KVI1.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a numerical control device, a control method, and a storage medium. [Background technology]

[0002] Some numerical control devices can continue machining without generating servo errors even when the spindle speed is reduced during heavy cutting with a heavy machining load. The numerical control device in Patent Document 1 detects the actual rotation speed of the spindle. When the actual rotation speed of the spindle is equal to or lower than a predetermined value, the numerical control device determines that the machined surface of the workpiece is in a heavy cutting state with a heavy machining load. In heavy cutting, chatter vibrations originating from the table occur and the cutting load fluctuates, resulting in a decrease in the quality of the machined surface of the workpiece. When the numerical control device in Patent Document 1 detects a fluctuation in the spindle speed, it changes the speed loop integral gain (Kvi) of the motor that drives the table from the reference Kvi to the heavy cutting Kvi. The value of the heavy cutting Kvi is smaller than the reference Kvi. By changing to the heavy cutting Kvi, the peak of the vibration frequency characteristic of the table becomes smaller, so that the chatter vibrations originating from the table that occur during heavy cutting become smaller. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2016-189039 A Summary of the Invention [Problem to be solved by the invention]

[0004] The above-mentioned numerical control device reduces Kvi under the condition of the actual rotation speed of the spindle. Therefore, in the above-mentioned numerical control device, if chatter vibration is generated but the actual rotation speed of the spindle does not fall below a predetermined level, Kvi cannot be reduced, and the chatter vibration causes a decrease in the quality of the machined surface.

[0005] An object of the present invention is to provide a numerical control device, a control method, and a storage medium that suppress chatter vibration and improve the quality of the machined surface. [Means for solving the problem]

[0006] A numerical control device according to a first aspect of the present invention is a numerical control device that controls a machine tool including a spindle on which a tool is attached and which rotates, a table on which a workpiece is fixed, a moving mechanism for relatively moving the spindle and the table, and a servo motor for driving the moving mechanism, based on a machining program including a plurality of control commands for machining the workpiece, and is characterized in that the numerical control device has a switching means for switching, based on the control commands, between a first mode in which a magnitude of a gain related to a speed loop is a first gain, or a second mode in which a magnitude of a gain related to the speed loop is a second gain smaller than the first gain, as a control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program.

[0007] In a first mode, the numerical control device of the first aspect sets the magnitude of the gain related to the speed loop as a first gain. In a second mode, the numerical control device sets the magnitude of the gain related to the speed loop when machining a workpiece as a second gain. By switching from the first mode to the second mode, the numerical control device reduces the magnitude of the gain and suppresses chatter vibrations when machining a workpiece. The numerical control device can suppress chatter vibrations and improve the quality of the machined surface.

[0008] In the numerical control device, the gain related to the speed loop may be a speed loop integral gain. In this case, the responsiveness of the servo motor in a low frequency band is changed. Therefore, the numerical control device can suppress chatter vibration in the low frequency band.

[0009] The numerical control device may include an end determination means for determining whether or not to end the machining program based on the control command, and when the end determination means determines that the machining program is to be ended, the switching means may switch the control mode to the first mode. In this case, the control mode when the machining program is started is the first mode, so that the numerical control device can machine the workpiece with high precision.

[0010] the numerical control device includes an exchange determination means for determining whether or not to exchange the tool attached to the spindle based on the control command, When the replacement determination means determines that the tool is to be replaced, the switching means may switch the control mode to the first mode. In this case, since the control mode is switched to the first mode when the tool attached to the spindle is replaced, the numerical control device can accurately machine the workpiece with the attached tool.

[0011] The numerical control device may include a drive determination means for determining whether the control command is a command for driving the moving mechanism by the servo motor, a machining determination means for determining whether the command for driving the moving mechanism is a command for machining the workpiece by the tool when the drive determination means determines that the control command is a command for driving the moving mechanism, and a positioning means for controlling the servo motor with a gain related to the speed loop as the first gain when the machining determination means determines that the command is not a command for machining the workpiece, thereby driving the moving mechanism based on the control command. In this case, the first gain is a large gain when the servo motor is controlled based on a command other than machining the workpiece, so that the numerical control device can control the servo motor with high precision.

[0012] A control method according to a second aspect of the present invention is a control method for controlling a machine tool including a spindle on which a tool is attached and which rotates, a table on which a workpiece is fixed, a moving mechanism for relatively moving the spindle and the table, and a servo motor for driving the moving mechanism, based on a machining program including a plurality of control commands for machining the workpiece, the control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program, the control mode being switched, based on the control commands, to either a first mode in which a magnitude of a gain related to a speed loop is a first gain, or a second mode in which a magnitude of a gain related to the speed loop is a second gain smaller than the first gain.

[0013] A storage medium according to a third aspect of the present invention stores a control program for causing a computer that controls a machine tool, which includes a spindle on which a tool is attached and which rotates, a table on which a workpiece is fixed, a moving mechanism that moves the spindle and the table relatively, and a servo motor that drives the moving mechanism, based on a machining program including a plurality of control commands for machining the workpiece, to execute a switching process for switching the control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program to either a first mode in which a magnitude of gain related to a speed loop is a first gain, or a second mode in which a magnitude of gain related to the speed loop is a second gain smaller than the first gain, based on the control commands.

[0014] The control method according to the second aspect and the storage medium according to the third aspect have the same effects as the numerical control device according to the first aspect. [Brief description of the drawings]

[0015] [Figure 1] FIG. 1 is a perspective view showing a machine tool 1. [Diagram 2] 2 is a block diagram showing the electrical configuration of a numerical control device 30 and a machine tool 1. FIG. [Diagram 3] FIG. 2 is a functional block diagram of a drive circuit 71. [Figure 4] 13 is a table showing vibration frequency characteristics of the machine tool 1 during machining when the magnitude of the TVI is changed. [Diagram 5] 11 is a graph showing the chatter generation cutting depth of each of two different tools 4 when the magnitude of TVI is changed. [Figure 6] FIG. 1 is a diagram showing an NC program P1. [Figure 7] 13 is a flowchart showing a main process. [Figure 8] 8 is a flowchart showing the main process, which is a continuation of FIG. 7. [Figure 9] 10 is a flowchart showing the main process, which is a continuation of FIG. 8. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] An embodiment of the present invention will be described below with reference to the drawings. The drawings to which reference is made are used to explain technical features that may be adopted by the present invention. In other words, the configurations and the like shown in the drawings are not intended to be limiting, but are merely illustrative examples. In the following description, left / right, front / rear, and up / down directions indicated by arrows in the drawings will be used. The left / right direction, front / rear direction, and up / down direction of the machine tool 1 are the X-axis direction, Y-axis direction, and Z-axis direction of the machine tool 1, respectively.

[0017] A machine tool 1 shown in Figure 1 is a machine that rotates a tool 4 attached to a spindle 9 and performs cutting processing on a workpiece 3 held on the upper surface of a table 13. A numerical control device 30 (see Figure 2) controls the operation of the machine tool 1 based on an NC program, which will be described later.

[0018] The structure of the machine tool 1 will be described with reference to Figure 1. The machine tool 1 includes a base 2, a column 5, a Z-axis movement mechanism (not shown), a spindle head 7, a spindle 9, a table device 10, a tool changer 20, a control box 6, an operation panel 15 (see Figure 2), etc. The base 2 is a metal base that is roughly a rectangular parallelepiped and is long in the front-rear direction.

[0019] The column 5 is provided at the rear of the upper surface of the base 2, and is generally rectangular parallelepiped-shaped and long in the vertical direction. The Z-axis movement mechanism is provided at the front of the column 5, and includes a Z-axis rail, a Z-axis ball screw, a Z-axis motor 53 (see FIG. 2), etc. The Z-axis rail and the Z-axis ball screw extend in the Z-axis direction. The Z-axis rail guides the spindle head 7 in the Z-axis direction. A Z-axis nut (not shown) is provided on the rear surface of the spindle head 7. The Z-axis nut screws into the Z-axis ball screw. When the Z-axis motor 53 rotates the Z-axis ball screw, the spindle head 7 moves in the Z-axis direction, guided by the Z-axis rail together with the Z-axis nut.

[0020] A spindle motor 54 (see FIG. 2) is provided on the top surface of the spindle head 7. The spindle 9 is provided inside the spindle head 7. A tool mounting hole (not shown) is provided at the bottom of the spindle 9. The tool 4 is detachably mounted in the tool mounting hole. The spindle 9 is rotated by being driven by the spindle motor 54.

[0021] The table device 10 includes a Y-axis movement mechanism (not shown), a Y-axis table 12, an X-axis movement mechanism (not shown), a table 13, etc. The Y-axis movement mechanism is provided on the front part of the upper surface of the base 2, and includes a Y-axis rail, a Y-axis ball screw, a Y-axis motor 52 (see FIG. 2), etc. The Y-axis rail and the Y-axis ball screw extend in the Y-axis direction. The Y-axis rail guides the Y-axis table 12 in the Y-axis direction. The Y-axis table 12 is a rectangular plate in a plan view, and a Y-axis nut (not shown) is provided on the underside. The Y-axis nut screws into the Y-axis ball screw. When the Y-axis motor 52 rotates the Y-axis ball screw, the Y-axis table 12 moves in the Y-axis direction while being guided by the Y-axis rail together with the Y-axis nut.

[0022] The X-axis movement mechanism is provided on the upper surface of the Y-axis table 12, and includes an X-axis rail, an X-axis ball screw, an X-axis motor 51 (see FIG. 2), etc. The X-axis rail and the X-axis ball screw extend in the X-axis direction. The X-axis rail guides the table 13 in the X-axis direction. The table 13 is provided on the upper surface of the Y-axis table 12, and is a rectangular plate in a plan view. The workpiece 3 is held on the upper surface of the table 13. An X-axis nut (not shown) is provided on the lower surface of the table 13. The X-axis nut screws into the X-axis ball screw. When the X-axis motor 51 rotates the X-axis ball screw, the table 13 moves in the X-axis direction, guided by the X-axis rail together with the X-axis nut.

[0023] The table 13 can be moved in the X-axis direction and the Y-axis direction by the X-axis movement mechanism and the Y-axis movement mechanism. The spindle 9 can be moved in the Z-axis direction together with the spindle head 7 by the Z-axis movement mechanism. In other words, the X-axis movement mechanism, the Y-axis movement mechanism, and the Z-axis movement mechanism move the spindle 9 and the table 13 relatively in the X-axis direction, the Y-axis direction, and the Z-axis direction. Hereinafter, the X-axis movement mechanism, the Y-axis movement mechanism, and the Z-axis movement mechanism will be collectively referred to as the movement mechanism.

[0024] The tool changer 20 is provided in front of the spindle head 7, and includes a tool magazine 21, a magazine motor 55 (see FIG. 2), etc. The tool magazine 21 is disk-shaped and holds a plurality of tools 4 radially on its outer periphery. The tools 4 are, for example, drills, taps, end mills, milling cutters, etc. In FIG. 1, the tools 4 held by the tool magazine 21 are omitted from illustration.

[0025] The tool magazine 21 rotates by being driven by a magazine motor 55. The tool magazine 21 positions the tool 4 designated by a tool change command (described later) at a tool change position. The tool change position is the lowest position of the tool magazine 21. The tool changer 20 exchanges the tool 4 attached to the spindle 9 with the tool 4 at the tool change position.

[0026] The control box 6 houses a numerical control device 30 (see FIG. 2). The numerical control device 30 controls the X-axis motor 51, the Y-axis motor 52, the Z-axis motor 53, the spindle motor 54, and the magazine motor 55, and performs various types of machining on the workpiece 3 by relatively moving the workpiece 3 held by the table 13 and the tool 4 attached to the spindle 9. The various types of machining include, for example, drilling using a drill or tap, side machining using an end mill or milling cutter, etc.

[0027] The operation panel 15 is provided, for example, on the outer wall of a cover (not shown) that covers the machine tool 1, and includes an operation unit 16, a display unit 17 (see FIG. 2), etc. The operation unit 16 receives inputs of various information, various instructions, etc., and outputs them to the numerical control device 30. The display unit 17 displays various screens based on commands from the numerical control device 30.

[0028] The electrical configuration of the numerical control device 30 and the machine tool 1 will be described with reference to Fig. 2. The numerical control device 30 includes a CPU 31, a ROM 32, a RAM 33, a storage device 34, an input / output unit 35, and drive circuits 41 to 45. The CPU 31 controls the numerical control device 30.

[0029] The ROM 32 stores various setting information. The RAM 33 temporarily stores various information. The memory device 34 is non-volatile and stores a plurality of NC programs described below, a control program for executing the main processing (see FIG. 7), etc. The NC program is a machining program composed of a plurality of lines (see FIG. 6). Each line of the NC program includes control commands for performing various operations including axial movement of the machine tool 1 and tool replacement. The numerical control device 30 executes the control commands constituting the NC program line by line, and performs cutting processing of the workpiece 3.

[0030] The input / output unit 35 inputs and outputs various signals between the CPU 31, the RAM 33, the storage device 34, the input / output unit 35, the drive circuits 41 to 45, the operation unit 16, and the display unit 17.

[0031] The drive circuit 41 is connected to the input / output unit 35, the X-axis motor 51, and the encoder 61. The drive circuit 42 is connected to the input / output unit 35, the Y-axis motor 52, and the encoder 62. The drive circuit 43 is connected to the input / output unit 35, the Z-axis motor 53, and the encoder 63. The drive circuit 44 is connected to the input / output unit 35, the spindle motor 54, and the encoder 64. The drive circuit 45 is connected to the input / output unit 35, the magazine motor 55, and the encoder 65.

[0032] Based on commands input from the CPU 31, the drive circuits 41, 42, 43, 44, and 45 output drive currents to the X-axis motor 51, the Y-axis motor 52, the Z-axis motor 53, the spindle motor 54, and the magazine motor 55. The X-axis motor 51, the Y-axis motor 52, the Z-axis motor 53, the spindle motor 54, and the magazine motor 55 are all servo motors, and rotate according to the input drive current. The X-axis motor 51, the Y-axis motor 52, and the Z-axis motor 53 that drive the movement mechanism are collectively referred to as motor 72. The drive circuits 41, 42, and 43 that output drive currents to the X-axis motor 51, the Y-axis motor 52, and the Z-axis motor 53 are collectively referred to as drive circuit 71.

[0033] The encoder 61 is connected to the drive circuit 41 and the X-axis motor 51. The encoder 62 is connected to the drive circuit 42 and the Y-axis motor 52. The encoder 63 is connected to the drive circuit 43 and the Z-axis motor 53. The encoder 64 is connected to the drive circuit 44 and the spindle motor 54. The encoder 65 is connected to the drive circuit 45 and the magazine motor 55.

[0034] The encoders 61, 62, 63, 64, and 65 are all absolute value encoders, and identify the rotational positions of the X-axis motor 51, the Y-axis motor 52, the Z-axis motor 53, the spindle motor 54, and the magazine motor 55. The encoders 61, 62, 63, 64, and 65 output feedback signals indicative of the identified rotational positions to the drive circuits 41, 42, 43, 44, and 45. The encoders 61, 62, and 63 that detect the rotational positions of the X-axis motor 51, the Y-axis motor 52, and the Z-axis motor 53 are collectively referred to as encoder 73. The drive circuit 71 receives the feedback signal from the encoder 73 and performs feedback control on the motor 72.

[0035] 3, a functional overview of the drive circuit 71 will be described. The drive circuit 71 includes subtractors 81 and 83, a position loop gain multiplication unit 82, a differentiator 84, a speed loop proportional gain multiplication unit 85, an integrator 86, a speed loop integral gain multiplication unit 87, an adder 88, a current control unit 89, and the like.

[0036] The drive circuit 71 outputs the current rotational position of the motor 72 as a feedback signal Sb to the input / output unit 35. The CPU 31 reads one line of the NC program and interprets the control command. The CPU 31 generates a position command Sa based on the control command and outputs it to the subtractor 81.

[0037] The subtractor 81 calculates a position deviation Se, which is the deviation between the position command Sa and the feedback signal Sb, and outputs it to a position loop gain multiplication unit 82. The position loop gain multiplication unit 82 calculates a speed command Sf by multiplying the position deviation Se by a position loop proportional gain KP, and outputs it to a subtractor 83.

[0038] The subtractor 83 calculates a speed deviation Sh, which is the deviation between the speed command Sf and the speed signal Sg. The speed signal Sg is generated by first-order time differentiation of the feedback signal Sb, which indicates the rotational position of the motor 72, by a differentiator 84. The subtractor 83 outputs the speed deviation Sh to both a speed loop proportional gain multiplication unit 85 and an integrator 86.

[0039] A speed loop proportional gain multiplication unit 85 multiplies the speed deviation Sh by a speed loop proportional gain KVP to calculate a proportional current command Si and outputs it to an adder 88. An integrator 86 calculates an integral signal Sj by integrating the speed deviation Sh and outputs it to a speed loop integral gain multiplication unit 87. The speed loop integral gain multiplication unit 87 multiplies the integral signal Sj by a speed loop integral gain KVI to calculate an integral current command Sk and outputs it to the adder 88.

[0040] The adder 88 adds the proportional current command Si and the integral current command Sk, and outputs a current command Sm to a current control unit 89. Based on the current command Sm, the current control unit 89 outputs a drive current to the motor 72 so that the rotational position of the motor 72 is specified by the position command Sa. The current control unit 89 outputs information on the drive current of the motor 72, i.e., torque information T(n) of the motor 72, to the input / output unit 35.

[0041] In this embodiment, the control method for the motor 72 is semi-closed loop control. Semi-closed loop control is a control method in which a servo motor is controlled based on feedback from an encoder. In order to perform optimal semi-closed loop control according to the magnitude of the inertial load, the numerical control device 30 performs gain adjustment. Gain adjustment means adjusting the responsiveness according to the magnitude of the load moment of inertia, etc.

[0042] Gain adjustment is performed by determining servo parameters. Servo parameters are parameters for controlling the servo motors, and are set for each of the X-axis motor 51, Y-axis motor 52, and Z-axis motor 53. The servo parameters have reference values, and the reference values ​​are changed according to the control conditions of each axis. The servo parameters include parameters for gain adjustment. The parameters for gain adjustment include gains related to the speed loop. The gains related to the speed loop are the speed loop proportional gain KVP and the speed loop integral gain KVI.

[0043] When the magnitude of the speed loop gain is changed, the responsiveness (frequency characteristics) of the servo motor changes. When the magnitude of the speed loop proportional gain KVP is changed, the responsiveness of the servo motor changes across all frequency bands. When the magnitude of the speed loop proportional gain KVP is increased, the servo stiffness increases and the responsiveness of the servo motor improves. Servo stiffness is the property that prevents movement due to an external force by the holding torque generated when the servo motor is stopped. When the magnitude of the speed loop proportional gain KVP is decreased, the servo stiffness decreases and the responsiveness of the servo motor decreases.

[0044] When the magnitude of the speed loop integral gain KVI is changed, the responsiveness of the servo motor in the low frequency band changes. The responsiveness of the servo motor in the low frequency band mainly refers to the responsiveness of the servo motor to the position deviation remaining when stopped and the speed deviation when moving at a constant speed. When the magnitude of the speed loop integral gain KVI is increased, the servo stiffness increases and the responsiveness of the servo motor improves. When the magnitude of the speed loop integral gain KVI is decreased, the servo stiffness decreases and the responsiveness of the servo motor decreases. In the following explanation, the speed loop integral gain KVI will be simply referred to as KVI.

[0045] The magnitude of KVI is changed by changing the magnitude of the velocity loop integral time constant TVI. In the following explanation, the velocity loop integral time constant TVI is simply referred to as TVI. TVI is a parameter that has an inverse relationship with KVI (KVI=1 / TVI).

[0046] The numerical controller 30 sets the TVI magnitude for the motor 72 that drives the moving mechanism to TVI1 during normal cutting. The numerical controller 30 sets the TVI magnitude for the motor 72 to TVI2 during rough cutting of hard materials such as iron. TVI2 is larger than TVI1, i.e., the KVI magnitude during rough cutting is smaller than the KVI magnitude during normal cutting. Hereinafter, the KVI during normal cutting will be referred to as KVI1 (= 1 / TVI1), and the KVI during rough cutting will be referred to as KVI2 (= 1 / TVI2). KVI1 and TVI1 are reference values ​​of servo parameters.

[0047] The numerical control device 30 sets the magnitude of TVI to a relatively small TVI1 during normal cutting. This sets the magnitude of KVI to a relatively large KVI1, and the responsiveness of the motor 72 increases. Contour accuracy is required during normal cutting. Machining that requires contour accuracy is, for example, machining of corners in the cutting path.

[0048] On the other hand, when the servo stiffness increases and the responsiveness of the motor 72 increases, chatter vibrations may occur in the table 13 and the spindle 9. Therefore, the numerical control device 30 sets the magnitude of TVI to a relatively large TVI2 during rough machining. As a result, the magnitude of KVI becomes a relatively small KVI2, which reduces the servo stiffness and the responsiveness of the motor 72. This suppresses the occurrence of chatter vibrations in the table 13 and the spindle 9.

[0049] The numerical control device 30 processes the workpiece 3 based on a cutting command in the NC program. The cutting command is a control command of the NC program, and causes the spindle 9 and the table 13 to move relatively to each other by driving the motor 72 while rotating the spindle 9, and cuts the workpiece 3 with the tool 4. The numerical control device 30 switches the control mode when driving the motor 72 in response to the cutting command between a first mode and a second mode.

[0050] The first mode is a control mode in which the magnitude of the KVI when driving the motor 72 in response to a cutting command is set to KVI1. The numerical control device 30 sets the magnitude of the TVI to TVI1, thereby setting the magnitude of the KVI to KVI1. More specifically, when the control mode is the first mode, the numerical control device 30 sets the magnitude of the TVI of the X-axis motor 51 in the cutting command to TVI1X, the magnitude of the TVI of the Y-axis motor 52 in the cutting command to TVI1Y, and the magnitude of the TVI of the Z-axis motor 53 in the cutting command to TVI1Z.

[0051] The second mode is a control mode in which the magnitude of KVI when driving the motor 72 in response to a cutting command is KVI2. As described above, the magnitude of KVI2 is smaller than the magnitude of KVI1. The numerical controller 30 sets the magnitude of TVI to TVI2, thereby setting the magnitude of KVI to KVI2. More specifically, when the control mode is the second mode, the numerical controller 30 sets the magnitude of TVI of the X-axis motor 51 in response to a cutting command to TVI2X, the magnitude of TVI of the Y-axis motor 52 in response to a cutting command to TVI2Y, and the magnitude of TVI of the Z-axis motor 53 in response to a cutting command to TVI2Z. The magnitude of TVI2X is larger than the magnitude of TVI1X, the magnitude of TVI2Y is larger than the magnitude of TVI1Y, and the magnitude of TVI2Z is ​​larger than the magnitude of TVI1Z.

[0052] The numerical control device 30 switches the control mode in accordance with a first switching command and a second switching command in the NC program. The first switching command is a control command for switching the control mode to the first mode, and the second switching command is a control command for switching the control mode to the second mode.

[0053] The control mode switching and the size of the KVI for control commands other than cutting commands are explained below. The control commands of an NC program may include control commands other than cutting commands. Control commands other than cutting processing include, for example, positioning commands, tool change commands, and end commands.

[0054] The positioning command is a control command for positioning the table 13 and the spindle 9 by driving the motor 72. The positioning command does not perform cutting of the workpiece 3. In the positioning command, the magnitude of KVI when driving the motor 72 is set to KVI1, regardless of whether the control mode is the first mode or the second mode.

[0055] The tool change command is a control command for changing a tool by the tool change device 20. When the tool change is performed by the tool change command, the numerical control device 30 switches the control mode to the first mode. That is, in a cutting command that is performed during the period from when the tool change is performed by the tool change command until the control mode is switched to the second mode by the second switching command, the numerical control device 30 determines that the control mode is the first mode and sets the magnitude of the KVI to KVI1.

[0056] The end command is a control command to end the execution of the NC program. When the execution of the NC program is ended by the end command, the numerical control device 30 switches the control mode to the first mode. That is, in a cutting command that is executed from the start of the next NC program until the control mode is switched to the second mode by the second switching command, the numerical control device 30 assumes that the control mode is the first mode and sets the magnitude of the KVI to KVI1.

[0057] A change in vibration frequency characteristic specific to machine tool 1 depending on the size of KVI will be described with reference to Fig. 4. In order to confirm a change in vibration frequency characteristic specific to machine tool 1 depending on the size of KVI, the inventors conducted a hammering test (vibration test) by switching the size of KVI between KVI1 and KVI2.

[0058] In the hammering test, acceleration pickups (not shown) are attached to table 13, Y-axis table 12, and spindle 9, and a hammer (not shown) is used to strike table 13 in the X-axis direction, strike Y-axis table 12 in the Y-axis direction, and strike spindle 9 in the Z-axis direction. Vibrations generated in table 13 are measured by the acceleration pickup attached to table 13. Vibrations generated in Y-axis table 12 are measured by the acceleration pickup attached to Y-axis table 12. Vibrations generated in spindle 9 are measured by the acceleration pickup attached to spindle 9. The inventors performed FFT analysis on each of the measured vibrations and calculated the compliance for each frequency.

[0059] In each graph shown in Fig. 4, compliance (m / N) on the vertical axis indicates the magnitude of vibration, and frequency (Hz) on the horizontal axis. Fig. 4(A) shows the low frequency portion of the vibration frequency characteristics in the X-axis direction specific to table 13. Fig. 4(B) shows the low frequency portion of the vibration frequency characteristics in the Y-axis direction specific to Y-axis table 12. Fig. 4(C) shows the low frequency portion of the vibration frequency characteristics in the Z-axis direction specific to spindle 9.

[0060] In the vibration frequency characteristics in each axis direction, the compliance when the TVI magnitude is TVI2 is smaller than the compliance when the TVI magnitude is TVI1. In particular, in the vibration frequency characteristics in the X-axis direction and the Y-axis direction, the compliance magnitude at the frequency at which the compliance magnitude peaks is greatly reduced by switching the TVI magnitude from TVI1 to TVI2. In other words, it was confirmed that the compliance magnitude at the frequency at which the compliance magnitude peaks is greatly reduced by switching the KVI magnitude from KVI1 to KVI2.

[0061] Changes in chatter vibration caused by the magnitude of the KVI will be described with reference to Fig. 5. In this embodiment, the inventors conducted a sensory test to confirm the effect of suppressing chatter vibration by switching the magnitude of the TVI from KVI1 to KVI2. The sensory test is a test for evaluating characteristics using human senses.

[0062] In the sensory test, two different tools 4 are attached to the spindle 9, and cutting is performed on the iron workpiece 3 in the X-axis direction or the Y-axis direction. The two different tools 4 are end mills with different diameters, and the cutting is intermittent cutting. In the cutting, a cutting process with a TVI size of TVI1 and a cutting process with a TVI size of TVI2 are performed. The inventor performs multiple cutting processes while gradually increasing the axial depth of cut. When the inventor confirms noise due to chatter vibration in the cutting process with the machine tool 1, he stops the cutting process and records the axial depth of cut (mm) at which the noise was confirmed. In the following explanation, the axial depth of cut at which noise due to chatter vibration is confirmed after starting the cutting process is referred to as the chatter occurrence depth of cut.

[0063] In each graph shown in Fig. 5, the vertical axis indicates the chatter occurrence depth of cut. Fig. 5(A) shows the chatter occurrence depth of cut when the TVI magnitude is TVI1 and the chatter occurrence depth of cut when the TVI magnitude is TVI2 in the X-axis direction and the Y-axis direction, respectively, of one of two mutually different tools 4. Fig. 5(B) shows the chatter occurrence depth of cut when the TVI magnitude is TVI1 and the chatter occurrence depth of cut when the TVI magnitude is TVI2 in the X-axis direction and the Y-axis direction, respectively, of the other of the two mutually different tools 4.

[0064] For any tool 4, the chatter occurrence cutting depth increased in both the X-axis and Y-axis directions by switching the TVI magnitude from TVI1 to TVI2. This confirmed that chatter vibration is less likely to occur by switching the TVI magnitude from TVI1 to TVI2. In other words, it was confirmed that chatter vibration is less likely to occur by switching the KVI magnitude from KVI1 to KVI2.

[0065] In the main processing described later, one NC program is selected from the multiple NC programs stored in the storage device 34, and cutting processing is performed based on the selected NC program. In this embodiment, an example will be described in which the NC program P1 shown in Fig. 6 is executed.

[0066] As shown in Fig. 6, in an NC program, line numbers correspond to control commands. In NC program P1, each line number is indicated by a number specified after N. In the main processing, control commands are executed one line at a time starting from the smallest line number. When NC program P1 starts, the control mode is the first mode, and the size of the KVI during cutting is KVI1.

[0067] Line N010 is a control command to perform tool change by the tool changer 20. M06 is a tool change command to exchange the tool 4 mounted on the spindle 9 with the tool 4 having the tool number specified after T. On line N010, the numerical control device 30 exchanges the tool 4 mounted on the spindle 9 with the tool 4 No. T01 by the tool changer 20. When the tool change is performed, the numerical control device 30 switches the control mode to the first mode, and stores in the RAM 33 that the control mode is the first mode.

[0068] Line N020 is a control command that uses an absolute command to position spindle 9 to the position Z = 200. G0 is a positioning command that positions spindle 9 to the position specified after G0.

[0069] Line N030 is a control command to switch the control mode of the motor 72 from the first mode to the second mode. M338 is a second switching command. The numerical control device 30 stores in the RAM 33 that the control mode has been switched to the second mode. When the control mode is the second mode, in cutting processing in the NC program P1, the numerical control device 30 sets the magnitude of the KVI of the motor 72 to KVI2.

[0070] Line N040 is a control command to position the spindle 9 to the position Z=100, X=0, Y=0. M03 is a rotation command to rotate the spindle 9 at the rotation speed specified after S. In line N040 of the NC program P1, the numerical control device 30 positions the spindle 9 at the specified position and rotates the spindle 9 at 1000 rpm. Although the control mode is the second mode, the motor 72 is driven based on the positioning command G0, so the numerical control device 30 performs positioning with the magnitude of the KVI of the motor 72 as KVI1.

[0071] Line N050 is a control command to perform cutting while feeding the spindle 9 to the position of X=100, Y=100. G1 is a cutting command, which sends the spindle 9 while cutting the workpiece 3 at the feed rate (1000 mm / min) specified after F to the position specified after G1. Since the control mode was switched to the second mode on line N030, on line N050 the numerical control device 30 performs cutting with the magnitude of the KVI of the motor 72 being KVI2.

[0072] Line N060 is a control command to replace the tool 4 mounted on the spindle 9 with the tool 4 No. T02 in response to the tool change command M06. When the tool change is performed, the numerical control device 30 switches the control mode from the second mode to the first mode, and stores in the RAM 33 that the control mode is the first mode.

[0073] Line N070 is a control command to position the spindle 9 to the position Z=200, X=0, Y=0 in response to the positioning command G0, and to rotate the spindle 9 at 1000 rpm in response to a rotation command. Since the motor 72 is driven based on the positioning command, the numerical control device 30 performs positioning by setting the magnitude of the KVI of the motor 72 to KVI1.

[0074] Line N080 is a control command to perform cutting processing by feeding the spindle 9 to the position of Z=100 at the feed rate specified after F in response to cutting command G1. Since the control mode was switched to the first mode in line N060, in line N080, the numerical control device 30 performs cutting processing with the magnitude of KVI of motor 72 being KVI1.

[0075] Line N090 is a control command to switch the control mode of the motor 72 from the first mode to the second mode in response to the second switching command M338. Line N100 is a control command to perform cutting processing while feeding the spindle 9 to the position of X=100 at the feed rate specified after F in response to the cutting command G1. Since the control mode was switched to the second mode in line N090, in line N100 the numerical control device 30 performs cutting processing with the magnitude of the KVI of the motor 72 being KVI2.

[0076] Line N110 is a control command to switch the control mode of the motor 72 from the second mode to the first mode. M339 is a first switching command. The numerical control device 30 stores in the RAM 33 that the control mode is the first mode. When the control mode is the first mode, in cutting processing in the NC program P1, the numerical control device 30 sets the magnitude of the KVI of the motor 72 to KVI1.

[0077] Line N120 is a control command to perform cutting processing while feeding the spindle 9 to the position of Y=100 in response to cutting command G1 at the feed rate specified after F. Since the control mode was switched to the first mode on line N110, on line N120 the numerical control device 30 performs cutting processing with the magnitude of KVI of the motor 72 being KVI1.

[0078] Line N130 is a control command to stop the rotation of the spindle 9. M05 is a rotation stop command to stop the rotation of the spindle 9. Line N140 is a control command to end the NC program. M30 is an end command to end the NC program. In line N140, before ending the NC program, the numerical control device 30 switches the control mode to the first mode, and stores in RAM 33 that the control mode is the first mode. The numerical control device 30 ends the NC program based on the end command M30.

[0079] The main processing executed by CPU 31 will be described with reference to Fig. 7 to Fig. 9. The operator uses operation unit 16 of operation panel 15 to select one NC program from the multiple NC programs stored in storage device 34, and inputs an instruction to start cutting processing to CPU 31. Upon receiving the instruction to start, CPU 31 starts the main processing by executing a control program called from storage device 34. When the main processing starts, the control mode is the first mode.

[0080] 7, the CPU 31 reads an NC program selected using the operation unit 16 (S1). The CPU 31 interprets one line of control commands from the read NC program (S2). The CPU 31 determines whether the interpreted control commands include a first switching command M339 (S3). When the CPU 31 determines that the interpreted control commands include the first switching command M339 (S3: YES), it switches the control mode to the first mode and stores in the RAM 33 that the control mode is the first mode (S4). The CPU 31 returns the process to S2.

[0081] When the CPU 31 determines that the interpreted control command does not include the first switching command M339 (S3: NO), it determines whether the interpreted control command includes the second switching command M338 (S5). When the CPU 31 determines that the interpreted control command includes the second switching command M338 (S5: YES), it switches the control mode to the second mode and stores in the RAM 33 that the control mode is the second mode (S6). The CPU 31 returns the process to S2. When the CPU 31 determines that the interpreted control command does not include the second switching command M338 (S5: NO), it shifts the process to S11 (see FIG. 8).

[0082] As shown in Fig. 8, the CPU 31 judges whether the interpreted control command is a command for driving the moving mechanism (S11). In the process of S11, the CPU 31 judges whether the interpreted control command includes a cutting command G1 or a positioning command G0. If the interpreted control command includes the cutting command G1 or the positioning command G0, the numerical control device 30 judges that the interpreted control command is a command for driving the moving mechanism (S11: YES). If the interpreted control command does not include the cutting command G1 or the positioning command G0, the numerical control device 30 judges that the interpreted control command is not a command for driving the moving mechanism (S11: NO).

[0083] When the CPU 31 determines that the interpreted control command is a command for driving the moving mechanism (S11: YES), it determines whether the interpreted control command includes a cutting command G1 (S12). When the CPU 31 determines that the interpreted control command includes a cutting command G1 (S12: YES), it determines whether the control mode stored in the RAM 33 is the second mode (S13).

[0084] When the CPU 31 determines that the control mode is the second mode (S13: YES), it sets the size of the TVI to TVI2, thereby setting the size of the KVI to KVI2 (S14), and proceeds to S16. When the CPU 31 determines that the control mode is the first mode, but not the second mode (S13: NO), it sets the size of the TVI to TVI1, thereby setting the size of the KVI to KVI1 (S15), and proceeds to S16.

[0085] The CPU 31 performs cutting on the workpiece 3 based on the cutting command G1 (S16). If the control mode is the first mode (S13: NO), the CPU 31 performs cutting with the magnitude of the KVI of the motor 72 set to KVI1. If the control mode is the second mode (S13: YES), the CPU 31 performs cutting with the magnitude of the KVI of the motor 72 set to KVI2. The CPU 31 returns the process to S2 (see FIG. 7).

[0086] When the CPU 31 determines that the interpreted control command includes the positioning command G0 but does not include the cutting command G1 (S12: NO), it sets the magnitude of the TVI to TVI1, and thereby sets the magnitude of the KVI to KVI1 (S17). The CPU 31 positions the spindle 9 based on the positioning command G0 (S18). In both the first mode and the second mode, the CPU 31 positions the spindle 9 by setting the magnitude of the KVI of the motor 72 to KVI1. The CPU 31 returns the process to S2. When the CPU 31 determines that the interpreted control command is not a command for driving the moving mechanism (S11: NO), it transitions the process to S21 (see FIG. 9).

[0087] As shown in Fig. 9, the CPU 31 determines whether the interpreted control command includes the tool change command M06 (S21). When the CPU 31 determines that the interpreted control command includes the tool change command M06 (S21: YES), the CPU 31 performs tool change by the tool changer 20 based on the tool change command M06 (S22). The CPU 31 switches the control mode to the first mode, and stores in the RAM 33 that the control mode is the first mode (S23). The CPU 31 returns the process to S2 (see Fig. 7).

[0088] When the CPU 31 determines that the interpreted control command does not include the tool change command M06 (S21: NO), it determines whether the interpreted control command includes the end command M30 (S24). When the CPU 31 determines that the interpreted control command does not include the end command M30 (S24: NO), it executes various processes based on the interpreted control command (S25). The various processes are, for example, the rotation stop command M05. The CPU 31 returns the process to S2.

[0089] When the CPU 31 determines that the interpreted control command includes the end command M30 (S24: YES), it switches the control mode to the first mode and stores in the RAM 33 that the control mode is the first mode (S26). The CPU 31 then ends the main process.

[0090] As described above, the numerical controller 30 switches the control mode when the motor 72 is driven based on a cutting command to the first mode by the first switching command M339 during execution of the NC program (S4, S23, S26). The first mode is a control mode in which the magnitude of the KVI when the motor 72 is driven based on a cutting command is KVI1. The numerical controller 30 switches the control mode when the motor 72 is driven based on a cutting command to the second mode by the second switching command M338 during execution of the NC program (S6). The second mode is a control mode in which the magnitude of the KVI when the motor 72 is driven based on a cutting command is KVI2. The magnitude of KVI2 is smaller than the magnitude of KVI1. According to this, when the control mode is the first mode, the numerical controller 30 performs cutting processing with the magnitude of the KVI of the motor 72 set to KVI1. When the control mode is the first mode, the machining accuracy is improved compared to when the control mode is the second mode. When the control mode is the second mode, the numerical controller 30 performs cutting processing with the magnitude of the KVI of the motor 72 set to KVI2. The numerical control device 30 reduces the magnitude of the gain by switching from the first mode to the second mode, thereby suppressing chatter vibrations that occur during cutting. Therefore, the numerical control device 30 can suppress chatter vibrations during cutting and improve the quality of the machined surface.

[0091] The numerical controller 30 changes the magnitude of the KVI among the magnitudes of the gains related to the speed loop by switching the control mode. In this case, the responsiveness of the motor 72 in the low frequency band changes. Therefore, the numerical controller 30 can suppress chatter vibration in the low frequency band.

[0092] The numerical control device 30 judges whether the control command interpreted during execution of the NC program includes the end command M30 (S24). When the numerical control device 30 judges that the interpreted control command includes the end command M30 (S24: YES), it switches the control mode to the first mode (S26). In this case, the control mode when the next NC program starts to be executed becomes the first mode. By switching to the first mode in which the magnitude of KVI is relatively large compared to KVI2, the numerical control device 30 increases the responsiveness of the motor 72, and can cut the workpiece 3 with high precision.

[0093] The numerical control device 30 judges whether the control command interpreted during execution of the NC program includes a tool change command M06 (S21). When the numerical control device 30 judges that the interpreted control command includes the tool change command M06 (S21: YES), the numerical control device 30 performs tool change by the tool changer 20 based on the tool change command M06 (S22) and switches the control mode to the first mode (S23). In this case, the control mode after the tool change becomes the first mode. By switching to the first mode in which the magnitude of KVI is relatively large compared to KVI2, the numerical control device 30 increases the responsiveness of the motor 72, and can accurately machine the workpiece 3 in the cutting process after the tool change.

[0094] The numerical controller 30 judges whether the control command interpreted during execution of the NC program is a command for driving the moving mechanism (S11). When the numerical controller 30 judges that the moving mechanism is to be driven based on the interpreted control command (S11: YES), it judges whether the interpreted control command includes the cutting command G1 (S12). When the numerical controller 30 judges that the control command does not include the cutting command G1 (S12: NO), it sets the magnitude of the KVI to KVI1 (S17) and performs positioning of the spindle 9 (S18). According to this, in both the first mode and the second mode, the numerical controller 30 performs positioning of the spindle 9 with the magnitude of the KVI of the motor 72 set to KVI1. In this way, in the positioning command that is unlikely to cause chatter vibration, the numerical controller 30 controls the motor 72 with the magnitude of the KVI set to KVI1. Since the magnitude of the KVI is KVI1, which is relatively large compared to KVI2, the responsiveness of the motor 72 is increased, and the numerical controller 30 can control the motor 72 with high precision.

[0095] The present invention can be modified in various ways from the above-described embodiment. The various modified examples described below can be combined with each other as long as no contradictions arise. The numerical control device 30 is not limited to being provided on the machine tool 1, and may be provided separately from the machine tool 1. For example, the numerical control device 30 may be a control device (PC, dedicated machine, etc.) electrically connected to the machine tool 1.

[0096] Instead of the CPU 31, for example, a microcomputer, an ASIC (Application Specific Integrated Circuits), an FPGA (Field Programmable Gate Array), or the like may be used to control the numerical control device 30. The main processing may be distributed among a plurality of control devices.

[0097] Memory media such as the ROM 32 and the storage device 34 may be any memory media capable of storing information regardless of the period for which the information is stored. The control program for executing the main processing may be downloaded (i.e., transmitted as a transmission signal) from, for example, a server (not shown) connected to a network and stored in the storage device 34. In this case, the control program may be stored in a memory medium such as an HDD provided in the server.

[0098] The configuration of the machine tool 1 may be changed as appropriate. The machine tool 1 only needs to be capable of relative movement between the spindle 9 and the table 13. For example, with the spindle 9 in a predetermined position, the table 13 may move in the X-axis direction, Y-axis direction, and Z-axis direction. In the machine tool 1, with the table 13 in a predetermined position, the spindle 9 may move in the X-axis direction, Y-axis direction, and Z-axis direction. The table 13 may be rotatable around an axis parallel to the X-axis direction or an axis parallel to the Z-axis direction. In this case, the control mode of the motor for rotating the table 13 may be switched between a first mode and a second mode.

[0099] In the above embodiment, the control modes of the motor 72 are two types, i.e., the first mode and the second mode, but there may be three or more control modes. The numerical control device 30 may be switchable, for example, to a third mode in addition to the first mode and the second mode. In the third mode, the magnitude of the KVI when driving the motor 72 based on a cutting command is set to KVI3 (<KVI2). The numerical control device 30 may switch KVI2 and KVI3, for example, according to the mass of the workpiece 3 loaded on the table. The numerical control device 30 may calculate an optimal gain by linearly interpolating KVI2 and KVI3, for example, in proportion to the mass of the workpiece 3 loaded on the table, and use it as the magnitude of the KVI when driving the motor 72.

[0100] In the above embodiment, when the control command interpreted during execution of the NC program is the cutting command G1, the numerical control device 30 changes the magnitude of the KVI to KVI2 based on the control mode. In contrast, when the control command is a command to machine the workpiece 3 other than the cutting command G1, the numerical control device 30 may change the magnitude of the KVI to KVI2 based on the control mode. A command to machine the workpiece 3 other than the cutting command G1 is, for example, a circular cutting command G2 that performs cutting while moving the spindle 9 and the table 13 relatively in an arc shape.

[0101] In the above embodiment, the numerical controller 30 changes the speed loop integral gain KVI among the gains related to the speed loop between the first mode and the second mode. In contrast, the numerical controller 30 may change the speed loop proportional gain KVP instead of the speed loop integral gain KVI between the first mode and the second mode. The numerical controller 30 may change both the speed loop integral gain KVI and the speed loop proportional gain KVP between the first mode and the second mode. The numerical controller 30 may change the position loop proportional gain KP instead of the speed loop integral gain KVI.

[0102] In the above embodiment, the numerical control device 30 changes the magnitude of the speed loop integral gain KVI by changing the magnitude of the speed loop integral time constant TVI between the first mode and the second mode, but the magnitude of the speed loop integral gain KVI may be changed independently of the speed loop integral time constant TVI.

[0103] In the above embodiment, when the numerical control device 30 determines that the interpreted control command is the end command M30, the control mode is switched to the first mode. In contrast, when the numerical control device 30 determines that the interpreted control command is the end command M30, the numerical control device 30 does not need to switch the control mode. When the numerical control device 30 determines that the interpreted control command is the end command M30, the numerical control device 30 may switch the control mode to the second mode.

[0104] In the above embodiment, when the numerical control device 30 determines that the interpreted control command is the tool change command M06, the numerical control device 30 switches the control mode to the first mode. In contrast, when the numerical control device 30 determines that the interpreted control command is the tool change command M06, the numerical control device 30 may not switch the control mode. When the numerical control device 30 determines that the interpreted control command is the tool change command M06, the numerical control device 30 may switch the control mode to the second mode. In the above embodiment, the numerical control device 30 switches the control mode to the first mode after the tool change is performed by the tool change device 20. The numerical control device 30 may switch the control mode to the first mode between the time when the numerical control device 30 determines that the control command is the tool change command M06 and the time when the tool change is performed by the tool change device 20. The numerical control device 30 may also switch the control mode to the first mode when a control command for performing a tool change other than M06 is interpreted.

[0105] In the above embodiment, when the numerical control device 30 controls the motor 72 based on the positioning command G0, the magnitude of the KVI is set to KVI1. In contrast, when the numerical control device 30 controls the motor 72 based on the positioning command G0, the magnitude of the KVI may be set to KVI2. When the numerical control device 30 controls the motor 72 based on the positioning command G0, the magnitude of the KVI may be set to KVI1 if the control mode is the first mode, and may be set to KVI2 if the control mode is the second mode.

[0106] Other modified examples will be described. In the above embodiment, the machine tool 1 is a vertical machine tool with the spindle 9 extending vertically, but the machine tool 1 may be a horizontal machine tool with the spindle 9 extending horizontally. In the above embodiment, the tool changer 20 is of a turret type, but it may be of an arm type, for example. In the above embodiment, the drive circuits 41-45 are provided in the numerical control device 30, but the drive circuits 41-45 may be provided in the machine tool 1.

[0107] The motor 72 is an example of a "servo motor" of the present invention. The NC program is an example of a "machining program" of the present invention. KVI1 is an example of a "first gain" of the present invention. KVI2 is an example of a "second gain" of the present invention. The CPU 31 that executes the processes of S4, S6, S23, and S26 is an example of a "switching means" of the present invention. The processes of S4, S6, S23, and S26 are examples of a "switching step" and "switching process" of the present invention. The CPU 31 that executes the process of S24 is an example of an "end determination means" of the present invention. The CPU 31 that executes the process of S21 is an example of a "replacement determination means" of the present invention. The CPU 31 that executes the process of S11 is an example of a "drive determination" of the present invention. The CPU 31 that executes the process of S12 is an example of a "machining determination means" of the present invention. S18 is an example of a "positioning means" of the present invention. [Explanation of symbols]

[0108] 1 Machine tools 4 Tools 9 Main axis 13 Tables 20 Tool changer 30 Numerical Control Device 31 CPU 71 Drive circuit 72 Motor 73 Encoder 87 Speed ​​loop integral gain multiplication section

Claims

1. A numerical control device controls a machine tool including a spindle on which a tool is attached and which rotates, a table on which a workpiece is fixed, a movement mechanism for relatively moving the spindle and the table, and a servo motor for driving the movement mechanism, based on a machining program including a plurality of control commands for machining the workpiece, a switching means for switching the control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program between a first mode in which a magnitude of a gain related to a speed loop is a first gain, and a second mode in which a magnitude of a gain related to the speed loop is a second gain smaller than the first gain, based on the control command; A numerical control device characterized by:

2. 2. The numerical control device according to claim 1, wherein the gain related to the speed loop is a speed loop integral gain.

3. a termination determination means for determining whether or not to terminate the machining program based on the control command, When the end determination means determines that the machining program is to be ended, the switching means switches the control mode to the first mode. The numerical control device according to claim 1 .

4. a tool replacement determination means for determining whether or not to replace the tool attached to the spindle based on the control command, When the tool replacement determination means determines that the tool is to be replaced, the switching means switches the control mode to the first mode. The numerical control device according to claim 1 .

5. a drive determination means for determining whether or not the control command is a command for driving the moving mechanism by the servo motor; a machining determination means for determining whether or not the command for driving the moving mechanism is a command for machining the workpiece by the tool when the drive determination means determines that the command is a command for driving the moving mechanism; and a positioning means for controlling the servo motor with a gain related to the speed loop as the first gain when the machining determination means determines that the command is not for machining the workpiece, thereby driving the moving mechanism based on the control command. The numerical control device according to claim 1 .

6. A control method for controlling a machine tool including a rotating spindle on which a tool is attached, a table on which a workpiece is fixed, a movement mechanism for relatively moving the spindle and the table, and a servo motor for driving the movement mechanism, based on a machining program including a plurality of control commands for machining the workpiece, comprising: a switching step for switching the control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program to either a first mode in which a magnitude of a gain related to a speed loop is a first gain, or a second mode in which a magnitude of a gain related to the speed loop is a second gain smaller than the first gain, based on the control command; A control method comprising:

7. A computer controls a machine tool including a spindle on which a tool is attached and which rotates, a table on which a workpiece is fixed, a movement mechanism for relatively moving the spindle and the table, and a servo motor for driving the movement mechanism, based on a machining program including a plurality of control commands for machining the workpiece. A storage medium storing a control program for executing a switching process for switching the control mode of the servo motor when machining the workpiece with the tool in accordance with the machining program, based on the control command, to either a first mode in which a magnitude of a gain related to a speed loop is a first gain, or a second mode in which a magnitude of a gain related to the speed loop is a second gain smaller than the first gain.

Citation Information

Patent Citations

  • Numerical control device and control method

    JP2016189039A