Numerical control device, numerical control method, and program

The numerical control device addresses the differentiation of vibration and response errors by generating frequency-based models for correction, enhancing control efficiency and reducing delays.

JP7876736B1Active Publication Date: 2026-06-19MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-06-27
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing numerical control devices do not effectively differentiate between vibration errors and response errors in machine tools, leading to response errors exceeding allowable limits and inefficient vibration control due to time-consuming parameter searches.

Method used

A numerical control device that includes an extraction unit to convert measurement data into the frequency domain, separating components into specific frequency bands, and generates models for estimating and correcting vibration and response errors, allowing for high-speed and optimal vibration damping control.

Benefits of technology

The device achieves high-speed and optimal vibration damping control while maintaining response error suppression, reducing the need for manual parameter searches and preventing delays in cycle time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007876736000002
    Figure 0007876736000002
  • Figure 0007876736000003
    Figure 0007876736000003
  • Figure 0007876736000004
    Figure 0007876736000004
Patent Text Reader

Abstract

The numerical control device (10) includes an extraction unit (12) that generates a frequency signal by converting measurement data measured in the numerical control of a machine tool into the frequency domain and extracts components of a certain frequency band from the frequency signal; a generation unit (13) that generates a model for estimating the error between the control command input to the machine tool and the operation of the machine tool based on the extracted components; and a correction unit (14) that performs a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool and a second correction to suppress response errors caused by the response delay of the machine tool. The correction unit (14) performs at least one of the first correction and the second correction based on the generated model.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a numerical control device, a numerical control method, and a program for controlling a machine tool.

Background Art

[0002] A numerical control device causes a machine tool to perform machining while changing the relative position between a workpiece and a tool by controlling the feed axis of the machine tool based on a machining program. The numerical control device controls the feed axis so as to move along a movement path described in the machining program at a commanded speed. An error may occur between the command and the actual movement of the feed axis.

[0003] For example, the errors include a vibration error caused by the vibration characteristics of the machine tool and a response error caused by the response delay of the servo control system of the machine tool. The vibration error is an error that occurs from specific frequency components. The response error is an error that occurs according to the control band of high-frequency components. It is desirable that the numerical control device separate the specific frequency components that cause the vibration error and the high-frequency components that cause the response error by controlling the machine tool, and optimize this overall error while considering the balance between the response error and the vibration error.

[0004] Patent Document 1 discloses a numerical control device that performs servo motor acceleration / deceleration control by calculating and applying changes in acceleration or speed with respect to a time axis based on a given acceleration / deceleration pattern for a speed command or a position command. The numerical control device according to Patent Document 1 performs vibration suppression of the machine tool by performing acceleration / deceleration processing of commands using a convex acceleration / deceleration filter.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0006] The numerical control device described in Patent Document 1 does not differentiate between vibration errors and response errors in vibration damping of machine tools, which may result in response errors exceeding the allowable limit. Furthermore, when vibration control is performed by differentiating between vibration errors and response errors, for example, if the operator searches for parameters to calculate the optimized correction value each time, it is expected that the accuracy of vibration control will be low due to the time and effort required for parameter search.

[0007] This disclosure has been made in view of the above, and aims to achieve high-speed and optimal vibration damping control while maintaining response error. [Means for solving the problem]

[0008] To solve the above-mentioned problems and achieve the objectives, the numerical control device according to this disclosure includes: an extraction unit that generates a frequency signal by converting measurement data measured in numerical control of a machine tool into the frequency domain and extracts components of a certain frequency band from the frequency signal; a generation unit that generates a model for estimating the error between the control command input to the machine tool and the operation of the machine tool, based on the extracted components; and a correction unit that performs a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool and a second correction to suppress response errors caused by the response delay of the machine tool. The correction unit performs at least one of the first correction and the second correction based on the generated model. [Effects of the Invention]

[0009] The numerical control device described herein has the effect of achieving high-speed and optimal vibration damping control while maintaining response error. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example of the configuration of a numerical control device according to Embodiment 1. [Figure 2]A flowchart showing an example of the procedure for processing that the numerical control device according to Embodiment 1 performs in advance for the control of a machine tool. [Figure 3] This figure illustrates the first frequency signal generated by the extraction unit of the numerical control device according to Embodiment 1. [Figure 4] This figure shows an example of a response error model generated by the generation unit of the numerical control device according to Embodiment 1. [Figure 5] This figure shows an example of a vibration error model generated by the generation unit of the numerical control device according to Embodiment 1. [Figure 6] A flowchart showing an example of the processing procedure when the numerical control device according to Embodiment 1 controls a machine tool. [Figure 7] This figure illustrates a method for determining a second correction value using the vibration error correction unit of the numerical control device according to Embodiment 1. [Figure 8] This figure shows an example of the configuration of the control circuit according to Embodiment 1. [Figure 9] This figure shows an example of the configuration of a dedicated hardware circuit according to Embodiment 1. [Modes for carrying out the invention]

[0011] The numerical control device, numerical control method, and program according to the embodiment will be described in detail below with reference to the drawings.

[0012] Embodiment 1. FIG. 1 is a diagram showing a configuration example of a numerical control device 10 according to Embodiment 1. The numerical control device 10 controls a machine tool. The numerical control device 10 is realized by a computer system. The machine tool processes a workpiece while changing the relative position between the workpiece and the tool by a feed axis. In Embodiment 1, the machine tool is a cutting machine that cuts the workpiece with a tool. In FIG. 1, only the amplifier 21 of the machine tool is shown. The numerical control device 10 outputs a control command to the amplifier 21. The amplifier 21 supplies current to a motor that is a drive source of the feed axis of the machine tool according to the control command. A machining program and measurement data are input to the numerical control device 10.

[0013] The numerical control device 10 includes an analysis processing unit 11, an extraction unit 12, a generation unit 13, a correction unit 14, and an output unit 15. The correction unit 14 includes a response error correction unit 16 and a vibration error correction unit 17.

[0014] A machining program, which is a numerical control program, is input to the analysis processing unit 11. The machining program is configured in units of blocks. A block is a program corresponding to a command for an operation that is a unit of the machine tool. A movement command for relatively moving the tool with respect to the workpiece is expressed by, for example, a G code representing a movement mode and coordinates.

[0015] In a machining program, the type of tool is specified by, for example, a T-code which is a code representing the tool and a tool number. When moving the tool along the path described in the machining program, the feed rate command is expressed by an F-code which is a code representing the feed rate and a value indicating the speed. The rotational speed command for rotating the tool by the spindle is expressed by an S-code which is a code representing the rotational speed and a value indicating the rotational speed. In the machining program, the type of tool, the feed rate command, the rotational speed command, etc. for realizing the desired cutting operation are described. Note that at least one of the data of the type of tool, the feed rate, and the rotational speed may be stored in the numerical control device 10 as a batch of data. In this case, on the machining program, the type of tool, the feed rate, or the rotational speed is specified from the data stored in the numerical control device 10 so as to suit the desired cutting operation.

[0016] Note that the control described in Embodiment 1 is not limited to cutting operations and may be applied to operations such as laser processing or additive processing. For example, in the case of additive processing, the laser output, the frequency of the laser output, the duty of the laser output, or the feed rate of the wire which is the material, etc. are expressed by a T-code or an M-code.

[0017] The analysis processing unit 11 generates a movement command by pre-reading the machining program. Pre-reading means performing an analysis on the processing to be executed after the currently executed processing in the analysis of the machining program. The analysis processing unit 11 generates a feed rate command for moving the tip of the tool along the movement path based on the movement command obtained by pre-reading. The analysis processing unit 11 sets the type of tool used for the cutting operation based on the machining program. The analysis processing unit 11 generates a rotational speed command based on the machining program. The analysis processing unit 11 outputs the control command which is the feed rate command to the response error correction unit 16 for each control cycle.

[0018] The extraction unit 12 receives measurement data measured during the numerical control of the machine tool. The measurement data includes information input from the numerical control device 10 to the machine tool and information indicating the output from the machine tool. The extraction unit 12 acquires measurement data stored in, for example, an external storage device of the numerical control device 10. The storage device may be located inside the machine tool or outside the machine tool. Alternatively, the numerical control device 10 may be equipped with a storage unit for storing measurement data. In this case, the extraction unit 12 acquires measurement data stored in the storage unit.

[0019] The extraction unit 12 generates a frequency signal by converting the acquired measurement data into the frequency domain. Hereinafter, this frequency signal will be referred to as the first frequency signal. The first frequency signal represents the amplitude ratio between the input signal and the output signal, and the phase difference between the input signal and the output signal, for an output signal when an input signal of a specific frequency is applied to a machine tool. The first frequency signal is expressed as a transfer function that represents the relationship between frequency and amplitude ratio, and the relationship between frequency and phase difference. Hereinafter, the amplitude ratio will be referred to as gain.

[0020] Here, the input signal is a signal input from the numerical control device 10 to the machine tool. The output signal is a signal indicating the output from the machine tool. The output signal can also be said to be a signal indicating the operation of the machine tool. The input signal is, for example, a signal indicating the feed rate, which is a control command. The input signal may also be a signal indicating information related to the control command, such as the tool tip position, acceleration, torque, or current value. The output signal is, for example, a signal indicating the tool tip position. The output signal may also be a signal indicating information related to the tool tip position, such as the position of the end of the scale, the position of the end of the motor, the motor speed, or the motor acceleration.

[0021] The extraction unit 12 extracts components from a portion of the frequency band from the first frequency signal. For example, the extraction unit 12 extracts a first component and a second component from the first frequency signal. The first component is a component of the first frequency band where the gain change with respect to frequency changes is steep. The second component is a component of the second frequency band, which is the band excluding the first frequency band. The second frequency band is a band where the gain change with respect to frequency changes is gradual. The extraction unit 12 outputs the first component and the second component to the generation unit 13.

[0022] The generation unit 13 generates a vibration error model and a response error model. The vibration error model is a model for estimating the vibration error caused by the vibration characteristics of the machine tool, which is part of the error between the control commands of the machine tool and the operation of the machine tool shown in the measurement data. The response error model is a model for estimating the response error caused by the response delay of the machine tool, which is part of the error between the control commands and the operation of the machine tool. The response delay of the machine tool is mainly the response delay of the servo control system that the machine tool has. The generation unit 13 generates the vibration error model based on the first component extracted by the extraction unit 12. The generation unit 13 generates the response error model based on the second component extracted by the extraction unit 12.

[0023] The generation unit 13 outputs the generated response error model to the response error correction unit 16. The generation unit 13 also outputs the generated vibration error model to the vibration error correction unit 17. Furthermore, the generation unit 13 outputs both the generated response error model and the generated vibration error model to the output unit 15.

[0024] The correction unit 14 performs a first correction in the vibration error correction unit 17 to suppress vibration errors. The correction unit 14 performs a second correction in the response error correction unit 16 to suppress response errors. The response error correction unit 16 performs the second correction by correcting the control command based on the response error model. The response error correction unit 16 outputs the corrected control command based on the response error model to the vibration error correction unit 17. The vibration error correction unit 17 performs a first correction by correcting the control command input from the response error correction unit 16 based on the vibration error model. The vibration error correction unit 17 outputs the corrected control command based on the vibration error model to the amplifier 21. In this way, the correction unit 14 corrects the control command based on the vibration error model and the response error model.

[0025] The output unit 15 outputs the response error model and the vibration error model generated by the generation unit 13 to the display device 20. The display device 20 is a device that displays information and is located outside the numerical control device 10. The display device 20 displays the response error model and the vibration error model. The display device 20 is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display. The display device 20 displays the response error model and the vibration error model, for example, by a graph showing the relationship between frequency and gain.

[0026] In the above, the response error model and vibration error model are displayed by an external display device 20 of the numerical control device 10. The response error model and vibration error model may also be displayed by the numerical control device 10. That is, the numerical control device 10 may be provided with a display unit, and the display unit may display the response error model and vibration error model. The display unit outputs the response error model and vibration error model by displaying them. In this case, the display unit functions as an output unit 15 that outputs the vibration error model and the response error model.

[0027] Next, we will describe the details of the processes performed by the numerical control device 10. Below, we will describe the processes that the numerical control device 10 performs in advance for the control of the machine tool, and the processes that the numerical control device 10 performs when controlling the machine tool.

[0028] Figure 2 is a flowchart showing an example of the procedure for processing that the numerical control device 10 according to Embodiment 1 performs in advance for the control of a machine tool.

[0029] In step S1, the extraction unit 12 generates a first frequency signal by converting the measurement data into the frequency domain. The extraction unit 12 acquires the measurement data stored in the memory device or storage unit. For example, measurement data is collected by supplying an input signal represented by a sine wave to a machine tool and acquiring the output signal of the machine tool while gradually changing the frequency of the sine wave. By collecting the measurement data, the gain of the output signal relative to the input signal and the phase difference of the output signal relative to the input signal are measured for each frequency. The extraction unit 12 generates a first frequency signal by converting the measurement data into data for each frequency.

[0030] Alternatively, measurement data may be collected by sampling the output signal when white noise is applied as an input signal to a machine tool. The extraction unit 12 generates a first frequency signal by applying a Fourier transform to the measurement data. Since ideal white noise is a signal that contains all frequency components, the extraction unit 12 can obtain the first frequency signal for all the bands being measured in a short time. A practical white noise signal, such as a pseudo-random signal called an M-sequence signal, may be used as the input signal.

[0031] Given that the input signal is X(s) and the output signal is Y(s), the relationship between the input signal and the output signal in the frequency domain is expressed by the following equation (1). L (s) is a transfer function that represents the input / output characteristics of the machine tool. Y(s) / X(s)=G L (s) ···(1)

[0032] In the above, the first frequency signal is defined as representing the gain between the input signal and the output signal, and the phase difference between the input signal and the output signal. However, the first frequency signal generated by the extraction unit 12 is not limited to this. For example, the error of the output signal relative to the input signal, expressed in terms of the relationship between frequency and gain and the relationship between frequency and phase difference, may also be treated as the first frequency signal.

[0033] Figure 3 is a diagram illustrating the first frequency signal generated by the extraction unit 12 of the numerical control device 10 according to Embodiment 1. The error E(s) of the output signal with respect to the input signal is expressed by the following equation (2). E(s) = X(s) - G L (s)X(s) ···(2)

[0034] In the following, E(s), expressed by equation (2), will be treated as the first frequency signal. Generally, the transfer function is expressed by the relationship between frequency and gain and the relationship between frequency and phase difference, but here, in the process of generating the response error model and the vibration error model, the element representing the relationship between frequency and phase difference is omitted from the calculation. However, in this disclosure, cases in which the element representing the relationship between frequency and phase difference is included in the calculation in the process of generating the response error model and the vibration error model are not excluded. For example, the numerical control device 10 may derive the error of the output signal with respect to the input signal from the relationship between frequency and gain, assuming that the relationship between frequency and phase difference is the minimum phase system.

[0035] In Figure 3, the horizontal axis represents frequency and the vertical axis represents gain. Figure 3 shows the first frequency signal through a graph illustrating the relationship between frequency and gain.

[0036] In step S2, the extraction unit 12 extracts a first component and a second component from the first frequency signal. The extraction unit 12 identifies the portion of the first frequency signal's entire bandwidth where the change in gain with respect to frequency is steep as the first bandwidth. For example, in the graph shown in Figure 3, the portion where the slope of the graph is greater than or equal to a threshold, that is, the portion where the derivative of the first frequency signal is greater than or equal to a threshold, is identified as the first bandwidth. In Figure 3, the bandwidth labeled B1 is the first bandwidth. The threshold is set in advance, for example, by an operator using the numerical control device 10. The extraction unit 12 identifies the portion of the first frequency signal's entire bandwidth other than the first bandwidth as the second bandwidth. In Figure 3, the bandwidth labeled B2 is the second bandwidth.

[0037] Alternatively, the extraction unit 12 identifies a portion of the entire bandwidth of the first frequency signal where the change in gain with respect to frequency changes is gradual as the second bandwidth. For example, in the graph shown in Figure 3, the portion where the slope of the graph is below a threshold, that is, the portion where the differential value of the first frequency signal is below a threshold, is identified as the second bandwidth. The extraction unit 12 identifies the portion of the entire bandwidth of the first frequency signal other than the second bandwidth as the first bandwidth.

[0038] The extraction unit 12 extracts a first component, which is a component of the first frequency band, and a second component, which is a component of the second frequency band, from the first frequency signal. The extraction unit 12 outputs the extracted first component and the extracted second component to the generation unit 13.

[0039] In step S3, the generation unit 13 generates a vibration error model based on the first component. In step S4, the generation unit 13 generates a response error model based on the second component.

[0040] Figure 4 shows an example of a response error model generated by the generation unit 13 of the numerical control device 10 according to Embodiment 1. In Figure 4, the horizontal axis represents frequency and the vertical axis represents gain. In Figure 4, the response error model is shown by a graph representing the relationship between frequency and gain. Figure 4 shows an example of a response error model generated from the first frequency signal shown in Figure 3.

[0041] The generation unit 13 applies the second component to the second band portion of the response error model. Since the portion of the second component other than the second band, i.e., the first band portion, is blank, the generation unit 13 newly generates the first band portion of the response error model. The method for generating the first band portion of the response error model is arbitrary.

[0042] The generation unit 13, for example, finds a graph that smoothly connects to the graph showing the second component, and fits the obtained graph to the first band of the response error model. By finding a graph that fits the first band, the generation unit 13 generates the first band portion of the response error model.

[0043] In the graph shown in Figure 3, the peaked, mountain-like portion corresponds to the first component, and the remaining portion corresponds to the second component. In the graph shown in Figure 4, the peaked, mountain-like portion in Figure 3 is replaced with a flat line. The ends of these flat lines, which are the connections with the line representing the second component, are adjusted so that the change in the slope of the graph in the portion including the end is kept to a minimum.

[0044] The generation unit 13 may generate a portion of the first bandwidth based on information obtained from the first frequency signal, or it may generate a portion of the first bandwidth without using the first frequency signal. The generation unit 13 generates a response error model by combining the second component and the generated portion of the first bandwidth.

[0045] By removing the frequency band in the first frequency signal where the gain changes abruptly, the generation unit 13 can eliminate the influence of vibration errors arising from specific frequency components from the response error model. As a result, the generation unit 13 can generate a response error model that allows for the estimation of the response error separately from the vibration error.

[0046] Figure 5 shows an example of a vibration error model generated by the generation unit 13 of the numerical control device 10 according to Embodiment 1. In Figure 5, the horizontal axis represents frequency and the vertical axis represents gain. In Figure 5, the vibration error model is shown by a graph representing the relationship between frequency and gain. Figure 5 shows an example of a vibration error model generated from the first frequency signal shown in Figure 3.

[0047] The generation unit 13 applies the first component to the portion of the vibration error model corresponding to the first band. Since the portion of the first component that is not within the first band, i.e., the portion corresponding to the second band, is blank, the generation unit 13 generates a new portion of the vibration error model corresponding to the second band. The method for generating the portion of the vibration error model corresponding to the second band is arbitrary.

[0048] The generation unit 13, for example, finds a graph that smoothly connects to the graph showing the first component, and fits the obtained graph to the second band of the vibration error model. By finding a graph that fits the second band, the generation unit 13 generates the portion of the vibration error model corresponding to the second band.

[0049] In the graph shown in Figure 3, the mountain-shaped protrusion corresponds to the first component, and the remaining portion corresponds to the second component. In the graph shown in Figure 5, a single peak appears that corresponds to the mountain-shaped protrusion in the graph shown in Figure 3. In the graph shown in Figure 5, the portion other than the mountain-shaped protrusion in Figure 3 is replaced with a flat line extending from the base of the peak.

[0050] The generation unit 13 may generate a second bandwidth portion based on information obtained from the first frequency signal, or it may generate a second bandwidth portion without using the first frequency signal. The generation unit 13 generates a vibration error model by combining the first component and the generated second bandwidth portion.

[0051] By generating a vibration error model based on the bandwidth in which the gain changes sharply among the first frequency signals, the generation unit 13 can generate a vibration error model for estimating vibration errors arising from specific frequency components.

[0052] As a result, the numerical control device 10 completes the processing according to the procedure shown in Figure 2. The generation unit 13 can generate a response error model and a vibration error model from measurement data containing a mixture of response errors and vibration errors. The order in which the vibration error model is generated and the response error model is arbitrary.

[0053] In the above, the generation unit 13 generates a vibration error model based on the first component of the first frequency signal and generates a response error model based on the second component of the first frequency signal. The generation unit 13 may also generate a vibration error model based on the first component of the second frequency signal obtained from the first frequency signal and generate a response error model based on the second component of the second frequency signal. In this case, the extraction unit 12 generates the second frequency signal by performing the same processing on the first frequency signal as the processing performed in the conversion from measurement data to the first frequency signal. The extraction unit 12 extracts the component with a higher bandwidth from the set frequency of the second frequency signal as the first component. The extraction unit 12 extracts the component with a lower bandwidth from the set frequency of the second frequency signal as the second component.

[0054] The extraction unit 12 generates a second frequency signal, for example, by applying a Fourier transform or inverse Fourier transform to the logarithm of the first frequency signal. The method for generating the second frequency signal from the first frequency signal is arbitrary.

[0055] The extraction unit 12 divides the second frequency signal into a high-bandwidth component and a low-bandwidth component, using a frequency set by the operator as a threshold. The high-bandwidth component of the second frequency signal corresponds to the first component of the first frequency signal, where the change in gain with respect to frequency is steep. The low-bandwidth component of the second frequency signal corresponds to the second component of the first frequency signal, where the change in gain with respect to frequency is gradual. In this way, the extraction unit 12 can extract the first component and the second component from the second frequency signal. The generation unit 13 can generate a response error model and a vibration error model from measurement data containing a mixture of response errors and vibration errors.

[0056] The extraction unit 12 accepts adjustment of the threshold frequencies for the high-bandwidth and low-bandwidth. The operator can adjust the threshold frequencies while checking the response error model and vibration error model shown on the display device 20 shown in Figure 1. In other words, the numerical control device 10 can assist in the work of adjusting the response error model and vibration error model. Furthermore, even when the extraction unit 12 extracts the first component and the second component from the first frequency signal, the operator can adjust the first band and the second band while checking the response error model and vibration error model shown on the display device 20. In this case as well, the numerical control device 10 can assist in the work of adjusting the response error model and vibration error model.

[0057] Figure 6 is a flowchart showing an example of the processing procedure when the numerical control device 10 according to Embodiment 1 controls a machine tool.

[0058] In step S11, the analysis processing unit 11 acquires the machining program. In step S12, the analysis processing unit 11 generates command values, which are control commands, based on the machining program. The analysis processing unit 11 generates command values ​​based on the movement commands obtained by looking up the machining program. The analysis processing unit 11 outputs the generated command values ​​to the response error correction unit 16.

[0059] The response error correction unit 16 obtains a response error model from the generation unit 13. In step S13, the response error correction unit 16 determines a first correction value based on the command value from the analysis processing unit 11 and the response error model. The relationship between the degree to which the acceleration or jerk in tool movement is adjusted and the magnitude of the response error can be formulated based on the response error model. For example, the response error correction unit 16 derives a correction value from the relationship formulated based on the response error model that allows the command value from the analysis processing unit 11 to be corrected to a command value that does not exceed the allowable value of the response error. As a result, the response error correction unit 16 calculates a first correction value that makes the change in the response error per unit time less than or equal to the allowable value. The method for determining the first correction value based on the command value and the response error model is arbitrary.

[0060] In step S14, the response error correction unit 16 corrects the command value from the analysis processing unit 11 based on the first correction value generated in step S13. The response error correction unit 16 outputs the command value corrected based on the first correction value to the vibration error correction unit 17. By correcting the command value based on the first correction value, the numerical control device 10 can output a command value to the machine tool that makes the change in the response error per unit time less than or equal to an allowable value.

[0061] Furthermore, the response error correction unit 16 may adjust the time constant of jerk so that the jerk does not exceed a predetermined limit after the command value has been corrected based on the first correction value, in order to suppress response errors. Alternatively, the response error correction unit 16 may adjust the time constant of acceleration so that the acceleration does not exceed a predetermined limit after the command value has been corrected based on the first correction value. Alternatively, the response error correction unit 16 may adjust the time constant of jerk so that the jerk does not exceed a predetermined limit after the command has been corrected based on the second correction value in the vibration error correction unit 17, which will be described later. Alternatively, the response error correction unit 16 may adjust the time constant of acceleration so that the acceleration does not exceed a predetermined limit after the command has been corrected based on the second correction value in the vibration error correction unit 17.

[0062] The response error correction unit 16 may generate position, velocity, and acceleration feedforward signals based on the response error model and correct the command value based on each feedforward signal. The response error correction unit 16 generates each feedforward signal. The numerical control device 10 can output a command value to the machine tool that reduces the rate of change of the response error per unit time to below an acceptable value by correcting the command value based on each feedforward signal generated based on the response error model.

[0063] The response error correction unit 16 may calculate the first correction value using the same response error model consistently throughout the entire machining program, or it may change the response error model within the machining program to calculate the first correction value. The response error correction unit 16 may, for example, switch the response error model according to the characteristics of the path shape described in the machining program. By switching the response error model in this way, the response error correction unit 16 can calculate a first correction value that is suitable for the path shape described in the machining program. As a result, the response error correction unit 16 can perform highly accurate correction to keep the amount of change in the response error per unit time below the allowable value.

[0064] The vibration error correction unit 17 acquires a vibration error model from the generation unit 13. In step S15, the vibration error correction unit 17 determines a second correction value based on the corrected command value based on the first correction value and the vibration error model.

[0065] Figure 7 is a diagram illustrating a method for determining a second correction value using the vibration error correction unit 17 of the numerical control device 10 according to Embodiment 1. In Figure 7, the horizontal axis represents frequency, and the vertical axis represents gain. In Figure 7, the vibration error model is shown by a graph representing the relationship between frequency and gain.

[0066] The vibration error correction unit 17 extracts the frequency interval at which the area S of the region enclosed by the graph and the frequency axis is maximized as the cutoff region, and calculates a second correction value based on the cutoff region. The cutoff region is the frequency band that is cut off by vibration damping based on the vibration error model. In Figure 7, the hatched area is an example of the region enclosed by the graph and the horizontal axis representing frequency. One of the two dashed lines shown in Figure 7 represents the frequency f×(n-α), which is the lower limit of the cutoff region. The other of the two dashed lines shown in Figure 7 represents the frequency f×(n+α), which is the upper limit of the cutoff region. f is the cutoff frequency, n is an integer greater than or equal to 1, and α is the adjustment value. The adjustment value is a value between 0 and 1.

[0067] The vibration error correction unit 17 determines the values ​​of f and α when the area S is maximized as the second correction values. If the damping effect tends to decrease as the adjustment value α increases, the vibration error correction unit 17 may determine f and α based on the value obtained by multiplying the area S by the weighting coefficient W(α). The method for determining the second correction value based on the corrected command value based on the first correction value and the vibration error model is arbitrary.

[0068] In step S16, the vibration error correction unit 17 corrects the corrected command value based on the first correction value based on the second correction value generated in step S15. By correcting the command value based on the second correction value, the numerical control device 10 can output a command value to the machine tool that can suppress vibration errors.

[0069] Furthermore, the vibration error correction unit 17 may determine a second correction value that gradually increases or decreases at least one of the commands for jerk, acceleration, and velocity, at a period shorter than the vibration period of the object to be blocked, so as to ensure that the total input amount, which is the integral of the magnitude of the command and time, does not change, while maintaining the rate of change of the response error per unit time to be below an allowable value. The object to be blocked is the vibration that is blocked by vibration damping. As a result, the vibration error correction unit 17 can keep the rate of change of the response error per unit time below an allowable value and suppress vibration errors while moving the tool according to the machining program. The numerical control device 10 can maintain the response error so that the rate of change of the response error per unit time is below an allowable value and achieve high-speed and optimal vibration damping control.

[0070] The vibration error correction unit 17 may also adjust the command value corrected based on the second correction value using a filter. The vibration error correction unit 17 adjusts the command value by passing it through an FIR (Finite Impulse Response) filter of the transfer function M(s) represented by the following equation (3).

[0071]

number

[0072] Here, T n T is the filter time constant, expressed as the reciprocal of the frequency of the vibration to be blocked, and corresponds to the period of the vibration to be blocked. n n can be the reciprocal of the machine tool's natural frequency, or the reciprocal of its resonant frequency. α, shown in equation (3), is the filter adjustment gain and is set within the range of a real number.

[0073] The vibration error correction unit 17 may calculate the second correction value using the same vibration error model consistently throughout the entire machining program, or it may change the vibration error model within the machining program to calculate the second correction value. The vibration error correction unit 17 may, for example, switch the vibration error model according to the characteristics of the path shape described in the machining program. Characteristics of the path shape include, for example, being linear or arc-shaped. By switching the vibration error model in this way, the vibration error correction unit 17 can calculate a second correction value that is suitable for the path shape described in the machining program. As a result, the vibration error correction unit 17 can perform highly accurate correction to suppress vibration errors.

[0074] In step S17, the vibration error correction unit 17 outputs a corrected command value based on the second correction value to the amplifier 21. With this, the numerical control device 10 completes the processing according to the procedure shown in Figure 7.

[0075] In the above description, the correction unit 14 performs a first correction based on the vibration error model and a second correction based on the response error model. However, the correction unit 14 is not limited to performing the first and second corrections based on the model generated by the generation unit 13. The correction unit 14 may perform only one of the first and second corrections based on the model generated by the generation unit 13.

[0076] Here, we will describe two cases in which the correction unit 14 performs only one of the first or second corrections based on the model generated by the generation unit 13. In the first case, the vibration error correction unit 17 performs the first correction based on the model generated by the generation unit 13. The response error correction unit 16 performs the second correction using an arbitrary method without using the model generated by the generation unit 13. In the first case, the extraction unit 12 extracts the first component from the first frequency signal. The generation unit 13 generates a vibration error model based on the first component. The vibration error correction unit 17 performs the first correction based on the vibration error model.

[0077] In the second case, the response error correction unit 16 performs a second correction based on the model generated by the generation unit 13. The vibration error correction unit 17 performs the first correction using an arbitrary method without using the model generated by the generation unit 13. In the second case, the extraction unit 12 extracts a second component from the first frequency signal. The generation unit 13 generates a response error model based on the second component. The response error correction unit 16 performs a second correction based on the response error model.

[0078] In this way, the extraction unit 12 extracts at least one of the first component and the second component, which are components of a certain frequency band, from the first frequency signal. The generation unit 13 generates at least one of the vibration error model and the response error model, which are models for estimating errors, based on the extracted components. The correction unit 14 performs at least one of the first correction and the second correction based on the generated model. As a result, the numerical control device 10 can achieve high-speed and optimal vibration damping control while maintaining the response error.

[0079] Next, the hardware configuration for realizing the numerical control device 10 according to Embodiment 1 will be described. The numerical control device 10 is realized by a processing circuit. The processing circuit may be a circuit in which a processor executes software, or it may be a dedicated circuit.

[0080] When the processing circuit is implemented by software, the processing circuit is, for example, the control circuit 50 shown in Figure 8. Figure 8 is a diagram showing an example configuration of the control circuit 50 according to Embodiment 1. The control circuit 50 comprises an input unit 51, a processor 52, a memory 53, and an output unit 54. The input unit 51 is an interface circuit that receives data input from outside the control circuit 50 and provides it to the processor 52. The output unit 54 is an interface circuit that sends data from the processor 52 or the memory 53 to the outside of the control circuit 50.

[0081] The numerical control unit 10 is implemented by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in memory 53. The control circuit 50 implements the functions of the numerical control unit 10 by having the processor 52 read and execute the program stored in memory 53. In other words, the control circuit 50 has memory 53 for storing the program that will ultimately be executed as a result of the processing of the numerical control unit 10. This program can also be said to cause the computer system to execute the procedures and methods of processing of the numerical control unit 10. Memory 53 is also used as temporary memory when the processor 52 executes various processes.

[0082] The processing units of the numerical control device 10, namely the analysis processing unit 11, extraction unit 12, generation unit 13, and correction unit 14 shown in Figure 1, are realized by using a processor 52 and memory 53. The processor 52 is a CPU (Central Processing Unit). The processor 52 may also be a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor). The memory 53 includes, for example, non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Registered Trademark) (Electrically Erasable Programmable Read Only Memory), magnetic disks, flexible disks, optical disks, compact disks, minidiscs, or DVDs (Digital Versatile Discs).

[0083] The output unit 15 shown in Figure 1 is realized by using the output unit 54. The numerical control device 10 may also be equipped with an input device, which is a device for inputting information, and a monitor for displaying information. The input device includes, for example, a keyboard, mouse, keypad, or touch panel. The monitor is, for example, an LCD or organic EL display.

[0084] The program according to Embodiment 1 may be provided on a recording medium such as a CD (Compact Disc)-ROM or DVD-ROM. The program according to Embodiment 1 may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the Internet or other network. The program according to Embodiment 1 may be provided or distributed via a network such as the Internet.

[0085] Figure 8 shows an example of hardware in which the functions of the numerical control device 10 are realized using a general-purpose processor 52 and memory 53. The functions of the numerical control device 10 may also be realized by a dedicated hardware circuit. Figure 9 shows an example of the configuration of a dedicated hardware circuit 55 according to Embodiment 1.

[0086] The dedicated hardware circuit 55 includes an input section 51, an output section 54, and a processing circuit 56. The processing unit of the numerical control device 10 is realized by the processing circuit 56. The processing circuit 56 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a circuit combining these. Each function of the numerical control device 10 may be realized by the processing circuit 56 separately, or all functions may be realized together by the processing circuit 56. The numerical control device 10 may also be realized by combining the control circuit 50 and the hardware circuit 55.

[0087] According to Embodiment 1, the numerical control device 10 includes an extraction unit 12 that generates a frequency signal by converting measurement data measured in the numerical control of a machine tool into the frequency domain and extracts components of a certain frequency band from the frequency signal; a generation unit 13 that generates a model for estimating the error between the control command input to the machine tool and the operation of the machine tool based on the extracted components; and a correction unit 14 that performs a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool and a second correction to suppress response errors caused by the response delay of the machine tool. The correction unit 14 performs at least one of the first correction and the second correction based on the generated model.

[0088] The numerical control device 10 can correct the control command by separating the response error and the vibration error by performing at least one of the first correction and the second correction based on the generated model. As a result, the numerical control device 10 can achieve high-speed and optimal vibration damping control while maintaining the response error.

[0089] The numerical control device 10 can separate response errors and vibration errors and correct the control command, thus eliminating the need for measures such as reducing the tool acceleration when low-frequency vibrations occur. Therefore, the numerical control device 10 can prevent delays in cycle time due to a decrease in acceleration.

[0090] The numerical control device 10 reduces the effort required for the operator to search for parameters to calculate optimized correction values ​​by generating a model for estimating errors, thereby shortening the time required for the search. By being able to calculate optimized correction values ​​with less effort, the numerical control device 10 can prevent situations where control commands are changed beyond the degree necessary for correction, or where the correction of control commands is insufficient. As a result, the numerical control device 10 can prevent delays in cycle time and prevent response errors where the amount of change per unit time exceeds the allowable value.

[0091] The extraction unit 12 may extract a first component from the frequency signal, which is a component in a first band where the change in gain with respect to the change in frequency is steep. The generation unit 13 may generate a vibration error model, which is a model for estimating vibration errors, based on the first component. The correction unit 14 may perform a first correction based on the vibration error model. By extracting the first component from the frequency signal, the numerical control device 10 can generate a vibration error model from measurement data in which response errors and vibration errors are mixed. By generating a vibration error model, the numerical control device 10 can separate response errors and vibration errors and correct the control command.

[0092] The numerical control device 10 can correct control commands using optimized correction values ​​to suppress vibration errors by generating a vibration error model. The numerical control device 10 can also correct control commands using optimized correction values ​​to keep the rate of change of response error per unit time below an acceptable value by generating a response error model. Therefore, the numerical control device 10 can prevent situations where the control command is changed beyond the degree necessary for correction, or where the correction of the control command is insufficient. By correcting control commands with optimized correction values, the numerical control device 10 can prevent delays in cycle time. Furthermore, the numerical control device 10 can prevent response errors exceeding the acceptable value from occurring due to insufficient correction.

[0093] The extraction unit 12 may extract a second component from the frequency signal, which is a component of the second band, which is the band excluding the first band. The generation unit 13 may generate a response error model, which is a model for estimating the response error, based on the second component. The correction unit 14 may perform a second correction based on the response error model. By extracting the second component from the frequency signal, the numerical control device 10 can generate a response error model from measurement data in which response errors and vibration errors are mixed. By generating a response error model, the numerical control device 10 can separate the response error and vibration error and correct the control command.

[0094] The extraction unit 12 may extract a first component, which is a component of the first frequency band, and a second component, which is a component of the second frequency band, from the frequency signal. The generation unit 13 may generate a vibration error model based on the first component and a response error model based on the second component. The correction unit 14 may perform a first correction based on the vibration error model and a second correction based on the response error model. By extracting the first component and the second component from the frequency signal, the numerical control device 10 can generate a vibration error model and a response error model from measurement data containing a mixture of response errors and vibration errors. By generating a vibration error model and a response error model, the numerical control device 10 can separate the response error and the vibration error and correct the control command.

[0095] The extraction unit 12 generates a second frequency signal by performing the same processing on the first frequency signal as the processing performed in the conversion of the measurement data to the first frequency signal, and may extract components of the second frequency signal with a higher bandwidth from a set frequency as the first component. As a result, the numerical control device 10 can generate a response error model and a vibration error model from measurement data in which response errors and vibration errors are mixed.

[0096] The extraction unit 12 generates a second frequency signal by performing the same processing on the first frequency signal as the processing performed in the conversion of the measurement data to the first frequency signal, and may extract components of the second frequency signal with a lower bandwidth than the set frequency as the second component. In this way, the numerical control device 10 can generate a response error model and a vibration error model from measurement data in which response errors and vibration errors are mixed.

[0097] The numerical control device 10 may also include an output unit 15 that outputs the generated model. This allows the numerical control device 10 to present the generated model to the operator. The numerical control device 10 can also assist the operator in adjusting the model.

[0098] The correction unit 14 extracts a frequency interval as a cutoff region when the area enclosed by the frequency axis and the graph is maximized when the vibration error model is represented by a graph showing the relationship between frequency and gain. Based on the cutoff region, it calculates a correction value and performs a first correction based on the correction value. As a result, the numerical control device 10 can suppress vibration errors.

[0099] The correction unit 14 maintains that the rate of change of the response error per unit time is below an allowable value, and determines a correction value to gradually increase or decrease at least one of the jerk command, acceleration command, and velocity command at a period shorter than the vibration period of the machine tool to be blocked, so that the total input amount, which is the integral of the magnitude of the command and time, does not change, and performs a first correction based on the correction value. As a result, the numerical control device 10 can suppress vibration errors while keeping the rate of change of the response error per unit time below an allowable value and moving the tool according to the machining program.

[0100] The correction unit 14 switches the vibration error model according to the characteristics of the path shape described in the machining program. This allows the numerical control device 10 to perform highly accurate corrections to suppress vibration errors.

[0101] The correction unit 14 generates position, velocity, and acceleration feedforward signals based on the response error model and performs a second correction based on each feedforward signal. As a result, the numerical control device 10 can output a command value to the machine tool that can keep the rate of change of the response error per unit time below an acceptable value.

[0102] The correction unit 14 switches the response error model according to the characteristics of the path shape described in the machining program. This allows the numerical control device 10 to perform highly accurate correction to keep the amount of change in the response error per unit time below the allowable value.

[0103] The configurations shown in the embodiments described above are examples of the content of this disclosure. The configurations of the embodiments can be combined with other known technologies. Some parts of the configurations of the embodiments can be omitted or modified without departing from the spirit of this disclosure. [Explanation of Symbols]

[0104] 10 Numerical control unit, 11 Analysis processing unit, 12 Extraction unit, 13 Generation unit, 14 Correction unit, 15, 54 Output unit, 16 Response error correction unit, 17 Vibration error correction unit, 20 Display device, 21 Amplifier, 50 Control circuit, 51 Input unit, 52 Processor, 53 Memory, 55 Hardware circuit, 56 Processing circuit.

Claims

1. An extraction unit generates a frequency signal by converting measurement data measured in numerical control of a machine tool into the frequency domain, and extracts components of a certain frequency band from the frequency signal. A generation unit generates a model for estimating the error between the control command input to the machine tool and the operation of the machine tool, based on the extracted components. The system includes a correction unit that performs a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool, and a second correction to suppress response errors caused by the response delay of the machine tool. The correction unit performs at least one of the first correction and the second correction based on the generated model. A numerical control device characterized by the following features.

2. The extraction unit extracts a first component from the frequency signal, which is a component of a first band in which the change in gain with respect to the change in frequency is steep. The generation unit generates a vibration error model, which is the model for estimating the vibration error, based on the first component. The correction unit performs the first correction based on the vibration error model. The numerical control device according to feature 1.

3. The extraction unit extracts a second component from the frequency signal, which is a component of the second band, which is the band excluding the first band where the change in gain with respect to the change in frequency is steep. The generation unit generates a response error model, which is the model for estimating the response error, based on the second component. The correction unit performs the second correction based on the response error model. The numerical control device according to feature 1.

4. The extraction unit extracts from the frequency signal a first component which is a component of a first band in which the change in gain with respect to the change in frequency is steep, and a second component which is a component of a second band which is the band excluding the first band. The generation unit generates a vibration error model, which is the model for estimating the vibration error, based on the first component, and generates a response error model, which is the model for estimating the response error, based on the second component. The correction unit performs the first correction based on the vibration error model and the second correction based on the response error model. The numerical control device according to feature 1.

5. The extraction unit generates a second frequency signal by performing the same processing on the first frequency signal as the processing performed in the conversion of the measurement data to the first frequency signal, and extracts the component with a higher bandwidth from the set frequency of the second frequency signal as the first component. The numerical control device according to claim 2 or 4.

6. The extraction unit generates a second frequency signal by performing the same processing on the first frequency signal as the processing performed in the conversion of the measurement data to the first frequency signal, and extracts the component of the second frequency signal with a lower bandwidth than the set frequency as the second component. The numerical control device according to claim 3 or 4.

7. The system includes an output unit that outputs the generated model. A numerical control device according to any one of claims 1 to 4.

8. The correction unit extracts a frequency interval as a cutoff region when the area of ​​the region enclosed by the frequency axis and the graph is maximized when the vibration error model is represented by a graph showing the relationship between frequency and gain, calculates a correction value based on the cutoff region, and performs the first correction based on the correction value. The numerical control device according to claim 2 or 4.

9. The correction unit maintains that the rate of change of the response error per unit time is below an allowable value, and determines a correction value that gradually increases or decreases at least one of the jerk command, acceleration command, and velocity command at a period shorter than the vibration period of the object to be blocked by the machine tool, so that the total input amount, which is the integral of the magnitude of the command and time, does not change, and performs the first correction based on the correction value. The vibration to be blocked is the vibration that is blocked by the damping by the first correction based on the vibration error model. The numerical control device according to claim 2 or 4.

10. The correction unit switches the vibration error model according to the characteristics of the path shape described in the machining program. The numerical control device according to claim 2 or 4.

11. The correction unit generates position, velocity, and acceleration feedforward signals based on the response error model, and performs the second correction based on each of the feedforward signals. The numerical control device according to claim 3 or 4.

12. The correction unit switches the response error model according to the characteristics of the path shape described in the machining program. The numerical control device according to claim 3 or 4.

13. The numerical control of a machine tool involves generating a frequency signal by converting measured data into the frequency domain, and extracting components of a certain frequency band from the frequency signal. A step of generating a model for estimating the error between the control command input to the machine tool and the operation of the machine tool, based on the extracted components, The procedure includes the steps of: performing a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool among the aforementioned errors; and a second correction to suppress response errors caused by the response delay of the machine tool among the aforementioned errors, In the step of performing the first correction and the second correction, at least one of the first correction and the second correction is performed based on the generated model. A numerical control method characterized by the following:

14. The numerical control of a machine tool involves generating a frequency signal by converting measured data into the frequency domain, and extracting components of a certain frequency band from the frequency signal. A step of generating a model for estimating the error between the control command input to the machine tool and the operation of the machine tool, based on the extracted components, The computer system is made to perform the following steps: a first correction to suppress vibration errors caused by the vibration characteristics of the machine tool, and a second correction to suppress response errors caused by the response delay of the machine tool. In the step of performing the first correction and the second correction, at least one of the first correction and the second correction is performed based on the generated model. A program characterized by the following features.