Control device, control method, and computer program

The control device optimizes position measurement frequency and reference value updates based on elapsed time and measurement results, addressing the trade-off between productivity and accuracy in machine tools by balancing measurement frequency.

JP2026042550APending Publication Date: 2026-03-11BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-27
Publication Date
2026-03-11

AI Technical Summary

Technical Problem

Existing machine tools face a trade-off between productivity and machining accuracy due to the need for frequent position measurements to correct thermal displacement, which reduces productivity when performed too frequently and accuracy when performed too infrequently.

Method used

A control device that determines whether to perform position measurements and update reference values based on elapsed time and measurement results, optimizing the frequency of these actions to balance productivity and accuracy.

Benefits of technology

The solution achieves improved productivity and machining accuracy by selectively performing position measurements and updating reference values, preventing excessive frequency or infrequency of these actions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026042550000001_ABST
    Figure 2026042550000001_ABST
Patent Text Reader

Abstract

A control device, a control method, and a computer program are provided that can improve both productivity and machining accuracy. [Solution] The control device 3 disclosed herein is a control device 3 that controls the operation of a machine tool 1 that has a spindle 161 to which a tool 21 for machining a workpiece 22 can be attached and detached, and a support part (table 13) that supports the workpiece 22, and is equipped with a reference value memory unit 322 that stores a reference value td, and a control unit 33, and the control unit 33 determines whether or not to measure the position of the spindle 161 or the support part using the reference value td stored in the reference value memory unit 322, and if it is determined that the measurement should be performed, it performs the measurement and calculates a variable (correction value r) to be used when controlling the operation of the machine tool 1 based on the result of the measurement, and after performing the measurement, it determines whether or not to update the reference value td, and if it is determined that the reference value td should be updated, it calculates the reference value td and stores the calculation result in the reference value memory unit 322.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a control device, a control method, and a computer program. [Background technology]

[0002] A machine tool may have a spindle, a support, and a drive. A tool can be attached to or detached from the spindle. The support supports a workpiece. The drive drives the spindle or the support so that the support moves relative to the spindle. The tool attached to the spindle machines the workpiece supported by the support.

[0003] Thermal displacement can occur in the components that make up a machine tool. In order to eliminate the adverse effects of thermal displacement in the machine tool and improve machining accuracy, it is necessary to periodically correct the drive amount of the drive unit. The control unit measures the position of the spindle or support unit, and calculates a correction value for the drive amount of the drive unit based on the measurement results. For example, Patent Document 1 mentions this type of control device. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2021-160004 Summary of the Invention [Problem to be solved by the invention]

[0005] Although it is necessary to measure the position of the spindle or support part to calculate the correction value, the measurement itself does not directly contribute to the machining of the workpiece, so the more frequently the measurement is performed, the lower the productivity. One idea is to reduce the frequency of measurement in order to improve productivity, but if the frequency of measurement is too low, it is not possible to improve machining accuracy.

[0006] An object of the present disclosure is to provide a control device, a control method, and a computer program that can achieve both improved productivity and improved machining accuracy. [Means for solving the problem]

[0007] The control device according to the present disclosure is a control device that controls the operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and a support part that supports the workpiece, and is equipped with a reference value memory part that stores a reference value, and a control part, wherein the control part uses the reference value stored in the reference value memory part to determine whether or not to measure the position of the spindle or the support part, and if it is determined that the measurement should be performed, performs the measurement and calculates variables to be used when controlling the operation of the machine tool based on the results of the measurement, and after performing the measurement, determines whether or not to update the reference value, and if it is determined that the reference value should be updated, calculates the reference value and stores the calculation result in the reference value memory part.

[0008] In the present disclosure, a machine tool includes a spindle and a support portion. A tool for machining a workpiece can be attached to and detached from the spindle. The support portion supports the workpiece. The machine tool uses the tool attached to the spindle to machine the workpiece supported by the support portion. The control device includes a reference value storage unit and a control unit, and controls the operation of the machine tool. The reference value storage unit stores the reference value. Hereinafter, measurement of the position of the main shaft or support part will be referred to as position measurement.

[0009] The control unit uses the reference value stored in the reference value storage unit to determine whether or not to perform position measurement. If it is determined that position measurement is not to be performed, the control unit does not perform position measurement, so that the frequency of performing position measurement decreases, and productivity improves.

[0010] When it is determined that position measurement should be performed, the control unit performs the position measurement and calculates variables to be used when controlling the operation of the machine tool based on the results of the position measurement. By calculating variables based on the results of the position measurement, the actual state of the machine tool (for example, the state of thermal displacement) can be reflected in the calculated variables. The control unit controls the operation of the machine tool using the calculated variables, thereby improving machining accuracy.

[0011] After performing the position measurement, the control unit determines whether to update the reference value. When it is determined that the reference value should be updated, the control unit calculates the reference value and stores the calculation result in the reference value storage unit. Since the control unit appropriately updates the reference value, the reference value, which is the criterion for determining whether or not to perform position measurement, is not constant. On the other hand, if it is determined that the reference value should not be updated, the control unit does not update the reference value. Therefore, the control unit does not update the reference value unnecessarily, and the load on the control unit is light. By switching between updating and not updating the reference value, it is possible to prevent the reference value from being too small, causing the position measurement to be performed too frequently, or the reference value from being too large, causing the position measurement to be performed too infrequently, thereby achieving both improved productivity and improved machining accuracy.

[0012] In the control device of the present disclosure, when the control unit determines whether to update the reference value, it determines whether to update the reference value based on the result of comparing the elapsed time since the reference value was last updated with a predetermined value.

[0013] In the present disclosure, the control unit determines whether to update the reference value based on the result of comparing the elapsed time with a predetermined value, where the elapsed time is the time elapsed since the reference value was last updated. It is easy to measure (or calculate) the elapsed time. It is also easy to compare the elapsed time with a reference value. Therefore, the burden on the control unit is light.

[0014] If the elapsed time is long, it means that a long time has passed since the reference value was updated, and therefore, for example, the state of thermal displacement in the machine tool may have changed significantly. Therefore, it is meaningful to update the reference value. If the elapsed time is short, the reference value has just been updated, so updating the reference value again may be pointless. Also, for example, when calculating a reference value based on a history of measured values ​​of physical quantities related to a machine tool, if the measurement interval is too short, there is a risk that the calculation result of the reference value will be inappropriate due to the adverse effect of measurement errors contained in each measured value.

[0015] In the control device of the present disclosure, when the control unit calculates the reference value, it calculates the reference value based on the result of the measurement the last time the reference value was updated and the result of the current measurement.

[0016] In the present disclosure, in order to update the reference value, the control unit calculates the reference value based on the results of two position measurements. By calculating the reference value based on the results of two position measurements, the actual state of the machine tool (e.g., the state of thermal displacement) can be reflected in the calculation result. The results of the two position measurements are the result of the position measurement when the reference value was last updated and the result of the current position measurement.

[0017] In the control device according to the present disclosure, when the control unit receives a measurement command to perform the measurement, or when the machine tool has been started up or a predetermined time has elapsed between the time the machine tool stopped operating and the time it restarted operating, the control unit performs the measurement without determining whether to perform the measurement, and initializes the reference value stored in the reference value memory unit without determining whether to update the reference value, and when a new measurement command is received after the reference value has been initialized, the control unit determines whether to perform the measurement, and if it determines that the measurement should be performed, performs the measurement, and after the measurement has been performed, determines whether to update the reference value based on a comparison result between the elapsed time since the reference value was initialized and the predetermined value, and if it determines that the reference value should be updated, calculates the reference value based on the result of the measurement when the reference value was initialized and the result of the current measurement.

[0018] In the present disclosure, a control unit receives a measurement command for executing position measurement. The control unit controls the operation of a machine tool in accordance with a machining program including the measurement command, and receives the measurement command by reading the measurement command included in the machining program.

[0019] When a machine tool is started, there is no reference value that reflects the actual state of the machine tool. Therefore, after starting up the machine tool, when the control unit receives a measurement command, it executes position measurement without determining whether or not to execute position measurement. Also, the control unit initializes the reference value stored in the reference value storage unit without determining whether or not to update the reference value. Note that the initialized reference value is preferably a value that the control unit always determines to execute position measurement when determining whether or not to execute position measurement.

[0020] When a new measurement command is received after the reference value is initialized, the control unit determines whether to execute position measurement. If it determines to execute position measurement, the control unit executes the position measurement. After executing the position measurement, the control unit determines whether to update the reference value based on the result of comparing the elapsed time since the reference value was initialized with a predetermined value.

[0021] If it is determined that the reference value should be updated, the control unit calculates the reference value based on the result of the position measurement when the reference value was initialized and the result of the current position measurement. In other words, by calculating the reference value based on the results of two position measurements after starting the machine tool, the actual state of the machine tool can be reflected in the calculation result.

[0022] On the other hand, if a predetermined time has passed between the shutdown and restart of the machine tool, the long time has passed, and there is a high possibility that the actual state of the machine tool (for example, temperature) before the shutdown will differ from that after the restart. In this case, there is a high possibility that the reference value, which is the calculation result before the shutdown, will not reflect the actual state of the machine tool after the restart. Therefore, after a predetermined time has elapsed since the machine tool stopped operating, the control unit, upon receiving a measurement command, executes position measurement without determining whether to execute position measurement, just as it does after the machine tool is started. Also, the control unit initializes the reference value stored in the reference value storage unit without determining whether to update the reference value.

[0023] After initializing the reference value, the control unit calculates the reference value based on the results of two position measurements performed after the machine tool operation is restarted. When calculating the reference value, the results of position measurements performed before the machine tool operation is stopped are not used, so the calculation result can reflect the actual state of the machine tool.

[0024] The control method disclosed herein is a method for controlling the operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and a support part that supports the workpiece, and the method uses a reference value to determine whether or not to measure the position of the spindle or the support part, and if it is determined that the measurement should be performed, the measurement is performed, and based on the results of the measurement, variables to be used when controlling the operation of the machine tool are calculated, and after the measurement is performed, it is determined whether or not to update the reference value, and if it is determined that the reference value should be updated, the reference value is updated.

[0025] In the present disclosure, by switching between updating and not updating the reference value used when determining whether to perform position measurement, it is possible to prevent the reference value from being too small, resulting in an excessively high frequency of position measurement, and the reference value from being too large, resulting in an excessively low frequency of position measurement, thereby achieving both improved productivity and improved machining accuracy.

[0026] The computer program according to the present disclosure is a computer program for controlling the operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and detached, and a support part that supports the workpiece, and causes a computer to execute the following processes: determine whether or not to measure the position of the spindle or the support part using a reference value stored in a reference value memory part that stores the reference value; if it is determined that the measurement should be performed, perform the measurement; calculate variables to be used when controlling the operation of the machine tool based on the results of the measurement; after performing the measurement, determine whether or not to update the reference value; if it is determined that the reference value should be updated, calculate the reference value and store the calculation result in the reference value memory part.

[0027] In the present disclosure, the control method according to the present disclosure can be realized in software using the hardware elements of a computer. A computer-readable recording medium storing the above-mentioned computer program (program product) is also novel and useful. [Effects of the Invention]

[0028] According to the control device, control method, and computer program of the present disclosure, it is possible to achieve both improved productivity and improved machining accuracy. [Brief explanation of the drawings]

[0029] [Figure 1] 1 is a schematic perspective view of a machine tool equipped with a control device according to an embodiment; [Figure 2] FIG. 2 is a block diagram showing the configuration of a main part of a control device. [Figure 3] FIG. 10 is a schematic diagram of an X-axis direction movement mechanism. [Figure 4] FIG. 2 is a schematic diagram for explaining measurement of the position of a measurement object. [Figure 5] 10 is a flowchart showing the procedure of a machining program execution process executed by the control device. [Figure 6] 10 is a flowchart showing the procedure of a machining program execution process executed by the control device. [Figure 7] 10 is a flowchart showing the procedure of a measurement necessity determination process executed by the control device. [Figure 8] 10 is a flowchart showing the procedure of a reference value update process executed by the control device. [Figure 9] 10 is a flowchart showing the procedure of a reference value update process executed by the control device. DETAILED DESCRIPTION OF THE INVENTION

[0030] Hereinafter, embodiments of the present disclosure will be described. In the following description, up / down, front / back, and left / right indicated by arrows in the drawings will be used. The up / down, left / right, front / back directions shown in the drawings are shown merely to facilitate the description, and the directions are not limited to these.

[0031] FIG. 1 is a schematic perspective view of a machine tool 1 equipped with a control device 3 according to an embodiment. The machine tool 1 comprises a base 11, a pillar 12, and a table 13. The base 11 is placed on the floor. The pillar 12 extends upward from the rear side of the upper part of the base 11. The table 13 is located on the front side of the upper part of the base 11. The table 13 is a support part that supports a workpiece 22.

[0032] The machine tool 1 is equipped with a Y-axis direction moving mechanism 14 and an X-axis direction moving mechanism 15. The base 11 supports the Y-axis direction moving mechanism 14. The Y-axis direction moving mechanism 14 supports the X-axis direction moving mechanism 15 so that it can move in the Y-axis direction (front-back direction). The X-axis direction moving mechanism 15 supports the table 13 so that it can move in the X-axis direction (left-right direction). The Y-axis direction moving mechanism 14 and the X-axis direction moving mechanism 15 allow the table 13 to move in the Y-axis direction and the X-axis direction. The table 13 does not move in the Z-axis direction.

[0033] The machine tool 1 is equipped with a spindle head 16 and a Z-axis direction movement mechanism 17. The spindle head 16 is located in front of the upright pillar 12 and above the table 13. The upright pillar 12 supports the Z-axis direction movement mechanism 17. The Z-axis direction movement mechanism 17 supports the spindle head 16 so that it can move in the Z-axis direction (up and down). The spindle head 16 can be moved in the Z-axis direction by the Z-axis direction movement mechanism 17. The spindle head 16 does not move in the Y-axis or X-axis directions. However, the present invention is not limited to this configuration, and for example, the table 13 may move in the X-axis direction, and the spindle head 16 may move in the Y-axis direction and the Z-axis direction.

[0034] The machine tool 1 is equipped with a control device 3. The control device 3 is provided on the rear surface of the upright pillar 12. FIG. 2 is a block diagram showing the configuration of the main part of the control device 3. The control device 3 is a computer, and includes a main memory unit 31, an auxiliary memory unit 32, a control unit 33, a first timer 34, a second timer 35, and a clock 36. The main memory unit 31 is volatile and is, for example, a RAM (Random Access Memory). The auxiliary storage unit 32 is nonvolatile and includes a ROM (Read Only Memory), a flash memory, a hard disk, an SSD (Solid State Drive), or the like.

[0035] The auxiliary memory unit 32 stores a program 37 (computer program) and various data (variables, constants, etc.) required for executing the program 37. The program 37 stored in the main memory unit 31 may be installed from a recording medium 20 such as an optical disk, flash memory, or magnetic disk, or may be installed from a server via a network. The program 37 includes a control program for the machine tool 1 created by the manufacturer of the machine tool 1, and a machining program 371 for the workpiece 22 created by the user of the machine tool 1. The control program for the machine tool 1 includes programs for realizing the control method according to the present disclosure. The machining program 371 contains a plurality of commands for the control device 3 arranged in the order in which they should be executed.

[0036] The constants stored in the auxiliary storage unit 32 include constants Ta, Tb, Tc, and Td, which will be described later. The auxiliary storage unit 32 may store default constants Ta, Tb, Tc, and Td, or constants Ta, Tb, Tc, and Td that are arbitrarily set by the user.

[0037] The control unit 33 includes one or more processors such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit). The control unit 33 uses the main memory unit 31 as a working area and executes various types of arithmetic processing and control processing in accordance with a program 37 stored in the auxiliary memory unit 32. The control unit 33 may include a logic circuit (for example, an FPGA). Note that multiple processes may be executed by one processor included in the control unit 33, or may be executed in a distributed manner by multiple processors included in the control unit 33. There may be separate processors that execute one process and processors that execute other processes.

[0038] When the first timer 34 and the second timer 35 are turned on, they continue to measure time until they are turned off. The control unit 33 controls the on and off states of the first timer 34 and the second timer 35. The clock 36 outputs the current time. The Y-axis direction movement mechanism 14 includes a Y-axis motor 141. When the Y-axis motor 141 rotates forward or backward, the table 13 moves in the Y-axis direction. The X-axis direction movement mechanism 15 includes an X-axis motor 151. When the X-axis motor 151 rotates forward or backward, the table 13 moves in the X-axis direction. The Z-axis direction moving mechanism 17 includes a Z-axis motor 171. When the Z-axis motor 171 rotates forward or backward, the spindle head 16 moves in the Z-axis direction.

[0039] The spindle head 16 and the table 13 move relative to each other in the Y-axis direction, the X-axis direction, and the Z-axis direction by driving the Y-axis motor 141, the X-axis motor 151, and the Z-axis motor 171. Hereinafter, when there is no need to distinguish between the Y-axis motor 141, the X-axis motor 151, and the Z-axis motor 171, they will be referred to as drive units. The control unit 33 controls the operation of each drive unit. The spindle head 16 is equipped with a spindle 161 and a spindle motor 162. The spindle 161 is located at the bottom of the spindle head 16. The spindle motor 162 is located at the top of the spindle head 16 (see FIG. 1). As the spindle head 16 moves, the spindle 161 and the spindle motor 162 also move.

[0040] The axial direction of the spindle 161 extends vertically. A tool 21 can be attached to and detached from the spindle 161. The spindle 161 rotates around its axis when driven by a spindle motor 162. The tool 21 attached to the spindle 161 rotates together with the spindle 161. The control unit 33 controls the operation of the spindle motor 162. The tools 21 include those for milling, drilling, measuring, etc. When a machining tool 21 is attached to the spindle 161, the rotating tool 21 machines the workpiece 22 supported by the table 13.

[0041] Control unit 33 accepts each command by sequentially reading the commands included in machining program 371. When control unit 33 executes a command, machine tool 1 performs the operation corresponding to the command. On the other hand, when control unit 33 omits a command, machine tool 1 does not perform the operation corresponding to the command. The commands contained in the machining program 371 include a machining command, a start command, an end command, a movement command, and a measurement command. The control unit 33 that executes the machining commands controls the operation of the machine tool 1, thereby realizing machining of the workpiece 22. The start command is a command that indicates the start of execution of the machining program 371. The end command is a command that indicates the end of execution of the machining program 371.

[0042] The machine tool 1 is equipped with a tool changer 4. The tool changer 4 is equipped with a magazine motor 41 and a tool magazine 42 in order to change the tool 21 attached to the spindle 161. The control unit 33 controls the operation of the magazine motor 41. The tool magazine 42 rotates when the magazine motor 41 is driven.

[0043] As shown in Figure 1, the tool magazine 42 is located in front of the upright pillar 12 and above the table 13 so as not to interfere with the spindle head 16. Support plates 121 extend forward from both the left and right sides of the upper part of the upright pillar 12. Pedestals 122 provided at the front ends of the two support plates 121 rotatably support the tool magazine 42. Tools 21 can be attached and detached to the tool magazine 42. A plurality of tools 21 are lined up in the tool magazine 42 in the rotational direction of the tool magazine 42. A magazine motor 41 is located near the tool magazine 42.

[0044] As the spindle head 16 moves, the spindle 161, on which the tool 21 is attached, moves up and away from the table 13, while the tool magazine 42 receives the tool 21 attached to the spindle 161 at the tool change position. The magazine motor 41 rotates and moves the multiple tools 21 held by the tool magazine 42, thereby sending the required tool 21 to the tool change position. As the spindle head 16 moves, the spindle 161, on which the tool 21 is attached, moves down and approaches the table 13, while the tool magazine 42 attaches the tool 21 at the tool change position to the spindle 161. Hereinafter, when a measurement tool 21 is to be distinguished from other types of tools 21, it will be referred to as a measurement tool 211.

[0045] 3 is a schematic diagram of the X-axis direction moving mechanism 15. In FIG. 3, the table 13 and the Y-axis direction moving mechanism 14 are shown in a simplified form. The X-axis direction movement mechanism 15 includes an X-axis motor 151 , two bearings 152 , a screw shaft 153 , a nut 154 , and a support base 155 .

[0046] The bearings 152 are provided on the top of a support 156 that rises from the top of the Y-axis direction movement mechanism 14. The two bearings 152 are adjacent to each other in the left-right direction. Each bearing 152 is located midway along the length of the screw shaft 153 and supports the screw shaft 153 rotatably in the circumferential direction. The X-axis motor 151 is connected to one end of the screw shaft 153. The nut 154 is fitted midway along the screw shaft 153 so that it can move left and right along the screw shaft 153. As the X-axis motor 151 rotates, the screw shaft 153 rotates in the circumferential direction. As the screw shaft 153 rotates in the circumferential direction, the nut 154 moves left and right along the screw shaft 153.

[0047] The support base 155 supports the table 13. A track (not shown) extending left and right is provided above the Y-axis direction movement mechanism 14, and the support base 155 can move left and right together with the table 13 by being guided by this track. The nut 154 is connected to the support base 155. The nut 154, which moves left and right, applies a left and right external force to the support base 155. By receiving the external force from the nut 154, the support base 155 and the table 13 move left and right. The screw shaft 153 and the nut 154 are preferably constructed using a ball screw.

[0048] The structure of the Y-axis direction moving mechanism 14 is substantially the same as the structure of the X-axis direction moving mechanism 15. However, in the case of the Y-axis direction moving mechanism 14, the member corresponding to the support 156 stands upright from the upper part of the base 11. Also, in the case of the Y-axis direction moving mechanism 14, the member corresponding to the screw shaft 153 extends in the front-rear direction. The structure of the Z-axis direction moving mechanism 17 is substantially the same as the structure of the X-axis direction moving mechanism 15. However, in the case of the Z-axis direction moving mechanism 17, the member corresponding to the support 156 protrudes forward from the front part of the upright column 12. Also, in the case of the Z-axis direction moving mechanism 17, the member corresponding to the screw shaft 153 extends vertically.

[0049] 2, X-axis motor 151 has encoder 15a. Encoder 15a detects the drive amount (rotation angle) of X-axis motor 151. The drive amount of X-axis motor 151 corresponds to the movement distance of table 13 in the X-axis direction. The movement distance of table 13 in the X-axis direction from a predetermined position (X-axis origin) is the position of table 13 in the X-axis direction. Control unit 33 determines the movement distance or position of table 13 in the X-axis direction based on the detection result of encoder 15a. Control unit 33 determines the drive amount of X-axis motor 151 required to move table 13 from one position in the X-axis direction to another position based on the movement distance or position of table 13 in the X-axis direction. Control unit 33 controls the operation of X-axis motor 151 based on the determined drive amount, thereby moving table 13 from one position in the X-axis direction to another position.

[0050] Similarly, Y-axis motor 141 has an encoder corresponding to encoder 15a of X-axis motor 151. Based on the detection result of the encoder of Y-axis motor 141, control unit 33 determines the movement distance or position of table 13 in the Y-axis direction, determines the drive amount of Y-axis motor 141, and controls the operation of Y-axis motor 141. Similarly, based on the detection results of the encoder of the Z-axis motor 171, the control unit 33 determines the movement distance or position of the spindle 161 of the spindle head 16 in the Z-axis direction, determines the drive amount of the Z-axis motor 171, and controls the operation of the Z-axis motor 171.

[0051] Incidentally, due to thermal displacement occurring in the components constituting machine tool 1 (particularly X-axis movement mechanism 15), the drive amount of X-axis motor 151 may no longer correspond to the movement distance in the X-axis direction of table 13. Because thermal displacement of X-axis movement mechanism 15 occurs frequently, in order to control the position of table 13 in the X-axis direction with high precision, it is necessary to determine a correction value r for the drive amount of X-axis motor 151 at appropriate timing. For the same reason, in order to control the position of the table 13 in the Y-axis direction with high precision, it is necessary to determine a correction value r for the drive amount of the Y-axis motor 141, and in order to control the position of the spindle 161 in the Z-axis direction with high precision, it is necessary to determine a correction value r for the drive amount of the Z-axis motor 171.

[0052] A portion of the storage area of ​​the auxiliary storage unit 32 is a correction value storage unit 321. The correction value storage unit 321 stores a correction value r for the drive amount of each drive unit. The control unit 33 controls the operation of each drive unit based on the correction value r stored in the correction value storage unit 321. For example, when the control unit 33 receives a command to move the table 13 to a predetermined position, it adds the correction value r to the feed amount from the current position of the table 13 to the predetermined position, or subtracts the correction value r from the feed amount. The table 13 moves by the corrected feed amount. As a result, the machining accuracy is improved. The correction value r is an example of a variable used when controlling the operation of the machine tool 1. Another part of the storage area of ​​the auxiliary storage unit 32 is a reference value storage unit 322. The reference value storage unit 322 stores a reference value td, which will be described later.

[0053] To obtain the correction value r for the drive amount of each of the X-axis motor 151 and the Y-axis motor 141, it is necessary to perform measurements using the table 13 as the measurement object. To obtain the correction value r for the drive amount of the Z-axis motor 171, it is necessary to perform measurements using the spindle 161 as the measurement object. Correction of the drive amount of the X-axis motor 151 will be described below, but correction of the drive amounts of the Y-axis motor 141 and the Z-axis motor 171 is also performed in a similar manner.

[0054] FIG. 4 is a schematic diagram for explaining measurement of the position of the measurement object. The table 13, which is the object to be measured, has two targets 131. The two targets 131 are aligned in the left-right direction and are provided, for example, at both the left and right ends of the table 13. The targets 131 do not interfere with the workpiece 22 supported by the table 13. The targets 131 are, for example, columnar, and stand up from a jig (not shown) fixed to the table 13. The position of the targets 131 is the position of a representative point of the table 13.

[0055] The measuring tool 211 is, for example, a touch probe. When the measuring tool 211 attached to the spindle 161 comes into contact with the target 131, it outputs a detection signal indicating that the target 131 has been detected to the control device 3. Note that the measuring tool 211 may also be a non-contact sensor (for example, an optical or ultrasonic proximity sensor).

[0056] The timing for receiving the measurement command is before starting machining of the workpiece 22, or between machining operations on the same workpiece 22. When the measurement command is received, the control unit 33 that executes the measurement command measures the position of the target 131 using the measurement tool 211. At this time, the control unit 33 controls the operation of each drive unit, so that the measurement tool 211 moves relative to the target 131 and comes into contact with the target 131. Upon receiving the detection signal, the control unit 33 determines the position of the target 131 in the X-axis direction based on the detection result of the encoder 15a.

[0057] Auxiliary memory unit 32 stores the reference positions of two targets 131. The reference positions of target 131 are positions of target 131 measured when the thermal displacement of machine tool 1 is stable (for example, after natural cooling or warm-up of machine tool 1 is completed). It should be noted that three or more targets 131 may be arranged in the left-right direction, or one target 131 may be provided.

[0058] After executing the measurement command, control unit 33 calculates a correction value r for the drive amount of X-axis motor 151 based on the measurement results. Control unit 33 calculates the correction value r for the drive amount of X-axis motor 151 based on the difference between the position (current position) of target 131 measured by executing the measurement command and the reference position of target 131 stored in auxiliary memory unit 32. Because there are two targets 131, it is possible to calculate the correction value r for any position in the X-axis direction by linear interpolation. Control unit 33 writes the calculated correction value r to correction value memory unit 321.

[0059] Calculating the correction value r requires the execution of a measurement command (i.e., measurement of the position of the measurement object), but since measuring the position of the measurement object itself does not directly contribute to machining the workpiece 22, the more frequently measurements are performed, the lower productivity becomes. One idea is to reduce the frequency of execution of measurement commands to improve productivity, but if the frequency of execution of measurement commands becomes too low, it is not possible to improve machining accuracy. The control device 3 appropriately omits the execution of measurement commands, thereby improving both productivity and machining accuracy.

[0060] 5 and 6 are flowcharts showing the procedure of the machining program execution process executed by the control device 3. The control unit 33 starts the machining program execution process when the machine tool 1 is started up (i.e., when the machine tool 1 is powered on). First, the control unit 33 initializes variables stored in the auxiliary storage unit 32 (S11), and resets the timed results of the first timer 34 and the second timer 35 to "0" (S12). In the process of S12, the first timer 34 and the second timer 35 do not start timing. The variables stored in the auxiliary storage unit 32 include the operation stop time ta, the measurement flag, the number of measurements n, the measurement interval tb, the number of updates i, the time t[i], the calculation variable k[i], the elapsed time tc, etc. Note that the main storage unit 31 may store some or all of the variables.

[0061] Next, the control unit 33 determines whether or not to start the execution of the machining program 371 (S13), and if it determines not to start (S13: NO), executes the process of S13 again. For example, when a user operates an operation unit (not shown) to input a start command, the control unit 33 determines to start execution of the machining program 371. When it is determined in the processing of S13 that execution of the machining program 371 is to start (S13: YES), the control unit 33 assigns the counting result t1 of the first timer 34 to the operation stop time ta (S14). The operation stop time ta indicates the elapsed time from the stop of operation of the machine tool 1 to the restart of operation. In this embodiment, the operation stop time ta indicates the time from the end of the previous execution of the machining program 371 to the start of the current execution of the machining program 371.

[0062] When control unit 33 executes the process of S14 at the start of machine tool 1, operation stop time ta is 0. When control unit 33 executes the process of S14 after executing the process of S19 described below, operation stop time ta is the elapsed time from when first timer 34 starts timing in the process of S21 described below. Next, the control unit 33 reads the command that has not been executed and that should be executed earliest among the multiple commands contained in the machining program 371 (S15), and determines whether the read command is a measurement command (S16).

[0063] If the command read is not a measurement command (S16: NO), the control unit 33 determines whether the command read in the process of S15 is an end command (S17). If the read command is not an end command (S17: NO), that is, if the command read in the process of S15 is neither a measurement command nor an end command, the control unit 33 executes the read command (S18). After the process of S18 is completed, the control unit 33 moves the process to S15 and reads the next command of the machining program 371.

[0064] In the process of S17, if the command read in the process of S15 is an end command (S17: YES), the control unit 33 ends the execution of the machining program 371 (S19). Next, the control unit 33 resets the time counting result of the first timer 34 to "0" (S20), and starts counting the elapsed time by the first timer 34 (S21). The first timer 34 counts the elapsed time from the end of the current execution of the machining program 371. Next, the control unit 33 determines whether the power to the machine tool 1 has been turned off (S22). If the power has not been turned off (S22: NO), the control unit 33 returns the process to S13. If the power has been turned off (S22: YES), the control unit 33 ends the machining program execution process. Note that if the control unit 33 determines NO in the process of S13, it may move the process to S22.

[0065] If the command read in the process of S15 is a measurement command (S16: YES), the control unit 33 executes a measurement necessity determination process (S31) as shown in Fig. 6. In the measurement necessity determination process, the control unit 33 determines whether or not to execute the measurement command (see Fig. 7, which will be described later). If it is determined that the measurement command is to be executed, the control unit 33 enables the measurement flag, and if it is determined that the measurement command is not to be executed, the control unit 33 disables the measurement flag.

[0066] Next, the control unit 33 determines whether the measurement flag is valid or not (S32). If the measurement flag is valid (S32: YES), it is necessary to measure the position of the measurement object, so the control unit 33 measures the position of the measurement object (S33). Furthermore, the control unit 33 increments the measurement count n by "1" (S34). The measurement count n indicates the number of times the control unit 33 has executed a measurement command after determining YES in the process of S51, which will be described later.

[0067] Furthermore, the control unit 33 starts measuring a measurement interval tb (S35). In S35, the control unit 33 resets the time measurement result of the second timer 35 to "0" and then starts measuring the elapsed time using the second timer 35. The measurement interval tb is the elapsed time from the point in time when the current measurement was made. The time measurement result of the second timer 35 functions as the measurement interval tb. Next, the control unit 33 calculates a correction value r based on the measurement result obtained by executing the process of S33 (S36), and updates the correction value r stored in the auxiliary storage unit 32 by overwriting it with the calculation result obtained by executing the process of S36 (S37). As a result, the machining accuracy is improved.

[0068] Next, the control unit 33 executes a reference value update process (S38). In the reference value update process, the control unit 33 determines whether or not to update the reference value td stored in the reference value storage unit 322, and if it determines to update, it calculates the reference value td and overwrites the reference value td stored in the reference value storage unit 322 with the calculation result. The reference value td is a variable for comparison with the measurement interval tb in the measurement necessity determination process. After the control unit 33 determines YES in the process of S51 (described later) of the measurement necessity determination process, td=0 due to the process of S76 (described later) until it executes the process of S96 (described later) of the reference value update process. After the process of S38 is completed, the control unit 33 proceeds to S15 shown in FIG.

[0069] If the measurement flag is invalid in the process of S32 shown in FIG. 6 (S32: NO), the control unit 33 proceeds to the process of S15 shown in FIG. When the measurement flag is invalid, it means that it is not necessary to measure the position of the measurement object, so the control unit 33 does not calculate or update the correction value r. Since the measurement of the measurement object based on the measurement command itself does not directly contribute to the machining of the workpiece 22, productivity can be improved by omitting the measurement command.

[0070] FIG. 7 is a flowchart showing the procedure of the measurement necessity determination process executed by the control device 3. The control unit 33 starts executing the measurement necessity determination process in S31 shown in FIG. 6. The control unit 33 determines whether the operation stop time ta is "0" or whether the operation stop time ta is equal to or greater than the constant Ta (S51). The case where ta = 0 is when the machine tool 1 is started up. The temperature of the machine tool 1 at startup is sufficiently low. The case where ta ≥ Ta is when a predetermined time has elapsed from the operation stop to the restart of the machine tool 1. Here, the constant Ta indicates the minimum time for the temperature of the machine tool 1 to sufficiently decrease due to the operation stop of the machine tool 1.

[0071] When ta = 0 or ta ≥ Ta (S51: YES), the current thermal displacement situation of the machine tool 1 may be significantly different from the thermal displacement situation of the machine tool 1 when the correction value r stored in the auxiliary storage unit 32 is calculated. Therefore, since the update of the correction value r is necessary, the execution of the measurement command cannot be omitted.

[0072] The control unit 33 substitutes "0" into the measurement count n (S52), substitutes "0" into the update count i (S53), enables the measurement flag (S54), and ends the measurement necessity determination process. After this, the control unit 33 executes the process of S32 (see FIG. 6). That is, when ta = 0 or ta ≥ Ta and a measurement command is received, the control unit 33 measures the position of the measurement target without determining whether to execute the measurement command. The update count i indicates the number of times the reference value td stored in the reference value storage unit 322 has been updated after the control unit 33 determines YES in the process of S51.

[0073] When 0 < ta < Ta (S51: NO), the control unit 33 determines whether the measurement count n is less than "2" (S55). When n < 2 (S55: YES), the control unit 33 transfers the process to S54 to enable the measurement flag.

[0074] When starting the machining of the workpiece 22 in a state where the temperature of the machine tool 1 has sufficiently decreased, after the start of machining, the amount of thermal displacement of the machine tool 1 is large for a while. In the present embodiment, the measurement flag becomes valid when the number of measurements n is "0" or "1". That is, when starting the machining of the workpiece 22 in a state where the temperature of the machine tool 1 has sufficiently decreased, it is possible to execute at least twice continuously the update of the correction value r after measuring the position of the measurement target. Therefore, the machining accuracy can be improved. Note that the control unit 33 in S55 may determine whether the update count i is less than "2".

[0075] When n ≥ 2 (S55: NO), the control unit 33 acquires the measurement interval tb which is the measurement result of the second timer 35 (S56), and determines whether the measurement interval tb is equal to or greater than the constant Tb (S57). When tb ≥ Tb (S57: YES), the elapsed time from the time of the previous measurement is equal to or greater than the predetermined time assumed by the manufacturer (or the predetermined time desired by the user). That is, the manufacturer or the user requires an update of the correction value r (and thus measurement of the position of the measurement target). Therefore, the control unit 33 transfers the process to S54 to enable the measurement flag. Note that the control unit 33 may omit the process of S57 (execute the next process of S5S after the process of S56 ends).

[0076] When tb < Tb (S57: NO), the control unit 33 determines whether the measurement interval tb acquired in S56 is equal to or greater than the reference value td (S58). Since td = 0 before the update of the reference value td, the control unit 33 in S58 always determines YES. When tb ≥ td (S58: YES), the machine tool 1 is in a situation where an update of the correction value r (and thus measurement of the position of the measurement target) is necessary. Therefore, the control unit 33 transfers the process to S54 to enable the measurement flag. When tb < td (S58: NO), the control unit 33 invalidates the measurement flag (S59) and ends the measurement necessity determination process. After that, the control unit 33 executes the process of S32 (see FIG. 6).

[0077] 8 and 9 are flowcharts showing the procedure of the reference value update process executed by the control device 3. The control unit 33 starts the execution of the reference value update process in S38 shown in FIG. As shown in FIG. 8, the control unit 33 acquires the current time t output by the clock 36 (S71). Next, the control unit 33 determines whether the update count i is "0" (S72). If i=0 (S72: YES), the number of measurements n is "1." That is, after determining YES in the processing of S51, the control unit 33 measures the position of the measurement object only once. As will be described later, the control unit 33 in this embodiment calculates the reference value td based on the results of two measurements. By calculating the reference value td based on the results of two position measurements, the current state of thermal displacement of the machine tool 1 can be reflected in the reference value td, which is the calculation result.

[0078] The control unit 33 assigns the value of the current time t acquired in S71 to time t[i] (S73). The "i" in time t[i] is equal to the number of updates i. If i=0, time t[i] functions as the time when the reference value td is initialized. Furthermore, the control unit 33 writes the current measurement result (the latest measurement result) in association with the update count i into the auxiliary storage unit 32 (S74).

[0079] Furthermore, the control unit 33 assigns "0" to the calculation variable k[i] used in calculating the reference value td (S75), and assigns "0" to the reference value td (S76). That is, when ta=0 or ta≧Ta and a measurement command is received, the control unit 33 initializes the reference value td stored in the reference value storage unit 322 without determining whether or not to update the reference value td. After the process of S75 is completed, the control unit 33 increments the update count i by "1" (S77) and ends the reference value update process. After that, the control unit 33 executes the process of S15 (see FIG. 5).

[0080] In S72, the case of i≧1 means the case of n≧2, which is the case when a new measurement command is received after the reference value td has been initialized. If i≧1 (S72: NO), the control unit 33 calculates the elapsed time tc from the point in time when the reference value td was last updated (S78). In S78, the control unit 33 subtracts the time t[i-1] from the current time t and assigns the result to the elapsed time tc. Next, the control unit 33 determines whether the elapsed time tc is equal to or less than a constant Tc (S79). The process of S79 is a process of determining whether to update the reference value td based on the result of comparing the elapsed time tc since the reference value td was last updated with a predetermined value (constant Tc). The constant Tc is a value for stabilizing the accuracy of the reference value td.

[0081] If the time tc elapsed since the previous update of the reference value td is too short, the amount of thermal displacement of the machine tool 1 will be small, and it may be pointless to recalculate the reference value td. Furthermore, if the time tc elapsed since the previous update of the reference value td is too short, the measurement interval tb will also be too short, and there is a risk that the calculation result of the reference value td will be inappropriate due to the adverse effects of measurement errors contained in each measurement result.

[0082] If tc≦Tc in S79 (S79: YES), the elapsed time tc since the previous update of the reference value td is too short. Therefore, the control unit 33 ends the reference value update process without substituting the current time t for the time t[i], writing the current measurement result, calculating and updating the reference value td, or incrementing the update count i. Thereafter, the control unit 33 executes the process of S15 (see FIG. 5). Because the control unit 33 does not update the reference value td unnecessarily, the burden on the control unit 33 is light.

[0083] If tc≦Tc in S79 (S79: NO), the time tc elapsed since the previous update of the reference value td is sufficiently long. In this case, the amount of thermal displacement of the machine tool 1 is large, and updating the reference value td is meaningful. Therefore, the control unit 33 assigns the value of the current time t acquired in S71 to time t[i] (S91), and writes the current measurement result (the most recent measurement result) in association with the number of updates i to the auxiliary storage unit 32 (S92). If i≧1, time t[i] functions as the time when the reference value td was updated.

[0084] Next, the control unit 33 calculates the calculation variable k[i] based on the measurement result corresponding to time t[i] (the current measurement result) and the measurement result corresponding to time t[i-1] (the measurement result at the previous update) (S93), and writes the result to the auxiliary storage unit 32 (S94). The calculation procedure for the calculation variable k[i] is not limited. For example, the calculation variable k[i] is the absolute value of the difference between the current measurement result and the measurement result at the previous update divided by the elapsed time tc (i.e., the slope of the change in the position of the object to be measured). The control unit 33 calculates the calculation variable k[i] for each of the X-axis, Y-axis, and Z-axis.

[0085] Next, the control unit 33 calculates a reference value td based on the calculation variables k[i] and k[i-1] (S95). The calculation procedure for the reference value td is not limited. For example, the control unit 33 calculates a reference value candidate te before calculating the reference value td. The reference value candidate te is obtained by dividing a constant Td by the larger of the calculation variables k[i] and k[i-1]. The constant Td indicates an allowable error. The control unit 33 calculates a reference value candidate te for each of the X-axis, Y-axis, and Z-axis. The reference value td is the smallest of the three reference value candidates te. After the process of S95 is completed, the control unit 33 updates the reference value td by overwriting the reference value td stored in the reference value storage unit 322 with the calculation result obtained by executing the process of S95 (S96). Next, the control unit 33 proceeds to S77 shown in Fig. 8 and increments the number of updates i.

[0086] When i=1, the processes of S93 to S96 are processes for calculating and updating the reference value td based on the measurement result when the reference value td was initialized and the current measurement result. When i≧2, the processes of S93 to S96 are processes for calculating and updating the reference value td based on the measurement result when the reference value td was last updated and the current measurement result. Because the control unit 33 updates the reference value td as appropriate, the reference value td, which is the criterion for determining whether or not to execute a measurement command, is not constant.

[0087] According to the control device 3 described above, by switching between updating and not updating the reference value td, it is possible to prevent the reference value td from being too small, resulting in an excessively high frequency of execution of measurement commands, and the reference value td from being too large, resulting in an excessively low frequency of position measurement commands, thereby achieving both improved productivity and improved machining accuracy.

[0088] Note that the control unit 33 in S15 is not limited to a configuration in which it receives commands by reading commands contained in the machining program 371. For example, the control unit 33 may receive commands given to the control device 3 by a user operating an operation unit (keyboard, button, touch panel, etc.) not shown. The auxiliary storage unit 32 is not limited to being provided in the control device 3, but may be provided in a server separate from the control device 3, for example. The control device 3 may be separate from the machine tool 1.

[0089] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is intended to include not only the above-mentioned meaning but also the meaning equivalent to the claims and all modifications within the scope of the claims. Independent and dependent claims may be combined with each other in any and all combinations, regardless of the reference format. Furthermore, while the claims may be written in a format in which a claim references two or more other claims (multiple claim format), this is not a limitation. Multiple claims that reference at least one other multiple claim (multiple multiple claim format) may also be written. [Explanation of symbols]

[0090] 1 Machine tools 13 Table (support part) 161 Spindle 21 Tools 22 Work 3. Control device 322 Reference value memory unit 33 Control Unit 37 Program (computer program) Ta constant (predetermined time) Tc constant (predetermined value) r Correction value (variable used when controlling the operation of machine tools) t[i] time tc elapsed time td reference value

Claims

1. A control device for controlling an operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and detached, and a support unit for supporting the workpiece, a reference value storage unit that stores a reference value; Control unit and Equipped with The control unit determining whether or not to measure the position of the spindle or the support part using the reference value stored in the reference value storage unit; If it is determined that the measurement is to be performed, performing said measurements; Calculating variables to be used when controlling the operation of the machine tool based on the results of the measurement; After the measurement is performed, determining whether to update the reference value; If you decide to update, The reference value is calculated and the calculation result is stored in the reference value storage unit. Control device.

2. The control unit When determining whether to update the reference value, the determination is made based on a result of comparing the elapsed time since the reference value was last updated with a predetermined value. The control device according to claim 1 .

3. The control unit When calculating the reference value, the reference value is calculated based on the result of the measurement when the reference value was last updated and the result of the current measurement. The control device according to claim 1 .

4. The control unit When the machine tool is started up or when a predetermined time has elapsed between the time when the machine tool is stopped and the time when the machine tool is restarted, and when a measurement command to perform the measurement is received, performing the measurement without determining whether or not to perform the measurement; initializing the reference value stored in the reference value storage unit without determining whether or not to update the reference value; When a new measurement command is received after the reference value is initialized, a determination is made as to whether or not the measurement should be performed; If it is determined that the measurement is to be performed, performing said measurements; After the measurement is performed, a determination is made as to whether or not to update the reference value based on a comparison result between the elapsed time from the point in time when the reference value was initialized and the predetermined value; If it is determined that the reference value should be updated, the reference value is calculated based on the result of the measurement when the reference value was initialized and the result of the current measurement. The control device according to claim 2 .

5. A method for controlling an operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and detached, and a support part that supports the workpiece, comprising: Using a reference value, it is determined whether or not to perform a measurement of the position of the spindle or the support; If it is determined that the measurement is to be performed, performing said measurements; Calculating variables to be used when controlling the operation of the machine tool based on the results of the measurement; After the measurement is performed, determining whether to update the reference value; If you decide to update, Update the reference value Control method.

6. A computer program for controlling an operation of a machine tool having a spindle to which a tool for machining a workpiece can be attached and detached, and a support unit that supports the workpiece, determining whether or not to measure the position of the spindle or the support part using the reference value stored in a reference value storage unit that stores the reference value; If it is determined that the measurement is to be performed, performing said measurements; Calculating variables to be used when controlling the operation of the machine tool based on the results of the measurement; After the measurement is performed, determining whether to update the reference value; If you decide to update, The reference value is calculated and the calculation result is stored in the reference value storage unit. A computer program that causes a computer to perform a process.

Citation Information

Patent Citations

  • Derivation method of correction coefficient and machine tool

    JP2021160004A