Numerical control device, machining system, and control method
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2023-12-26
- Publication Date
- 2026-08-04
AI Technical Summary
数控装置进行控制以使得驱动轴以指示出的速度沿加工程序中记载的移动路径移动,但指令和实际的驱动轴的动作之间会产生误差
[0010] According to the present invention, the following effect is achieved: the response error can be maintained without being limited by the vibration characteristics of the machine tool, and a vibration suppression effect can be obtained.
Smart Images

Figure CN122514734A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a numerical control device, machining system, and control method for suppressing machine tool vibration. Background Technology
[0002] A numerical control (NC) system controls the drive axes of a machine tool based on instructions described in the machining program, thereby changing the relative position of the workpiece and the cutting tool while the machine tool performs machining. The NC system controls the drive axes to move along the path described in the machining program at the indicated speed, but errors can occur between the instructions and the actual movement of the drive axes.
[0003] For example, errors exist due to the vibration characteristics of the machine tool, known as vibration error, and errors due to the response delay of the servo control system, known as response error. Furthermore, vibration error arises from specific frequency components, while response error corresponds to the control frequency band with high-frequency components. Vibration error can cause scratches or lines on the machined surface, and therefore needs to be suppressed.
[0004] Patent Document 1 discloses a numerical control (CNC) device that suppresses machine tool vibration by controlling the acceleration and deceleration of a servo motor. This control is achieved by calculating the change in acceleration or speed relative to the time axis based on a given acceleration / deceleration pattern, for any speed or position command, and then applying that change. The CNC device disclosed in Patent Document 1 processes the commands using a convex acceleration / deceleration filter, thereby performing acceleration / deceleration processing.
[0005] Patent Document 1: Japanese Patent Application Publication No. 2019-82771 Summary of the Invention
[0006] However, in the CNC device disclosed in Patent Document 1, since the filter includes an integrator, it not only blocks specific frequencies but also suppresses high-frequency components, thereby narrowing the bandwidth. Therefore, it cannot distinguish between components generated by vibration errors and components generated by response errors. Consequently, when vibration exists in the low-frequency region, the acceleration decreases excessively when reducing vibration errors, thus extending the machining time. In other words, in the CNC device disclosed in Patent Document 1, there is a problem that achieving vibration suppression while maintaining response error is limited by the machine tool's vibration characteristics.
[0007] The present invention is proposed in view of the above circumstances, and its purpose is to provide a CNC device that can maintain response error and obtain vibration suppression effect without being limited by the vibration characteristics of machine tools.
[0008] To address the aforementioned issues and achieve the objective, the present invention provides a CNC device for controlling a machine tool with multiple drive axes that change the relative position of the workpiece and the cutting tool. This CNC device is characterized by comprising: an analysis processing unit that outputs movement data, instructions indicating the movement of the drive axes, based on a machining program; a response error adjustment unit that outputs a response error correction value, adjusting the response error between the instruction value and the measured value, based on the movement data; an acceleration / deceleration processing unit that outputs a correction value for the movement data, i.e., an acceleration / deceleration correction value, based on the movement data and the response error correction value; and a vibration error adjustment unit that outputs a correction value for the movement data, i.e., a vibration error correction value, based on the measured or calculated vibration characteristics of the machine tool according to its specifications, the movement data, and the acceleration / deceleration correction value. The vibration error adjustment unit maintains the change in response error per unit time to be less than or equal to an allowable value, and, in a manner that keeps the total input constant, at least one of the jerk instruction, acceleration instruction, and speed instruction is periodically increased or decreased at a period shorter than the vibration period of the object being blocked by the machine tool.
[0009] The effects of the invention
[0010] According to the present invention, the following effect is achieved: the response error can be maintained without being limited by the vibration characteristics of the machine tool, and a vibration suppression effect can be obtained. Attached Figure Description
[0011] Figure 1 This is a diagram showing the functional structure of the numerical control device involved in Implementation Method 1.
[0012] Figure 2 This is a simplified diagram illustrating response error and vibration error.
[0013] Figure 3 This is a diagram showing an example of the jerk, acceleration, and velocity waveforms of the input command to the vibration error adjustment unit.
[0014] Figure 4 yes Figure 3 A magnified view of the dashed line portion.
[0015] Figure 5 This is the first example of a diagram illustrating the vibration characteristics of a machine tool.
[0016] Figure 6 This indicates that by inputting commands to the vibration error adjustment unit... Figure 5 The figure shows the first example of the error waveform when the machine tool with the vibration characteristics shown is under control.
[0017] Figure 7 This indicates that by inputting commands to the vibration error adjustment unit... Figure 5The figure shows the second example of the error waveform when the machine tool with the vibration characteristics shown is under control.
[0018] Figure 8 This is the second example of a diagram illustrating the vibration characteristics of a machine tool.
[0019] Figure 9 This is the third example of a diagram illustrating the vibration characteristics of a machine tool.
[0020] Figure 10 This indicates that by inputting commands to the vibration error adjustment unit... Figure 9 The diagram shows the error waveform when the machine tool with the vibration characteristics shown is controlled.
[0021] Figure 11 This is a diagram showing the jerk, acceleration, and velocity waveforms of the first example of the output command from the vibration error adjustment unit.
[0022] Figure 12 This indicates that by inputting commands to the vibration error adjustment unit... Figure 8 The diagram shows the error waveform of the vibration error when the machine tool with the vibration characteristics shown is controlled.
[0023] Figure 13 This is the first example of an output command from the vibration error adjustment unit. Figure 8 The diagram shows the error waveform of the vibration error when the machine tool with the vibration characteristics shown is controlled.
[0024] Figure 14 This is the first example of an output command from the vibration error adjustment unit. Figure 8 The diagram shows the error waveform when the machine tool with the vibration characteristics shown is controlled.
[0025] Figure 15 This indicates that by inputting commands to the vibration error adjustment unit... Figure 9 The diagram shows the error waveform of the vibration error when the machine tool with the vibration characteristics shown is controlled.
[0026] Figure 16 This is the first example of an output command from the vibration error adjustment unit. Figure 9 The diagram shows the error waveform of the vibration error when the machine tool with the vibration characteristics shown is controlled.
[0027] Figure 17 This is the first example of an output command from the vibration error adjustment unit. Figure 9 The diagram shows the error waveform when the machine tool with the vibration characteristics shown is controlled.
[0028] Figure 18This is a diagram showing an example of the response gain of the FIR (Finite Impulse Response) filter in the vibration error adjustment section.
[0029] Figure 19 yes Figure 18 A magnified view of the periphery of the second stopband.
[0030] Figure 20 This is a diagram showing the jerk, acceleration, and velocity waveforms of the second example of the output command from the vibration error adjustment unit.
[0031] Figure 21 This is an enlarged view of the response gain around the second cutoff frequency in a second-order FIR filter.
[0032] Figure 22 This is a diagram showing the functional structure of the numerical control device involved in Embodiment 2.
[0033] Figure 23 This is a schematic diagram illustrating the first example of the presumed waveform of vibration.
[0034] Figure 24 This is a simplified diagram illustrating vibration error adjustment.
[0035] Figure 25 This is a schematic diagram illustrating the second example of the presumed waveform of vibration.
[0036] Figure 26 This is a flowchart illustrating a process example of the control method involved in Implementation Method 3.
[0037] Figure 27 This is a diagram showing the structure of the processing system involved in Embodiment 4.
[0038] Figure 28 This is a diagram representing dedicated hardware used to implement the functions of the CNC devices involved in embodiments 1 and 2.
[0039] Figure 29 This is a diagram showing the structure of a control circuit used to implement the functions of the numerical control device involved in embodiments 1 and 2. Detailed Implementation
[0040] The numerical control device, machining system, and control method according to the embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0041] Implementation Method 1
[0042] Figure 1This is a diagram showing the functional structure of the CNC device 1A according to Embodiment 1. The CNC device 1A includes a resolution processing unit 11, a response error adjustment unit 12, an acceleration / deceleration processing unit 13, and a vibration error adjustment unit 14A. The CNC device 1A receives the machining program MP and parameters P as inputs and outputs control commands to the amplifier 21 of the machine tool being controlled. Furthermore, although in Figure 1 Although not shown in the diagram, the machine tool that is controlled and has amplifier 21 will be referred to as machine tool 2 below. The CNC device 1A can be installed close to the machine tool 2 or on a server far away from the machine tool 2.
[0043] The machining program MP consists of a set of program block units that indicate one action of the machine tool 2, and is described using instruction codes such as positioning instructions (G00) and cutting instructions (G01). The machining program MP is also called a CNC program. Typically, one line of the machining program MP corresponds to one movement instruction. Hereinafter, each movement instruction recorded in the machining program MP will be represented as an instruction block.
[0044] Parameter P is a set value corresponding to the dynamic characteristics of machine tool 2, and is a general term for the parameters used when the CNC device 1A generates acceleration and deceleration waveforms.
[0045] The CNC device 1A analyzes the machining program MP and outputs the control command corresponding to the analysis result to the amplifier 21. The amplifier 21 controls the machine tool 2, thereby controlling the relative position of the workpiece and the cutting tool while machining the workpiece.
[0046] It is difficult to make the control commands and actual responses of machine tool 2 completely consistent, which will produce errors. In most cases, the error includes a component due to the response delay of the servo control system of machine tool 2, namely the response error, and a component due to the vibration of machine tool 2, namely the vibration error. Figure 2 This is a simplified diagram illustrating the response error and vibration error. (For example...) Figure 2 As shown, the error is represented by a composite waveform of the response error and vibration error. The CNC device 1A has the function of distinguishing and adjusting the response error and vibration error separately.
[0047] The parsing and processing unit 11 reads the instruction blocks of the machining program MP one by one, continuously parsing the movement instructions of each drive axis, thereby generating movement data. The movement data is the instruction indicating the movement of the drive axis, containing information such as the start and end positions of each drive axis in each instruction block, the movement distance, the movement speed, and the angle formed with the preceding and following instruction paths. The parsing and processing unit 11 outputs the generated movement data to the response error adjustment unit 12.
[0048] The response error adjustment unit 12 calculates a response error correction value based on parameter P and the movement data output by the analysis processing unit 11, adjusting the response error of the command value and the measured value. Parameter P may be, for example, permissible jerk, permissible acceleration, command speed, or filter time constant and filter adjustment gain. The response error adjustment unit 12 may calculate the jerk time constant as the response error correction value, or it may calculate the acceleration time constant as the response error correction value. In order to suppress the error caused by the response delay of servo control, the response error adjustment unit 12 may adjust the jerk time constant so that the jerk does not exceed the jerk limit value, or it may adjust the acceleration time constant so that the acceleration does not exceed the acceleration limit value. Furthermore, here, the response error adjustment unit 12 may also adjust the jerk and acceleration after the "FIR filter processing of the vibration error adjustment unit 14A" described later so that they do not exceed the jerk limit value and the acceleration limit value, respectively.
[0049] The response error adjustment unit 12 can adjust the jerk time constant based on the jerk limit value, or it can adjust it based on the jerk limit value, command speed, filter time constant, filter adjustment gain, etc. In this case, the response error adjustment unit 12 can also adjust it so that the jerk time constant is less than half of the filter time constant.
[0050] The response error adjustment unit 12 can adjust the acceleration time constant based on the acceleration limit value, or it can adjust it based on the acceleration limit value, command speed, filter time constant, filter adjustment gain, etc.
[0051] The response error adjustment unit 12 outputs the movement data output by the analysis processing unit 11 and the generated response error correction value to the acceleration / deceleration processing unit 13.
[0052] The acceleration / deceleration processing unit 13 generates a correction value for the motion data, i.e., an acceleration / deceleration correction value, based on the motion data and the response error correction value, and outputs the generated acceleration / deceleration correction value to the vibration error adjustment unit 14A.
[0053] The acceleration / deceleration processing unit 13 generates an acceleration / deceleration waveform by interpolating the movement command per unit time as a composite movement command along the movement path, and distributes the acceleration / deceleration waveform to each drive axis, thereby generating a movement command for each drive axis as an acceleration / deceleration correction value. The acceleration / deceleration processing unit 13 can also generate an acceleration / deceleration waveform in the composite movement direction based on the acceleration time constant and the acceleration time constant, in a way that allows the movement command per unit time to change smoothly. The acceleration / deceleration processing unit 13 can interpolate using the corner passing speed within the deceleration range obtained based on the corner passing speed, or it can interpolate using the command speed in the range outside the deceleration range. The acceleration / deceleration processing unit 13 can also shorten the production cycle time and suppress excessive acceleration by smoothing the movement path of the machining program MP. Furthermore, the corner passing speed can be adjusted to prevent internal rotation greater than or equal to the allowable tolerance, thus reproducing the machined shape with high precision.
[0054] The vibration error adjustment unit 14A, based on parameter P and the acceleration / deceleration correction value output by the acceleration / deceleration processing unit 13, corrects the commands, i.e., the acceleration / deceleration correction values, for each drive axis to suppress vibration excitation of the machine tool 2 and adjust the vibration error of the machine tool 2. The correction value of the movement data after the vibration error is adjusted by the vibration error adjustment unit 14A is also called the vibration error correction value.
[0055] Figure 3 This is a diagram showing an example of the jerk, acceleration, and velocity waveforms input to the vibration error adjustment unit 14A. Additionally, Figure 4 yes Figure 3 A magnified view of the dashed line portion. (See attached image.) Figure 4 As shown, vibration suppression is achieved by inputting a command to the vibration error adjustment unit 14A, which applies jerk in a step manner instead of a pulse.
[0056] Figure 5 This is the first example of the vibration characteristics of machine tool 2. Figure 5 The first example shown illustrates the case where the attenuation ratio ξ of machine tool 2 is sufficiently small. Figure 6 This indicates that by inputting a command to the vibration error adjustment unit 14A... Figure 5 The diagram shows the first example of the error waveform when the machine tool's vibration characteristics are controlled. Machine tool 2 has... Figure 5 The vibration characteristics shown are, in Figure 4 The acceleration input period T shown is not the same as the vibration period T of machine tool 2. n Equal (T≠T) n In the case where the machine tool 2 is controlled using input commands to the vibration error adjustment unit 14A, the waveforms of the response error and vibration error are as follows: Figure 6As shown, the vibration error did not become zero; although it was attenuated, some residual vibration remained.
[0057] in addition, Figure 7 This indicates that by inputting a command to the vibration error adjustment unit 14A... Figure 5 The diagram shows the second example of the error waveform when the machine tool's vibration characteristics are controlled. Machine tool 2 has... Figure 5 The vibration characteristics shown are, in Figure 4 The acceleration input period T shown is related to the vibration period T of machine tool 2. n Equal (T=T) n In the case where the machine tool 2 is controlled using input commands to the vibration error adjustment unit 14A, the waveforms of the response error and vibration error are as follows: Figure 7 As shown. Through the vibration period T of machine tool 2 n By applying jerk in a matching manner, vibration can be counteracted, and vibration error can be suppressed to near zero.
[0058] Next, consider that machine tool 2 has Figure 8 The vibration characteristics shown are as follows. Figure 8 This is the second example of a diagram showing the vibration characteristics of machine tool 2. Figure 8 The second example shown illustrates that the vibration period is set to T when the vibration characteristics of machine tool 2 are identified. n Due to variations in duration, the vibration period changes to T. n 'The situation.' For example Figure 8 The vibration period of the machine tool 2 shown has shifted. Figure 4 The acceleration input period T shown is different from the vibration period T of machine tool 2 before the change. n Equal (T=T) n ≠T n In the case where the machine tool 2 is controlled using input commands to the vibration error adjustment unit 14A, the error waveforms of the response error and vibration error are as follows: Figure 6 As shown.
[0059] Next, consider that machine tool 2 has Figure 9 The vibration characteristics shown are as follows. Figure 9 This is the third example of a diagram illustrating the vibration characteristics of machine tool 2. Figure 9 In the third example shown, the vibration characteristics of machine tool 2 are shown when the damping coefficient ξ = 0.1 is not sufficiently small. Figure 10 This indicates that by inputting a command to the vibration error adjustment unit 14A... Figure 9 The diagram shows the error waveform when machine tool 2, exhibiting vibration characteristics as shown, is under control. Figure 9 As shown, the attenuation coefficient ξ of machine tool 2 is relatively large. Figure 4The acceleration input period T shown is related to the vibration period T of machine tool 2. n Equal (T=T) n In the case where the machine tool 2 is controlled using input commands to the vibration error adjustment unit 14A, the error waveforms of the response error and vibration error are as follows: Figure 10 As shown, it can be seen that during the oscillation period T... n Subsequently, the vibration error did not become zero; although it was attenuated, some residual vibration remained. As mentioned above, if the vibration period shifts relative to the identification time, or if the attenuation coefficient ξ of machine tool 2 is large, and if the command is as previously instructed, it will not be effective against the pre-identified vibration period T. n If a matching accelerator command is applied, it is difficult to suppress vibration. Furthermore, regarding the vibration characteristics of machine tool 2, the attenuation and vibration period typically change due to variations in time or machining position, requiring simultaneous consideration of… Figure 8 The shift in the vibration period shown Figure 9 The damped vibration characteristics are shown.
[0060] Therefore, in the CNC device 1A, a command is generated that, in a manner that keeps the total input amount constant, at least one of the jerk command, acceleration command, and speed command increases or decreases periodically at a time shorter than the vibration period of the object being blocked by the machine tool 2. Hereinafter, such a command will sometimes be referred to as the output command of the vibration error adjustment unit 14A.
[0061] Figure 11 This is a diagram showing the jerk, acceleration, and velocity waveforms of the first example of the output command from the vibration error adjustment unit 14A. Furthermore, Figure 11 It will be with Figure 4 The enlarged portion of the image corresponding to the dashed line shows the previous commands represented by single-dot dashes. For example... Figure 11 As shown, when the vibration error adjustment unit 14A outputs a command, the vibration period T of the machine tool 2 is... n Half of the period T n / 2 is matched with multiple stages of acceleration.
[0062] The instructions for increasing or decreasing in stages can be either acceleration instructions or speed instructions.
[0063] The vibration error adjustment unit 14A generates an instruction to keep the total input amount constant. Figure 4 The total accelerometer input S from J1 to J2 in the accelerometer command is represented by S = J × T, where J = J1 = J2.
[0064] at this time, Figure 11The total value S' of the jerk input in the output command of the vibration error adjustment unit 14A is shown below.
[0065] S'=J 11 ×T1+(J 11 +J 12 )×T2+(J 11 +J 12 +J 13 )×T3+(J 11 +J 12 +J 13 -J 21 )×T4+(J 11 +J 12 +J 13 -J 21 -J 22 )×T5
[0066] T1, T2, T3, T4, and T5 can all be periods shorter than the oscillation period and opposite in phase to the mechanical oscillation period. For example, ... Figure 11 As shown, all can be (T) n / 2), that is, T1=T2=T3=T4=T5=(T n / 2). At this time, the output command of the vibration error adjustment unit 14A is generated in such a way that S = S' is true.
[0067] In addition, the output command of the vibration error adjustment unit 14A is generated in such a way that the jerk becomes 0 when the jerk is applied, that is, the following formula is true.
[0068] J 11 +J 12 +J 13 -J 21 -J 22 -J 23 =0
[0069] Machine tool 2 has Figure 8 The vibration characteristics shown are in Figure 4 The acceleration input period T shown is different from the vibration period T of machine tool 2 before the change. n Equal (T=T) n ≠T n In the case of '), through Figure 4 The error waveforms of the vibration errors caused by the input of accelerators J1 and J2 are shown below. Figure 12 As shown. Furthermore, through synthesis Figure 12 The error waveforms of each vibration error, thus becoming Figure 6 The vibration error waveform is shown. Machine tool 2 has... Figure 8 The vibration characteristics shown are in Figure 11 The vibration period T of machine tool 2 as shown n Half of the period T n / 2 Matching the multi-stage accelerator input, through Figure 11 J shown 11 J 12 J 13 J 21 J 22 J 23 The error waveforms of various vibration errors caused by the acceleration input are as follows: Figure 13 As shown. By periodically applying jerk smaller than the input command to the vibration error adjustment unit 14A, the amplitude of the vibration error becomes smaller compared to the amplitude of the vibration error of the input command to the vibration error adjustment unit 14A.
[0070] Figure 14 This is the first example of an output command from the vibration error adjustment unit 14A. Figure 8 The diagram shows the error waveform when the machine tool with the vibration characteristics shown is controlled. Figure 14 The first example of the error waveform shown illustrates the effect of... Figure 8 The machine tool 2 with the vibration characteristics shown is used in the case where the output command of the vibration error adjustment unit 14A is applied. According to... Figure 14 It can be seen that residual vibration was suppressed.
[0071] Machine tool 2 has Figure 9 The vibration characteristics shown are in Figure 4 The acceleration input period T shown is different from the vibration period T of machine tool 2 before the change. n Equal (T=T) n ≠T n In the case of '), through Figure 4 The error waveforms of the vibration errors caused by the input of accelerators J1 and J2 are shown below. Figure 15 As shown. Figure 15 This indicates that by inputting a command to the vibration error adjustment unit 14A... Figure 9 The diagram shows the error waveform of the vibration error when the machine tool with the vibration characteristics shown is controlled. Furthermore, through synthesis... Figure 15 The error waveforms of each vibration error, thus becoming Figure 10 The vibration error waveform is shown. Machine tool 2 has... Figure 9 The vibration characteristics shown are in Figure 11 The vibration period T of machine tool 2 as shown n Half of the period T n / 2 matched the acceleration in multiple stages, through Figure 11 J shown 11J 12 J 13 J 21 J 22 J 23 The error waveforms of various vibration errors caused by the acceleration input are as follows: Figure 16 As shown. Figure 16 This is the first example of an output command from the vibration error adjustment unit 14A. Figure 9 The diagram shows the vibration error waveform when the vibration characteristics of the machine tool are controlled as shown. By intermittently applying jerk smaller than the input command to the vibration error adjustment unit 14A, the amplitude of the vibration error becomes smaller compared to the amplitude of the vibration error input command to the vibration error adjustment unit 14A.
[0072] Figure 17 This is the first example of an output command from the vibration error adjustment unit 14A. Figure 9 The diagram shows the error waveform when the machine tool with the vibration characteristics shown is controlled. Figure 17 The first example of the error waveform shown illustrates the effect of... Figure 9 The machine tool 2 with the vibration characteristics shown is used in the case where the output command of the vibration error adjustment unit 14A is applied. According to... Figure 17 It can be seen that residual vibration was suppressed.
[0073] As described above, even when the vibration period deviates from the identification time, or when the attenuation coefficient of the machine tool 2 is large, vibration can be suppressed by using the output command of the vibration error adjustment unit 14A. The output command of the vibration error adjustment unit 14A is such that the change in response error per unit time is maintained less than or equal to the allowable value, and at a rate greater than the vibration period T of the object being blocked. n The short cycle causes at least one of the acceleration command, acceleration command, and speed command to increase or decrease periodically.
[0074] The vibration error adjustment unit 14A can, through a filter, increase or decrease at least one of the jerk command, acceleration command, and velocity command in stages at half the period of the vibration cycle of the object, while keeping the total input amount constant.
[0075] The vibration error adjustment unit 14A can also use a filter to generate the output command of the vibration error adjustment unit 14A, i.e., the vibration error correction value. The vibration error adjustment unit 14A can adjust the vibration error according to the command of each drive shaft by using an FIR filter with the transfer function M(s) represented by the following formula (1).
[0076] [Equation 1]
[0077] Here, T n T is the filter time constant, expressed as the reciprocal of the frequency of the object's vibration, which is equivalent to the vibration period of the object being blocked. n It can be the reciprocal of the natural frequency of machine tool 2, n, or the reciprocal of the resonant frequency. Additionally, α is the filter adjustment gain, set within the range of real numbers.
[0078] Figure 18 This is a diagram showing an example of the response gain of the FIR filter in the vibration error adjustment unit 14A. According to... Figure 18 It is known that FIR filters have periodic stopbands. The cutoff frequency of an FIR filter can be calculated by finding the solution |M(jω)| = 0. This cutoff frequency exists three times in any nth stopband.
[0079] Figure 19 yes Figure 18 A magnified view of the periphery of the second stopband. Figure 19 Examples of α = 2.6 and α = 1.6 are shown. The stopband width and the maximum stopband gain, i.e., the blocking effect, vary with the value of α; there is a trade-off between stopband width and blocking effect.
[0080] The vibration error adjustment unit 14A obtains the vibration period, stopband width, and maximum allowable gain of the object being blocked, and sets the FIR filter so that the center of the stopband width is consistent with the frequency of the vibration period of the object being blocked, and the maximum gain of the stopband width is less than the maximum allowable gain.
[0081] Alternatively, different FIR filters can be set for each drive shaft. In this case, a moving average filter, notch filter, etc., can be added to make the delay time of each drive shaft equal, thereby preventing trajectory distortion. Thus, the vibration error adjustment unit 14A can generate commands using FIR filters by obtaining commands applied to each drive shaft output by the acceleration / deceleration processing unit 13 through inverse Laplace transform of the filters.
[0082] (Variation example)
[0083] Next, a modified example of the vibration error adjustment unit 14A will be described. The vibration error adjustment unit 14A can also increase the order of the jerk waveform in its output command. Figure 20 This is a diagram showing the jerk, acceleration, and velocity waveforms of the second example of the output command from the vibration error adjustment unit 14A. Furthermore, Figure 20 It will be with Figure 3The enlarged diagram corresponding to the dashed line portion shows the previous commands represented by single-dot lines, and the output command of the vibration error adjustment unit 14A before the order was increased, i.e., the first example of the output command of the vibration error adjustment unit 14A, represented by a dashed line. For example... Figure 20 As shown, even with an increased order, it still correlates with the vibration period T of machine tool 2. n The accelerator is applied in half the cycle. Additionally, for each additional order, the phase delay T... n .
[0084] The vibration error adjustment unit 14A can also use a filter to generate output commands for the vibration error adjustment unit 14A when the order is increased. The vibration error adjustment unit 14A can adjust the output commands for each drive shaft using the transfer function M represented by the following formula (2). k Multiple FIR filters (s) are used to adjust vibration error.
[0085] [Equation 2]
[0086] Here, k is the order, an integer greater than or equal to 2. When i is set to a value greater than or equal to 0 and less than or equal to k, α... i This is the filter gain, α0 = 1. The cutoff frequency of a k-th order multiple FIR filter can be obtained by calculating |M k The solution is calculated from (jω)|=0, and there are (2k+1) cutoff frequencies in any nth stopband. For example, when k=2, there are 5 cutoff frequencies in each stopband.
[0087] Figure 21 This is a magnified view of the response gain around the second cutoff frequency in a second-order FIR filter. That is, Figure 21 The case where k=2 and n=2 is shown. Figure 21 The example shown is (α1, α2) = (1.6, 2.9) and α1 = 1.6. It can be seen that by increasing the order of the filter from k = 1 to k = 2, the blocking effect is increased while the stopband width remains unchanged.
[0088] The parameter settings for a k-th order multiple FIR filter are explained. α i Set to meet the desired bandwidth. The order k and α of the multiple FIR filter. i The setting is such that, to achieve the desired vibration damping effect, the maximum gain within the bandwidth does not exceed the maximum allowable gain. Additionally, α... i The setting is to minimize the order k.
[0089] As described above, the CNC device 1A according to Embodiment 1 controls a machine tool 2 having multiple drive axes, which cause changes in the relative position of the workpiece and the cutting tool. The CNC device 1A includes: an analysis processing unit 11, which outputs instructions, i.e., movement data, to instruct the movement of the drive axes based on the machining program MP; a response error adjustment unit 12, which outputs a response error correction value to adjust the response error between the instruction value and the measured value based on the movement data; an acceleration / deceleration processing unit 13, which outputs a correction value for the movement data, i.e., an acceleration / deceleration correction value, based on the movement data and the response error correction value; and a vibration error adjustment unit 14A, which outputs a correction value for the movement data, i.e., a vibration error correction value, based on the vibration characteristics of the machine tool 2 measured or calculated according to the specifications of the machine tool 2, the movement data, and the acceleration / deceleration correction value. The vibration error adjustment unit 14A maintains the change in response error per unit time at a value less than or equal to the allowable value. Furthermore, it increases or decreases at least one of the jerk command, acceleration command, and speed command in stages with a period shorter than the vibration period of the object being blocked by the machine tool 2, while keeping the total input value constant. Based on this structure, response error and vibration error can be distinguished, thus maintaining the response error without being limited by the vibration characteristics of the machine tool 2 and achieving a vibration suppression effect.
[0090] The vibration error adjustment unit 14A can also output a vibration error correction value using a finite impulse response filter. In this case, the characteristic is that when the vibration period of the object being blocked is set to T... n When the filter gain is set to α, the transfer function M(s) of the finite impulse response filter is expressed by the above formula (1).
[0091] Alternatively, the vibration error adjustment unit 14A can also output a vibration error correction value using a k-th order multiple finite impulse response filter. In this case, the characteristic is that when the vibration period of the blocking object is set to T... n Set the filter gain to α i At that time, the transfer function M of the multiple finite impulse response filter k (s) is expressed by the above formula (2).
[0092] This section explains the specific method by which the vibration error adjustment unit 14A adjusts the vibration error when outputting a vibration error correction value using a filter. The vibration error adjustment unit 14A obtains the vibration period, stopband width, and maximum allowable gain of the object being blocked, and sets the filter so that the center of the stopband width matches the frequency of the vibration period of the object being blocked, and the maximum gain of the stopband width is less than the maximum allowable gain.
[0093] Implementation Method 2
[0094] Figure 22This diagram illustrates the functional structure of the CNC device 1B according to Embodiment 2. The CNC device 1B includes a processing unit 11, a response error adjustment unit 12, an acceleration / deceleration processing unit 13, and a vibration error adjustment unit 14B. The CNC device 1B receives machining program MP, parameters P, and vibration feedback as inputs, and outputs control commands to the amplifier 21 of the machine tool 2, which is the controlled object. The functions of the processing unit 11, the response error adjustment unit 12, and the acceleration / deceleration processing unit 13 are the same as those of the CNC device 1A. The CNC device 1B has a vibration error adjustment unit 14B instead of the vibration error adjustment unit 14A of the CNC device 1A.
[0095] The vibration error adjustment unit 14B maintains the change in response error per unit time at less than or equal to the allowable value, and increases or decreases at least one of the jerk command, acceleration command, and speed command with a period shorter than the vibration period of the object being blocked.
[0096] The vibration error adjustment unit 14B adjusts the vibration error based on the vibration feedback from the machine tool 2. The vibration can be detected by calculation based on the feedback information of each axis of the CNC device 1B, or by calculation based on the detection value of the acceleration sensor.
[0097] The vibration error adjustment unit 14B estimates the vibration amplitude at the timing when the vibration period of the object being blocked becomes opposite to the phase, and adjusts the vibration error based on the estimated vibration amplitude so that the vibration amplitude at the timing when the phase becomes opposite becomes 0.
[0098] Figure 23 This is a schematic diagram illustrating the first example of the estimated waveform of vibration. The vibration error adjustment unit 14B can also calculate the estimated waveform by simulating the feedback waveform and acceleration / deceleration waveform as inputs.
[0099] Figure 24 This is a simplified diagram illustrating vibration error adjustment. Figure 24 The jerk waveform before correction is represented by a dashed line, and the corrected jerk waveform is represented by a solid line. For example... Figure 24 As shown, the vibration error adjustment unit 14B adjusts the timing when the vibration period of the blocked object becomes opposite in phase, so that the vibration amplitude becomes 0. Vibration error can be adjusted by adjusting the jerk, or by adjusting the acceleration and velocity. Alternatively, adjustment can be implemented through machine learning or through a regression model.
[0100] Figure 25 This is a schematic diagram illustrating the second example of the estimated waveform of vibration. In this second example, the estimated waveform of vibration is shown when machine tool 2 is controlled using the corrected instructions. If we... Figure 25 waveform and Figure 23 By comparing the waveforms shown, it can be seen that vibration is suppressed by using vibration feedback to correct the command.
[0101] As described above, according to the CNC device 1B of Embodiment 2, the vibration error adjustment unit 14B detects the vibration waveform of the machine tool 2, estimates the vibration amplitude at a timing when the vibration period of the blocking object becomes opposite to the detected vibration waveform, and outputs a vibration error correction value that makes the vibration amplitude at a timing when the opposite phase becomes 0 based on the estimated value of the vibration amplitude.
[0102] Implementation Method 3
[0103] In Implementation Method 3, the control method will be described. Figure 26 This is a flowchart illustrating a flow example of the control method involved in Embodiment 3. The control method described here is executed by the CNC device 1A described in Embodiment 1 or the CNC device 1B described in Embodiment 2. Therefore, when the subject of the operation described below can be either the CNC device 1A or the CNC device 1B, it is referred to as CNC device 1.
[0104] The CNC device 1 generates instructions, i.e., movement data, to indicate the movement of the drive axis based on the machining program MP (step S101).
[0105] The CNC device 1 generates a response error correction value based on the generated movement data (step S102). The response error correction value is expressed as the acceleration time constant and the acceleration time constant by adjusting the response error of the command value and the measured value.
[0106] The CNC device 1 generates the correction value of the movement data, namely the acceleration and deceleration correction value, based on the movement data and the response error correction value (step S103).
[0107] The CNC device 1 acquires the vibration characteristics of the machine tool 2 (step S104). Specifically, the CNC device 1 can acquire the natural frequency or resonant frequency obtained by performing frequency analysis on the vibration measured by sensors such as accelerometers using an FFT (Fast Fourier Transform) analyzer, or it can acquire the vibration period expressed as the reciprocal of the natural frequency or resonant frequency, as the vibration characteristics of the machine tool 2. Furthermore, the value representing the vibration characteristics can be a value calculated from the measured values, or it can be a default value of a parameter calculated by the manufacturer of the machine tool 2 using the same method as described in the machine tool 2's specifications. When the vibration characteristics are acquired through measurement, values that take into account the individual differences of the machine tool 2 and its setting conditions can be obtained.
[0108] The CNC device 1 generates a vibration error correction value based on the vibration characteristics, movement data, and acceleration / deceleration correction values of the machine tool 2 (step S105). Specifically, the CNC device 1 sets the parameters of the FIR filter in such a way that the vibration frequency of the blocked object overlaps with the stopband, thereby suppressing the vibration of the machine tool 2. At this time, the change in response error per unit time is kept less than or equal to the allowable value, and at least one of the jerk command, acceleration command, and speed command is increased or decreased in stages with a period shorter than the vibration period of the blocked object, so as to keep the total input value constant. In addition, the CNC device 1B detects the vibration waveform of the machine tool 2, estimates the vibration amplitude at a timing that is opposite to the vibration period of the blocked object based on the detected vibration waveform, and generates a vibration error correction value that makes the vibration amplitude at the timing that is opposite to the vibration period 0 based on the estimated vibration amplitude.
[0109] As described above, the control method involved in Embodiment 3 is executed by a CNC device 1 that controls a machine tool 2. The machine tool 2 has multiple drive axes that change the relative position of the workpiece and the cutting tool. The control method includes the following steps: based on the machining program MP, outputting a command, i.e., movement data, that instructs the movement of the drive axes; based on the movement data, outputting a response error correction value that adjusts the response error of the command value and the measured value; based on the movement data and the response error correction value, outputting a correction value for the movement data, i.e., an acceleration / deceleration correction value; obtaining the vibration characteristics of the machine tool 2 by measurement or according to the specifications of the machine tool 2; and based on the above vibration characteristics, movement data, and acceleration / deceleration correction value, outputting a correction value for the movement data, i.e., a vibration error correction value. In the step of outputting the vibration error correction value, the change in the response error per unit time is kept less than or equal to the allowable value, and at least one of the acceleration command, the speed command, and the acceleration command is increased or decreased in stages with a period shorter than the vibration period of the object being blocked by the machine tool 2, so as to keep the total input value unchanged.
[0110] Implementation Method 4
[0111] In Embodiment 4, the processing system 10 will be described. Figure 27This diagram illustrates the structure of the machining system 10 according to Embodiment 4. The machining system 10 includes a numerical control device 1 and a machine tool 2. As described above, the numerical control device 1 can be either a numerical control device 1A or a numerical control device 1B. The machine tool 2 includes, for example, an amplifier 21, motors 22-1 and 22-2, drive shafts 23-1 and 23-2, a worktable 24, and a cutting tool 25. A workpiece W is placed on the worktable 24. Drive shaft 23-1 is a worktable drive shaft that moves the worktable 24, and drive shaft 23-2 is a cutting tool drive shaft that rotates the cutting tool 25. Furthermore, two drive shafts 23-1 and 23-2 are shown here, but the machine tool 2 may also have drive shafts other than those shown. The amplifier 21 converts the control commands output from the numerical control device 1 into current and outputs it to the motors 22-1 and 22-2. The motors 22-1 and 22-2 rotate using the current output from the amplifier 21. Drive shaft 23-1 converts the rotational motion of motor 22-1 into the motion of worktable 24. Drive shaft 23-2 converts the rotational motion of motor 22-2 into the motion of cutting tool 25.
[0112] As described above, the machining system 10 according to Embodiment 4 includes: a machine tool 2 having multiple drive axes 23-1, 23-2 that change the relative position of the workpiece W and the cutting tool 25; and a numerical control device 1 that controls the machine tool 2. The numerical control device 1 includes: an analysis processing unit 11 that outputs instructions, i.e., movement data, for instructing the movement of the drive axes 23-1, 23-2 based on the machining program MP; a response error adjustment unit 12 that outputs a response error correction value that adjusts the response error between the instruction value and the measured value based on the movement data; an acceleration / deceleration processing unit 13 that outputs a correction value for the movement data, i.e., an acceleration / deceleration correction value, based on the movement data and the response error correction value; and vibration error adjustment units 14A, 14B that output a correction value for the movement data, i.e., a vibration error correction value, based on the vibration characteristics of the machine tool 2 measured or calculated according to the specifications of the machine tool 2, the movement data, and the acceleration / deceleration correction value. Vibration error adjustment units 14A and 14B maintain the change in response error per unit time at less than or equal to the allowable value, and, in a manner that keeps the total input amount constant, at least one of the jerk command, acceleration command, and speed command is increased or decreased in stages with a period shorter than the vibration period of the object being blocked by the machine tool 2.
[0113] Next, the hardware structure of the CNC devices 1A and 1B will be described. The analysis processing unit 11, the response error adjustment unit 12, the acceleration / deceleration processing unit 13, and the vibration error adjustment units 14A and 14B are implemented by processing circuits. These processing circuits can be implemented by dedicated hardware or by control circuits using a CPU (Central Processing Unit).
[0114] When the above processing circuits are implemented using dedicated hardware, they pass through Figure 28 The processing circuit 90 shown is implemented. Figure 28 This diagram represents dedicated hardware used to implement the functions of the numerical control devices 1A and 1B involved in embodiments 1 and 2. The processing circuit 90 is a single circuit, a composite circuit, a programmable processor, a parallel-programmable processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.
[0115] When the above processing circuit is implemented using the control circuit of a CPU, the control circuit is, for example, Figure 29 The control circuit 91 of the structure shown. Figure 29 This diagram illustrates the structure of the control circuit 91, which is used to implement the functions of the numerical control devices 1A and 1B described in embodiments 1 and 2. Figure 29 As shown, the control circuit 91 has a processor 92 and a memory 93. The processor 92 is a CPU, also known as a processing device, arithmetic device, microprocessor, microcomputer, DSP (Digital Signal Processor), etc. The memory 93 is, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically EPROM), disk, floppy disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disk), etc.
[0116] When the above-described processing circuit is implemented via control circuit 91, it is achieved by processor 92 reading and executing programs stored in memory 93 corresponding to the processing of each structural element. Furthermore, memory 93 is also used as temporary memory for each process executed by processor 92. Moreover, the programs executed by processor 92 can be provided either in a state stored in a storage medium or via a communication channel such as the Internet.
[0117] The structure shown in the above embodiments is an example, and it can also be combined with other known technologies. The embodiments can also be combined with each other, and some parts of the structure can be omitted or changed without departing from the main idea.
[0118] Explanation of the label
[0119] 1. 1A, 1B CNC device; 2. Machine tool; 10. Machining system; 11. Analysis and processing unit; 12. Response error adjustment unit; 13. Acceleration and deceleration processing unit; 14A, 14B Vibration error adjustment unit; 21. Amplifier; 22-1, 22-2 Motor; 23-1, 23-2 Drive shaft; 24. Worktable; 25. Cutting tool; 90. Processing circuit; 91. Control circuit; 92. Processor; 93. Memory; MP machining program; P parameter; W workpiece.
Claims
1. A numerical control device for controlling a machine tool having multiple drive axes, said drive axes causing changes in the relative position of a workpiece and a cutting tool. The CNC device is characterized by having: The analysis and processing unit, based on the machining program, outputs instructions, i.e., movement data, that instruct the movement of the drive shaft; The response error adjustment unit outputs a response error correction value based on the movement data, which adjusts the response error of the command value and the measured value. The acceleration / deceleration processing unit outputs the correction value of the motion data, i.e., the acceleration / deceleration correction value, based on the motion data and the response error correction value. as well as The vibration error adjustment unit, based on the measured or calculated vibration characteristics of the machine tool, the movement data, and the acceleration / deceleration correction values, outputs a correction value for the movement data, i.e., a vibration error correction value. The vibration error adjustment unit maintains the change in the response error per unit time at a value less than or equal to the allowable value, and, in a manner that keeps the total input amount constant, increases or decreases at least one of the jerk command, acceleration command, and speed command in stages with a period shorter than the vibration period of the object being blocked by the machine tool.
2. The CNC device according to claim 1, characterized in that, The vibration error adjustment unit uses a filter to make at least one of the jerk command, acceleration command, and speed command increase or decrease periodically at half the vibration cycle of the blocking object, in a manner that keeps the total input amount constant.
3. The numerical control device according to claim 1 or 2, characterized in that, The vibration error adjustment unit uses a finite impulse response filter to output the vibration error correction value. When the vibration period of the blocking object is set to T n When the filter gain is set to α, the transfer function M(s) of the finite impulse response filter is expressed by the following formula (1). [Equation 1] 。 4. The CNC device according to claim 1 or 2, characterized in that, The vibration error adjustment unit outputs the vibration error correction value using a k-th order multiple finite impulse response filter. When the vibration period of the blocking object is set to T n Set the filter gain to α i At that time, the transfer function M of the multiple finite impulse response filter k (s) is expressed by the following formula (2), [Equation 2] 。 5. The CNC device according to any one of claims 1 to 4, characterized in that, The vibration error adjustment unit uses a filter to output the vibration error correction value, obtains the vibration period of the blocking object, the width of the vibration period of the blocking object (i.e., the stopband width), and the maximum allowable gain, and sets the filter so that the center of the stopband width is consistent with the frequency of the vibration period of the blocking object, and the maximum gain of the stopband width is less than the maximum allowable gain.
6. The CNC device according to claim 1, characterized in that, The vibration error adjustment unit detects the vibration waveform of the machine tool, estimates the vibration amplitude at a timing when the vibration period of the blocking object becomes the opposite phase based on the detected vibration waveform, and outputs the vibration error correction value that makes the vibration amplitude at the timing when the opposite phase becomes 0 based on the estimated value of the vibration amplitude.
7. A processing system, characterized in that, have: A machine tool having multiple drive axes that change the relative position of the workpiece and the cutting tool; and The numerical control device controls the machine tool. The numerical control device has: The analysis and processing unit, based on the machining program, outputs instructions, i.e., movement data, that instruct the movement of the drive shaft; The response error adjustment unit outputs a response error correction value based on the movement data, which adjusts the response error of the command value and the measured value. The acceleration / deceleration processing unit outputs the correction value of the motion data, i.e., the acceleration / deceleration correction value, based on the motion data and the response error correction value. as well as The vibration error adjustment unit, based on the measured or calculated vibration characteristics of the machine tool, the movement data, and the acceleration / deceleration correction values, outputs a correction value for the movement data, i.e., a vibration error correction value. The vibration error adjustment unit maintains the change in the response error per unit time at a value less than or equal to the allowable value, and, in a manner that keeps the total input amount constant, increases or decreases at least one of the jerk command, acceleration command, and speed command in stages with a period shorter than the vibration period of the object being blocked by the machine tool.
8. A control method executed by a numerical control device that controls a machine tool having multiple drive axes, the multiple drive axes causing changes in the relative position of a workpiece and a cutting tool. The control method is characterized by including the following steps: Based on the machining program, the output is the instruction, i.e., the movement data, that indicates the movement of the drive shaft; Based on the movement data, a response error correction value is output to adjust the response error of the command value and the measured value. Based on the movement data and the response error correction value, the correction value of the movement data, i.e., the acceleration / deceleration correction value, is output. as well as The vibration characteristics of the machine tool are obtained by measurement or according to the specifications of the machine tool; as well as Based on the vibration characteristics, the movement data, and the acceleration / deceleration correction values, the correction value for the movement data, i.e., the vibration error correction value, is output. In the step of outputting the vibration error correction value, the change in the response error per unit time is kept less than or equal to the allowable value, and at least one of the jerk command, acceleration command, and speed command is increased or decreased in stages with a period shorter than the vibration period of the object being blocked by the machine tool, in a manner that keeps the total input value constant.