Numerical controller and numerical control method

文档序号:67384 发布日期:2021-10-01 浏览:28次 中文

阅读说明:本技术 数值控制装置和数值控制方法 (Numerical controller and numerical control method ) 是由 寺田弦 小林太树 于 2021-03-03 设计创作,主要内容包括:本发明涉及数值控制装置和数值控制方法。数值控制装置具备控制部,该控制部对能够驱动工作台或刀具来加工固定于工作台的切削对象的机械的动作进行控制,并且能够基于工作台或刀具移动时的时间常数来执行加减速处理。数值控制装置的控制部计算时间常数。数值控制装置的控制部计算通过驱动工作台或刀具所产生的机床的振动量。数值控制装置的控制部对时间常数进行校正,使得计算出的振动量不超过预先设定的阈值。数值控制装置的控制部使用校正后的时间常数来进行加减速处理。数值控制装置的控制部基于进行加减速处理后的速度波形来控制机床。(The present invention relates to a numerical controller and a numerical control method. The numerical controller includes a control unit that controls the operation of a machine that can drive the table or the tool to machine a cutting target fixed to the table, and that can execute acceleration/deceleration processing based on a time constant when the table or the tool moves. A control unit of the numerical controller calculates a time constant. The control unit of the numerical controller calculates the amount of vibration of the machine tool caused by driving the table or the tool. The control unit of the numerical controller corrects the time constant so that the calculated vibration amount does not exceed a preset threshold value. The control unit of the numerical controller performs acceleration/deceleration processing using the corrected time constant. A control unit of the numerical controller controls the machine tool based on the velocity waveform after the acceleration/deceleration processing.)

1. A numerical controller (30) comprising a control unit that controls the operation of a machine (1) that can drive a table (13) or a tool to machine a cutting object (3) fixed to the table, and that executes acceleration/deceleration processing based on a time constant when the table or the tool moves, the numerical controller being characterized in that,

the control unit (31) is provided with:

a time constant calculation unit that calculates the time constant;

a vibration calculation unit that calculates a vibration amount of the machine generated by driving the table or the tool;

a time constant correction unit that corrects the time constant so that the vibration amount calculated by the vibration calculation unit does not exceed a preset threshold value; and

and an acceleration/deceleration processing unit that performs acceleration/deceleration processing using the time constant corrected by the time constant correction unit.

2. The numerical control apparatus according to claim 1,

the time constants include a first time constant that is the time constant for limiting acceleration when the table or the tool is moved, and a second time constant that is the time constant for limiting jerk.

3. The numerical control apparatus according to claim 2,

further comprising an inertia calculation unit that calculates a total inertia that is a total of the inertias of the table or the tool,

the time constant calculation unit calculates the first time constant based on a speed change amount when the table or the tool moves and the total inertia calculated by the inertia calculation unit.

4. A numerical control apparatus according to any one of claims 1 to 3,

the vibration calculation unit includes:

a first vibration calculation unit that calculates first vibration information indicating the vibration amount for each frequency based on a relationship between an acceleration when the table or the tool moves and the vibration amount of the machine;

a second vibration calculation unit that calculates second vibration information indicating a relationship between the time constant and the acceleration when the table or the tool moves, for each natural frequency of the machine; and

and a third vibration calculation unit that calculates third vibration information indicating vibration of the machine for each natural frequency of the machine, based on the first vibration information calculated by the first vibration calculation unit and the second vibration information calculated by the second vibration calculation unit.

5. The numerical control apparatus according to claim 4,

the vibration calculation unit further includes a vibration amount calculation unit that calculates, as the vibration amount, the largest third vibration information among the third vibration information for each natural frequency of the machine.

6. The numerical control apparatus according to claim 2,

the time constant correction unit corrects the first time constant by increasing a value of the first time constant until the vibration amount is equal to or less than the threshold value.

7. The numerical control apparatus according to claim 2,

the time constant correction section increases at least one of the first time constant and the second time constant to correct at least one of the first time constant and the second time constant until the vibration amount is below the threshold value.

8. The numerical controller according to any one of claims 1 to 7,

the vibration calculation unit calculates the amount of vibration based on the mass of the cutting object fixed to the table and a jig for fixing the cutting object to the table.

9. The numerical controller according to any one of claims 1 to 8,

the table or the tool can be moved relatively along a plurality of different reference axes,

the time constant calculation section calculates the time constant of each of the plurality of reference axes,

the vibration calculation section calculates the vibration amount of each of the plurality of reference axes,

the time constant correction section corrects the time constant of each of the plurality of reference axes,

the acceleration/deceleration processing unit performs acceleration/deceleration processing for each of the plurality of reference axes based on the plurality of time constants corrected by the time constant correction unit.

10. The numerical controller according to any one of claims 1 to 8,

the table or the tool can be moved relatively along a plurality of different reference axes,

the time constant calculation section calculates the longest time constant among the time constants of each of the plurality of reference axes as an all-axis time constant,

the vibration calculation section calculates the largest one of the vibration amounts of each of the plurality of reference axes as an all-axis vibration amount,

the time constant correction section corrects the all-axis time constant based on the all-axis time constant and the all-axis vibration amount,

the acceleration/deceleration processing unit performs acceleration/deceleration processing of the plurality of reference axes based on the time constants of all the axes corrected by the time constant correction unit.

11. A numerical control method that controls an operation of a machine that can drive a table or a tool to machine a cutting target fixed to the table and that can execute acceleration/deceleration processing based on a time constant when the table or the tool moves, the numerical control method comprising:

a time constant calculation step of calculating the time constant;

a vibration calculation step of calculating a vibration amount of the machine generated by driving the table or the tool;

a time constant correction step of correcting the time constant so that the vibration amount calculated in the vibration calculation step does not exceed a preset threshold value; and

an acceleration/deceleration processing step of performing acceleration/deceleration processing using the time constant corrected by the time constant correction step.

Technical Field

The present invention relates to a numerical control apparatus and a numerical control method.

Background

Japanese patent laying-open No. 2014 191631 discloses a numerical controller. The numerical controller determines the frequency of vibration generated when the table for fixing the cutting object is driven, and determines the reciprocal of the frequency as the time constant of the filter. The numerical control apparatus applies the filter to a speed command signal for moving the table. The numerical controller controls the movement of the table based on the speed command signal to which the filter is applied.

In order to shorten the time required for machining the cutting object, the motor for driving the table may be driven at the maximum value (referred to as allowable acceleration) of the allowable range of acceleration determined according to the weight of the cutting object or the like. In the above method, when the motor is driven in accordance with the speed command signal to which the filter is applied, the acceleration may become smaller than the allowable acceleration. In this case, the time required for machining the cutting target cannot be shortened.

Disclosure of Invention

An object of the present invention is to provide a numerical controller and a numerical control method that can suppress vibration and shorten the time required to machine a cutting target.

A numerical controller according to a first aspect of the present invention is a numerical controller including a control unit that controls an operation of a machine that can drive a table or a tool to machine a cutting target fixed to the table, and that can execute acceleration/deceleration processing based on a time constant when the table or the tool moves, the numerical controller including: a time constant calculation unit that calculates the time constant; a vibration calculation unit that calculates a vibration amount of the machine generated by driving the table or the tool; a time constant correction unit that corrects the time constant so that the vibration amount calculated by the vibration calculation unit does not exceed a preset threshold value; and an acceleration/deceleration processing unit that performs acceleration/deceleration processing using the time constant corrected by the time constant correction unit.

The numerical controller can correct the time constant in a range where the vibration amount of the machine does not exceed a threshold value, and suppress a decrease in the moving speed of the table or the tool. Therefore, the numerical controller can suppress the amount of vibration of the machine and shorten the time required for machining the cutting target.

The time constant of the numerical controller according to the second aspect includes a first time constant for limiting acceleration when the table or the tool moves, and a second time constant for limiting jerk. In this case, the numerical controller can correct the first time constant to appropriately maintain the acceleration when the table or the tool is moved when the cutting object is machined. The numerical controller can correct the second time constant to appropriately maintain the jerk when the table or the tool is moved when the cutting object is machined. Therefore, the numerical controller can effectively suppress a decrease in the moving speed of the table or the tool.

The numerical controller according to a third aspect of the present invention further includes an inertia calculation unit that calculates a total inertia that is a total of the inertias of the table and the tool, and the time constant calculation unit calculates the first time constant based on a speed change amount when the table or the tool moves and the total inertia calculated by the inertia calculation unit. The numerical controller can accurately calculate the first time constant.

The vibration calculation unit of the numerical controller according to claim four includes: a first vibration calculation unit that calculates first vibration information indicating the vibration amount for each frequency based on a relationship between an acceleration when the table or the tool moves and the vibration amount of the machine; a second vibration calculation unit that calculates second vibration information indicating a relationship between the time constant and the acceleration when the table or the tool moves, for each natural frequency of the machine; and a third vibration calculation unit that calculates third vibration information indicating vibration of the machine for each natural frequency of the machine, based on the first vibration information calculated by the first vibration calculation unit and the second vibration information calculated by the second vibration calculation unit. The numerical controller can predict the amount of vibration of the machine caused by driving the table or the tool based on the time constant.

The vibration calculating unit of the numerical controller according to the fifth aspect further includes a vibration amount calculating unit that calculates, as the vibration amount, the largest third vibration information among the third vibration information for each natural frequency of the machine. The numerical controller can suppress vibration at a natural frequency at which the vibration amount is largest among the plurality of natural frequencies.

The time constant correction unit of the numerical controller according to a sixth aspect corrects the first time constant by increasing the value of the first time constant until the vibration amount is equal to or less than the threshold value. The numerical controller can change the first time constant in a region of a speed difference in which the vibration amount is equal to or greater than a threshold value while maintaining the maximum acceleration of the motor for moving the table or the tool. Therefore, the numerical controller can suppress the vibration of the machine according to the movement of the table or the tool, and can shorten the time required for machining.

The time constant correction unit of the numerical controller according to a seventh aspect corrects at least one of the first time constant and the second time constant by increasing at least one of the first time constant and the second time constant until the vibration amount is equal to or smaller than the threshold value. The numerical controller can change at least one of the first time constant and the second time constant in a region where the vibration amount is a speed difference equal to or greater than a threshold value while maintaining the acceleration of the motor for moving the table to the maximum. Therefore, the numerical controller can suppress the vibration of the machine according to the movement of the table or the tool, and can shorten the time required for machining.

The vibration calculating unit of the numerical controller according to the eighth aspect calculates the amount of vibration based on the mass of the cutting object fixed to the table and the mass of a jig for fixing the cutting object to the table. The numerical controller can accurately correct the time constant during movement even when the vibration condition varies according to the mass of the cutting object fixed to the table.

The table or the tool of the numerical controller according to the ninth aspect is relatively movable along a plurality of different reference axes, the time constant calculation unit calculates the time constant of each of the plurality of reference axes, the vibration calculation unit calculates the vibration amount of each of the plurality of reference axes, the time constant correction unit corrects the time constant of each of the plurality of reference axes, and the acceleration/deceleration processing unit performs acceleration/deceleration processing for each of the plurality of reference axes based on the plurality of time constants corrected by the time constant correction unit. Therefore, the numerical controller can suppress vibration according to the movement of the table or the tool for each of the plurality of reference axes, and can suppress vibration more appropriately.

In the numerical controller according to the tenth aspect of the present invention, the table or the tool is relatively movable along a plurality of different reference axes, the time constant calculation unit calculates the longest time constant among the time constants of each of the plurality of reference axes as an all-axis time constant, the vibration calculation unit calculates the largest vibration amount among the vibration amounts of each of the plurality of reference axes as an all-axis vibration amount, the time constant correction unit corrects the all-axis time constant based on the all-axis time constant and the all-axis vibration amount, and the acceleration/deceleration processing unit performs acceleration/deceleration processing of the plurality of reference axes based on the all-axis time constant corrected by the time constant correction unit. In this case, the numerical controller can limit the time constant to be changed, and thus can suppress the amount of processing required to change the time constant.

A numerical control method according to an eleventh aspect of the present invention is a numerical control method for controlling an operation of a machine capable of machining a cutting target fixed to a table by driving the table or a tool, and executing acceleration/deceleration processing based on a time constant when the table or the tool moves, the numerical control method including: a time constant calculation step of calculating the time constant; a vibration calculation step of calculating a vibration amount of the machine generated by driving the table or the tool; a time constant correction step of correcting the time constant so that the vibration amount calculated in the vibration calculation step does not exceed a preset threshold value; and an acceleration/deceleration processing step of performing acceleration/deceleration processing using the time constant corrected by the time constant correction step.

Drawings

Fig. 1 is a perspective view of a machine tool 1.

Fig. 2 is a block diagram showing the electrical configurations of numerical controller 30 and machine tool 1.

Fig. 3 is an explanatory diagram of the acceleration/deceleration processing.

Fig. 4 is an explanatory diagram of the vibration suppression method.

Fig. 5 is an explanatory diagram of a method of calculating a spectrum of an acceleration command and a position spectrum of vibration.

Fig. 6 is an explanatory diagram of a method of calculating a range of time constants in which vibration is likely to occur.

Fig. 7 is a flowchart of the calculation processing.

Fig. 8 is a flowchart of the main process.

Fig. 9 is a flowchart of the correction process (correction is performed only for the first time constant T1).

Fig. 10 is a flowchart of the correction process (correcting the first time constant T1 and the second time constant T2).

Fig. 11 is a flowchart of the selection process.

Detailed Description

Embodiments of the present invention will be described. In the following description, the left and right, front and back, and up and down indicated by arrows in the drawings are used. The left-right direction of the machine tool 1 is the X-axis direction of the machine tool 1, the front-back direction of the machine tool 1 is the Y-axis direction of the machine tool 1, and the up-down direction of the machine tool 1 is the Z-axis direction of the machine tool 1. A machine tool 1 shown in fig. 1 rotates a tool 4 attached to a spindle 9 to perform cutting on a cutting object 3 held on an upper surface of a table 13. The numerical controller 30 (see fig. 2) controls the operation of the machine tool 1.

As shown in fig. 1, the machine tool 1 includes a base 2, a column 5, a spindle head 7, a spindle 9, a table device 10, a tool changer 20, a control box 6, an operation panel 15 (see fig. 2), and the like. The base 2 is a metal base having a substantially rectangular parallelepiped shape. The upright post 5 is fixed at the upper part of the base 2 near the rear part. The spindle head 7 is provided movably in the Z-axis direction along the front surface of the column 5. The spindle head 7 supports the spindle 9 inside so that the spindle 9 can rotate. The main shaft 9 has a fitting hole at a lower portion. The spindle 9 is fitted with the tool 4 at the fitting hole and rotated by driving of a spindle motor 52 (see fig. 2). The spindle motor 52 is provided in the spindle head 7. The spindle head 7 is movable in the Z-axis direction by a Z-axis moving mechanism provided on the front surface of the column 5. The Z-axis moving mechanism includes a Z-axis motor 51 (see fig. 2) and the like. The numerical controller 30 controls the driving of the Z-axis motor 51 (see fig. 2) to control the movement of the spindle head 7 in the Z-axis direction.

The table device 10 includes a Y-axis moving mechanism, a Y-axis base 12, an X-axis moving mechanism, a table 13, and the like. The Y-axis moving mechanism is provided on the front side of the upper surface of the base 2, and includes a pair of Y-axis guide portions, a Y-axis ball screw, a Y-axis motor 54 (see fig. 2), and the like. The Y-axis guide portion and the Y-axis ball screw extend in the Y-axis direction. The Y-axis guide guides the Y-axis holder 12 in the Y-axis direction on its upper surface. The Y-axis holder 12 is formed in a substantially rectangular parallelepiped shape, and has a nut on the outer surface of the bottom thereof, the nut being screwed to the Y-axis ball screw. When the Y-axis motor 54 rotates the Y-axis ball screw, the Y-axis housing 12 moves along the Y-axis guide together with the nut. Therefore, the Y-axis moving mechanism supports the Y-axis holder 12 so that the Y-axis holder 12 can move in the Y-axis direction.

The X-axis moving mechanism is provided on the upper surface of the Y-axis base 12, and includes a pair of X-axis guides, an X-axis ball screw, an X-axis motor 53 (see fig. 2), and the like. The X-axis guide portion and the X-axis ball screw extend in the X-axis direction. The table 13 is formed in a rectangular plate shape in plan view, and is provided on the upper surface of the Y-axis base 12. The table 13 includes a nut at the bottom, and the nut is screwed to the X-axis ball screw. When the X-axis motor 53 rotates the X-axis ball screw, the table 13 moves along the X-axis guide together with the nut. Therefore, the X-axis moving mechanism supports the table 13 so that the table 13 can move in the X-axis direction. Therefore, the table 13 can be moved on the base 2 in the X-axis direction and the Y-axis direction by the Y-axis moving mechanism, the Y-axis base 12, and the X-axis moving mechanism.

The tool changer 20 is provided on the front side of the spindle head 7, and includes a tool magazine 21 having a disc shape, a tool magazine motor 55 (see fig. 2), and the like. The magazine 21 holds a plurality of tools radially on the outer periphery, and the magazine 21 positions the tool indicated by the tool change command to the tool change position. The tool changing instruction is commanded by the NC program. The tool changing position is a lowermost position of the tool magazine 21. The tool changer 20 is driven by a magazine motor 55 to exchange the tool 4 attached to the spindle 9 and the tool attached to the magazine 21 by a series of operations of raising the spindle head 7, rotating the magazine 21, and lowering the spindle head 7.

The control box 6 stores a numerical controller 30 (see fig. 2). The numerical controller 30 controls a Z-axis motor 51, a spindle motor 52, an X-axis motor 53, a Y-axis motor 54, and a tool magazine motor 55 (see fig. 2) provided in the machine tool 1. The numerical controller 30 moves the tool 4 attached to the spindle 9 relative to the object 3 fixed to the table 13, and performs various kinds of machining on the object 3. The various machining means drilling using a drill, a tap, or the like, side face machining using an end mill, a milling cutter, or the like.

The operation panel 15 is provided on an outer wall of a cover covering the machine tool 1. The operation panel 15 includes an input unit 16 and a display unit 17 (see fig. 2). The input unit 16 receives various information, operation instructions, and the like, and outputs the information to the numerical controller 30. The display unit 17 displays various screens based on instructions from the numerical controller 30.

As shown in fig. 2, the numerical controller 30 and the machine tool 1 include a CPU31, a ROM 32, a RAM 33, a storage device 34, an input/output unit 35, drive circuits 51A to 55A, encoders 51B to 55B, and the like. The CPU31 collectively controls the numerical controller 30. The ROM 32 stores a main program, a calculation program, and the like. The main program is a program for executing the main processing (see fig. 8 to 11). In the main processing, the NC program is read line by line to perform various actions. The NC program is configured by a plurality of lines including various control commands, and controls various operations including axis movement, tool changing, and the like of the machine tool 1 in units of rows. The calculation program is a program for executing calculation processing (see fig. 7). The RAM 33 temporarily stores various information. The storage device 34 is a nonvolatile storage device that stores NC programs and various information. The CPU31 can store not only the NC program input by the operator via the input unit 16 of the operation panel 15 but also an NC program read by an external input and the like in the storage device 34.

The drive circuit 51A is connected to the Z-axis motor 51 and the encoder 51B. The drive circuit 52A is connected to the spindle motor 52 and the encoder 52B. The drive circuit 53A is connected to the X-axis motor 53 and the encoder 53B. The drive circuit 54A is connected to the Y-axis motor 54 and the encoder 54B. The drive circuit 55A is connected to a tool magazine motor 55 and an encoder 55B that drive the tool magazine 21. The Z-axis motor 51, the spindle motor 52, the X-axis motor 53, the Y-axis motor 54, and the magazine motor 55 are all servo motors. The drive circuits 51A to 55A receive instructions from the CPU31 and output drive currents to the corresponding motors 51 to 55. The drive circuits 51A to 55A receive signals from the encoders 51B to 55B, and perform feedback control of the rotational positions and speeds of the motors 51 to 55. The input/output unit 35 is connected to the input unit 16 and the display unit 17 of the operation panel 15. The motors 51 to 55 are collectively referred to as a motor 50. The drive circuits 51A to 55A are collectively referred to as a drive circuit 50A.

Next, the driving of the machine tool 1 (the relative movement of the table 13 in the X-axis direction) based on the command (referred to as a feed axis command) of the NC program will be described by way of example with reference to fig. 3 to 6. The relative movement of the table 13 in the Y-axis direction and the movement of the tool 4 relative to the table 13 in the Z-axis direction are the same as those in the relative movement of the table 13 in the X-axis direction, and therefore, the description thereof will be omitted.

After reading the feed axis command, the CPU31 generates time-series data of the target position of the table 13 to move the table 13 to the position specified by the feed axis command. The CPU31 outputs data of the target position to the drive circuit 53A at a predetermined cycle. The drive circuit 53A drives the X-axis motor 53 based on the data of the target position output by the CPU 31. The X-axis motor 53 moves the table 13 to a target position in the X-axis direction. The CPU31 drives the X-axis motor 53 by the drive circuit 53A every time data of the target position is input to the drive circuit 53A. Thereby, the table 13 reaches a position (referred to as a command position) designated by the feed shaft command. The above-described control performed by the CPU31 based on the feed axis instruction is referred to as feed axis control.

A method of generating time-series data of a target position by the CPU31 will be described. As shown in fig. 3 (a) and (B), the CPU31 determines each target position ((a) of fig. 3) so that the speed of the table 13 when moving up to the commanded position of the feed axis command is changed at a constant speed (Vmax) (fig. 3 (B)). The CPU31 applies a moving average filter (referred to as an FIR filter) twice to a waveform (referred to as a velocity waveform) indicating a time-series change in velocity in fig. 3B to smooth the change in velocity ((C), (D) of fig. 3).

The first applied FIR filter is referred to as the first FIR filter and is denoted as FIR1 in fig. 3. The time constant when the first FIR filter is applied is referred to as a first time constant T1. The FIR filter applied a second time is referred to as the second FIR filter and is denoted as FIR2 in fig. 3. The time constant when the second FIR filter is applied is referred to as a second time constant T2.

When the first FIR filter is applied to the velocity waveform of (B) of fig. 3, as shown in (C) of fig. 3, the slope (acceleration) of a portion (rising portion) where the velocity changes from 0 to Vmax and a portion (falling portion) where the velocity changes from Vmax to 0 in the velocity waveform are constant. The time of the rising and falling portions of the velocity waveform (referred to as the rise time and fall time, respectively) are both t 1. T1 corresponds to a first time constant T1 when the first FIR filter is applied to the velocity waveform. Therefore, the first time constant T1 corresponds to a time constant for limiting the acceleration when the table 13 is moved.

When the second FIR filter is applied to the velocity waveform obtained by applying the first FIR filter (see (C) of fig. 3), the velocity gently changes at the beginning and end portions of the portion where the slopes (accelerations) of the rising and falling portions of the velocity waveform are constant, as shown in (D) of fig. 3. At this time, as shown in fig. 3E, the slope corresponding to the portion where the speed gently changes is constant in the waveform indicating the time-series change of the acceleration (referred to as the acceleration waveform). The rise time and fall time of the velocity waveform are increased by t2 to t1+ t2, respectively. T2 corresponds to a second time constant T2 when a second FIR filter is applied to the velocity waveform. Therefore, the second time constant T2 corresponds to a time constant for limiting the jerk (jerk) when the tool 4 moves. The first time constant T1 is set to be equal to or greater than the second time constant T2. The process of applying the moving average filter to the velocity waveform is referred to as acceleration and deceleration process.

The CPU31 acquires the speed of the table 13 at predetermined intervals based on the feed axis command of the NC program (see fig. 3B), and executes acceleration/deceleration processing. Specifically, the CPU31 applies a first FIR filter ((C) of fig. 3) to the acquired velocity and further applies a second FIR filter ((D) of fig. 3) to adjust the acceleration/deceleration characteristics corresponding to the shape of the velocity waveform. The CPU31 determines a target position for each predetermined cycle based on the calculated velocity waveform (see fig. 3D). The CPU31 outputs the data of the determined target position to the drive circuit 53A at a predetermined cycle. Thereby, the drive circuit 53A drives the X-axis motor 53, and the X-axis motor 53 moves the table 13 to the target position in the X-axis direction.

The table 13 repeats the movement to the target position in the X-axis direction, the Y-axis direction, and the Z-axis direction every predetermined period. Thereby, the table 13 finally reaches the command position specified by the feed axis command. The maximum number of FIR filters to be applied in the acceleration/deceleration processing is not limited to two. The CPU31 may apply only the first FIR filter in the acceleration/deceleration processing. More than three FIR filters may also be applied.

In order to shorten the machining time by speeding up the movement of the table 13 and the tool 4 by the machine tool 1, the CPU31 determines the first time constant T1 of the first FIR filter so that the acceleration (the slope of the velocity waveform) of the rising portion of the velocity waveform in fig. 4a becomes the maximum value (referred to as allowable acceleration) that can be driven by the motor 50. When the speed difference (referred to as a command speed difference) between before and after the movement of the table 13 or the tool 4 that is commanded to move according to the feed axis is F11, the CPU31 sets the time constant of the FIR filter to t11 so that the acceleration of the motor 50 becomes the allowable acceleration. When the table 13 or the tool 4 has stopped before the feed axis command, the command speed difference coincides with the command speed commanded by the feed axis. When already in the moving state, the command speed difference is a value obtained by subtracting the current moving speed from the command speed commanded by the feed shaft. When the command speed difference is F12, the CPU31 sets the time constant of the FIR filter to t12 so that the acceleration of the motor 50 becomes the allowable acceleration. At this time, as in fig. 4 (B), the relationship between the command velocity difference and the time constant of the FIR filter shows linearity. T11< T12 at F11< F12.

The CPU31 sets a time constant of the FIR filter in order to suppress the natural vibration of the machine tool 1 generated according to the movement of the table 13 and the tool 4. As shown in fig. 4C, a case is exemplified in which the range of the time constant (referred to as a range of time constant in which vibration is likely to occur) in which the vibration amount at the natural frequency is larger than the predetermined threshold Th (see fig. 6D) is t13 (command speed difference F13) to t14 (command speed difference F14). At this time, the CPU31 corrects the time constant of the FIR filter to be constant at t14 in the range of the command speed difference F13 to F14 so that the time constant is not in the range of t13 to t 14. The CPU31 corrects the first time constant T1 when the first FIR filter and the second FIR filter are used in the acceleration/deceleration processing. The larger the time constant, the longer the movement time of the table 13 or the tool 4. When the command speed difference in fig. 4 (C) is constant at t13 within the range of F13 to F14, the allowable acceleration of the motor 50 is exceeded. Therefore, the CPU31 preferably makes the time constant at t14 in the range of the command speed difference F13 to F14.

The spectrum of the acceleration command used when determining the range of the time constant in which vibration is likely to occur is calculated by the following method. The case where the acceleration waveform of fig. 5 (B) is obtained by applying the first FIR filter and the second FIR filter to the acceleration pulse command of the command velocity difference V shown in fig. 5 (a) is exemplified. The value obtained by integrating the acceleration waveform coincides with the command velocity difference V. When the laplace transform results of the first FIR filter and the second FIR filter are denoted by gavr(s), gavr(s) is expressed by equation (1).

[ numerical formula 1]

The absolute value | Gavr (j ω) | of Gavr (j ω) obtained by replacing s with j ω is referred to as a filter transfer function gain. ω is the angular frequency [ rad/s ], and j is the imaginary unit. I Gavr (j ω) | is a transfer function representing a characteristic obtained by combining the first FIR filter and the second FIR filter, and is expressed by equation (2).

[ numerical formula 2]

The filter transfer function gain is multiplied by the command speed difference to obtain a characteristic value (spectrum of the acceleration command) proportional to the excitation force at each frequency generated by acceleration and deceleration of the feed shaft (see equation (3)).

Spectrum of acceleration command (command speed difference x filter transfer function gain (3))

When the natural frequency [ Hz ] × 2 pi is substituted as the angular frequency ω in the equation (3), the spectrum of the acceleration command is proportional to the excitation force due to the acceleration/deceleration of the feed shaft at the natural frequency.

The machine tool 1 is driven without applying an FIR filter to the speed command, and the vibration characteristics of the machine tool 1 are measured by moving the table 13 or the tool 4 (speed step command). The amount of vibration (amplitude) of the machine tool 1 is measured by an accelerometer or the like attached to the machine tool 1. Next, a characteristic value (referred to as a position gain of the vibration transfer function) indicating the vibration amount corresponding to the acceleration command for each frequency is calculated based on the relationship between the acceleration when the table 13 or the tool 4 is moved and the measured vibration amount (see fig. 5C). The frequency at which the measured vibration amount shows a maximum value corresponds to the natural frequency of the machine tool 1. In the example of (C-1) of fig. 5, one maximum value corresponding to one natural vibration frequency (first natural vibration frequency) occurs. There are also cases where two or more natural frequencies exist. In the example of (C-2) of fig. 5, in addition to the first natural frequency (first natural frequency) shown in (C-1), a maximum value corresponding to the second natural frequency (second natural frequency) appears.

Next, a parameter (referred to as a positional spectrum of vibration) indicating the magnitude of vibration of the machine tool 1 corresponding to the command velocity difference for each frequency is calculated by multiplying the spectrum of the acceleration command (see equation (3)) by the positional gain of the vibration transfer function. Fig. 6 (D) is a graph showing the relationship between the position spectrum value of the vibration calculated for each natural frequency by the above-described method and the time constant of the FIR filter. The time constant of the FIR filter is obtained from the relationship between the command velocity difference and the allowable acceleration (see fig. 4B). The minimum value of the graph of (D-1) of FIG. 6 corresponds to the time constant of the FIR filter being the time constant of the inverse of the first natural frequency of (C-1) of FIG. 5 and the time constant of an integral multiple thereof. The FIR filter has an effect of being able to suppress vibration of a frequency that is the reciprocal of the time constant. The minimum value of the graph of (D-2) of fig. 6 corresponds to the time constant of the FIR filter being the time constant of the inverse of the second natural frequency of (C-2) of fig. 5 and the time constant of the integral multiple thereof. From the relationship of the first natural frequency < the second natural frequency, the smallest time constant among the time constants that become the minimum values of the graph of fig. 6 (D-2) is smaller than the smallest time constant among the time constants that become the minimum values of the graph of fig. 6 (D-1).

Th in the graphs of (D-1) and (D-2) of FIG. 6 is a threshold value for the magnitude of vibration of the machine tool 1. The CPU31 determines the first time constant T1 with respect to the first natural frequency so that the position spectrum of the vibration shown in (D-1) of fig. 6 is lower than Th, thereby suppressing the vibration of the machine tool 1 at the first natural frequency to be equal to or lower than Th. The CPU31 determines the second time constant T2 with respect to the second natural frequency so that the position spectrum of the vibration shown in (D-2) of fig. 6 is lower than Th, thereby suppressing the vibration of the machine tool 1 at the second natural frequency to be equal to or lower than Th.

With reference to fig. 7, the calculation processing is explained. When an instruction to execute the calculation process is input by the operator via the input unit 16 before the machining of the cutting target 3 by the machine tool 1 is started, the CPU31 reads the calculation program stored in the ROM 32 and executes the calculation process. When performing the calculation processing, an accelerometer or the like is attached to the machine tool 1, and the object to be cut 3 is fixed to the table 13.

The CPU31 selects any one of the X-axis direction, the Y-axis direction, and the Z-axis direction (S101). The CPU31 drives the machine tool 1 in accordance with the speed step command for the table 13 or the tool 4 in the selected axial direction (S103). The machine tool 1 vibrates in accordance with the movement of the table 13 or the tool 4. An accelerometer or the like measures the vibration of the machine tool 1 at each frequency. The operator inputs the measurement result obtained by the accelerometer or the like to the numerical controller 30 via the input unit 16. The CPU31 acquires the measurement result via the input unit 16 (S105).

Based on the obtained measurement result, the CPU31 determines the frequency at which the vibration amount is the maximum value as the natural frequency (S107). The CPU31 stores it in the storage device 34 as the natural frequency in the axial direction selected by S101. Based on the acquired measurement results, the CPU31 correlates the acceleration of the table 13 or the tool 4 when moving according to the velocity step command with the vibration amount of the vibration generated according to the movement. The CPU31 calculates the relationship between the acceleration and the vibration amount at each frequency as the position gain of the vibration transfer function (S109). The CPU31 stores it in the storage device 34 as the position gain of the vibration transfer function in the axial direction selected by S101.

The CPU31 determines whether all the X, Y, and Z axial directions have been selected in S101 (S111). When there is an unselected axial direction (S111: NO), the CPU31 returns the process to S101. When determining that all the axial directions in the X-axis direction, the Y-axis direction, and the Z-axis direction have been selected (S111: yes), the CPU31 ends the calculation process.

The operator performs the calculation processing under a plurality of conditions in which the masses of the cutting objects 3 fixed to the table 13 are different. The CPU31 stores the natural frequency determined in S107 in the storage device 34 for each total of the mass of the cutting object 3 and the mass of the jig for fixing the cutting object to the table 13 (referred to as a total mass). The CPU31 stores the position gain of the vibration transfer function calculated in S109 in the storage device 34 for each total mass of the cutting target 3 and the jig.

The main processing when the natural frequency and the FIR filter are one will be described with reference to fig. 8 to 11. When the machine tool 1 starts machining the cutting target 3, the CPU31 reads out and executes the main program stored in the ROM 32 to start the main processing. Further, the natural vibration frequency and the position gain of the vibration transfer function are stored in advance in the storage device 34 by executing the calculation processing (see fig. 7). When the main processing is started, the total mass of the cutting object 3 and the jig fixed to the table 13 as the processing object is stored in the storage device 34 in advance. The total mass of the cutting target 3 and the jig can be input to the numerical controller 30 by the operator via the input unit 16 before the start of the main processing. The CPU31 can acquire the total mass of the cutting object 3 and the jig via the input unit 16 and store it in the RAM 33.

The CPU31 initializes a variable i stored in the RAM 33. The CPU31 acquires the position gain and the natural frequency of the vibration transfer function stored in the storage device 34 (S11). The CPU31 acquires the position gain and the natural frequency of the vibration transfer function corresponding to the total mass of the cutting object 3 and the jig stored in the RAM 33, out of the position gain and the natural frequency of the vibration transfer function stored in the storage device 34 for each total mass of the cutting object 3 and the jig.

The CPU31 acquires the i-th instruction of the NC program stored in the storage device 34 (S13). The CPU31 determines whether the read i-th command is a feed axis command (S15). When determining that the ith command is not the feed axis command (S15: no), the CPU31 advances the process to S23. The CPU31 controls the machine tool 1 by the driving method corresponding to the ith command, and executes the ith command (S23). The CPU31 advances the process to S25.

When the CPU31 judges that the ith command is a feed axis command (S15: YES), it calculates the velocity difference in each of the X-axis direction, the Y-axis direction, and the Z-axis direction before and after the movement of the table 13 or the tool 4 moved in accordance with the ith command as a command velocity difference (S17). The CPU31 stores the command speed differences in the respective axial directions of the X-axis direction, the Y-axis direction, and the Z-axis direction in the RAM 33.

The CPU31 executes correction processing to correct the time constant of the FIR filter (S19). When the natural vibration frequency acquired through S11 is one, the CPU31 executes the correction processing of fig. 9 to correct the first time constant T1 of the first FIR filter.

Referring to fig. 9, the correction process performed when the natural frequency is one will be described. The CPU31 selects any one of the X-axis direction, the Y-axis direction, and the Z-axis direction (S41). The selected axial direction is referred to as the selection axis. The CPU31 calculates the total inertia corresponding to the selection axis (S42). The total inertia is a total of the equivalent inertia and the inertia of the rotating portion. The equivalent inertia being the mass of the movable part passing through the table 13 or the tool 4 x the lead screw of the ball screw2÷(2π)2Is calculated. The inertia of the rotating portion is a total of the inertia of the rotor of the motor, the ball screw, and the like that rotate together with the movement of the table 13 or the tool 4, and is stored in the storage device 34 in advance. The CPU31 calculates the first time constant T1 so that the acceleration when the table 13 or the tool 4 moves along the selection axis becomes equal to the allowable acceleration (S43, see fig. 4B). The allowable acceleration is calculated by the maximum torque ÷ total inertia ÷ of the motor 50 (X-axis motor 53, Y-axis motor 54, Z-axis motor 51) corresponding to the selected axis, which is the allowable acceleration. Therefore, the allowable acceleration varies according to the total inertia. The CPU31 determines the allowable acceleration based on the total inertia, and calculates the first time constant T1 based on the relationship with the command velocity difference when the table 13 or the tool 4 moves.

The CPU31 calculates a spectrum of the acceleration command on the selected axis based on equation (3). At this time, the filter transfer function gain includes the first time constant T1 as a parameter, and the first time constant calculated in S43 is applied as the first time constant T1. The CPU31 substitutes the natural frequency × 2 pi acquired in S11 (see fig. 8) as the variable ω of the filter transfer function gain, and multiplies the resultant by the command velocity difference to calculate the spectrum value of the acceleration command at the natural frequency (S45). The spectral value of the acceleration command shows the magnitude of a component of each frequency of the acceleration when the table 13 or the tool 4 is moved.

The CPU31 acquires the position gain of the vibration transfer function corresponding to the selected axis among the position gains of the vibration transfer functions acquired in S11 (see fig. 8). The CPU31 multiplies the position gain of the acquired vibration transfer function by the spectrum value of the acceleration command calculated in S45 to calculate a position spectrum value of the vibration at the natural frequency of the selected axis (S47, see (D-1) of fig. 6). The position spectrum value of the vibration shows the magnitude of the vibration. The CPU31 determines whether or not the position spectrum value of the vibration is equal to or greater than the threshold Th (S49). When determining that the position spectrum value of the vibration is equal to or greater than the threshold Th (S49: "yes"), the CPU31 adds 1ms to the first time constant T1 to update the first time constant T1(S51), and returns the process to S45.

The CPU31 repeats S45 to S47 until it is determined that the position spectrum value of the vibration is smaller than the threshold Th.

When determining that the position spectrum value of the vibration is smaller than the threshold Th (S49: no), the CPU31 advances the process to S53. The CPU31 determines whether all of the X-axis direction, the Y-axis direction, and the Z-axis direction are selected (S53). When there is an unselected axial direction (S53: NO), the CPU31 advances the process to S41. When determining that all the X-axis direction, the Y-axis direction, and the Z-axis direction have been selected (S53: "yes"), the CPU31 ends the correction processing and returns the processing to the main processing (see fig. 8).

As in fig. 8, the CPU31 executes the acceleration and deceleration processing (S21) by the first FIR filter based on the corrected first time constant T1 after the correction processing (S19) ends. That is, the CPU31 applies the first FIR filter corresponding to the corrected first time constant T1 corresponding to the X-axis direction to the velocity waveform when the stage 13 moves in the X-axis direction. The same applies to the Y axis and the Z axis. The CPU31 moves the table 13 or the tool 4 in the X-axis direction, the Y-axis direction, and the Z-axis direction, respectively, based on the velocity waveform after the acceleration/deceleration processing, and processes the cutting target 3 (S21).

The CPU31 determines whether or not the instructions of the NC program have been executed to the end (S25). When the variable i is smaller than the total number of instructions of the NC program, the CPU31 determines that the instructions of the NC program are not executed to the end (S25: no). At this time, the CPU31 adds 1 to the variable i to update the variable i (S27), and returns the process to S13. When the variable i is equal to or greater than the total number of instructions in the NC program, the CPU31 determines that the instructions in the NC program have been executed to the end (S25: yes), and ends the main processing.

When the natural vibration frequency acquired through S11 of the main process of fig. 8 is two or more, the CPU31 executes the correction process of fig. 10 through S19. The CPU31 corrects at least one of the first time constant T1 of the first FIR filter and the second time constant T2 of the second FIR filter. The processing other than the correction processing (S19) in the main processing is the same as when the natural frequency is one.

As shown in fig. 10, the CPU31 selects any one of the X-axis direction, the Y-axis direction, and the Z-axis direction as a selected axis (S61). The CPU31 calculates the minimum first time constant T1lim that is the minimum value among the first time constants T1 for each command speed difference so that the acceleration when the table 13 or the tool 4 moves along the selected axis becomes equal to the allowable acceleration (S63, see fig. 4 (B)). The CPU31 sets the total time constant Tlim stored in the RAM 33 to T1lim calculated in S63 (S65). The CPU31 executes the selection process (refer to fig. 11) (S67).

Referring to fig. 11, the selection process is explained. The CPU31 selects any one of combinations of the first time constant T1 and the second time constant T2 that satisfy all of the following 3 conditions (S81).

(a) A value obtained by adding the first time constant T1 and the second time constant T2 coincides with Tlim (T1+ T2 ═ Tlim).

(b) The first time constant T1 is not less than T1lim (T1 ≧ T1lim) and the second time constant T2 is not less than 0 (T2 ≧ 0).

(c) The first time constant T1 is greater than the second time constant T2(T1> T2).

The combination of the time constants depends on the processing cycle of the CPU 31. The CPU31 operates in a 1ms cycle, and the minimum unit of the time constant is 1 ms.

The CPU31 selects any one of the two or more natural frequencies acquired in S11 (S83). The selected natural frequency is referred to as a selected natural frequency. The CPU31 calculates a spectrum of the acceleration command on the selected axis based on equation (3). At this time, the filter transfer function gain includes the first time constant T1 and the second time constant T2 as parameters, and as the first time constant T1 and the second time constant T2, the first time constant T1 and the second time constant T2 selected by S81 are applied. The CPU31 substitutes the selected natural frequency × 2 pi as the variable ω of the filter transfer function gain and multiplies the resultant by the command speed difference, thereby calculating the spectral value of the acceleration command at the selected natural frequency (S85). The spectral value of the acceleration command shows the magnitude of the component of each frequency of the acceleration when the table 13 or the tool 4 is moved.

The CPU31 acquires the position gain of the vibration transfer function at the selected natural frequency corresponding to the selected axis among the position gains of the vibration transfer functions acquired in S11 (see fig. 8). The CPU31 multiplies the acquired position gain of the vibration transfer function by the spectrum of the acceleration command calculated in S85, calculates a position spectrum value of the vibration showing the magnitude of the vibration at the selected natural frequency when accelerating or decelerating with the time constant of the selected axis, and stores the position spectrum value of the vibration (S87, see (D-1) and (D-2) of fig. 6).

The CPU31 determines whether all the natural vibration frequencies of the two or more natural vibration frequencies acquired by S11 are selected by S83 (S89). When there is an unselected natural frequency (S89: "no"), the CPU31 returns the process to S83. When determining that all the natural frequencies of the two or more natural frequencies acquired at S11 have been selected at S83 (S89: yes), the CPU31 advances the process to S91.

The CPU31 compares the position spectrum value of the vibration stored for each natural vibration frequency in S87 with the threshold Th, respectively. The CPU31 determines whether or not any of the position spectra of the vibrations stored for each natural frequency is equal to or greater than a threshold Th (S91). When determining that the position spectrum value of the vibration stored for each natural frequency in S87 is less than the threshold value (S91: no), the CPU31 advances the process to S93. The CPU31 stores the combination of the first time constant T1 and the second time constant T2 selected through S81 and the maximum value of the position spectrum value of the vibration stored through S87 in the RAM 33 (S93), and advances the process to S95. When determining that any one of the position spectrum values of the vibration stored for each natural frequency is equal to or greater than the threshold Th (S91: "yes"), the CPU31 advances the process to S95.

The CPU31 determines whether all combinations of the first time constant T1 and the second time constant T2 satisfying the conditions (a) to (c) are selected through S81 (S95). When determining that all of the combinations of the first time constant T1 and the second time constant T2 that satisfy the condition are not selected (S95: no), the CPU31 returns the process to S81. The CPU31 selects an unselected combination from among combinations of the first time constant T1 and the second time constant T2 that satisfy the conditions (a) to (c) (S81), and repeats S83 to S93. When determining that all of the combinations of the first time constant T1 and the second time constant T2 that satisfy the condition have been selected (S95: "yes"), the CPU31 ends the selection processing and returns to the correction processing (see fig. 10).

As shown in fig. 10, after the selection process (S67) is completed, the CPU31 determines whether or not one or more combinations of the first time constant T1 and the second time constant T2 and the maximum value of the position spectrum value of the vibration corresponding to the natural frequency are stored in the RAM 33 in S93 (see fig. 11) (S69). When determining that the maximum value of the position spectrum value of the vibration and the combination of the first time constant T1 and the second time constant T2 are not stored in the RAM 33 (S69: no), the CPU31 advances the process to S71. The CPU31 adds 1ms to the total time constant Tlim to update the total time constant Tlim (S71). The CPU31 returns the process to S67.

The CPU31 repeatedly executes the correction process while selecting a combination of the first time constant T1 and the second time constant T2 that satisfies all the conditions (a) to (c) based on the updated total time constant Tlim (S81, see fig. 11). When determining that the maximum value of the position spectrum value of the vibration and the combination of the first time constant T1 and the second time constant T2 are stored in the RAM 33 (S69: "yes"), the CPU31 advances the process to S73.

The CPU31 selects a combination of the first time constant T1 and the second time constant T2 corresponding to the smallest value among the maximum values of the position spectrum values of the vibration at each natural vibration frequency stored in the RAM 33 by S93 (refer to fig. 11) of the correction process (S73). That is, the CPU31 corrects the first time constant T1 of the first FIR filter and the second time constant T2 of the second FIR filter to the first time constant T1 and the second time constant T2 selected through S73. At this time, the selected combination of the first time constant T1 and the second time constant T2 is used to perform acceleration/deceleration processing, thereby minimizing the vibration amount when the machine tool 1 is driven.

The CPU31 determines whether all the X, Y, and Z axial directions are selected through S41 (S75). When there is an unselected axial direction (S75: "NO"), the CPU31 returns the process to S61. When determining that all the X-axis direction, the Y-axis direction, and the Z-axis direction have been selected (S75: "yes"), the CPU31 ends the correction processing and returns the processing to the main processing (see fig. 8).

As shown in fig. 8, after the correction process (S19) ends, the CPU31 performs the acceleration/deceleration process with the first FIR filter based on the corrected first time constant T1 calculated for each of the X-axis direction, the Y-axis direction, and the Z-axis direction, and performs the acceleration/deceleration process with the second FIR filter based on the corrected second time constant T2 (S25). The CPU31 moves the table 13 or the tool 4 in the X-axis direction, the Y-axis direction, and the Z-axis direction, respectively, based on the velocity waveform after the acceleration/deceleration processing, and processes the cutting target 3 (S21).

The numerical controller 30 corrects the time constant of the FIR filter in a range where the position spectrum value of the vibration indicating the vibration amount of the machine tool 1 does not exceed the threshold Th (S49, S51, S69, S71). The numerical controller 30 can minimize a decrease in the moving speed of the table 13 or the tool 4 when the table 13 or the tool 4 is driven based on the speed waveform after the acceleration/deceleration control. Therefore, the numerical controller 30 can suppress the amount of vibration of the machine tool 1 and can shorten the time required for machining the cutting object 3.

The numerical controller 30 can correct the first time constant T1 of the first FIR filter to appropriately maintain the acceleration of the table 13 or the tool 4 during the movement thereof when the cutting object 3 is machined. The numerical controller 30 can correct the second time constant to appropriately maintain the jerk when the table 13 or the tool 4 moves when the cutting object 3 is machined. Therefore, the numerical controller 30 can effectively suppress a decrease in the moving speed of the table 13 or the tool 4 and can shorten the time required for machining.

The numerical controller 30 calculates the first time constant T1 based on the difference in the command speed when the table 13 or the tool 4 moves and the total inertia of the table 13 or the tool 4 (S43). Therefore, the numerical controller 30 can calculate the first time constant T1 in consideration of the inertia acting on the movable part of the table 13 or the tool 4, and thus can accurately calculate the first time constant T1.

The numerical controller 30 calculates a position gain of a vibration transfer function representing the vibration amount for each vibration frequency based on the relationship between the acceleration when the table 13 or the tool 4 is moved and the vibration amount of the machine tool 1 (S109). The CPU31 calculates a spectrum value of an acceleration command indicating a relationship between a time constant and an acceleration when the table 13 or the tool 4 moves for each natural frequency of the machine tool 1 (S45, S85). The numerical controller 30 calculates a position spectrum value of vibration indicating the magnitude of vibration of the machine tool 1 for each natural frequency based on the position gain of the vibration transfer function and the spectrum value of the acceleration command (S47, S87, S93). Numerical controller 30 can predict the amount of vibration of machine tool 1 generated by driving table 13 or tool 4 based on the time constant of the FIR filter. Therefore, the numerical controller 30 can accurately realize the process of correcting the time constant so that the vibration amount of the machine tool 1 does not exceed the threshold Th based on the calculated position spectrum value of the vibration (S51, S71).

The numerical controller 30 stores the selected combination of the first time constant T1 and the second time constant T2 and the maximum value of the position spectrum value of the corresponding vibration in the RAM 33 (S93). Numerical controller 30 determines the maximum value among the position spectrum values of the vibration at each natural frequency of machine tool 1 as the vibration amount of machine tool 1. When there are a plurality of natural frequencies of machine tool 1, numerical controller 30 can suppress machine tool 1 from vibrating at the natural frequency at which the vibration amount is the largest by correcting the time constant.

The numerical controller 30 repeats the process of adding 1ms to the first time constant T1(S51), and corrects the first time constant T1 so that the vibration amount is smaller than the threshold Th. The numerical controller 30 can maintain the acceleration of the motor for moving the table 13 or the tool 4 to the maximum, and can correct the first time constant T1 in a region where the vibration amount is a command speed difference equal to or greater than the threshold Th. Therefore, the numerical controller 30 can suppress vibration of the machine tool 1 according to the movement of the table 13 or the tool 4, and can shorten the time required for machining.

The numerical controller 30 adds 1ms to the total time constant Tlim to update the total time constant Tlim (S71), and selects a combination of the first time constant T1 and the second time constant T2 that satisfies the condition (S81). Numerical controller 30 repeats the process of updating total time constant Tlim until the vibration amount corresponding to the selected combination becomes smaller than threshold Th. The numerical controller 30 can maintain the acceleration of the motor for moving the table 13 or the tool 4 to the maximum, and can correct the first time constant T1 and the second time constant T2 in a region where the vibration amount is a command speed difference equal to or greater than the threshold Th. Therefore, the numerical controller 30 can suppress vibration of the machine tool 1 according to the movement of the table 13 or the tool 4, and can shorten the time required for machining.

The numerical controller 30 calculates the position gain of the vibration transfer function for each total mass of the cutting object 3 and the jig based on the measurement result of the vibration amount when the table 13 moves in accordance with the speed step command (S109), and stores it in the storage device 34 in advance. The numerical controller 30 acquires the position gain and the natural frequency of the vibration transfer function corresponding to the total mass that matches or approximates the actual total mass of the cutting target 3 and the jig, from among the position gain and the natural frequency of the vibration transfer function stored for each total mass of the cutting target 3 and the jig (S11), and calculates the spectrum of the acceleration command and the position spectrum of the vibration (S45, S47, S85, S87, S93). Therefore, the numerical controller 30 can correct the time constant with high accuracy even when the vibration condition varies according to the total mass of the cutting object 3 fixed to the table 13 and the jig.

The numerical controller 30 calculates a time constant for each of the X, Y, and Z axes, and calculates a position gain of the vibration transfer function, a spectrum of the acceleration command, and a position spectrum of the vibration. The numerical controller 30 corrects the time constant in each of the X-axis direction, the Y-axis direction, and the Z-axis direction so that the vibration amount is smaller than the threshold Th. The numerical controller 30 applies a corresponding FIR filter to the velocity waveform of each of the X, Y, and Z axes to perform acceleration and deceleration processing. Therefore, the numerical controller 30 can suppress the vibration of the machine tool 1 corresponding to the movement of the table 13 or the tool 4 for each of the X axis, the Y axis, and the Z axis, and thus can suppress the vibration more appropriately.

The present invention is not limited to the above-described embodiments. The numerical controller 30 calculates the position gain of the vibration transfer function for each total mass of the cutting object 3 and the jig based on the measurement result of the vibration amount when the table 13 moves in accordance with the speed step command (S109). The command for driving the machine tool 1 is not limited to the speed step command. The numerical controller 30 may calculate the position gain of the vibration transfer function based on the measurement result of the vibration amount when the table 13 moves in accordance with a command having a wide spectrum component such as an acceleration pulse command. The position gain of the vibration transfer function can be calculated using the results of the vibration starting test by pulse peening or the like.

Numerical controller 30 may execute the acceleration/deceleration processing without using a moving average filter. In the control system that performs the acceleration/deceleration processing by setting the limit values (acceleration limit value and jerk limit value) for the acceleration and jerk, the numerical controller 30 may calculate the limit value of the acceleration by dividing the command speed difference by the first time constant T1 calculated by the above processing. The numerical controller 30 may calculate the limit value of the jerk by dividing the limit value of the acceleration by the second time constant T2 calculated by the above-described processing.

The numerical controller 30 may use both the case of using the moving average filter and the case of not using the moving average filter. The vibration corresponding to a part of the natural frequencies among the plurality of natural frequencies may be suppressed by correcting the time constant of the moving average filter, and the vibration corresponding to the remaining natural frequencies may be suppressed by correcting the limit values (acceleration limit value, jerk limit value) not using the moving average filter. The command speed difference may be always set as the command speed itself.

The method for calculating the vibration amount of the machine tool 1 may be a method other than the above-described method. Numerical controller 30 may calculate the vibration amount of machine tool 1 without calculating the position gain of the vibration transfer function, the spectrum of the acceleration command, and the position spectrum of the vibration. Numerical controller 30 may calculate the vibration amount of machine tool 1 corresponding to the command speed difference, first time constant T1, and second time constant T2 by simulation based on a theoretical model of a control system including machine tool 1. The numerical controller 30 may determine the time constant based on the calculation result. The simulation may be performed in advance before the main process is started, or may be performed when the time constant is calculated in the correction process (see fig. 9 and 10).

The number of FIR filters used in the acceleration/deceleration process may be three or more. In this case, numerical controller 30 may determine the time constant of each of the three or more FIR filters whose oscillation amount is smaller than threshold Th. When the number of natural vibration frequencies coincides with the number of FIR filters, the FIR filters may be associated for each natural vibration frequency. Numerical controller 30 may correct the time constant of the corresponding FIR filter as a time constant for suppressing the amount of vibration at the natural frequency. Numerical controller 30 may calculate a time constant for each command speed difference so that the acceleration at the time of acceleration/deceleration does not exceed an acceleration limit value determined based on the rating of the motor.

The value added in the time constant correction (S51, S71) is not limited to 1ms, and may be other values. The value added in the time constant correction may be switched according to the difference between the position spectrum of the vibration and the threshold Th.

The numerical controller 30 obtains the position gain and the natural frequency of the vibration transfer function corresponding to the total mass that matches or approximates the actual total mass of the cutting target 3 and the jig, from among the position gain and the natural frequency of the vibration transfer function stored in the storage device 34 for each total mass of the cutting target 3 and the jig (S11), and uses them for time constant correction. The numerical controller 30 may store a relational expression indicating a relationship between the total mass of the cutting target 3 and the jig and the position gain of the vibration transfer function in the storage device 34. The numerical controller 30 may calculate the position gain of the vibration transfer function by applying the actual total mass of the cutting target 3 and the jig to the relational expression. The numerical controller 30 may calculate the position gain and the natural frequency of the vibration transfer function corresponding to different total masses by interpolation or extrapolation using the position gain and the natural frequency of the vibration transfer function stored for each of the total masses of two or more types of the cutting object 3 and the jig.

The natural frequency of the machine tool 1 may be three or more. Instead of determining one frequency as the natural frequency, a natural frequency range having a certain range may be determined, and the position spectrum value of the vibration may be calculated for all frequencies within the natural frequency range, and the time constant may be corrected so that the position spectrum value of all vibrations is equal to or less than the threshold value. A frequency range in which the position gain of the vibration transfer function exceeds a threshold value can be found as the natural vibration frequency range.

The numerical controller 30 may calculate, as all axis time constants, the largest time constant among the time constants calculated for each of the X axis, the Y axis, and the Z axis. The numerical controller 30 may calculate, as all axis vibration amounts, the maximum value in the position spectrum of the vibration calculated for each of the X, Y, and Z axes. The numerical controller 30 may correct all-axis time constants so that all-axis vibration amounts are smaller than the threshold Th. The numerical controller 30 may apply all the corrected axis time constants to the velocity waveforms of each of the X, Y, and Z axes to perform acceleration and deceleration processing. The numerical controller 30 may control the movement of the table 13 or the tool 4 based on the velocity waveform of each of the X, Y, and Z axes obtained by the acceleration/deceleration processing. In this case, the numerical controller 30 can limit the time constant to be changed, and thus can suppress the amount of processing required to change the time constant.

The machine tool 1 is an example of a machine according to the present invention. The CPU31 is an example of the control unit of the present invention. The CPU31 for performing the processing of S43 and S63 is an example of the time constant calculation unit of the present invention. The CPU31 for performing the processing of S51 and S71 is an example of the time constant correction unit of the present invention. The CPU31 for performing the processing of S109, S45, S85, S47, S87, and S93 is an example of the vibration calculation unit of the present invention. The process of S42 is an example of the inertia calculation unit of the present invention. The CPU31 when performing the process of S109 is an example of the first vibration calculation unit of the present invention. The CPU31 for performing the processing of S45 and S85 is an example of the second vibration calculating unit of the present invention. The CPU31 for performing the processing of S47 and S87 is an example of the third vibration calculating unit of the present invention. The processing of S93 is an example of the vibration quantity calculating unit of the present invention. The position gain of the vibration transfer function is an example of the first vibration information of the present invention. The spectrum of the acceleration command is an example of the second vibration information of the present invention. The position spectrum of the vibration is an example of the third vibration information of the present invention. The CPU31 when performing the process of S21 is an example of the acceleration/deceleration processing section of the present invention. The CPU31 when performing the process of S109 is an example of the first vibration calculation process of the present invention.

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数值控制装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类