Numerical control device and computer-readable storage medium
The numerical control device and storage medium address errors in multi-axis machining systems by calculating and applying correction information across dependent axes, ensuring precise machining despite thermal or mechanical disruptions.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2026-03-19
AI Technical Summary
Existing error correction methods in processing machines with multiple systems fail to adequately address errors when there are dependencies between different systems, leading to incomplete correction even after individual system corrections.
A numerical control device and computer-readable storage medium that acquire relationship and state information to calculate and apply correction information across dependent control axes, correcting the position of one control axis based on the other to address errors caused by thermal or mechanical displacement.
Effectively corrects errors in machining centers by adjusting the position of dependent control axes, ensuring precise machining despite thermal or mechanical disruptions.
Smart Images

Figure JP2023034348_19032026_PF_FP_ABST
Abstract
Description
Numerical control device and computer-readable storage medium
[0001] This disclosure relates to a numerical control device and a computer-readable storage medium.
[0002] Conventionally, errors occurring in processing machines with multiple systems have been corrected (for example, Patent Document 1). The errors are, for example, errors due to thermal displacement.
[0003] Japanese Patent Publication No. 2020-62705
[0004] However, if there are dependencies between different systems, even if error correction is performed for each system individually, it may not be possible to adequately correct the errors. Therefore, there is a need for technology that can adequately correct errors even when there are dependencies between multiple systems.
[0005] The numerical control device of this disclosure is a machining center having a first control axis included in a first system and a second control axis included in a second system, and comprises: a relationship information acquisition unit that acquires relationship information indicating the dependency relationship between the first control axis and the second control axis; a state information acquisition unit that acquires state information indicating the state of the machining center; a correction information acquisition unit that acquires first correction information indicating the correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit; a correction information calculation unit that calculates second correction information indicating the correction amount for the position of the second control axis based on the relationship information acquired by the relationship information acquisition unit and the first correction information acquired by the correction information acquisition unit; and a correction unit that corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit.
[0006] The computer-readable storage medium of this disclosure stores instructions for a computer to perform the following actions in a machining center having a first control axis included in a first system and a second control axis included in a second system: acquiring relationship information indicating the dependency relationship between the first control axis and the second control axis; acquiring state information indicating the state of the machining center; acquiring first correction information indicating the amount of correction for the position of the first control axis based on the acquired state information; calculating second correction information indicating the amount of correction for the position of the second control axis based on the acquired relationship information and the acquired first correction information; and correcting the position of the second control axis based on the calculated second correction information.
[0007] This is a block diagram showing an example of the hardware configuration of a machining center. This is a block diagram showing an example of the functions of a numerical control device. This is a diagram to explain the dependencies between the systems of the machining center. This is a diagram to explain errors. This is an example of a table showing the error in the positional relationship between the spindle and the first tool. This is a flowchart showing an example of the processing performed by the numerical control device. This is a diagram to explain mechanical errors. This is an example of a table for obtaining the mechanical error of the first tilting head.
[0008] Hereinafter, a numerical control device and a computer-readable storage medium according to the embodiments of this disclosure will be described with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplication of these components may be omitted.
[0009] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on another element in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on something that has been calculated or processed. "XX" is any element (for example, any information).
[0010] The control axes include, for example, the X-axis, Y-axis, Z-axis, A-axis, B-axis, and C-axis.
[0011] The combination of arrows and characters in the drawings of this application indicates the axes in the coordinate system of the processing machine. For example, three arrows orthogonal to each other and the characters "X", "Y", and "Z" attached to each arrow indicate the X-axis, Y-axis, and Z-axis in the orthogonal coordinate system.
[0012] The numerical control device is a device that controls the processing machine. The numerical control device controls the processing machine using, for example, a system program and a processing program. The numerical control device is, for example, housed in the operation panel of the processing machine.
[0013] The processing machine is, for example, a machine tool, a three-dimensional printer, or a wire electrical discharge machining machine. The machine tool is, for example, a lathe, a machining center, and a composite machining machine.
[0014] The processing machine has a plurality of systems. A system is a collection of controlled objects controlled by one command group. One command group is, for example, a plurality of commands included in a processing program. The controlled objects include, for example, a spindle and one or more control axes.
[0015] The plurality of systems are controlled by different command groups. For example, when the processing machine has a first system and a second system, the first system and the second system are controlled using a first processing program and a second processing program, respectively. Specific examples of the systems will be described in detail later.
[0016] FIG. 1 is a block diagram showing an example of the hardware configuration of a processing machine. The processing machine 1 includes a numerical control device 2, an input / output device 3, a servo amplifier 4, a servo motor 5, a spindle amplifier 6, a spindle motor 7, and auxiliary equipment 8.
[0017] The numerical control device 2 includes, for example, a hardware processor 201, a bus 202, a ROM (Read Only Memory) 203, a RAM (Random Access Memory) 204, and a non-volatile memory 205.
[0018] The hardware processor 201 is a processor that controls the entire numerical control device 2 according to a system program. The hardware processor 201 reads out the system program stored in the ROM 203 via the bus 202. The hardware processor 201 is, for example, a CPU (Central Processing Unit) or an electronic circuit.
[0019] The bus 202 is a communication path that connects each hardware of the numerical control device 2 to each other. Each hardware of the numerical control device 2 exchanges data via the bus 202.
[0020] The ROM 203 is a storage device that stores a system program and the like. The ROM 203 is a computer-readable storage medium.
[0021] The RAM 204 is a storage device that temporarily stores various data. The RAM 204 functions as a work area for the hardware processor 201 to process various data.
[0022] The non-volatile memory [i]205[ / i] is a storage device that retains data even when the power of the numerical control device 2 is turned off. The non-volatile memory 205 stores, for example, a machining program. The non-volatile memory 205 is a computer-readable storage medium. The non-volatile memory 205 is composed of, for example, a memory backed up by a battery or an SSD (Solid State Drive).
[0023] The numerical control device 2 further includes an interface 206, an axis control circuit 207, a spindle control circuit 208, a PLC (Programmable Logic Controller) 209, and an I / O unit 210.
[0024] The interface 206 connects the bus 202 and the input / output device 3. The interface 206 sends various data processed by the hardware processor 201 to the input / output device 3, for example.
[0025] The input / output device 3 receives various data via the interface 206 and displays the various data on the display. The input / output device 3 also receives various data input and sends the various data via the interface 206 to, for example, the hardware processor 201.
[0026] The input / output device 3 is, for example, a touch panel. If the input / output device 3 is a touch panel, it is, for example, a capacitive touch panel. The touch panel is not limited to a capacitive type; it may be a touch panel of other types as well. The input / output device 3 is installed in the control panel (not shown) in which the numerical control device 2 is housed.
[0027] The axis control circuit 207 is a circuit for controlling the servo motor 5. The axis control circuit 207 receives control commands from the hardware processor 201 and sends various commands to the servo amplifier 4 to drive the servo motor 5. For example, the axis control circuit 207 sends a torque command to the servo amplifier 4 to control the torque of the servo motor 5.
[0028] The servo amplifier 4 receives a command from the axis control circuit 207 and supplies current to the servo motor 5.
[0029] The servo motor 5 is driven by a current supplied from the servo amplifier 4. The servo motors 5 are provided corresponding to each control axis of the machining center 1. If the machining center 1 is a machine tool having five axes, the servo motors 5 include, for example, a servo motor for the X axis, a servo motor for the Y axis, a servo motor for the Z axis, a servo motor for the A axis, and a servo motor for the C axis. In this case, the axis control circuit 207 and the servo amplifier 4 are provided for each servo motor 5, respectively.
[0030] The servo motor 5 is connected, for example, to a ball screw that moves the turret. When the servo motor 5 is driven, the structure of the machining center 1, such as the turret, moves along a predetermined control axis.
[0031] The servo motor 5 incorporates an encoder (not shown) that detects the position and feed rate of the control axis. Position feedback information and speed feedback information indicating the position and feed rate of the control axis detected by the encoder are fed back to the axis control circuit 207. As a result, the axis control circuit 207 performs feedback control of each control axis.
[0032] The spindle control circuit 208 is a circuit for controlling the spindle motor 7. The spindle control circuit 208 receives control commands from the hardware processor 201 and sends commands to the spindle amplifier 6 to drive the spindle motor 7. For example, the spindle control circuit 208 sends a spindle speed command to the spindle amplifier 6 to control the rotational speed of the spindle motor 7.
[0033] The spindle amplifier 6 receives commands from the spindle control circuit 208 and supplies current to the spindle motor 7.
[0034] The spindle motor 7 is driven by a current supplied from the spindle amplifier 6. The spindle motor 7 is connected to the main spindle and rotates the main spindle.
[0035] The PLC 209 is a device that executes a ladder program to control the auxiliary equipment 8. The PLC 209 sends commands to the auxiliary equipment 8 via the I / O unit 210.
[0036] [Correction based on Rule 91 21.11.2025] The I / O unit 210 is an interface that connects the PLC 209 and the auxiliary device 8. The I / O unit 210 sends commands received from the PLC 209 to the auxiliary device 8.
[0037] Auxiliary equipment 8 is installed on the machining center 1 and performs auxiliary operations on the machining center 1. Auxiliary equipment 8 operates based on commands received from the I / O unit 210. Auxiliary equipment 8 may also be equipment installed around the machining center 1. Examples of auxiliary equipment 8 include a tool changer, a cutting fluid sprayer, or an opening / closing door drive.
[0038] Figure 2 is a block diagram illustrating an example of the functions of the numerical control device 2. The numerical control device 2 controls the operation of each control axis of the machining center 1 based on the machining program. The numerical control device 2 also controls the rotation of the spindle based on the machining program. As a result, the machining center 1 performs machining on the workpiece.
[0039] The numerical control device 2 includes, for example, a relationship information acquisition unit 211, a state information acquisition unit 212, a correction information acquisition unit 213, a correction information calculation unit 214, and a correction unit 215. The relationship information acquisition unit 211, the state information acquisition unit 212, the correction information acquisition unit 213, the correction information calculation unit 214, and the correction unit 215 are realized, for example, by a hardware processor 201 performing calculation processing using a system program stored in ROM 203 and various data and processing programs stored in non-volatile memory 205.
[0040] The relationship information acquisition unit 211 acquires relationship information indicating the dependency relationship between the first control axis and the second control axis in a machining center 1 having a first control axis included in a first system and a second control axis included in a second system.
[0041] Figure 3 is a diagram illustrating the interdependencies between the systems of the machining center 1. The machining center 1 is, for example, a lathe having a first system and a second system. The first system includes a first turret TA1 and a spindle S. In other words, the first system includes a control axis that controls the position of the first turret TA1 and a control axis that controls the position of the spindle S.
[0042] The first turret TA1 moves, for example, only along the X1 axis. In other words, the first turret TA1 does not move parallel to the rotation axis RA of the spindle S. The only control axis that controls the position of the first turret TA1 is the X1 axis.
[0043] The spindle S is connected to a chuck that grips the workpiece and rotates around the rotation axis RA. In other words, the spindle S rotates the workpiece. In the first system, for example, the spindle S moves only along the Z1 axis. That is, the control axis that controls the position of the spindle S in the first system is the Z1 axis.
[0044] The second system includes a second turret TA2. In other words, the second system includes a control axis that controls the position of the second turret TA2. The second system may machine a workpiece that is rotated by the spindle S. In this case, the movement of the spindle S in the Z1 axis direction is controlled by a first machining program for controlling the first system.
[0045] The second turret TA2 moves along, for example, the X2 and Z2 axes. That is, the control axes that control the position of the second turret TA2 are the X2 and Z2 axes.
[0046] A dependency relationship is the relationship between a master and a slave among multiple control axes. In controlling the first system, the numerical control device 2 moves, for example, the main spindle S along the Z1 axis. In controlling the second system, the numerical control device 2 moves, for example, the second turret TA2 along the Z2 axis.
[0047] When the numerical control device 2 moves the second turret TA2 along the Z2 axis based on the second machining program, it moves the second turret TA2 with respect to the position of the spindle S. For example, if the spindle S has moved by ΔZ along the Z1 axis in the control of the first system, the numerical control device 2 moves the second turret TA2 along the Z2 axis to the position indicated by the value obtained by adding ΔZ to the value commanded by the second machining program.
[0048] In other words, the numerical control device 2 controls the Z2 axis according to the position of the Z1 axis. To put it another way, the Z1 axis that moves the main spindle S and the Z2 axis that moves the second turret TA2 have a master-slave relationship with each other.
[0049] In the example shown in Figure 3, the first control axis is the Z1 axis, which is the control axis of the spindle S. The second control axis is the Z2 axis, which is the control axis of the second turret TA2. The relationship information indicates that the Z1 axis, which is the control axis of the spindle S, and the Z2 axis, which is the control axis of the second turret TA2, are in a master-slave relationship with each other. The relationship information may also be a mathematical formula showing that the position of the second turret TA2 on the Z2 axis is obtained by adding the position of the spindle S on the Z1 axis and the distance between the spindle S and the second turret TA2. Now, let's return to the explanation of Figure 2.
[0050] The status information acquisition unit 212 acquires status information indicating the state of the machining center 1. The status information indicating the state of the machining center 1 is, for example, temperature information indicating the temperature of the machining center 1. The temperature of the machining center 1 may be the temperature of each of the structures that make up the machining center 1. The structures that make up the machining center 1 are, for example, the bed, ball screw, turret, headstock, and spindle S.
[0051] The state information acquisition unit 212 acquires temperature information from, for example, temperature sensors provided in various parts of the processing machine 1. The state information acquisition unit 212 may also acquire temperature information indicating the temperature inside the factory where the processing machine 1 is installed. In this case, the temperature inside the factory is considered to be the temperature of the processing machine 1.
[0052] The correction information acquisition unit 213 acquires first correction information indicating the correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit 212. The first correction information, and the second correction information described later, may be information indicating a correction amount to correct errors caused by thermal displacement of the machining center 1. In this case, the error is, for example, the difference between the position of the structure before thermal displacement occurs and the position of the structure after thermal displacement occurs. The structure is a structure that makes up the machining center 1, such as a bed, ball screw, turret, headstock, and spindle S.
[0053] Figure 4 is a diagram illustrating the error. The first tool TO1 is attached to the first turret TA1. The workpiece W is attached to the spindle S. The second tool TO2 is attached to the second turret TA2.
[0054] position P11 is the position of the cutting edge of the first tool TO1 before thermal displacement occurs. Position P 12 is the position of the cutting edge of the first tool TO1 after thermal displacement occurs. Position P 11 from position P 12 The arrow pointing towards is a vector indicating the error in the position of the first tool TO1. In other words, position P 11 from position P 12 The arrow pointing towards is a vector indicating the error in the position of the first turret TA1. The length of this vector is Δ1. That is, due to the occurrence of thermal displacement, an error of Δ1 occurs in the position of the cutting edge of the first tool TO1.
[0055] Position P S1 is the position of the end face of the workpiece W before thermal displacement occurs. Position P S2 is the position of the end face of the workpiece W after thermal displacement occurs. Position P S1 from position P S2 The arrow pointing towards is a vector indicating the error in the position of the end face of the workpiece W. In other words, position P S1 from position P S2 The arrow pointing towards is a vector indicating the error in the position of the spindle S. The length of this vector is ΔS. That is, due to the occurrence of thermal displacement, an error of ΔS occurs in the position of the end face of the workpiece W.
[0056] Position P 21 is the position of the cutting edge of the second tool TO2 before thermal displacement occurs. Position P 22 is the position of the cutting edge of the second tool TO2 after thermal displacement occurs. Position P 21 from position P 22 The arrow pointing towards is a vector indicating the error in the position of the second tool TO2. In other words, position P 21 from position P 22 The arrow pointing towards is a vector indicating the error in the position of the second turret TA2. The length of this vector is Δ2. That is, due to the occurrence of thermal displacement, an error of Δ2 occurs in the position of the cutting edge of the second tool TO2.
[0057] The correction information acquisition unit 213 acquires the correction amount for each control axis using, for example, a table or formula that associates state information with the amount of error. When using a formula, the correction information acquisition unit 213 may calculate the correction amount for each control axis from the state information and the formula at the time of processing. The table or formula that associates state information with the amount of error is provided, for example, for each combination of structures that make up the processing machine 1.
[0058] Figure 5 is an example of a table showing the positional error between the spindle S and the first tool TO1. For example, when the temperature of the machine 1 is T1 [°C], an error of E1 [mm] occurs in the positional relationship between the spindle S and the first tool TO1 along the Z1 axis. In other words, when the temperature of the machine 1 is T1 [°C], the spindle S and the first tool TO1 are displaced along the Z1 axis, and the difference between the displacement of the spindle S and the displacement of the first tool TO1 is E1 [mm]. Also, when the temperature of the machine 1 is T2 [°C], an error of E2 [mm] occurs in the positional relationship between the spindle S and the first tool TO1 along the Z1 axis. In other words, when the temperature of the machine 1 is T2 [°C], the spindle S and the first tool TO1 are displaced along the Z1 axis, and the difference between the displacement of the spindle S and the displacement of the first tool TO1 is E2 [mm].
[0059] The table or formula may be created, for example, based on data showing the relationship between temperature and the error caused by thermal displacement, which is obtained experimentally beforehand. The formula may be created, for example, using machine learning techniques. The temperature may be the temperature of two or more locations on the processing machine 1. The temperature may be the temperature at two or more points in time on the time axis. In other words, the table may be a multidimensional table showing the relationship between multiple state information and the amount of error. In other words, the formula may be a multivariable function with multiple state information as variables. The table or formula may be stored, for example, in a memory unit (not shown). Now, the acquisition of the first correction information will be explained using Figure 4.
[0060] Vector P S1 P 11 This shows the positional relationship between the end face of the workpiece W and the cutting edge of the first tool TO1 before thermal displacement occurs. The position P of the cutting edge of the first tool TO1 after thermal displacement. 11and position P on the end face of the workpiece W S1 These are, respectively, position P 12 and position P S2 When the displacement is as follows, the difference between the two is Δ1-ΔS=+Z d1 Therefore, in order to maintain the positional relationship between the end face of the workpiece W and the cutting edge of the first tool TO1 before thermal displacement occurs, the spindle S must be moved along the Z1 axis +Z d1 It is only necessary to move it by +Z. In other words, the correction information acquisition unit 213 adjusts the correction amount of the Z1 axis that controls the spindle S based on a table that records the error in the positional relationship between the spindle S and the first tool TO1, by +Z d1 This is the decision. In other words, the first correction information is +Z d1 That is the case.
[0061] The correction information calculation unit 214 calculates second correction information indicating the correction amount for the position of the second control axis, based on the relational information acquired by the relational information acquisition unit 211 and the first correction information acquired by the correction information acquisition unit 213. Here, the calculation of the second correction information will be explained again using Figure 4.
[0062] Vector P S1 P 21 This shows the positional relationship between the end face of the workpiece W and the cutting edge of the second tool TO2 before thermal displacement occurs. As described above, the position P of the spindle S changes due to thermal displacement. S1 is position P S2 It moves to [location]. Also, the position P of the cutting edge of the second tool TO2 changes due to thermal displacement. 21 is position P 22 Move to the position indicated by the first correction information, which is +Z. d1 If only position P is not corrected, S2 and position P 22 The difference is ΔS - Δ2 = -Z d2 Therefore, in order to maintain the positional relationship between the end face of the workpiece W and the cutting edge of the second tool TO2 before thermal displacement occurs, the second turret TA2 must be moved along the Z2 axis -Z d2 It only needs to be moved by -Z. In other words, the correction information acquisition unit 213, based on a table that records the error in the positional relationship between the second tool TO2 and the spindle S, determines the correction amount for the second control axis, the Z2 axis, if the position of the spindle S is not corrected, and sets it to -Z. d2We have decided on this.
[0063] However, the position of the main axis S is +Z as indicated by the first correction information. d1 Only the Z1 axis is corrected. Therefore, in order to maintain the positional relationship between the end face of the workpiece W and the cutting edge of the second tool TO2 before thermal displacement occurs, the second turret TA2 is moved along the Z2 axis -Z d2 + Z d1 It is only necessary to move it. That is, the correction information calculation unit 214 calculates relationship information indicating that the Z1 axis and the Z2 axis are in a master-slave relationship with each other, and the +Z indicated by the first correction information. d1 Based on this, -Z is a second correction information indicating the correction amount for the position of the second control axis. d2 + Z d1 Calculate.
[0064] The correction unit 215 corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit 214. The correction unit 215 corrects the position of the second control axis by operating the second control axis. The correction information calculation unit 214 calculates -Z as the second control information. d2 + Z d1 If this is calculated, the correction unit 215 adjusts the second turret TA2 along the Z2 axis to -Z d2 + Z d1 It moves only that much. This allows the numerical control device 2 to correct the error that occurred in the processing machine 1.
[0065] The correction unit 215 may correct the position of the second control axis by rewriting the coordinate values of the second control axis. For example, the correction information calculation unit 214 may use -Z as the second correction information. d2 + Z d1 Even if this is calculated, the second turret TA2 is moved along the Z2 axis -Z in order for the Z2 axis to reach its stroke limit. d2 + Z d1 In some cases, it may not be possible to move only that much. In this case, the correction unit 215 subtracts -Z from the coordinate value of the Z2 axis. d2 + Z d1 Subtract the value. This allows the numerical control device 2 to correct the error generated by the processing machine 1.
[0066] Figure 6 is a flowchart showing an example of the processing performed by the numerical control device 2. First, the relationship information acquisition unit 211 in the numerical control device 2 acquires relationship information indicating the dependency relationship between the first control axis and the second control axis (step S1).
[0067] Next, the state information acquisition unit 212 acquires state information indicating the state of the processing machine 1 (step S2). Next, the correction information acquisition unit 213 acquires first correction information indicating the correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit 212 (step S3).
[0068] Next, the correction information calculation unit 214 calculates second correction information indicating the correction amount for the position of the second control axis based on the relational information acquired by the relational information acquisition unit 211 and the first correction information acquired by the correction information acquisition unit 213 (step S4).
[0069] Next, the correction unit 215 corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit 214 (step S5), and the processing in the numerical control device 2 is completed. After the error correction, or in parallel with the error correction, the numerical control device 2 controls the machining machine 1 based on the machining program and performs machining on the workpiece W.
[0070] In the embodiment described above, the first and second correction information are described as information indicating a correction amount to correct errors caused by thermal displacement of the processing machine 1. However, the first and second correction information may also be information indicating a correction amount to correct mechanical errors of the processing machine 1. Mechanical errors are errors that occur when each structure moves along a control axis or when each structure rotates around a rotation axis RA. In other words, mechanical errors are the difference between the position indicated by a command and the actual position of a structure when the structure operates based on a command in a processing program.
[0071] Figure 7 is a diagram illustrating mechanical errors. The machining center 1 in which mechanical errors occur is, for example, a multi-tasking machine 11 having an inclined head.
[0072] The multi-tasking machine 11 has, for example, a first system and a second system. The first system includes a first inclined head AH1 and a spindle S.
[0073] The first tilting head AH1 moves, for example, along the X1 axis. The first tilting head AH1 also rotates around C1. That is, the control axes for controlling the first tilting head AH1 are the X1 axis and the C1 axis.
[0074] The spindle S is connected to a chuck that grips the workpiece W and rotates around the rotation axis RA. In other words, the spindle S rotates the workpiece W. In the first system, for example, the spindle S moves only along the Z1 axis. That is, in the first system, the only control axis that controls the position of the spindle S is the Z1 axis.
[0075] The second system includes a second inclined head AH2. The second system may machine a workpiece that is rotated by the spindle S. In this case, the movement of the spindle S in the Z1 axis direction is controlled by a first machining program for controlling the first system.
[0076] The second tilting head AH2 moves along, for example, the X2 axis and the Z2 axis. That is, the control axes that control the position of the second tilting head AH2 are the X2 axis and the Z2 axis.
[0077] In the example shown in Figure 7, the numerical control device 2 moves the main spindle S along the Z1 axis and rotates the first tilting head AH1 around the C1 axis in the control of the first system.
[0078] When the numerical control device 2 moves the second tilt head AH2 along the Z2 axis in the control of the second system, it moves the second tilt head AH2 with the position of the spindle S as the reference. Therefore, when the spindle S is moving in the control of the first system, the numerical control device 2 needs to move the second tilt head AH2 with the position of the moved spindle S as the reference. In other words, the spindle S and the second tilt head AH2 have a master-slave relationship with each other. In the example shown in Figure 7, the Z1 axis, which is the control axis of the spindle S, corresponds to the first control axis. Also, the Z2 axis, which is the control axis of the second tilt head AH2, corresponds to the second control axis.
[0079] The relationship information acquisition unit 211 acquires relationship information indicating the dependency relationship between the main spindle S and the second tilting head AH2.
[0080] The status information acquisition unit 212 acquires status information indicating the status of the processing machine 1. The status information indicating the status of the processing machine 1 is, for example, angle information indicating the inclination angle of the first inclined head AH1.
[0081] The state information acquisition unit 212 acquires angle information from, for example, an encoder attached to the rotation axis RA of the first tilt head AH1.
[0082] The correction information acquisition unit 213 acquires first correction information indicating the amount of correction for the position of the main spindle S, based on the state information acquired by the state information acquisition unit 212.
[0083] When the first tilting head AH1 is rotated around the C1 axis, the ideal position of the tip of the tool T can be determined from the rotation angle of the first tilting head AH1 around the C1 axis and the distance between the center of the C1 axis and the tip of the tool T. However, if a mechanical error occurs when the first tilting head AH1 is rotated, the tip position of the tool T will deviate from the ideal position by, for example, +ΔZ along the Z1 axis. In this case, the position of the spindle S needs to be corrected by +ΔZ along the Z1 axis. That is, the correction information acquisition unit 213 acquires +ΔZ as the first correction information.
[0084] The correction information acquisition unit 213 acquires first correction information, for example, using a table in which state information and error amounts are associated.
[0085] Figure 8 shows an example of a table for obtaining the mechanical error of the first tilting head AH1. For example, if the first tilting head AH1 rotates by A1°, the position of the tip of the tool T shifts by E11 [mm] along the Z1 axis from the ideal position. Also, if the first tilting head AH1 rotates by A2°, the position of the tip of the tool T shifts by E12 [mm] along the Z1 axis from the ideal position.
[0086] The table may be created, for example, based on data showing the relationship between the rotation angle obtained experimentally and the mechanical error of the first tilting head AH1. The table may be stored, for example, in a memory unit (not shown).
[0087] The correction information calculation unit 214 calculates second correction information indicating the correction amount for the position of the second control axis, based on the relational information acquired by the relational information acquisition unit 211 and the first correction information acquired by the correction information acquisition unit 213. Here, the calculation of the second correction information will be explained using Figure 7.
[0088] If the position of the tip of the tool T is shifted by +ΔZ along the Z1 axis due to a mechanical error, the spindle S needs to be moved by +ΔZ along the Z1 axis to correct the mechanical error. In other words, the correction information acquisition unit 213 acquires +ΔZ as the first correction information.
[0089] Furthermore, if the correction information acquisition unit 213 acquires +ΔZ as the first correction information, in order to maintain the positional relationship between the spindle S and the second tilting head AH2 in the same positional relationship as the spindle S before correction, the second tilting head AH2 needs to be moved by +ΔZ along the Z2 axis. In other words, the correction information calculation unit 214 calculates +ΔZ as the second correction information.
[0090] The correction unit 215 corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit 214. If the correction information calculation unit 214 calculates +ΔZ as the second correction information, the correction unit 215 moves the second tilting head AH2 along the Z2 axis by +ΔZ. This allows the numerical control device 2 to correct errors that occurred in the machining center 1.
[0091] The correction unit 215 may correct the position of the second control axis by rewriting the coordinate values of the second control axis. Even if the correction information calculation unit 214 calculates +ΔZ as the second correction information, the Z2 axis that controls the second tilting head AH2 may reach its stroke limit, making it impossible to move the second tilting head AH2 along the Z2 axis by +ΔZ. In this case, the correction unit 215 subtracts ΔZ from the coordinate values of the Z2 axis. This allows the numerical control device 2 to correct errors that occurred in the machining center 1.
[0092] As described above, the machining center 1 has a first control axis included in a first system and a second control axis included in a second system, and includes: a relationship information acquisition unit 211 that acquires relationship information indicating the dependency relationship between the first control axis and the second control axis; a state information acquisition unit 212 that acquires state information indicating the state of the machining center 1; a correction information acquisition unit 213 that acquires first correction information indicating the correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit 212; a correction information calculation unit 214 that calculates second correction information indicating the correction amount for the position of the second control axis based on the relationship information acquired by the relationship information acquisition unit 211 and the first correction information acquired by the correction information acquisition unit 213; and a correction unit 215 that corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit 214.
[0093] Therefore, the numerical control device 2 can appropriately correct errors in the machining center 1, where there are dependencies between multiple systems.
[0094] Furthermore, the correction unit 215 corrects the position of the second control axis by operating the second control axis. This allows the numerical control device 2 to effectively correct errors that occur in the machining equipment 1.
[0095] Alternatively, the correction unit 215 corrects the position of the second control axis by rewriting the coordinate values of the second control axis. Therefore, the numerical control device 2 can correct errors that occur in the machining center 1 even when the second control axis has reached its stroke limit.
[0096] Furthermore, the first and second correction information are information indicating the amount of correction used to correct errors caused by thermal displacement of the processing machine 1. Therefore, the numerical control device 2 can effectively correct errors caused by thermal displacement in the processing machine 1.
[0097] Alternatively, the first and second correction information are information indicating the amount of correction used to correct the mechanical error of the processing machine 1. Therefore, the numerical control device 2 can effectively correct the mechanical error that occurs in the processing machine 1.
[0098] While the present disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of the present disclosure, or from the gist of the present disclosure derived from the claims and their equivalents. These embodiments can also be implemented in combination. For example, a third control axis may be added to the embodiment, and there may be dependencies between the first, second, and third control axes. Alternatively, a third and fourth control axis may be added to the embodiment, resulting in two sets of dependencies: one between the first and second control axes, and another between the third and fourth control axes.
[0099] The following are appendices to embodiments of the present disclosure. Appendix [1] A numerical control device comprising: a relationship information acquisition unit that acquires relationship information indicating the dependency relationship between the first control axis and the second control axis in a machining center having a first control axis included in a first system and a second control axis included in a second system; a state information acquisition unit that acquires state information indicating the state of the machining center; a correction information acquisition unit that acquires first correction information indicating a correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit; a correction information calculation unit that calculates second correction information indicating a correction amount for the position of the second control axis based on the relationship information acquired by the relationship information acquisition unit and the first correction information acquired by the correction information acquisition unit; and a correction unit that corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit. Appendix [2] The numerical control device according to Appendix [1], wherein the correction unit corrects the position of the second control axis by operating the second control axis. Note [3] The numerical control device described in Note [1], wherein the correction unit corrects the position of the second control axis by rewriting the coordinate values of the second control axis. Note [4] The numerical control device described in any of Notes [1] to [3], wherein the first correction information and the second correction information are information indicating a correction amount for correcting errors caused by thermal displacement of the processing machine. Note [5] The numerical control device described in any of Notes [1] to [3], wherein the first correction information and the second correction information are information indicating a correction amount for correcting mechanical errors of the processing machine.[6] A computer-readable storage medium that stores instructions for a computer to execute the following in a machining center having a first control axis included in a first system and a second control axis included in a second system: acquiring relational information indicating the dependency relationship between the first control axis and the second control axis; acquiring state information indicating the state of the machining center; acquiring first correction information indicating the amount of correction for the position of the first control axis based on the acquired state information; calculating second correction information indicating the amount of correction for the position of the second control axis based on the acquired relational information and the acquired first correction information; and correcting the position of the second control axis based on the calculated second correction information.
[0100] 1. Machining machine 11. Multi-tasking machine 2. Numerical control device 201. Hardware processor 202. Bus 203. ROM 204. RAM 205. Non-volatile memory 206. Interface 207. Axis control circuit 208. Spindle control circuit 209. PLC 210. I / O unit 211. Relationship information acquisition unit 212. Status information acquisition unit 213. Correction information acquisition unit 214. Correction information calculation unit 215. Correction unit 3. Input / output device 4. Servo amplifier 5. Servo motor 6. Spindle amplifier 7. Spindle motor 8. Auxiliary equipment
Claims
1. A numerical control device for a machining center having a first control axis included in a first system and a second control axis included in a second system, comprising: a relationship information acquisition unit that acquires relationship information indicating the dependency relationship between the first control axis and the second control axis; a state information acquisition unit that acquires state information indicating the state of the machining center; a correction information acquisition unit that acquires first correction information indicating a correction amount for the position of the first control axis based on the state information acquired by the state information acquisition unit; a correction information calculation unit that calculates second correction information indicating a correction amount for the position of the second control axis based on the relationship information acquired by the relationship information acquisition unit and the first correction information acquired by the correction information acquisition unit; and a correction unit that corrects the position of the second control axis based on the second correction information calculated by the correction information calculation unit.
2. The numerical control device according to claim 1, wherein the correction unit corrects the position of the second control axis by operating the second control axis.
3. The numerical control device according to claim 1, wherein the correction unit corrects the position of the second control axis by rewriting the coordinate values of the second control axis.
4. The numerical control device according to any one of claims 1 to 3, wherein the first correction information and the second correction information are information indicating a correction amount for correcting errors caused by thermal displacement of the processing machine.
5. The numerical control device according to any one of claims 1 to 3, wherein the first correction information and the second correction information are information indicating a correction amount for correcting the mechanical error of the processing machine.
6. A computer-readable storage medium that stores instructions for a computer to execute the following in a machining center having a first control axis included in a first system and a second control axis included in a second system: acquiring relationship information indicating the dependency relationship between the first control axis and the second control axis; acquiring state information indicating the state of the machining center; acquiring first correction information indicating the amount of correction for the position of the first control axis based on the acquired state information; calculating second correction information indicating the amount of correction for the position of the second control axis based on the acquired relationship information and the acquired first correction information; and correcting the position of the second control axis based on the calculated second correction information.