Numerical control device and control method
The cutting workpiece is measured and calculated on-machine by numerical control device, which solves the high-precision problem of dynamic error correction of machine tools and avoids the use of sensors and additional costs.
Patent Information
- Application Number
- CN202011391455.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-04
- Filing Date
- 2020-12-01
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2040-12-01
AI Technical Summary
The prior art is difficult to correct dynamic errors generated by machine tools during cutting with high accuracy, and requires additional sensor installation to increase costs.
The cut test workpiece is measured on the machine through a numerical control device, and dynamic correction parameters are calculated, and dynamic errors of the machine tool are corrected based on the measurement data, without using a sensor.
High-precision correction of dynamic errors is achieved, reducing costs and simplifying the correction process.
Smart Images

Figure CN112904797B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a numerical control device and a control method. Background Art
[0002] Due to factors such as machine tool rigidity, thermal deformation, and tool deflection, errors may occur between the cut workpiece shape and the designed shape. Therefore, some methods use laser interferometers, autocollimators, and levels to pre-measure the machine's motion and perform corrections based on the measured errors.
[0003] However, this correction is for static errors and is not suitable for correcting dynamic errors that occur during cutting. Dynamic errors are errors caused by the forces and speeds acting on the machine tool. Examples include squareness errors in the machine tool caused by loads on the cutting point at low rigidity, and errors caused by tool deflection.
[0004] In this regard, a known technique uses a sensor to detect the pressure applied to a tool and corrects the deflection of the tool based on the detected pressure, thereby enabling high-precision cutting even during high-speed cutting.
[0005] Prior art literature
[0006] Patent Literature
[0007] Patent Document 1: Japanese Patent Application Laid-Open No. 5-318283 Summary of the Invention
[0008] Problems to be solved by the invention
[0009] However, in order to calibrate the deflection of the tool, it is necessary to separately prepare a sensor and install it on the machine tool, which increases costs.
[0010] Furthermore, it is difficult to calculate the relationship between the cutting point load and the deviation in the machining result, which is the basis for calculating the correction amount.
[0011] Therefore, it is desired to correct dynamic errors with high accuracy without using a sensor.
[0012] Means for solving problems
[0013] (1) One embodiment of the numerical control device disclosed herein is as follows: a numerical control device that causes a machine tool to perform cutting using an instruction coordinate value represented by a cutting instruction received from an instruction parsing unit, the numerical control device comprising: a measuring unit that causes the machine tool to perform on-machine measurement of the shape of a test workpiece cut, and obtains measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation unit that calculates dynamic correction parameters for correcting dynamic errors generated by the force and speed acting on the machine tool during cutting based on the instruction shape represented by the cutting instruction and the measurement data obtained by the measuring unit; and a dynamic correction unit that corrects the dynamic error of the instruction coordinate value based on the calculated dynamic correction parameters, the dynamic correction parameter calculation unit obtaining only the dynamic error based on a comparison between the instruction shape and the measurement data, and calculating the dynamic correction parameter based on the obtained dynamic error.
[0014] (2) One aspect of the control method disclosed in the present invention is as follows: a control method executed by a computer and causing a machine tool to perform cutting using an instruction coordinate value represented by a cutting instruction received from an instruction parsing unit, the control method comprising: a measuring step, causing the machine tool to perform on-machine measurement of the shape of a test workpiece cut, and obtaining measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation step, calculating a dynamic correction parameter for correcting a dynamic error generated by a force and a speed acting on the machine tool during cutting based on the instruction shape represented by the cutting instruction and the obtained measurement data; and a dynamic correction step, correcting the dynamic error of the instruction coordinate value based on the calculated dynamic correction parameter, wherein in the dynamic correction parameter calculation step, only the dynamic error is obtained based on a comparison between the instruction shape and the measurement data, and the dynamic correction parameter is calculated based on the obtained dynamic error.
[0015] Effects of the Invention
[0016] According to one embodiment, dynamic errors can be corrected with high precision without using a sensor. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 This is a functional block diagram showing an example of the functional configuration of the numerical control device according to the first embodiment.
[0018] Figure 2 This is a diagram showing an example of a machine tool.
[0019] Figure 3A This is a diagram showing an example of a squareness error.
[0020] Figure 3B This is a diagram showing an example of an error caused by tool deflection.
[0021] Figure 4 This is a diagram showing an example of causing a machine tool to cut a test workpiece.
[0022] Figure 5 This is a diagram showing an example of the deviation amount when a cutting point load is applied also in the circumferential direction.
[0023] Figure 6 This is a diagram showing an example of the relationship between dynamic correction parameters and a machine tool.
[0024] Figure 7 This is a diagram showing an example of explaining dynamic correction parameters for a perpendicularity error.
[0025] Figure 8 This is a diagram showing an example of a best-fit circle based on measurement data.
[0026] Figure 9 This is a diagram showing an example of the direction of the cutting point load.
[0027] Figure 10 This is a diagram showing an example of correction of errors caused by tool deflection.
[0028] Figure 11 This is a diagram showing an example of a numerical control device according to the first embodiment.
[0029] Figure 12 This is a diagram showing an example of a numerical control device according to the first embodiment.
[0030] Figure 13 This is a diagram showing an example of correction of errors caused by tool deflection.
[0031] Figure 14 This is a functional block diagram showing an example of a functional configuration of a numerical controller according to the second embodiment that is added to the numerical controller according to the first embodiment.
[0032] Figure 15A This is a diagram showing an example for explaining the interpolation process of the dynamic correction parameter interpolation unit.
[0033] Figure 15B This is a diagram showing an example for explaining the interpolation process of the dynamic correction parameter interpolation unit.
[0034] Figure 16 This is a diagram showing an example of interpolating a plurality of dynamic correction parameters using an M-th order function.
[0035] Figure 17 This is a functional block diagram showing an example of a functional configuration of a numerical controller according to a third embodiment that is added to the numerical controller according to the first embodiment.
[0036] Figure 18A This is a diagram showing an example of a case where the tool is caused to perform a clockwise circular motion.
[0037] Figure 18B This is a diagram showing an example of a case where the tool is caused to perform counterclockwise circular motion.
[0038] Description of Reference Signs
[0039] 10 numerical control device; 20 machine tool; 25 tool; 50 test workpiece; 100 storage unit; 200 control unit; 210 measurement unit; 220 dynamic correction parameter calculation unit; 230 instruction analysis unit; 250 dynamic correction unit; 310 dynamic correction parameter interpolation unit; 320 relationship parameter calculation unit; 330 cutting point load calculation unit. DETAILED DESCRIPTION
[0040] <First embodiment>
[0041] First, a brief description of this embodiment will be given. In this embodiment, a numerical controller cuts a test workpiece (described later) into a predetermined shape, causes a machine tool to measure the shape of the cut test workpiece, and obtains measurement data representing the measured test workpiece shape. Based on the commanded shape indicated by the cutting command and the obtained measurement data, the numerical controller calculates dynamic correction parameters to correct dynamic errors generated by the force and speed of the machine tool during the cutting operation. The numerical controller corrects the dynamic errors in the commanded coordinate values based on the calculated dynamic correction parameters.
[0042] Therefore, according to this embodiment, it is possible to solve the problem of “correcting dynamic errors with high accuracy without using a sensor that detects pressure caused by deflection of a tool”.
[0043] The above is an overview of this embodiment.
[0044] Next, the configuration of this embodiment will be described in detail using the drawings.
[0045] Figure 1 This is a functional block diagram showing an example of the functional configuration of the numerical controller according to the first embodiment. The description from the perspective of the control method can be made by replacing "units" with "steps," and thus is omitted.
[0046] The numerical controller 10 and the machine tool 20 can be directly connected to each other via a connection interface (not shown). Alternatively, the numerical controller 10 and the machine tool 20 can be connected to each other via a network (not shown), such as a LAN (Local Area Network) or the Internet. In this case, the numerical controller 10 and the machine tool 20 include a communication unit (not shown) for communicating with each other via this connection.
[0047] <Machine Tool 20>
[0048] The machine tool 20 is a well-known orthogonal three-axis machine tool in which a spindle head moves in the X-axis, Y-axis, and Z-axis directions, and operates based on an operation command (cutting command) from the numerical controller 10 .
[0049] Figure 2 This is a diagram showing an example of a machine tool 20 .
[0050] like Figure 2 As shown, the machine tool 20 is composed of a work table (platform) 21 configured in an XY plane, pillars 22 (1) and 22 (2) arranged in the vertical (Z-axis) direction at both ends of the work table 21, and a pillar 23 arranged in the horizontal (X-axis) direction between the pillars 22 (1) and 22 (2).
[0051] The spindle head 24 and the tool 25 mounted thereon are moved relative to the support column 23 in the X-axis direction by an X-axis servo motor 31, and are moved vertically relative to the support column 23 in the Z-axis direction by a Z-axis servo motor 33. Furthermore, a gate formed by the support columns 22(1), 22(2), and the support column 23 is moved in the Y-axis direction by a Y-axis servo motor 32.
[0052] <Numerical Control Device 10>
[0053] Numerical controller 10 is a numerical controller well known to those skilled in the art, and generates motion commands based on control information and sends the generated motion commands to machine tool 20 . Numerical controller 10 thus controls the motion of machine tool 20 .
[0054] like Figure 1 As shown, the numerical controller 10 includes a storage unit 100 and a control unit 200. Furthermore, the control unit 200 includes a measuring unit 210, a dynamic correction parameter calculating unit 220, a command analyzing unit 230, a static correction unit 240, a dynamic correction unit 250, an interpolating unit 260, an X-axis acceleration / deceleration control unit 270, a Y-axis acceleration / deceleration control unit 280, and a Z-axis acceleration / deceleration control unit 290.
[0055] The storage unit 100 is a RAM (Random Access Memory) or a HDD (Hard Disk Drive), etc., and stores static error data 110 and dynamic correction parameter data 120 .
[0056] The static error data 110 is, for example, a static error measured in advance so that the static correction unit 240 described later can calibrate the static error acting on the machine tool 20 .
[0057] The dynamic correction parameter data 120 is, for example, a dynamic correction parameter calculated by a dynamic correction parameter calculation unit 220 described later.
[0058] The control unit 200 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, and these are configured to be able to communicate with each other via a bus, which is well known to those skilled in the art.
[0059] The CPU is a processor that controls the entire numerical control device 10. The CPU reads the system program and application program stored in the ROM via the bus, and controls the entire numerical control device 10 according to the system program and application program. Figure 1 As shown, the control unit 200 is configured to implement the functions of a measurement unit 210, a dynamic correction parameter calculation unit 220, a command analysis unit 230, a static correction unit 240, a dynamic correction unit 250, an interpolation unit 260, an X-axis acceleration / deceleration control unit 270, a Y-axis acceleration / deceleration control unit 280, and a Z-axis acceleration / deceleration control unit 290. The RAM stores various data, including temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is a non-volatile memory that retains stored data even when the power to the numerical controller 10 is turned off.
[0060] Measuring unit 210 uses, for example, a non-contact probe (not shown) included in machine tool 20 to perform on-machine measurement of the shape of a test workpiece (not shown) cut by machine tool 20 based on cutting instructions of a machining program analyzed by command analysis unit 230, described later. Measuring unit 210 obtains measurement data representing the measured shape of the test workpiece (not shown) from machine tool 20.
[0061] Furthermore, by measuring the shape on the machine, static errors occur during cutting and measurement. As a result, the static errors are canceled out during the on-machine measurement, and only dynamic errors can be measured.
[0062] The dynamic correction parameter calculation unit 220 calculates dynamic correction parameters for correcting dynamic errors based on the command shape indicated by the cutting command for cutting a test workpiece (not shown) and the measurement data acquired by the measurement unit 210. The dynamic correction parameter calculation unit 220 stores the calculated dynamic correction parameters in the dynamic correction parameter data 120 of the storage unit 100. The operation of the dynamic correction parameter calculation unit 220 will be described later.
[0063] The command analysis unit 230 sequentially reads and analyzes program blocks including movement commands for the X-axis, Y-axis, and Z-axis from the machining program, and generates a cutting command including command coordinate values for movement of each axis based on the analysis result.
[0064] The static correction unit 240 reads the static error from the static error data 110 , and corrects the command coordinate value of the cutting command generated by the command analysis unit 230 based on the read static error.
[0065] The dynamic correction unit 250 reads the dynamic correction parameters calculated by the dynamic correction parameter calculation unit 220 from the dynamic correction parameter data 120 , and corrects the dynamic error of the command coordinate value of the cutting command based on the read dynamic correction parameters.
[0066] The interpolation unit 260 generates interpolation data by performing interpolation calculations on points on the command path at an interpolation cycle based on the movement command commanded in accordance with the cutting command output from the dynamic correction unit 250 .
[0067] The X-axis acceleration / deceleration control unit 270 performs acceleration / deceleration processing based on the interpolation data output from the interpolation unit 260 , calculates the X-axis machining speed for each interpolation cycle, and outputs pulses corresponding to the calculated machining speed to the X-axis servo motor 31 of the machine tool 20 .
[0068] The Y-axis acceleration / deceleration control unit 280 performs acceleration / deceleration processing based on the interpolation data output from the interpolation unit 260 , calculates the Y-axis machining speed for each interpolation cycle, and outputs pulses corresponding to the calculated machining speed to the Y-axis servo motor 32 of the machine tool 20 .
[0069] The Z-axis acceleration / deceleration control unit 290 performs acceleration / deceleration processing based on the interpolation data output from the interpolation unit 260 , calculates the Z-axis machining speed for each interpolation cycle, and outputs pulses corresponding to the calculated machining speed to the Z-axis servo motor 33 of the machine tool 20 .
[0070] Next, the calculation of the dynamic correction parameter by the dynamic correction parameter calculation unit 220 will be described. The dynamic errors in the machine tool 20 include a squareness error and an error caused by deflection of the tool 25 .
[0071] Figure 3A This is a diagram showing an example of a squareness error. Figure 3B This is a diagram showing an example of an error caused by deflection of the tool 25 .
[0072] like Figure 3A As shown, when the rigidity between the axes is low, for example, when using an ultra-precision processing machine, squareness errors occur at the joints between the worktable 21 and the pillars 22 (1), 22 (2), the joints between the pillars 22 (1), 22 (2) and the pillar 23, and the joints between the pillar 23 and the spindle head 24.
[0073] On the other hand, Figure 3B As shown, for example, when the rigidity of the machine tool 20 is high but the load at the cutting point is large, an error due to deflection of the tool occurs in the tool 25 mounted on the spindle head 24 .
[0074] The calculation of the dynamic correction parameter for the squareness error and the calculation of the dynamic correction parameter for the deflection of the tool 25 will be described below.
[0075] <Calculation of Dynamic Correction Parameters for Perpendicularity Error>
[0076] like Figure 4 As shown, to calculate dynamic correction parameters for squareness error, numerical controller 10 causes machine tool 20 to cut a hole with radius R0 on test workpiece 50, which is held at a constant height in the Z-axis direction and fixed to fixture 40 on the XY plane. Furthermore, test workpiece 50 is cut using the same tool 25 and the same material as used in the cutting of actual product workpieces. This allows the calculated dynamic correction parameters to be applied during the cutting of actual product workpieces.
[0077] The numerical controller 10 then causes the machine tool 20 to perform on-machine measurement of the cut hole using a touch probe (not shown). The measuring unit 210 of the numerical controller 10 obtains measurement data representing the shape of the test workpiece 50 measured on-machine from the machine tool 20 .
[0078] By measuring the shape on a machine tool in this manner, static errors occur during cutting and measurement. As a result, the static errors are canceled out during on-machine measurement, allowing only dynamic errors to be measured.
[0079] The dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter based on the command shape indicated by the cutting command for cutting the test workpiece 50 and the acquired measurement data.
[0080] Specifically, if Figure 5As shown, the dynamic correction parameter calculation unit 220 calculates the ellipse ((x / R x ) 2 +(y / R y ) 2 =1). Figure 5 The circle shown by the dotted line represents the command shape of the hole with radius R0.
[0081] In addition, the cutting point load when cutting the test workpiece 50 is applied not only in the diameter direction of the circle, but also in the circumferential direction of the circle according to the cutting depth. Figure 5 As shown, the best fitting ellipse has an inclination angle α. In other words, when the moving instruction position R shown in the cutting instruction is n When R0 (cosθ, sinθ) is used, the machining shape position R shown in the measurement data is a (R x cos(θ-α), R y sin(θ-α)).
[0082] Then, the machining shape position R is expressed as Equation 1: a The deviations δ0 and δ90 when the angle θ is 0 degrees and 90 degrees. Here, the deviations δ0 and δ 90 The directions are parallel to the X axis and the Y axis respectively.
[0083]
Mathematical formula 1
[0084]
[0085]
[0086] Using the deviation δ in equation 1, the dynamic correction parameter W is expressed as shown in equation 2: zx 、W zy .
[0087]
Mathematical formula 2
[0088] W zx =δ0 / (H z -H w )
[0089] W zy =δ 90 / (H z -H w )
[0090] Here, if Figure 6 As shown, H z H represents the height from the table (platform) 21 to the X axis of the spindle head 24. wIt indicates the height from the table (platform) 21 to the test workpiece 50 .
[0091] Furthermore, when the cutting point load during cutting of the test workpiece 50 is ideally only in the diameter direction of the circle, the best-fit ellipse is not tilted, and the angle α=0.
[0092] Thus, when a squareness error occurs due to cutting point load, Figure 7 As shown, the dynamic correction parameter W in formula 2 is zx 、W zy This is shown in Mathematical Formula 3. In other words, the squareness error is the error caused by the squareness deviation of each axis.
[0093]
Mathematical formula 3
[0094] W zx =(R0-R x ) / (H z -H w )
[0095] W zy =(R0-R y ) / (H z -H w )
[0096] In this case, the deviation amount δ is expressed as shown in Math.
[0097]
Mathematical formula 4
[0098] δ=R n -R a
[0099] =((R0-R x )cosθ,(R0-R y )sinθ)
[0100] Then, due to the cutting point load F(=(F x , F y The direction of )) is the radial direction, so F / |F|=-(cosθ, sinθ), and the deviation amount δ is expressed as in Mathematical Formula 5 using the cutting point load F.
[0101]
Mathematical formula 5
[0102]
[0103] H z -H w is the processing height z.
[0104] In addition, the direction of the cutting point load during machining of the actual product workpiece, that is, the direction when the cutting point load is applied not only in the diameter direction of the circle but also in the circumferential direction, can be calculated by performing machining simulation based on the product's CAD model and machining plan using a known method (for example, Takashi Matsumura, "Current Status and Issues of Cutting Simulation," Journal of the Japan Society of Precision Engineering, Vol. 80, No. 9, 2014).
[0105] Furthermore, as will be described later in the third embodiment, the direction of the cutting point load F during machining of an actual product workpiece can be estimated, for example, based on the torques of the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33. Alternatively, the direction of the cutting point load F during machining of an actual product workpiece can be detected using a sensor attached to the tool 25.
[0106] Furthermore, the dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter W using equations 1 and 2. zx 、W zy , the calculated dynamic correction parameter W zx 、W zy Stored as dynamic correction parameter data 120.
[0107] Then, the dynamic correction unit 250 reads the dynamic correction parameter W from the dynamic correction parameter data 120 when cutting the actual product workpiece. zx 、W zy The dynamic correction unit 250 can correct the dynamic correction parameter W based on the read zx 、W zy , a dynamic error of a right angle error is corrected for the command coordinate value of the cutting command for the workpiece that becomes an actual product.
[0108] <Calculation of Dynamic Correction Parameters for Error Caused by Deflection of Tool 25>
[0109] Similar to the case of squareness error, the numerical controller 10 calculates dynamic correction parameters for errors caused by deflection of the tool 25 by causing the machine tool 20 to cut a hole with a radius R0 on a test workpiece 50 fixed to the jig 40 on the XY plane and held at a constant height in the Z-axis direction. Furthermore, the test workpiece 50 is cut using the same tool 25 and workpiece material as used in the cutting of an actual product workpiece. This allows the calculated dynamic correction parameters to be applied during the cutting of the actual product workpiece.
[0110] The numerical controller 10 then causes the machine tool 20 to perform on-machine measurement of the cut hole using a touch probe (not shown). The measuring unit 210 of the numerical controller 10 obtains measurement data representing the shape of the test workpiece 50 measured on-machine from the machine tool 20 .
[0111] The dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter based on the command shape indicated by the cutting command for cutting the test workpiece 50 and the acquired measurement data.
[0112] Specifically, since the deflection of the tool 25 does not have anisotropic properties, Figure 8 As shown, the dynamic correction parameter calculation unit 220 calculates the circle (x 2 +y 2 =R t 2 ). In addition, Figure 5 The same is true for Figure 8 The circle shown by the dotted line represents the command shape of the hole with radius R0.
[0113] However, if Figure 9 As shown, the direction of the cutting point load F is tilted by an angle β relative to the normal of the test workpiece 50 due to the rotation of the tool 25 and the reaction from the test workpiece 50 to the rotation. Therefore, the command position and the actual cutting position are as follows: Figure 8 Then, the dynamic correction parameter calculation unit 220 calculates the slope β of the direction of the cutting point load F using a known method (for example, Kazuo Taniguchi, "Mechanical Analysis of Metal Cutting Mechanisms (3rd Report)", Precision Engineering, Vol. 29, No. 3, 1963).
[0114] Thus, the coefficient (dynamic correction parameter) W of the deflection amount of the tool 25 caused by the cutting point load is t As shown in Mathematical Formula 6.
[0115]
Mathematical formula 6
[0116]
[0117] L t represents the tool length. And the deviation δ is expressed as Equation 7.
[0118]
Mathematical formula 7
[0119]
[0120] The dynamic correction parameter calculation unit 220 uses equation (6) to calculate the dynamic correction parameter W t , and the calculated dynamic correction parameter W tStored as dynamic correction parameter data 120.
[0121] Then, the dynamic correction unit 250 reads the dynamic correction parameter W from the dynamic correction parameter data 120 when cutting the actual product workpiece. t The dynamic correction unit 250 is based on the read dynamic correction parameter W t The dynamic error caused by the deflection of the tool 25 is corrected for the command coordinate value of the cutting command for the workpiece which becomes the actual product.
[0122] Therefore, if Figure 10 As shown, the tool 25 at the actual position shown by the solid line can be moved to the position of the command coordinate value shown by the dotted line.
[0123] As described above, the numerical controller 10 of the first embodiment performs on-machine measurement of the shape of the test workpiece 50 after cutting, acquiring measurement data of the measured shape of the test workpiece 50. Based on the command shape of the cutting command and the acquired measurement data, the numerical controller 10 calculates dynamic correction parameters for correcting dynamic errors. The numerical controller 10 can correct dynamic errors in the command coordinate values based on the calculated dynamic correction parameters.
[0124] Thus, the numerical controller 10 can correct the dynamic error with high accuracy without using a sensor that detects pressure caused by deflection of the tool.
[0125] Furthermore, the numerical control device 10 calculates the dynamic correction parameter, eliminating the need to previously investigate the relationship between the cutting point load and the deflection of the tool measured by a sensor or the like.
[0126] The first embodiment has been described above.
[0127] <Modification of the first embodiment>
[0128] In the first embodiment described above, the numerical controller 10 corrects the dynamic error of the command coordinate values of the cutting instructions generated by analyzing the machining program. However, the present invention is not limited to this embodiment. For example, the numerical controller 10 may add correction pulses for correcting the dynamic error to the pulses output to the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33 of the machine tool 20.
[0129] Figure 11 This is a diagram showing an example of the numerical control device 10 according to the first embodiment.
[0130] like Figure 11As shown, the static correction unit 240-1 and the dynamic correction unit 250-1 are arranged after the X-axis acceleration / deceleration control unit 270, the Y-axis acceleration / deceleration control unit 280, and the Z-axis acceleration / deceleration control unit 290. Furthermore, the static correction unit 240-1 and the dynamic correction unit 250-1 add a correction pulse for correcting static errors and a correction pulse for correcting dynamic errors to the pulses outputted from the X-axis acceleration / deceleration control unit 270, the Y-axis acceleration / deceleration control unit 280, and the Z-axis acceleration / deceleration control unit 290, thereby correcting static errors and dynamic errors. In addition to adding a correction pulse for static errors and a correction pulse for dynamic errors, the static correction unit 240-1 and the dynamic correction unit 250-1 also perform the same correction as the above. Figure 1 The static correction unit 240 and the dynamic correction unit 250 perform the same operation.
[0131] Furthermore, the numerical control device 10 can program the correction amount of the dynamic correction into the tool diameter of the tool 25 .
[0132] Figure 12 This is a diagram showing an example of the numerical control device 10 according to the first embodiment.
[0133] Figure 12 The tool diameter dynamic correction unit 250-2 shown dynamically corrects the error caused by the deflection of the tool 25. In this case, the tool diameter dynamic correction unit 250-2 can use the dynamic correction parameter W calculated by the mathematical formula 6 based on the mathematical formula 8. t The calculated correction amount is incorporated into the tool diameter r of the tool 25. t , calculate the tool diameter correction r t '.
[0134]
Mathematical formula 8
[0135] r′ t =r t -L t cosβ′W t
[0136] In addition, β' represents the slope of the direction of the cutting point load F during actual cutting. And, when the slope β' is the same as the slope β of the direction of the cutting point load F during cutting of the test workpiece 50, as shown in FIG. Figure 13 As shown, Mathematical Formula 8 is shown as Mathematical Formula 9.
[0137]
Mathematical formula 9
[0138] r′ t =r t -(R0-R t )
[0139] in addition, Figure 12Although the numerical control device 10 omits the static correction unit 240 , it may also include the static correction unit 240 .
[0140] <Second embodiment>
[0141] Next, the second embodiment is described. In the first embodiment, when there is a difference in the size of the load when the test workpiece 50 is processed and when the actual product workpiece is processed, the difference is not taken into account. In this case, for example, although it is possible to automatically change the cutting conditions using a known method such as Japanese Patent Laid-Open No. 2016-137557 so that the difference in the size of the cutting load is below a certain level (the range in which the numerical control device 10 functions normally), the cutting conditions have to be changed. Therefore, in the second embodiment, in addition to the functions of the first embodiment, the numerical control device 10 also uses a plurality of dynamic correction parameters calculated by cutting the test workpiece with each of a plurality of different cutting loads, interpolates the dynamic correction parameters of an arbitrary cutting load, and corrects the instruction coordinate value of the cutting instruction based on the interpolated dynamic correction parameters of the arbitrary cutting load.
[0142] Thus, the numerical controller 10 of the second embodiment can appropriately correct the dynamic error even when the magnitude of the cutting point load during machining of a test workpiece differs from the magnitude of the cutting point load during machining of an actual product workpiece.
[0143] Hereinafter, a second embodiment will be described.
[0144] Figure 14 This is a functional block diagram showing an example of a functional configuration added to the numerical controller 10 of the first embodiment in the numerical controller according to the second embodiment. Figure 1 Elements with the same functions as those of the numerical controller 10 are denoted by the same reference numerals, and detailed description thereof is omitted.
[0145] In the following description, since the cutting load and the average cutting volume per unit time have a strong correlation, the average cutting volume per unit time V will be used as a variable instead of the cutting load.
[0146] like Figure 14 As shown, the control unit 200 further includes a cutting load calculation unit 300 and a dynamic correction parameter interpolation unit 310. These functional units are implemented by the control unit 200 executing a system program and an application program stored in a ROM (not shown) of the control unit 200.
[0147] Furthermore, the measuring unit 210 uses a non-contact probe (not shown) of the machine tool 20 to measure, for example, a cutting instruction based on a machining program analyzed by the instruction analyzing unit 230 with a plurality of cutting loads, i.e., a plurality of cutting volumes V1 to V2, which are different from each other on the machine tool 20. N Each shape of each of the cut test workpieces 50 is measured on-machine.
[0148] 20 In the case of a squareness error, the dynamic correction parameter calculation unit 2 calculates the correction parameters based on a plurality of cutting volumes V1 to V N The dynamic correction parameter {W is calculated using the instruction shape of the cutting instruction when cutting each test workpiece 50 and the measurement data obtained by the measurement unit 210 using Mathematical Formula 1 and Mathematical Formula 2. zx (V i )┃1≤i≤N, N is an integer greater than 2}, {W zy (V i )┃1≤i≤N}.
[0149] In addition, when an error is caused by the deflection of the tool 25, the dynamic correction parameter calculation unit 220 calculates the error based on the plurality of cutting volumes V1 to V2. N The dynamic correction parameter {W is calculated based on the instruction shape of the cutting instruction when cutting each test workpiece 50 and the measurement data obtained by the measurement unit 210 according to Mathematical Formula 6. t (V i )┃1≤i≤N}.
[0150] Furthermore, the dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter {W zx (V i )┃1≤i≤N}、{W zy (V i )┃1≤i≤N} and the dynamic correction parameter {W t (V i )┃1≤i≤N} and cutting volume V1 to V N Each of the corresponding ones is stored as dynamic correction parameter data 120.
[0151] The cutting load calculation unit 300 calculates the cutting volume V per unit time based on the machining conditions of the machining program analyzed by the command analysis unit 230. A known method can be used to calculate the cutting volume V based on the machining conditions, and its description is omitted.
[0152] The dynamic correction parameter interpolation unit 310 reads a plurality of dynamic correction parameters {W zx (V i )┃1≤i≤N}、{W zy (Vi )┃1≤i≤N}(or multiple dynamic correction parameters {W t (V i )┃1≤i≤N}). The dynamic correction parameter interpolation unit 310 uses the read multiple dynamic correction parameters {W zx (V i )┃1≤i≤N}、{W zy (V i )┃1≤i≤N}(or multiple dynamic correction parameters {W t (V i )┃1≤i≤N}), the dynamic correction parameter W in the cutting volume V calculated by the cutting load calculation unit 300 zx (V), W zy (V)(or dynamic correction parameter W t (V)) for interpolation.
[0153] Hereinafter, interpolation of the dynamic correction parameters for the squareness error and interpolation of the dynamic correction parameters for the deflection of the tool 25 will be described respectively.
[0154] <About Interpolation of Dynamic Correction Parameters for Squareness Error>
[0155] Figure 15A and Figure 15B : is a diagram showing an example of the interpolation process of the dynamic correction parameter interpolation unit 310. Figure 15A The dynamic correction parameter W is shown zx (V) Figure 15B The dynamic correction parameter W is shown zy (V) In addition, Figure 15A and Figure 15B Although the case of N=2 is shown, the same applies to the case where N is 3 or greater.
[0156] The dynamic correction parameter interpolation unit 310 is, for example, Figure 15A As shown, the dynamic correction parameter W zx (V1), W zx (V2) Linear interpolation is performed to adjust the dynamic correction parameter W in the cutting volume V calculated by the cutting load calculation unit 300 zx (V) is calculated. In addition, Figure 15B As shown, the dynamic correction parameter interpolation unit 310 performs dynamic correction parameter W zy (V1), W zy (V2) Linear interpolation is performed to adjust the dynamic correction parameter W in the cutting volume V per unit time calculated by the cutting load calculation unit 300 zy(V) is calculated. The dynamic correction parameter interpolation unit 310 calculates the dynamic correction parameter W zx (V), W zy (V) is output to the dynamic correction unit 250.
[0157] In addition, when N is greater than 3, the dynamic correction parameter interpolation unit 310 Figure 16 As shown, the best fit can be performed using an M-order function, or it can be obtained through machine learning (M is an integer greater than 2).
[0158] Furthermore, the dynamic correction unit 250 calculates the dynamic correction parameter W based on the dynamic correction parameter interpolation unit 310. zx (V), W zy (V) A dynamic error is corrected for a right angle error in the command coordinate values of the cutting command for a workpiece that becomes an actual product.
[0159] <About Interpolation of Dynamic Correction Parameters for Errors Caused by Deflection of Tool 25>
[0160] As in the case of the squareness error, for example, the dynamic correction parameter interpolation unit 310 calculates the dynamic correction parameter W for each of the two cutting volumes V1 and V2. t (V1), W t (V2) Linear interpolation is performed to adjust the dynamic correction parameter W in the cutting volume V calculated by the cutting load calculation unit 300 t (V) is calculated. The dynamic correction parameter interpolation unit 310 calculates the dynamic correction parameter W t (V) is output to the dynamic correction unit 250.
[0161] In addition, when N is greater than 3, the dynamic correction parameter interpolation unit 310 can use an M-order function for best fitting, or can obtain it through machine learning (M is an integer greater than 2).
[0162] Furthermore, the dynamic correction unit 250 calculates the dynamic correction parameter W based on the dynamic correction parameter interpolation unit 310. t (V) A dynamic error is corrected for an error caused by the deflection of the tool 25 in the command coordinate value of the cutting command for the workpiece which becomes an actual product.
[0163] As described above, the numerical controller 10 of the second embodiment obtains measurement data of the shape of a test workpiece cut at each of a plurality of different cutting volumes (cutting loads), and calculates dynamic correction parameters for each cutting volume based on the commanded shape and the measurement data. The numerical controller 10 uses the calculated dynamic correction parameters for each cutting volume to interpolate the dynamic correction parameters for any cutting volume, and then corrects the command coordinate values of the cutting command based on the interpolated dynamic correction parameters for the desired cutting volume.
[0164] Thus, the numerical controller 10 can correct the dynamic error with high accuracy without using a sensor that detects pressure caused by deflection of the tool.
[0165] Furthermore, even when the magnitude of the cutting load during machining of a test workpiece differs from the magnitude of the cutting load during machining of an actual product workpiece, the numerical controller 10 can appropriately correct the dynamic error.
[0166] The second embodiment has been described above.
[0167] <Modification of the Second Embodiment>
[0168] In the second embodiment described above, the numerical control device 10 Figure 1 The numerical control device 10 is additionally Figure 14 The structure corrects the dynamic error of the command coordinate value of the cutting command generated by analyzing the machining program, but is not limited to this. For example, the numerical control device 10 can also correct the dynamic error of the command coordinate value of the cutting command generated by analyzing the machining program. Figure 11 The numerical control device 10 is additionally Figure 14 In the structure, a correction pulse for correcting dynamic error is added to the pulses output to the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33 of the machine tool 20.
[0169] Alternatively, the numerical control device 10 may also be configured to Figure 12 The numerical control device 10 is additionally Figure 14 The structure of the dynamic correction is incorporated into the tool diameter of the tool 25 to correct the dynamic error.
[0170] <Third embodiment>
[0171] Next, the third embodiment will be described. In this third embodiment, in addition to the functions of the first embodiment, the numerical controller 10 further obtains the load current during cutting of a test workpiece, calculates a relationship parameter representing the relationship between the load current of each axis and the cutting point load based on the obtained load current, the deviation between the command shape and the measured data, and the dynamic correction parameter, and calculates the cutting point load based on the relationship parameter and the load current.
[0172] Thus, the numerical controller 10 according to the third embodiment can estimate the cutting point load without accessing hardware or adding hardware.
[0173] Hereinafter, a third embodiment will be described.
[0174] Figure 17 This is a functional block diagram showing an example of a functional configuration added to the numerical controller 10 of the first embodiment in the numerical controller of the third embodiment. Figure 1 Elements with the same functions as those of the numerical controller 10 are denoted by the same reference numerals, and detailed description thereof is omitted.
[0175] like Figure 17 As shown, the control unit 200 further includes a relationship parameter calculation unit 320 and a cutting point load calculation unit 330. These functional units are implemented by the control unit 200 executing a system program and an application program stored in a ROM (not shown) of the control unit 200.
[0176] Relationship parameter calculation section 320 obtains load currents from X-axis servo motor 31, Y-axis servo motor 32, and Z-axis servo motor 33 during cutting of test workpiece 50. Relationship parameter calculation section 320 calculates relationship parameters representing at least the relationship between the load currents on the X-axis and Y-axis and the cutting point load based on the obtained load currents, the deviation δ between the command profile and the measured data, and the dynamic correction parameter.
[0177] Specifically, the relationship parameter calculation unit 320 calculates the relationship parameters representing the relationship between the load current on the X-axis and the Y-axis and the cutting point load, such as Figure 18A As shown, the tool 25 mounted on the spindle head 24 is not subjected to cutting processing, but is instead subjected to clockwise circular motion in the XY plane at a constant speed. Since the tool 25 does not move in the Z-axis direction, the relationship parameter calculation unit 320 obtains the load current of the X-axis servo motor 31 and the Y-axis servo motor 32 when the tool 25 is subjected to circular motion. In this case, the load current I1(θ) is expressed as (I 1x (θ), I 1y (θ)). In addition, θ represents the phase of the circular motion.
[0178] Likewise, if Figure 18B As shown, the relationship parameter calculation unit 320 does not perform cutting processing on the tool 25 mounted on the spindle head 24, but instead causes the XY plane to perform counterclockwise circular motion at the same constant speed as when the tool 25 is moved clockwise. Since the tool 25 does not move in the Z-axis direction, the relationship parameter calculation unit 320 obtains the load current of the X-axis servo motor 31 and the Y-axis servo motor 32 when the tool 25 performs circular motion. In this case, the load current I2(θ) is expressed as (I2x (θ), I 2y (θ)).
[0179] Here, the accelerations of load current I1(θ) and load current I2(θ) are in the same direction in the normal direction. However, the velocities of load current I1(θ) and load current I2(θ) are in opposite directions in the tangential direction. Therefore, I1(θ)+I2(θ) is not affected by velocity, but only by acceleration. On the other hand, I1(θ)-I2(θ) is not affected by acceleration, but only by velocity.
[0180] Therefore, the relationship parameter calculation unit 320 calculates the ellipse ((x / R ax ) 2 +(y / R ay ) 2 =1). In addition, the relationship parameter calculation unit 320 calculates the ellipse ((x / R vx ) 2 +(y / R vy ) 2 =1). Therefore, I1(θ)+I2(θ) and I1(θ)-I2(θ) are as shown in Math. 10.
[0181]
Mathematical formula 10
[0182] I1(θ)+I2(θ)=(R ax cosθ, R ay sinθ)
[0183] I1(θ)-I2(θ)=(R vx sinθ, -R vy cosθ)
[0184] On the other hand, let the proportional coefficient of acceleration and torque on the X axis be K x , the proportional coefficient of the acceleration and torque of the Y axis is K y , the proportional coefficient of the speed and torque of the X axis is L x , the proportional coefficient of the speed and torque of the Y axis is L y When , the load currents I1(θ) and I2(θ) are as shown in Equation 11. In addition, a represents acceleration and v represents velocity.
[0185]
Mathematical formula 11
[0186] I1(θ)=(K x cosθ,K ysinθ)a+(L x sinθ, -L y cosθ)v
[0187] I2(θ)=(K x cosθ,K y sinθ)a-(L x sinθ, -L y cosθ)v
[0188] Furthermore, using the load currents I1(θ) and I2(θ) of equation 11, I1(θ)+I2(θ) and I1(θ)-I2(θ) are as shown in equation 12.
[0189]
Mathematical formula 12
[0190] I1(θ)+I2(θ)=2(K x cosθ,K y sinθ)a
[0191] I1(θ)-I2(θ)=2(L x sinθ, -L y cosθ)v
[0192] Therefore, using the value R of formula 10 ax 、R ay 、R vx 、R vy , a and v, the proportional coefficient of acceleration and torque on the X and Y axes (the relationship parameter between acceleration and load current) K x , K y , and the proportional coefficient of speed and torque of X-axis and Y-axis (the relationship parameter between speed and load current) L x 、L y As shown in mathematical formula 13.
[0193]
Mathematical formula 13
[0194]
[0195] In other words, the relationship parameter calculation unit 320 calculates the relationship parameter K between acceleration and load current according to the load current I1(θ), I2(θ), Mathematical Formula 10 and Mathematical Formula 13. x , K y , and the relationship parameter L between speed and load current x 、L y Then, the relationship parameter calculation unit 320 calculates the relationship parameter K between the acceleration and the load current. x , K y , and the relationship parameter L between speed and load currentx 、L y The calculated acceleration and load current relationship parameter K is output to the cutting point load calculation unit 330 described later. x , K y , and the relationship parameter L between speed and load current x 、L y Stored in the storage unit 100 .
[0196] Next, similarly to the case of the first embodiment, the numerical control device 10 calculates the dynamic correction parameter W for the squareness error. zx 、W zy Or the dynamic correction parameter W for the error caused by the deflection of the tool 25 t , the machine tool 20 cuts a hole of radius R0 on the test workpiece 50 which has a constant height in the Z-axis direction and is fixed to the fixture 40 on the XY plane.
[0197] The numerical controller 10 then causes the machine tool 20 to perform on-machine measurement of the cut hole using a touch probe (not shown). The measuring unit 210 of the numerical controller 10 obtains measurement data representing the shape of the test workpiece 50 measured on-machine from the machine tool 20 .
[0198] As in the first embodiment, the dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter W for the squareness error based on the command shape indicated by the cutting command for cutting the test workpiece 50 and the acquired measurement data. zx 、W zy Or the dynamic correction parameter W for the error caused by the deflection of the tool 25 t .
[0199] In addition, the relationship parameter calculation unit 320 obtains the load current I from the X-axis servo motor 31 and the Y-axis servo motor 32 during the cutting process of the test workpiece 50. f (X), I f (Y) The relationship parameter calculation unit 320 uses the load current I obtained during cutting f (X), I f (Y), calculate the proportional coefficient of the load current of the X axis and the cutting point load F (the relationship parameter between the load current and the cutting point load) J x And the proportional coefficient of the load current of the Y axis and the cutting point load F (the relationship parameter between the load current and the cutting point load) J y .
[0200] The calculation of the relational parameter between the load current and the cutting point load in the squareness error and the calculation of the relational parameter between the load current and the cutting point load in the deflection of the tool 25 will be described below.
[0201] <Calculation of parameters related to the load current and cutting point load in squareness error>
[0202] The squareness error caused by cutting the test workpiece 50 is caused by the low rigidity between the axes of the machine tool 20. Therefore, the relationship parameter calculation unit 320 calculates the load current I according to the obtained load current I using the least square method, for example. f (=(I f (X), I f (Y)) to perform the best fitting of the ellipse (x / I fx ) 2 +(y / I fy ) 2 =1). In addition, I fx Is the radius of the ellipse in the X-axis direction. fy is the radius of the ellipse in the Y-axis direction.
[0203] Here, based on Mathematical Formula 5, the deviation δ(=(R0-R x , R0-R y )) Dynamic correction parameter W of the processing height (coordinate value) z and the right angle error zx 、W zy And the cutting point load F is expressed as shown in Mathematical Formula 14.
[0204]
Mathematical formula 14
[0205] (R0-R x , R0-R y )=(zW zx J x I fx ,zW zx J y I fy )
[0206] In addition, the reason why it is necessary to find the relationship parameter (proportional coefficient) J between the load current and the cutting point load is x 、J y This is because even if the load current is the same, the cutting point load F generated is different in the X-axis and Y-axis.
[0207] The relationship parameter calculation unit 320 can use the formula 15 obtained by transforming the formula 14, the calculated I fx , I fy , the dynamic correction parameter W read from the dynamic correction parameter data 120 zx 、W zy , and R0 and R calculated by the dynamic correction parameter calculation unit 220 x 、R y, to calculate the relationship parameter J between load current and cutting load x 、J y .
[0208]
Mathematical formula 15
[0209]
[0210] Then, the relationship parameter calculation unit 320 calculates the relationship parameter J between the load current and the cutting point load. x 、J y Output to the cutting point load calculation unit 330. In addition, the relationship parameter calculation unit 320 can calculate the relationship parameter J between the load current and the cutting point load. x 、J y Stored in the storage unit 100.
[0211] The cutting point load calculation unit 330 calculates the load current according to the relationship parameter K between acceleration and load current calculated by the relationship parameter calculation unit 320 when cutting the actual workpiece of the product. x , K y The relationship between speed and load current parameter L x 、L y The load current I generated by cutting is calculated using the load current I obtained from the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33 during cutting of an actual product workpiece and equation 16. f .
[0212]
Mathematical formula 16
[0213] I f =I-(K x a x , K y a y )-(L x v x , L y v y )
[0214] In addition, the mathematical formula (16) is based on the load current I being the load current related to acceleration, the load current related to speed, and the load current related to cutting I f In addition, a x Indicates the acceleration in the X-axis direction. a y Indicates the acceleration in the Y-axis direction. v x Indicates the speed in the X-axis direction. y Indicates the speed in the Y-axis direction.
[0215] Then, the cutting point load calculation unit 330 uses the relationship parameter J between the load current and the cutting point load calculated by the relationship parameter calculation unit 320. x 、J y , calculated load current I f , and mathematical formula 17 to calculate the cutting point load F.
[0216]
Mathematical formula 17
[0217] F=(J x I fx J y I fy )
[0218] The dynamic correction unit 250 reads the dynamic correction parameter W from the dynamic correction parameter data 120. zx 、W zy The deviation δ is calculated using the cutting point F calculated by the cutting point load calculation unit 330 and equation 5. The dynamic correction unit 250 corrects the dynamic error of the squareness error for the command coordinate values of the cutting command for the actual product workpiece based on the calculated deviation δ.
[0219] <Calculation of Relationship Parameters Between Load Current and Cutting Point Load During Deflection of Tool 25>
[0220] While the deflection of the tool 25 does not exhibit anisotropic properties, the magnitude of the load current required to generate the same cutting point load varies depending on the shaft inertia and motor characteristics. Therefore, to generate the cutting point load, the radius increases in the axis requiring a large current (the axis with greater inertia), while the radius decreases in the axis requiring a small current (the axis with less inertia).
[0221] Therefore, the relationship parameter calculation unit 320 calculates the load current I obtained when the test workpiece 50 is cut using, for example, the least square method. f (=(I f (X), I f (Y)) to perform the best fitting ellipse ((x / I ftx ) 2 +(y / I fty ) 2 =1). In addition, I ftx is the radius of the ellipse in the X-axis direction. fty is the radius of the ellipse in the Y-axis direction.
[0222] Here, based on Mathematical Formula 7, the deviation δ(=(R0-R t , R0-R t ))By tool length L t , dynamic correction parameter W tAnd the cutting point load F is expressed as follows, as shown in Mathematical Formula 18.
[0223]
Mathematical formula 18
[0224] (R0-R t , R0-R t )=L t W t (J x I ftx , J y I fty )
[0225] The relationship parameter calculation unit 320 can use the formula 19 obtained by transforming the formula 18 and the calculated I ftx , I fty , the dynamic correction parameter W read from the dynamic correction parameter data 120 t , and R0 and R calculated by the dynamic correction parameter calculation unit 220 t , calculate the relationship parameter J between load current and cutting point load x 、J y .
[0226]
Mathematical formula 19
[0227]
[0228] Then, the relationship parameter calculation unit 320 calculates the relationship parameter J between the load current and the cutting point load. x 、J y Output to the cutting point load calculation unit 330. In addition, the relationship parameter calculation unit 320 can calculate the relationship parameter J between the load current and the cutting point load. x 、J y Stored in the storage unit 100.
[0229] When cutting an actual workpiece of a product, the cutting point load calculation unit 330 calculates the relationship parameter K between acceleration and load current calculated by the relationship parameter calculation unit 320. x , K y The relationship between speed and load current parameter L x 、L y The load current I generated by cutting is calculated from the load current I of the actual product workpiece obtained from the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33, and the mathematical formula 16. f .
[0230] Then, the cutting point load calculation unit 330 uses the relationship parameter J between the load current and the cutting point load calculated by the relationship parameter calculation unit 320. x、J y , calculated load current I f , and Equation 17, calculate the cutting point load F.
[0231] The dynamic correction unit 250 reads the dynamic correction parameter W from the dynamic correction parameter data 120. t , the cutting point load F calculated by the cutting point load calculation unit 330, and equation 7 are used to calculate the deviation δ. The dynamic correction unit 250 corrects the dynamic error caused by the deflection of the tool 25 in the command coordinate values of the cutting command for the actual product workpiece based on the calculated deviation δ.
[0232] As described above, the numerical control device 10 of the third embodiment obtains the load current when the test workpiece 50 is cut, and calculates the relationship parameter J between the load current and the cutting point load based on the obtained load current, the offset δ between the command shape and the measurement data, and the dynamic correction parameter. x 、J y The numerical control device 10 is based on the relationship parameter J between the load current and the cutting point load. x 、J y The cutting point load F is calculated based on the load current I when the workpiece of the actual product is cut, and the dynamic error of the command coordinate value indicated by the cutting command is corrected based on the calculated cutting point load F and the dynamic correction parameter.
[0233] Thus, the numerical controller 10 can correct the dynamic error with high accuracy without using a sensor.
[0234] Furthermore, the numerical controller 10 can estimate the cutting point load without any hardware access or additional hardware.
[0235] The third embodiment has been described above.
[0236] <Modification of the Third Embodiment>
[0237] In the third embodiment described above, the numerical control device 10 Figure 1 The numerical control device 10 is additionally Figure 17 The structure corrects the dynamic error of the command coordinate value of the cutting command generated by analyzing the machining program, but is not limited to this. For example, the numerical control device 10 can also correct the dynamic error of the command coordinate value of the cutting command generated by analyzing the machining program. Figure 11 The numerical control device 10 is additionally Figure 17 In the structure, a correction pulse for correcting dynamic error is added to the pulses output to the X-axis servo motor 31, the Y-axis servo motor 32, and the Z-axis servo motor 33 of the machine tool 20.
[0238] Alternatively, the numerical control device 10 may also be configured to Figure 12The numerical control device 10 is additionally Figure 17 The structure of the dynamic correction is incorporated into the tool diameter of the tool 25 to correct the dynamic error.
[0239] Although the first to third embodiments have been described above, the numerical control device 10 is not limited to the above-described embodiments, and includes modifications and improvements within a scope that can achieve the intended purpose.
[0240] Modifications
[0241] In the first to third embodiments described above, the machine tool 20 is a machine tool having three orthogonal axes, but may also be a machine tool having five axes or the like.
[0242] Each function included in the numerical controller 10 according to the first to third embodiments can be realized by hardware, software, or a combination thereof. Here, realization by software means realization by having a computer read a program and execute it.
[0243] In addition, each component included in the numerical controller 10 can be realized by hardware including electronic circuits, software, or a combination thereof.
[0244] The program can be stored using various types of non-transitory computer readable media (Non-transitorycomputer readable medium) and provided to the computer. Non-transitory computer readable media include various types of tangible storage media (Tangible storage medium). Examples of non-transitory computer readable media include magnetic recording media (such as floppy disks, magnetic tapes, hard disk drives), optical magnetic recording media (such as optical magnetic disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, semiconductor memories (such as mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM. In addition, the program can also be provided to the computer through various types of transient computer readable media (Transitory computerreadable medium). Examples of transient computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to the computer via wired communication paths such as electric wires and optical fibers, or wireless communication paths.
[0245] Furthermore, the steps describing the program recorded in the recording medium include not only processes that are performed in time series according to the order thereof but also processes that are not necessarily performed in time series but are executed in parallel or individually.
[0246] In other words, the numerical control device of the present disclosure can take various embodiments having the following structures.
[0247] Technical solution (1): The numerical control device 10 disclosed in the present invention causes the machine tool 20 to perform cutting using the instruction coordinate value represented by the cutting instruction received from the instruction parsing unit 230, and comprises: a measuring unit 210, which causes the machine tool 20 to perform on-machine measurement of the shape of the cut test workpiece 50 and obtains measurement data representing the measured shape of the test workpiece 50; a dynamic correction parameter calculation unit 220, which calculates dynamic correction parameters for correcting the dynamic error generated by the force and speed acting on the machine tool 20 during cutting based on the instruction shape represented by the cutting instruction and the measurement data obtained by the measuring unit 210; and a dynamic correction unit 250, which corrects the dynamic error of the instruction coordinate value based on the calculated dynamic correction parameters. The dynamic correction parameter calculation unit 220 only obtains the dynamic error based on the comparison between the instruction shape and the measurement data, and calculates the dynamic correction parameter based on the obtained dynamic error.
[0248] According to the numerical control device 10 , dynamic errors can be corrected with high accuracy without using a sensor.
[0249] Technical Solution (2): Alternatively, in the numerical control device 10 described in Technical Solution (1), the command shape and the shape of the test workpiece 50 are circular.
[0250] Thereby, the numerical controller 10 can easily calculate the dynamic correction parameter.
[0251] Technical solution (3): Alternatively, in the numerical control device 10 described in technical solution (2),
[0252] The measuring unit 210 obtains the measurement data of the hole with radius R0 cut on the test workpiece 50 on the XY plane, and the dynamic correction parameter calculation unit 220 best fits the ellipse to the shape of the test workpiece 50 represented by the measurement data, and obtains the radius R of the X axis and the Y axis of the ellipse. x 、R y Calculate the dynamic correction parameter W in the XY plane according to formula 20 zx 、W zy .
[0253]
Mathematical formula 20
[0254] W zx =δ0 / (H z -H w )
[0255] W zy =δ 90 / (H z -H w )
[0256] Among them, H z H represents the height from the platform of the machine tool 20 to the X axis. w Denotes the height from the platform to the test workpiece 50, δ0 and δ 90 Indicates the position of the processed shape shown in the measurement data (R x cos(θ+α), R y The angle θ of sin(θ+α) represents the deviation between 0 and 90 degrees, and α represents the phase of the best-fit ellipse by the amount of inclination caused by the circumferential load.
[0257] Thus, the numerical control device 10 can calculate the dynamic correction parameter of the right angle error.
[0258] Technical solution (4): Alternatively, in the numerical control device 10 described in technical solution (2), the measuring unit 210 obtains the measurement data of the hole with a radius R0 cut out of the test workpiece 50 on the XY plane, and the dynamic correction parameter calculation unit 220 performs the best fit of the shape of the test workpiece 50 represented by the measurement data with a circle, and obtains the radius R of the circle. t According to Mathematical Formula 21, the dynamic correction parameter W of the deflection of the tool included in the machine tool 20 caused by the cutting load is calculated. t and tool diameter correction r t ',
[0259]
Mathematical formula 21
[0260] W t =(R0-R t ) / L t cosβ
[0261] r′ t =r t -L t cosβW t
[0262] Where β represents the angle between the workpiece normal direction and the cutting point load direction during workpiece processing, r t Indicates the tool diameter before correction, L t Indicates the tool length.
[0263] Thereby, the numerical control device 10 can calculate the dynamic correction parameter of the error caused by the deflection of the tool.
[0264] Technical solution (5): It can also be that the numerical control device 10 described in technical solution (1) or technical solution (2) is further provided with a dynamic correction parameter interpolation unit 310, the measuring unit 210 obtains the measurement data of the shape of the test workpiece 50 cut with each of a plurality of different cutting loads, the dynamic correction parameter calculation unit 220 calculates the dynamic correction parameter based on the instruction shape and measurement data of each of the plurality of cutting loads, the dynamic correction parameter interpolation unit 310 uses the calculated plurality of dynamic correction parameters to interpolate the dynamic correction parameters of any cutting load, and the dynamic correction unit 250 corrects the instruction coordinate value of the cutting instruction based on the interpolated dynamic correction parameters of any cutting load.
[0265] Thus, even when the magnitude of the cutting load when machining the test workpiece 50 is different from the magnitude of the cutting load when machining an actual product workpiece, the numerical controller 10 can appropriately correct the dynamic error.
[0266] Technical Solution (6): Alternatively, the numerical control device 10 described in Technical Solution (1) or Technical Solution (2) further comprises: a relationship parameter calculation unit 320, which obtains the load current when the test workpiece is cut, and calculates at least the relationship parameter representing the relationship between the load current in the X-axis and the Y-axis and the cutting point load based on the obtained load current, the deviation between the instruction shape and the measurement data, and the dynamic correction parameter; and a cutting point load calculation unit 330, which calculates the cutting point load based on the relationship parameter and the load current.
[0267] Thus, the numerical controller 10 can estimate the cutting point load without requiring any hardware or additional hardware.
[0268] Technical solution (7): Alternatively, in the numerical control device 1 described in technical solution (6), the load current is calculated by subtracting the load current involved in the acceleration when the tool 25 included in the machine tool 20 is accelerated and the load current involved in the axial movement when the tool 25 is axially moved from the load current of the servo motor included in the machine tool 20.
[0269] Thus, the numerical control device 10 can calculate the load current I generated by cutting. f .
[0270] Technical Solution (8): Alternatively, in the numerical control device 10 described in Technical Solution (7), the load current involved in acceleration and the load current involved in axis movement may be calculated based on the load current when the tool 25 moves without cutting.
[0271] Thus, the numerical controller 10 can calculate the load current caused by the acceleration during idle machining and the load current caused by the axis movement.
[0272] Technical solution (9): Alternatively, in the numerical control device 10 described in technical solution (8), the movement of the tool 25 without cutting can be performed in a circular clockwise movement or a circular counterclockwise movement.
[0273] Thus, the numerical controller 10 can calculate the load current caused by acceleration and the load current caused by axis movement.
[0274] Technical solution (10): The control method disclosed in the present invention is executed by a computer and causes a machine tool to perform cutting using the instruction coordinate value represented by the cutting instruction received from the instruction parsing unit 230. The control method comprises: a measurement step, causing the machine tool 20 to perform on-machine measurement of the shape of the cut test workpiece, and obtain measurement data representing the shape of the measured test workpiece 50; a dynamic correction parameter calculation step, based on the instruction shape represented by the cutting instruction and the obtained on-machine measurement data, calculating dynamic correction parameters for correcting the dynamic error generated by the force and speed acting on the machine tool 20 during cutting; a dynamic correction step, based on the calculated dynamic correction parameters, correcting the dynamic error of the instruction coordinate value, and in the dynamic correction parameter calculation step, only obtaining the dynamic error based on the comparison between the instruction shape and the measurement data, and calculating the dynamic correction parameter based on the obtained dynamic error.
[0275] According to this control method, the same effect as that of technical solution (1) can be achieved.
Claims
1. A numerical control device that causes a machine tool to perform cutting using command coordinate values represented by a cutting command received from a command analysis unit, characterized in that: The numerical control device has: a measuring unit configured to cause the machine tool to perform on-machine measurement of the shape of the test workpiece cut into a circular shape, and to obtain measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation unit that calculates dynamic correction parameters for correcting dynamic errors caused by force and speed acting on the machine tool during cutting based on a command shape represented by the cutting command and a shape of a circle or an ellipse obtained by best fitting the shape of the test workpiece represented by the measurement data obtained by the measurement unit with either a circle or an ellipse; and A dynamic correction unit, which corrects the dynamic error of the command coordinate value based on the calculated dynamic correction parameter, The measuring unit obtains the measurement data of the hole with a radius R0 cut on the test workpiece on the XY plane, The dynamic correction parameter calculation unit best fits the ellipse to the shape of the test workpiece represented by the measurement data, and obtains the radius R of the X axis and the Y axis of the ellipse. x 、R y , The dynamic correction parameter calculation unit calculates the dynamic correction parameter W in the XY plane according to formula 1. zx 、W zy , Mathematical formula 1: W zx =δ0 / (H z -H w ) W zy =δ 90 / (H z -H w ) Among them, H z Indicates the height from the platform of the above machine tool to the X axis, H w Denotes the height from the platform to the test workpiece, δ0 and δ 90 Indicates the processing shape position (R x cos(θ+α), R y The angle θ of sin(θ+α) represents the deviation between 0 and 90 degrees, and α represents the phase of the ellipse obtained by the best fit by the amount of inclination caused by the load in the circumferential direction.
2. A numerical control device that causes a machine tool to perform cutting using command coordinate values represented by a cutting command received from a command analysis unit, characterized in that: The numerical control device has: a measuring unit configured to cause the machine tool to perform on-machine measurement of the shape of the test workpiece cut into a circular shape, and to obtain measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation unit that calculates dynamic correction parameters for correcting dynamic errors caused by force and speed acting on the machine tool during cutting based on a command shape represented by the cutting command and a shape of a circle or an ellipse obtained by best fitting the shape of the test workpiece represented by the measurement data obtained by the measurement unit with either a circle or an ellipse; and A dynamic correction unit, which corrects the dynamic error of the command coordinate value based on the calculated dynamic correction parameter, The measuring unit obtains the measurement data of the hole with a radius R0 cut out of the test workpiece on the XY plane. The dynamic correction parameter calculation unit performs the best fit of a circle on the shape of the test workpiece represented by the measurement data, and obtains the radius R of the circle. t , The dynamic correction parameter calculation unit calculates the dynamic correction parameter W of the deflection amount of the tool included in the machine tool caused by the cutting load according to Mathematical Formula 2. t and tool diameter correction r t ', Mathematical formula 2: W t =(R0-R t ) / L t cosβ r′ t =r t -L t cosβW t Where β represents the angle between the workpiece normal direction and the cutting point load direction during workpiece processing, r t Indicates the tool diameter before correction, L t Indicates the tool length.
3. The numerical control device according to claim 1 or 2, characterized in that: The numerical control device also includes a dynamic correction parameter interpolation unit. The measuring unit obtains the measurement data of the shape of the test workpiece cut at each of a plurality of cutting loads different from each other, The dynamic correction parameter calculation unit calculates the dynamic correction parameter based on the command shape of each of the plurality of cutting loads and the measurement data. The dynamic correction parameter interpolation unit interpolates the dynamic correction parameter of an arbitrary cutting load using the calculated plurality of dynamic correction parameters. The dynamic correction unit corrects the command coordinate value of the cutting command based on the interpolated dynamic correction parameter of the arbitrary cutting load.
4. The numerical control device according to claim 1 or 2, characterized in that: The numerical control device further comprises: a relationship parameter calculation unit that obtains a load current when the test workpiece is cut, and calculates a relationship parameter indicating a relationship between the load current in at least the X-axis and Y-axis and the cutting point load based on the obtained load current, a deviation between the command shape and the measurement data, and the dynamic correction parameter; as well as The cutting point load calculation unit calculates the cutting point load based on the relationship parameter and the load current.
5. The numerical control device according to claim 4, characterized in that The load current is calculated by subtracting a load current associated with acceleration when a tool included in the machine tool is accelerated and a load current associated with axial movement when the tool is axially moved from a load current of a servo motor included in the machine tool.
6. The numerical control device according to claim 5, characterized in that The load current associated with the acceleration and the load current associated with the axis movement are calculated based on the load current when the tool moves without cutting.
7. The numerical control device according to claim 6, characterized in that The movement of the tool without the cutting is performed by both moving the tool in a circular clockwise direction and moving the tool in a circular counterclockwise direction.
8. A control method executed by a computer and causing a machine tool to perform cutting using command coordinate values represented by a cutting command received from a command analysis unit, characterized in that: The control method has: a measuring step of causing the machine tool to perform on-machine measurement of the shape of the test workpiece cut in the circular shape, and obtaining measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation step of calculating dynamic correction parameters for correcting dynamic errors caused by force and speed acting on the machine tool during cutting based on a command shape represented by the cutting command and a shape of a circle or an ellipse obtained by best fitting the shape of the test workpiece represented by the obtained measurement data with either a circle or an ellipse; The dynamic correction step corrects the dynamic error of the command coordinate value based on the calculated dynamic correction parameters. The measuring step obtains the measurement data of the hole with a radius R0 cut on the test workpiece on the XY plane. The dynamic correction parameter calculation step is to best fit the ellipse to the shape of the test workpiece represented by the measurement data, and obtain the radius R of the X axis and the Y axis of the ellipse. x 、R y , The above dynamic correction parameter calculation step calculates the dynamic correction parameter W in the XY plane according to Mathematical Formula 3: zx 、W zy , Mathematical formula 3: W zx =δ0 / (H z -H w ) W zy =δ 90 / (H z -H w ) Among them, H z Indicates the height from the platform of the above machine tool to the X axis, H w Denotes the height from the platform to the test workpiece, δ0 and δ 90 Indicates the processing shape position (R x cos(θ+α), R y The angle θ of sin(θ+α) represents the deviation between 0 and 90 degrees, and α represents the phase of the ellipse obtained by the best fit by the amount of inclination caused by the load in the circumferential direction.
9. A control method executed by a computer and causing a machine tool to perform cutting using command coordinate values represented by a cutting command received from a command parsing unit, characterized in that: The control method has: a measuring step of causing the machine tool to perform on-machine measurement of the shape of the test workpiece cut in the circular shape, and obtaining measurement data representing the measured shape of the test workpiece; a dynamic correction parameter calculation step of calculating dynamic correction parameters for correcting dynamic errors caused by force and speed acting on the machine tool during cutting based on a command shape represented by the cutting command and a shape of a circle or an ellipse obtained by best fitting the shape of the test workpiece represented by the obtained measurement data with either a circle or an ellipse; The dynamic correction step corrects the dynamic error of the command coordinate value based on the calculated dynamic correction parameters. The measuring step obtains the measurement data of the hole with a radius R0 cut out of the test workpiece on the XY plane. The dynamic correction parameter calculation step is to perform the best fit of a circle on the shape of the test workpiece represented by the measurement data, and obtain the radius R of the circle. t , The dynamic correction parameter calculation step calculates the dynamic correction parameter W of the deflection of the tool included in the machine tool caused by the cutting load according to Mathematical Formula 4. t and tool diameter correction r t ', Mathematical formula 4: W t =(R0-R t ) / L t cosβ r′ t =r t -L t cosβW t Where β represents the angle between the workpiece normal direction and the cutting point load direction during workpiece processing, r t Indicates the tool diameter before correction, L t Indicates the tool length.
Citation Information
Patent Citations
Tool deflection correcting system
JP1993318283A
Machine tool having function to automatically change cutting condition
JP2016137557A
Method for auto-calibration of tool(s) in a single point turning machine used for manufacturing in particular ophtalmic lenses
CN1857861A
Machining error correcting device
JP1982114342A
Numerical controller
JP2000322115A