Control device, control method, control program, and storage medium
The control device addresses the increased positioning error in machine tools due to load-induced support base deflection by using a mass-acquisition and correction-based approach, significantly enhancing operational precision.
Patent Information
- Application Number
- JP2021117903
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-01-29
- Filing Date
- 2021-07-16
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-07-16
AI Technical Summary
The positioning error of a machine tool's base in the first direction increases due to the deflection of the support base caused by the mass of the load, even after correcting for pitch errors.
A control device that includes a first table for the load, a second table for supporting the first table, and driving units for movement in both directions. The control device acquires the mass of the load and corrects the position command based on a coefficient that accounts for the deflection of the second table, thereby reducing positioning errors.
The control device effectively reduces positioning errors in the first direction by accurately accounting for the deflection of the support base due to the load's mass, improving the precision of the machine tool's operations.
Smart Images

Figure 0007683372000001 
Figure 0007683372000002 
Figure 0007683372000003
Abstract
Description
Technical Field
[0001] The present invention relates to a control device, a control method, a control program, and a storage medium.
Background Art
[0002] A machine tool includes a base and a ball screw that moves the base in a first direction. A control device that controls the machine tool stores a ball screw pitch error in advance, reads out the pitch error when moving the base in the first direction, and corrects the pitch error of the ball screw. The control device calculates the pitch error of the entire ball screw for each correction interval by measuring the position of the base in the first direction at predetermined time intervals while moving the base over the entire section of the ball screw.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] The base of the above-mentioned machine tool mounts loads such as workpieces and work fixture during use. The machine tool includes a support base that supports the base so as to be movable in the first direction and is movable in the second direction. Depending on the mass of the load, the support base deflects in the first direction. At this time, even if the control device corrects the position in the first direction using the pitch error, the positioning error of the base in the first direction increases due to the influence of the deflection generated in the support base.
[0005] An object of the present invention is to provide a control device, a control method, a control program, and a storage medium with a positioning error reduced more than before.
Means for Solving the Problems
[0006] The control device according to claim 1 of the present invention includes a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first driving unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second driving unit that moves the second table in the second direction. In the control device for controlling a machine tool, a mass acquisition unit that acquires the mass of the load placed on the first table, a first command acquisition unit that acquires a first position command for commanding the position of the first table in the first direction, a first coefficient based on the mass acquired by the mass acquisition unit, and a correction unit that corrects the position of the first position command by an amount corresponding to the deflection of the second table caused by the load placed on the first table using the position of the first position command. Since the control device corrects the position of the first table in the first direction indicated by the first position command using the first coefficient based on the mass of the load and the position of the first position command, it is possible to reduce the positioning error in the first direction of the first table corresponding to the deflection of the second table caused by the load placed on the first table more than before.
[0007] The position of the first position command of the control device according to claim 2 of the present invention is represented by the distance from a reference which is the position where the deflection angle of the second table caused by the load placed on the first table is minimized. The position of the first position command of the control device is easier to represent a value corresponding to the deflection of the second table caused by the load placed on the first table than the position of the first position command when the reference is a position where the deflection angle is not the minimum. Therefore, the control device can calculate the amount corresponding to the deflection of the second table more easily than when the reference is a position where the deflection angle is not the minimum.
[0008] The first coefficient of the control device according to claim 3 of the present invention is a value based on a constant specific to the machine tool. By setting the first coefficient used for correction as a value based on a constant specific to the machine tool, the control device can correct the position of the first position command without measuring all individual machine tools.
[0009] The reference of the control device according to claim 4 of the present invention is the center of the movable range of the first table. The control device can make the maximum value of the deflection angle of the second table smaller than when the reference is at the end of the movable range of the first table.
[0010] The first coefficient of the control device according to claim 5 of the present invention is based on a value corresponding to the height of the loaded object from the upper surface of the first table. By setting the first coefficient used for correction to a value based on a value corresponding to the height of the loaded object, the control device can correct the position of the first position command in consideration of the height of the loaded object.
[0011] In the control device according to claim 6 of the present invention, the machine tool includes a spindle for mounting a tool, a spindle head that supports the spindle and is movable up and down, a head support portion that supports the spindle head so as to be movable in the vertical direction, and a third drive portion that moves the spindle head in the vertical direction. The control device further includes a second command acquisition unit that acquires a second position command for commanding the vertical position of the spindle head, and a height acquisition unit that acquires the height of the tip of the tool from the first table according to the tool length correction amount corresponding to the tool mounted on the spindle and the second position command. The value corresponding to the height of the loaded object is the height of the tip of the tool acquired by the height acquisition unit from the upper surface of the first table. By setting the first coefficient used for correction to the height of the tip of the tool from the upper surface of the first table, the control device can correct the position of the first position command in consideration of the vertical position of the spindle head indicated by the second position command.
[0012] The control device according to claim 7 of the present invention further includes a type determination unit that determines whether the second position command is a positioning command or a cutting command. The height acquisition unit acquires the height of the tip of the tool from the first table in response to the type determination unit determining that the second position command is the positioning command. The correction unit updates the first coefficient using the height of the tip of the tool acquired by the height acquisition unit from the first table, and corrects the position of the first position command using the updated first coefficient and the position of the first position command corresponding to the second position command. The control device can correct the position of the first position command corresponding to the second position command in consideration of the vertical position of the spindle head indicated by the second position command when the second position command is a positioning command. Therefore, even when the height of the loaded object placed on the first table from the first table is relatively large, the control device can appropriately correct the position of the first table in the first direction indicated by the first position command.
[0013] The control device according to claim 8 of the present invention further includes a storage device and a storage control unit that stores the first coefficient updated by the correction unit in the storage device. The correction unit corrects the position of the first position command by using the first coefficient stored in the storage device and the position of the first position command in response to the type determination unit determining that the second position command is the cutting command. The control device can correct the position of the first position command so as to suppress adverse effects such as making the size of the cutting part larger than the size indicated by the first position command during cutting.
[0014] The first coefficient of the control device according to claim 9 of the present invention is based on the value corresponding to the height of the load from the upper surface of the first table, the upper end of the table support portion, and the height of the upper surface of the first table from a first predetermined position between the upper surface of the first table. The control device can reduce the positioning error in the first direction of the first table due to the inclination of the second table more than a device in which the first coefficient is not based on the height of the upper surface of the first table from the first predetermined position.
[0015] The first predetermined position of the control device according to claim 10 of the present invention is a position where the error in the position of the first table in the first direction due to the deflection of the second table caused by the load placed on the first table is minimized. The control device can correct the position of the first position command so that the error corresponding to the deflection of the second table caused by the load placed on the first table, which depends on the height of the upper surface of the first table from the first predetermined position, is minimized.
[0016] The amount corresponding to the deflection of the second table caused by the load placed on the first table of the control device according to claim 11 of the present invention is the product of the first coefficient and the cube of the distance. The control device can calculate the amount corresponding to the deflection of the second table relatively easily.
[0017] The correction unit of the control device according to claim 12 of the present invention uses the first coefficient and the position of the first position command corrected using the center of gravity of the load and the first table, and corrects the position of the first position command by an amount corresponding to the deflection of the second table due to the load placed on the first table. The control device can appropriately correct the position of the first position command by an amount corresponding to the deflection of the second table due to the load placed on the first table, taking into account the arrangement of the load on the first table in the first direction.
[0018] The correction unit of the control device according to claim 13 of the present invention uses the first coefficient, a second coefficient based on the mass acquired by the mass acquisition unit, and the position of the first position command, and corrects the position of the first position command by the amount corresponding to the deflection of the second table due to the load placed on the first table and the amount corresponding to the deflection of the table support portion due to the load placed on the first table. The control device can reduce the positioning error of the first table in the first direction more than before, taking into account the amount corresponding to the deflection of the table support portion due to the load placed on the first table.
[0019] The amount corresponding to the deflection of the table support portion due to the load placed on the first table of the control device according to claim 14 of the present invention is the product of the second coefficient and the distance. The control device can calculate the amount corresponding to the deflection of the table support portion relatively easily.
[0020] The second coefficient of the control device according to claim 15 of the present invention is based on the value corresponding to the height of the load from the upper surface of the first table and the height of the upper surface of the first table from a second predetermined position between the lower end of the table support portion and the upper surface of the first table. The control device can reduce the positioning error of the first table in the first direction due to the deflection of the table support portion more than a device in which the second coefficient is not based on the height of the upper surface of the first table from the second predetermined position.
[0021] The second predetermined position of the control device according to claim 16 of the present invention is a position where the error in the position of the first table in the first direction due to the deflection of the table support portion caused by the load placed on the first table is minimized. The control device can correct the position of the first position command so that the error corresponding to the deflection of the table support portion caused by the load placed on the first table, according to the height of the upper surface of the first table from the second predetermined position, is minimized.
[0022] The correction unit of the control device according to claim 17 of the present invention uses the second coefficient and the position of the first position command corrected using the center of gravity of the load and the first table, and corrects the position of the first position command by the amount corresponding to the deflection of the table support portion caused by the load placed on the first table. The control device can appropriately correct the position of the first position command by the amount corresponding to the deflection of the table support portion caused by the load placed on the first table, considering the arrangement of the load on the first table in the first direction.
[0023] The control method according to claim 18 of the present invention is a control method for a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support portion that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction. The control method includes a mass acquisition step of acquiring the mass of the load placed on the first table, a command acquisition step of acquiring a position command for commanding the position of the first table in the first direction, and a correction step of correcting the position of the position command by an amount corresponding to the deflection of the second table caused by the load placed on the first table, using a coefficient based on the mass acquired in the mass acquisition step and the position of the position command. Since the correction unit uses a coefficient based on the mass of the load and the position of the position command to correct the position of the first table in the first direction indicated by the position command, the control method can reduce the positioning error of the first table in the first direction according to the mass of the load placed on the first table more than before.
[0024] The control program according to claim 19 of the present invention is a control program executable by a control unit of a control device that controls a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction. In the control program, a mass acquisition process for acquiring the mass of the load placed on the first table, a command acquisition process for acquiring a position command for commanding the position of the first table in the first direction, a coefficient based on the mass acquired in the mass acquisition process, and the position of the position command are used. An instruction for causing the control unit of the control device to execute a correction process for correcting an amount corresponding to the deflection of the second table caused by the load placed on the first table and the position of the position command is included. According to the control program, the control device corrects the position of the first table in the first direction indicated by the position command using the coefficient based on the mass of the load and the position of the position command by the correction unit. Therefore, the positioning error of the first table in the first direction according to the mass of the load placed on the first table can be reduced more than before.
[0025] The storage medium according to claim 20 of the present invention stores a control program executable by a control unit of a control device that controls a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction. The storage medium stores a control program including an instruction to cause the control unit of the control device to execute a mass acquisition process of acquiring the mass of the load placed on the first table, a command acquisition process of acquiring a position command for commanding the position of the first table in the first direction, a correction process of correcting the position of the position command by an amount corresponding to the deflection of the second table due to the load placed on the first table using a coefficient based on the mass acquired in the mass acquisition process and the position of the position command. According to the control program stored in the storage medium, the control device corrects the position of the first table in the first direction indicated by the position command using a coefficient based on the mass of the load and the position of the position command by the correction unit, so that the positioning error of the first table in the first direction according to the mass of the load placed on the first table can be reduced more than before.
Brief Description of the Drawings
[0026]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Mode for Carrying Out the Invention
[0027] The configuration of the machine tool 1 will be described. The following description uses the left - right, front - rear, and up - down directions indicated by arrows in the figure. The left - right, front - rear, and up - down directions of the machine tool 1 are the X - axis direction, Y - axis direction, and Z - axis direction of the machine tool 1 respectively. The X - axis direction is the first direction, and the Y - axis direction is the second direction. The configuration of the machine tool 1 will be described with reference to FIGS. 1 and 2. The machine tool 1 is a machine that rotates a tool 4 mounted on a spindle 9 and performs a cutting process on a workpiece 3 held on the upper surface 11 of the first table 13. The control device 30 controls the operation of the machine tool 1.
[0028] The machine tool 1 includes a base 2, a column 5, a spindle head 7, a spindle 9, a table device 10, a tool changer 20, a control box 6, an operation panel 15 (see Fig. 3), etc. The base 2 is made of metal and is a substantially rectangular parallelepiped base. The column 5 is substantially prism-shaped and is fixed to the rear of the upper part of the base 2. The spindle head 7 moves in the Z-axis direction along the front surface of the column 5. The spindle head 7 rotatably supports the spindle 9 inside. The spindle 9 rotates by the drive of a spindle motor 52 (see Fig. 3). The spindle motor 52 is provided on the spindle head 7. The spindle head 7 moves in the Z-axis direction by a Z-axis movement mechanism (not shown) provided on the front surface of the column 5. The control device 30 controls the drive of the Z-axis motor 51 (see Fig. 3) to control the movement of the spindle head 7 in the Z-axis direction.
[0029] The table device 10 is a mechanism of a ball screw drive system. The table device 10 includes a Y-axis movement mechanism 18, a second table 12, an X-axis movement mechanism 17, a first table 13, etc. The Y-axis movement mechanism 18 is provided on the front side of the upper surface of the base 2 and includes a Y-axis rail 61, a Y-axis ball screw 62, a Y-axis motor 54, etc. The Y-axis rail 61 and the Y-axis ball screw 62 extend in the Y-axis direction. The second table 12 is formed in a substantially rectangular parallelepiped shape and has a nut (not shown) on the outer surface of the bottom. The nut is screwed onto the Y-axis ball screw 62. When the Y-axis motor 54 rotates the Y-axis ball screw 62, the second table 12 moves along the Y-axis rail 61 together with the nut. Therefore, the Y-axis movement mechanism 18 supports the second table 12 so as to be movable in the Y-axis direction.
[0030] The X-axis movement mechanism 17 is provided on the upper surface of the second table 12 and includes an X-axis rail 63, an X-axis ball screw 64, an X-axis motor 53, etc. The X-axis rail 63 and the X-axis ball screw 64 extend in the X-axis direction. The first table 13 is formed in a rectangular plate shape in plan view and is provided on the upper surface of the second table 12. The first table 13 has a nut (not shown) at the bottom. The nut is screwed onto the X-axis ball screw 64. When the X-axis motor 53 rotates the X-axis ball screw 64, the first table 13 moves along the X-axis rail 63 together with the nut. The X-axis movement mechanism 17 supports the first table 13 so as to be movable in the X-axis direction. Therefore, the first table 13 moves on the base 2 in the X-axis direction and the Y-axis direction by the Y-axis movement mechanism 18, the second table 12, and the X-axis movement mechanism 17.
[0031] A pair of left and right covers 67 cover a part of the X-axis orbit 63 and the X-axis ball screw 64. The cover 67 expands and contracts as the first table 13 moves in the X-axis direction. The front cover 69 and the rear cover (not shown) cover a part of the Y-axis orbit 61 and the Y-axis ball screw 62. The front cover 69 and the rear cover expand and contract as the second table 12 moves in the Y-axis direction.
[0032] The tool changer 20 is provided on the front side of the spindle head 7 and includes a disk-shaped tool magazine 21. The tool magazine 21 includes a frame 71 and a plurality of arms 73, and can store a plurality of tools 4 including the tools 4A and 4B. The frame 71 is cylindrical. The plurality of arms 73 are provided swingably along the outer periphery of the frame 71. The tool changer 20 rotates the tool magazine 21 around the magazine axis J by a magazine motor 55 (see FIG. 3), and positions the tool 4 indicated by the tool change command at the exchange position. The tool change command is commanded by an NC program. The exchange position is the lowermost position of the tool magazine 21. The tool changer 20 exchanges the used tool 4 mounted on the spindle 9 with the tool 4 to be mounted on the spindle 9 next. The tool exchange is performed by a series of operations of raising the spindle head 7, rotating the tool magazine 21, and lowering the spindle head 7.
[0033] The control box 6 stores a control device 30 (see FIG. 3). The control device 30 controls the Z-axis motor 51, the spindle motor 52, the X-axis motor 53, and the Y-axis motor 54 provided on the machine tool 1, and moves the first table 13 and the tool 4 relatively along the X-axis direction, the Y-axis direction, and the Z-axis direction. At this time, the workpiece 3 fixed on the first table 13 and the tool 4 mounted on the spindle 9 move relatively, and various machining operations are performed on the workpiece 3. The various machining operations include hole machining using a drill, a tap, etc., and side machining using an end mill, a milling cutter, etc. The control device 30 controls the magazine motor 55 and rotates the tool magazine 21.
[0034] The operation panel 15 (see Fig. 3) is provided on the outer wall of a cover (not shown) that covers the machine tool 1. The operation panel 15 includes an input unit 16 and a display unit 14 (see Fig. 3). After receiving the input of various information, operation instructions, etc., the input unit 16 outputs the operation instructions, etc. to the control device 30. The display unit 14 displays various screens according to commands from the control device 30.
[0035] Referring to Fig. 3, the electrical configuration will be described. The control device 30 and the machine tool 1 include a CPU 31, a ROM 32, a RAM 33, a storage device 34, an input / output unit 35, drive circuits 51A to 55A, etc. The CPU 31 performs overall control of the control device 30. The ROM 32 stores main programs, mass programs, etc. The main program reads the NC program line by line and executes various operations. The NC program is composed of multiple lines including various control commands, and the CPU 31 controls various operations including the axis movement and tool change of the machine tool 1 in operation units. The mass program is a program for executing mass acquisition processing (see Fig. 5). The RAM 33 temporarily stores various information. The storage device 34 is non-volatile and stores the NC program and various information. The CPU 31 can store the NC program input by the operator at the input unit 16 of the operation panel 15 and the NC program read by external input, etc. in the storage device 34.
[0036] The drive circuit 51A is connected to the Z-axis motor 51 and the encoder 51B. The drive circuit 52A is connected to the spindle motor 52 and the encoder 52B. The drive circuit 53A is connected to the X-axis motor 53 and the encoder 53B. The drive circuit 54A is connected to the Y-axis motor 54 and the encoder 54B. The drive circuit 55A is connected to the magazine motor 55 and the encoder 55B. The Z-axis motor 51, the spindle motor 52, the X-axis motor 53, the Y-axis motor 54, and the magazine motor 55 are all servo motors. The drive circuits 51A to 55A receive commands from the CPU 31 and output drive currents based on the commands to the corresponding motors 51 to 55 respectively. The drive circuits 51A to 55A receive feedback signals from the encoders 51B to 55B and perform feedback control of position and speed (angular velocity). The input / output unit 35 is connected to the input unit 16 and the display unit 14 of the operation panel 15.
[0037] Referring to FIG. 4, the outline of a correction process for correcting the influence of the deflection of the second stage 12 caused by the load W placed on the first stage 13 will be described. When the first stage 13 is located at a position Px described later and the second stage 12 is deflected by a deflection angle θ(Px) due to the load W placed on the first stage 13, it is assumed that θ(Px) is proportional to the cube of the distance x from the reference R in the X-axis direction of the first stage 13 to the position Px as shown in Equation (1). The virtual plane D is a plane parallel to the horizontal plane. The deflection angle θ(Px) is the angle formed by the virtual plane D and the bottom surface of the first stage 13 when the second stage 12 is deflected. When the first stage 13 is located at the position Px, the bottom surface of the first stage 13 is along the tangent passing through the point corresponding to the distance x on the curve F. The reference R in the present embodiment is the position of the X-axis where the deflection angle θ of the second stage 12 due to the load W placed on the first stage 13 is minimized. The reference R is the center of the movable range of the first stage 13 and is the position where the center of the first stage 13 in the X-axis direction coincides with the center of the second stage 12 in the X-axis direction. The distance x indicates the moving distance from the reference R. The state when the first stage 13 is at the reference R is shown by a solid line, and the state when the first stage 13 is at the position Px is shown by a dashed line. When the first stage 13 is at the position Px, the load W is not shown. The distance when the first stage 13 is to the right of the reference R is taken as a positive distance, and the distance when the first stage 13 is to the left of the reference R is taken as a negative distance. θ(Px)=K×M×x 3 ···Equation (1) Here, K is a constant specific to the machine. M is the mass of the load W placed on the first stage 13. The mass M of the load W is the sum of the mass of the jig provided on the first stage 13 and the mass of the workpiece 3 held by the jig.
[0038] Since θ(Px) is sufficiently smaller than 1, the estimated error E(x) in the X-axis direction caused by the deflection of the second stage 12 due to the load W placed on the first stage 13 is obtained by Equation (2). E(x)=H×sin(θ(Px)) ≒H×θ(Px) ≒K×M×H×x 3 ···Equation (2) Here, H is a value corresponding to the height H2 of the load W from the upper surface 11 of the first base 13. In the first embodiment, H is the height H2 of the load W from the upper surface 11 of the first base 13 and is stored in advance in the storage device 34. In the second embodiment, H is the height H1 from the upper surface 11 of the first base 13 to the tip of the tool 4. The height H1 is calculated in advance and then stored in the storage device 34. In the first and second embodiments, among the formula (2), K×M×H is treated as the coefficient C.
[0039] Referring to FIG. 5, a mass acquisition process common to the first and second embodiments will be described. When the machine tool 1 is started, the CPU 31 reads and executes the program stored in the ROM 32 to start the mass acquisition process. The CPU 31 determines whether the mass M of the load W placed on the first base 13 has been acquired (S1). The mass M of the load W is used for setting the coefficient C for obtaining the estimation error E(x). The method for acquiring the mass M of the load W may be set as appropriate. When the operator operates the input unit 16 to input the mass of the load W, the CPU 31 may acquire the input value as the mass M of the load W. The CPU 31 may also obtain the mass M of the load W from the acceleration of the first base 13 by the table device 10 and the torque during acceleration.
[0040] When obtaining the mass M of the load W, the CPU 31 executes the following procedure. As an example, the case of using the X-axis motor 53 will be described. The CPU 31 drives the X-axis motor 53 to accelerate the first base 13 from a stationary state with a constant acceleration until it reaches a constant speed V. Then, the CPU 31 moves the first base 13 in the X-axis direction by a constant distance at a constant speed V. Then, the CPU 31 decelerates at a constant deceleration to stop the first base 13. The estimated load mass during acceleration and the estimated load mass during deceleration are shown by the following two formulas (3) and (4). In formula (3), the acceleration at an arbitrary speed V1 during acceleration is α, and the torque is T1. In formula (4), the acceleration at the speed V1 during deceleration is -α, and the torque is T2. k is a parameter for converting the total mass into the inertia in terms of the motor axis. The total mass is the sum of the load mass and the mass of the first base 13 without the load. Estimated load mass during acceleration = [(T1 - viscous resistance × V1 + sliding resistance of the first base 13) / (α×k)] - mass of the first base 13 without the load ··· Formula (3) Estimated mass of the loaded material during deceleration = -[(T2 - viscous resistance × V1 + sliding resistance of the first stage 13) / (α × k)] - mass of the first stage 13 without load ··· Equation (4) The average of the estimated mass of the loaded material during acceleration and the estimated mass of the loaded material during deceleration based on Equation (3) and Equation (4) is shown in Equation (5). Average of the estimated mass of the loaded material during acceleration and the estimated mass of the loaded material during deceleration = [(T1 - T2) / (2 × α × k)] - mass of the first stage 13 without load ··· Equation (5) The CPU 31 can estimate the mass M of the load W by canceling out the variations caused by the environmental temperature of the machine and aging using Equation (5).
[0041] In another method of obtaining the mass M of the load W, the CPU 31 substitutes the acceleration α and torque T during the rapid feed operation of the machine tool 1 into Equation (6) to estimate the load mass Q. The rapid feed operation is an operation of moving the spindle 9 relative to the workpiece 3 at a speed faster than the cutting movement in order to approach or separate the tool 4 from the workpiece 3. Q = T / α ··· Equation (6) The CPU 31 further estimates the mass M of the load W based on Equation (7). Mass M of the load W = load mass Q - equivalent mass of the feed mechanism - mass of the first stage 13 ··· Equation (7) The equivalent mass of the feed mechanism is a value obtained by converting the sum of the inertia of the components of the Y-axis movement mechanism 18 into mass.
[0042] When the CPU 31 acquires the mass M of the load W (S1: YES), it substitutes the acquired mass M into Equation (8) to update the coefficient C, and stores the updated coefficient C in the storage device 34 (S2). In Equation (8), the CPU 31 obtains the coefficient C using the constants stored in the storage device 34 for K and H. Coefficient C = K × M × H ··· Equation (8)
[0043] When the mass M of the load W has not been acquired (S1: NO), or after S2, the CPU 31 determines whether an end instruction has been acquired (S3). The operator operates the input unit 16 to input an end instruction. When the end instruction has not been acquired (S3: NO), the CPU 31 returns the process to S1. When the end instruction has been acquired (S3: YES), the CPU 31 ends the mass acquisition process.
[0044] Referring to FIGS. 6 and 7, the main process of the first embodiment will be described. When the CPU 31 acquires an NC program execution instruction, it reads and executes the main program stored in the ROM 32 to start the main process.
[0045] The CPU 31 reads one block of the NC program (S11) and determines whether the read block is an end command (S12). When the read block is not an end command (S12: NO), the CPU 31 determines whether the read block is an axis movement command (S13). The axis movement is an operation of relatively moving the position of the main shaft 9 with respect to the first table 13. The axis movement command is a positioning command or a cutting command. The positioning command is a command for positioning the main shaft 9 at a target position (target value) relative to the first table 13. The cutting command is a command for performing hole drilling with a tool 4 such as a tap or a drill, or side machining with a tool 4 such as a milling cutter or an end mill. The axis movement command includes at least one of a first position command, a second position command, and a third position command. The first position command commands the position of the first table 13 in the X-axis direction. The second position command commands the position of the main shaft head 7 in the vertical direction. The third position command commands the position of the first table 13 in the Y-axis direction.
[0046] When the block is "G0X200.Y250;", CPU31 determines that the read block is an axis movement command (S13: YES), refers to the storage device 34 to obtain the coefficient C (S14). CPU31 obtains the first position command for commanding the position of the first stage 13 in the X-axis direction from the block (S15). When the block is "G0X200.Y250;", CPU31 obtains the first position command "X200". The "200" in the first position command corresponds to the distance from the reference R. CPU31 uses the coefficient C based on the mass M obtained in S1 and the position of the first position command, and calculates the position obtained by correcting the deflection of the second stage 12 due to the load W placed on the first stage 13 (S16). CPU31 substitutes the value x of the X coordinate of the first position command into Equation (2) to obtain the estimation error E(x). CPU31 uses Equation (9) to obtain the corrected position x' in the first direction. x´=x-E(x) ··· Equation (9)
[0047] CPU31 performs axis movement according to the block read in S11 (S17). Regarding the movement in the X-axis direction according to the first position command, CPU31 drives the X-axis motor 53 to move the first stage 13 in the X-axis direction to the position x' corrected in S16. Since the positioning command "G0X200.Y250;" includes the third position command "Y250", regarding the movement in the Y-axis direction, CPU31 drives the Y-axis motor 54 according to the third position command to move the first stage 13 in the Y-axis direction. CPU31 returns the process to S11.
[0048] When the read block is not an axis movement command (S13: NO), CPU31 executes other processes according to the control command indicated by the block (S20). Control commands that are not axis movement commands are coolant discharge commands and the like. CPU31 returns the process to S11. When the read block is an end command (S12: YES), CPU31 ends the main process as above.
[0049] FIG. 7 shows the evaluation results of the first embodiment. The error measurement values under Condition 1 where the mass M of the load W is 300 kg are indicated by white squares, and the error measurement values under Condition 2 where the mass M of the load W is 400 kg are indicated by black circles. The curve 81 indicated by the dotted line in FIG. 7(A) is the estimated error E(x) under Condition 1, and the curve 82 indicated by the solid line is the estimated error E(x) under Condition 2. In the evaluation of the first embodiment, the CPU 31 sets the measurement height H2 of the load W from the upper surface 11 of the first stage 13 at the time of error measurement to H, and sets the value obtained by applying the least squares method to the error measurement values to the constant K. As shown in FIG. 7(A), when the position of the first position command is not corrected according to the main process, the absolute value of the error in the X-axis direction of the first stage 13 increases as the absolute value of the distance from the reference R increases. Hereinafter, the error in the X-axis direction will be simply referred to as the error. The absolute value of the error of the first stage 13 is larger under Condition 2 than under Condition 1. As shown in FIG. 7(B), when the position of the first position command is corrected by Equation (9) using the coefficient C based on the mass M of the load W and the position of the first position command, the absolute value of the error of the first stage 13 becomes smaller than before the correction. The absolute value of the error in the X-axis direction of the first stage 13 is within 10 μm regardless of the distance from the reference R.
[0050] Referring to FIGS. 8 to 10, the main process of the second embodiment will be described. When the CPU 31 acquires an NC program execution instruction, it starts the main process by reading and executing the program stored in the ROM 32. In FIG. 8, the same reference numerals are given to the processes similar to those shown in FIG. 6. The main process in FIG. 8 is different in that it performs the process of S21 instead of the processes of S14 to S17 and performs the processes of S22 to S24 instead of the process of S20. The description of the processes similar to those in FIG. 6 will be omitted.
[0051] In S21, the CPU 31 performs the axis movement process of FIG. 9. As shown in FIG. 9, the CPU 31 determines whether the block read in S11 is a positioning command (S31). When the block read in S11 is a positioning command (S31: YES), the CPU 31 acquires a second position command from the block read in S11 (S32). The CPU 31 acquires the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 according to the tool length correction amount corresponding to the tool 4 mounted on the main shaft 9 and the second position command (S33). The tool length correction amount is stored in the storage device 34 after being acquired by the CPU 31 in S22 described later. The CPU 31 subtracts the tool length correction amount from the height of the main shaft 9 indicated by the second position command from the upper surface 11 of the first stage 13 to obtain the height H1 to the tip of the tool 4. The height H1 is a value corresponding to the height H2 from the upper surface 11 of the first stage 13 of the load W, and is a position a predetermined amount above the height H2 from the upper surface 11 of the first stage 13 of the load W. The CPU 31 substitutes the height H1 acquired in S33 into the height H in Equation (8) and updates the coefficient C (S34). In Equation (8), the CPU 31 updates the coefficient C using the values stored in the storage device 34 for K and M. Due to the process of S34, the coefficient C becomes a value based on the height H1 acquired in S33. When there is no specification of the tool length correction amount, the CPU 31 sets the tool length correction amount to 0 and obtains the coefficient C.
[0052] The CPU 31 acquires a first position command from the block read in S11 (S35). The CPU 31 corrects the position of the first position command in the same manner as S16 using the coefficient C corresponding to the mass M and height H acquired in S1 and the position of the first position command corresponding to the second position command in S31 (S36). The CPU 31 performs a positioning operation according to the block read in S11 (S37). Similar to S17, regarding the movement in the X-axis direction according to the first position command, the CPU 31 drives the X-axis motor 53 to move the first stage 13 to the position x' corrected in S36. Regarding the movement in the Y-axis direction, the CPU 31 drives the Y-axis motor 54, and regarding the movement in the Z-axis direction, the CPU 31 drives the Z-axis motor 51 to relatively move the first stage 13 and the tool 4. The CPU 31 stores the coefficient C updated in S34 in the storage device 34 (S42).
[0053] When the block read in S11 is a cutting command (S31: NO), the CPU 31 acquires the coefficient C from the storage device 34 (S38). When there is a first position command in the block read in S11, the CPU 31 acquires the first position command (S39). The CPU 31 corrects the position of the first position command in the same manner as S16 using the coefficient C acquired from the storage device 34 in S38 and the position of the first position command acquired in S39 (S40). The CPU 31 performs a cutting operation according to the block read in S11 (S41). Similar to S17, regarding the movement in the X-axis direction, the CPU 31 drives the X-axis motor 53 to move the first table 13 to the position x' corrected in S40. Regarding the movement in the Y-axis direction, the CPU 31 drives the Y-axis motor 54, and regarding the movement in the Z-axis direction, the CPU 31 drives the Z-axis motor 51 to relatively move the first table 13 and the tool 4. After S41 or S42, the CPU 31 returns the process to the main process in FIG. 8. The CPU 31 returns the post-processing of S21 to S11.
[0054] When the read block is not an axis operation command (S13: NO), the CPU 31 determines whether the read block is a command specifying a tool length correction amount (S22). When the read block is "G43 H01;", the CPU 31 determines that it is a command specifying a tool length correction amount (S22: YES), and stores the tool length correction amount corresponding to the tool length correction number "01" specified by the block "G43 H01;" in the storage device 34 (S23). When the read block is not a command specifying a tool length correction amount (S22: NO), the CPU 31 executes other processes according to the control command indicated by the block in the same manner as S20 (S24). After S23 or S24, the CPU 31 returns the process to S11.
[0055] FIG. 10 shows the evaluation results of the second embodiment. The error measurement values under Condition 3 where the height H is 400 mm and the mass M of the load W is 300 kg are indicated by white circles, and the error measurement values under Condition 4 where the height H is 450 mm and the mass M of the load W is 300 kg are indicated by black circles. The error measurement values under Condition 5 where the height H is 400 mm and the mass M of the load W is 400 kg are indicated by white squares, and Condition 6 where the height H is 450 mm and the mass M of the load W is 400 kg is indicated by black squares. The approximate curve of Condition 3 in FIG. 10(A) is a curve 83 indicated by a dashed-dotted line, and the approximate curve of Condition 4 is a curve 84 indicated by a solid line. The approximate curve of Condition 5 is a curve 85 indicated by a dotted line, and the approximate curve of Condition 6 is a curve 86 indicated by a solid line thicker than curve 84. As shown in FIG. 10(A), when the position of the first position command is not corrected according to the main process of the second embodiment, the absolute value of the error of the first stage 13 increases as the absolute value of the distance from the reference increases. Under the condition that the mass M of the load W is the same, when the height H is 450 mm rather than 400 mm, the absolute value of the error of the first stage 13 is larger. As shown in FIG. 10(B), when the position of the first position command is corrected using the coefficient C based on the mass M of the load W and the position of the first position command according to the main process of the second embodiment, the absolute value of the error of the first stage 13 becomes smaller compared to before the correction. The absolute value of the error of the first stage 13 is within 30 μm regardless of the distance from the reference R and the height H.
[0056] In the control device 30 of the first and second embodiments, the first machine tool 13, the second machine tool 12, the X-axis motor 53, the base 2, the Y-axis motor 54, the machine tool 1, and the control device 30 are respectively examples of the first machine tool, the second machine tool, the first drive unit, the base support unit, the second drive unit, the machine tool, and the control device of the present invention. The CPU 31 that performs S1 is an example of the mass acquisition unit, the mass acquisition process, and the mass acquisition step of the present invention. The CPU 31 that performs S15, S35, and S39 is an example of the first command acquisition unit, the command acquisition process, and the command acquisition step of the present invention. The CPU 31 that performs S16, S36, and S40 is an example of the correction unit, the correction process, and the correction step of the present invention. The tool 4, the spindle 9, the spindle head 7, the column 5, the Z-axis motor 51, and the storage device 34 are respectively examples of the tool, the spindle, the spindle head, the head support unit, the third drive unit, and the storage device of the present invention. The CPU 31 that performs S32 is an example of the second command acquisition unit of the present invention. The CPU 31 that performs S33 is an example of the height acquisition unit of the present invention. The CPU 31 that performs S31 is an example of the type determination unit of the present invention. The CPU 31 that performs S42 is an example of the storage control unit of the present invention. The X-axis direction and the Y-axis direction are respectively examples of the first direction and the second direction of the present invention.
[0057] In the first and second embodiments, the control device 30 controls a machine tool 1 including a first table 13 on which a workpiece W is placed, a second table 12 that supports the first table 13 so as to be movable in the X-axis direction parallel to the horizontal direction, an X-axis motor 53 that moves the first table 13 in the X-axis direction, a base 2 that supports the second table 12 so as to be movable in a second direction intersecting the X-axis direction, and a Y-axis motor 54 that moves the second table 12 in the second direction. The CPU 31 acquires the mass M of the workpiece W placed on the first table 13 (S1). The CPU 31 acquires a first position command for instructing the position of the first table 13 in the X-axis direction (S15; S35, S39). In response to acquiring the first position command in S15, the CPU 31 uses the coefficient C based on the mass M acquired in S1 and the position of the first position command, and corrects the position of the first position command by an amount corresponding to the deflection of the second table 12 due to the workpiece W placed on the first table 13 (S16; S36, S40). Therefore, the control device 30 corrects the position of the first table 13 in the X-axis direction indicated by the first position command by using the coefficient C based on the mass M of the workpiece W and the position of the first position command, so that the positioning error of the first table 13 in the X-axis direction corresponding to the mass M of the workpiece W placed on the first table 13 can be reduced more than before.
[0058] The position of the first position command of the control device 30 is represented by the distance from a reference R, which is the position where the deflection angle θ of the second table 12 due to the workpiece W placed on the first table 13 is minimized. The position of the first position command of the control device 30 represents a value corresponding to the deflection of the second table 12 due to the workpiece W placed on the first table 13 more easily than the position of the first position command when a position where the deflection angle θ is not minimized is used as a reference. Therefore, the control device 30 can calculate the amount corresponding to the deflection of the second table 12 more easily than when a position where the deflection angle θ is not minimized is used as a reference.
[0059] The coefficient C of the control device 30 is a value corresponding to a constant specific to the machine tool 1. By setting the coefficient C used for correction to a value corresponding to a constant specific to the machine tool 1, the control device 30 can correct the position of the first position command without measuring all individual machine tools 1.
[0060] The reference R of the control device 30 is the center of the movable range of the first stage 13. The control device 30 can reduce the maximum value of the deflection angle θ of the second stage 12 when the reference R is at the end of the movable range of the first stage 13.
[0061] The coefficient C of the control device 30 is a value based on a value corresponding to the height of the load W from the upper surface 11 of the first stage 13. The control device 30 can correct the position of the first position command in consideration of the height of the load W by setting the coefficient C used for correction to a value based on a value corresponding to the height of the load W.
[0062] The machine tool 1 controlled by the control device 30 of the second embodiment includes a spindle 9 to which a tool 4 is attached, a spindle head 7 that supports the spindle 9 and is movable up and down, a column 5 that supports the spindle head 7 so as to be movable in the vertical direction, and a Z-axis motor 51 that moves the spindle head 7 in the vertical direction. The CPU 31 acquires a second position command for instructing the vertical position of the spindle head 7 (S35). The CPU 31 acquires the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 according to the tool length correction amount corresponding to the tool 4 attached to the spindle 9 and the second position command (S33). The value H corresponding to the height of the load W is the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 acquired in S33. The control device 30 can correct the position of the first position command in consideration of the vertical position of the spindle head 7 indicated by the second position command by setting the coefficient C used for correction to a value corresponding to the height H to the tip of the tool 4.
[0063] The CPU 31 of the control device 30 according to the second embodiment determines whether the second position command is a positioning command or a cutting command (S31). When the CPU 31 determines that the second position command is a positioning command (S31: YES), it acquires the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 (S33). When the CPU 31 determines in S31 that the second position command is a positioning command (S31: YES), it updates the coefficient C using the height H1 acquired in S33 (S34), and corrects the position of the first position command using the updated coefficient C and the position of the first position command corresponding to the second position command (S36). The control device 30 can correct the position of the first position command in consideration of the vertical position of the spindle head 7 indicated by the second position command when the first position command is a positioning command. Therefore, even when the height H2 of the load W placed on the first stage 13 from the upper surface 11 of the first stage 13 is relatively large, the control device 30 can appropriately correct the position of the first stage 13 in the X-axis direction indicated by the first position command.
[0064] The control device 30 according to the second embodiment includes a storage device 34, and stores the coefficient C updated in S34 in the storage device 34 (S42). When the CPU 31 determines that the second position command is a cutting command (S31: NO), it corrects the position of the first position command using the coefficient C stored in the storage device 34 and the position of the first position command. The control device 30 can correct the position of the first position command during cutting.
[0065] The amount corresponding to the deflection of the second stage 12 due to the load W placed on the first stage 13 of the control device 30 according to the first and second embodiments is the product of the coefficient C and the cube of the distance x. The control device 30 can calculate the amount corresponding to the deflection of the second stage 12 relatively easily.
[0066] The control device, control method, control program, and storage medium of the present invention can be variously modified in addition to the above-described embodiments. The control device 30 may be a device separate from the machine tool 1. The tool 4, the spindle 9, the spindle head 7, the column 5, the Z-axis motor 51, and the storage device 34 may be omitted as appropriate or the configuration may be changed. The machine tool 1 may be capable of mounting only one type of tool 4, and the tip height H1 of the tool 4 may be the same regardless of the type of the tool 4. The first direction and the second direction may be changed as appropriate, and the front-rear direction (Y-axis direction) and the left-right direction (X-axis direction) may be used as the first direction and the second direction. The first direction and the second direction only need to be directions parallel to the horizontal direction and intersecting, and do not have to be orthogonal.
[0067] The program for the control device 30 to perform the control process only needs to be stored in the storage device 34 of the control device 30 until the CPU 31 executes the program. Therefore, each of the program acquisition method, acquisition path, and the device storing the program may be changed as appropriate. The program executed by the CPU 31 may be received from another device via a cable or wireless communication and stored in a storage device such as a flash memory. The other device includes, for example, a PC and a server connected via a network.
[0068] Part or all of the processes performed by the control device 30 may be performed by an electronic device (for example, an ASIC) different from the CPU 31. The processes performed by the control device 30 may be distributedly processed by a plurality of electronic devices (for example, a plurality of CPUs). Each step of the processes performed by the control device 30 can be changed in order, omitted, or added as necessary. The scope of the present invention also includes a mode in which an operating system (OS) or the like running on the control device 30 performs part or all of each process according to the instructions of the CPU 31. For example, the following changes may be appropriately added to the above-described embodiments.
[0069] The reference R may be changed as appropriate. The method of setting the coefficient C may be changed as appropriate, and the coefficient C does not have to be a value according to a constant unique to the machine tool 1, nor does it have to be a value based on a value corresponding to the height H2 of the load W from the upper surface 11 of the first base 13. The value corresponding to the height H2 of the load W does not have to be the height H1 from the first base 13 to the tip of the tool 4. The axis movement command may include other control commands such as a rapid feed command. At this time, the CPU 31 may separately determine whether the axis movement command is a cutting command from S31. When the axis movement command is a cutting command, the CPU 31 may acquire the height H2 from the first base 13 to the tip of the tool 4 and correct the position of the first position command using the coefficient C updated according to the height H2.
[0070] The control device 30 of the first modification example uses the coefficient C, the coefficient U based on the mass M, and the position of the first position command, and in addition to the amount corresponding to the deflection of the second base 12 due to the load W placed on the first base 13, the amount corresponding to the deflection of the base 2 due to the load W placed on the first base 13, and the position of the first position command may be corrected. The amount corresponding to the deflection of the base 2 due to the load W placed on the first base 13 may be the product of the coefficient U and the distance x. That is, the control device 30 of the first modification example may perform S16 of the main process of the first embodiment using the estimated error E(x) calculated by Equation (10) instead of Equation (2). E(x)=C×x 3 +U×x =K×M×H×x 3 +B×M×h×x ··· Equation (10) Here, B is a constant unique to the machine. B may be the same as K or different. h is a value corresponding to the height H2 of the load W from the upper surface 11 of the first base 13. H may be the same as h or different. The first term of Equation (10) represents the amount corresponding to the deflection of the second base 12 due to the load W placed on the first base 13, and the second term represents the amount corresponding to the deflection of the base 2 due to the load W placed on the first base 13. The control device 30 can reduce the positioning error of the first base 13 in the first direction more than before in consideration of the deflection of the base 2 due to the load W placed on the first base 13. The control device 30 can calculate the amount corresponding to the deflection of the base 2 relatively easily. The coefficient C and the coefficient U are examples of the first coefficient and the second coefficient of the present invention.
[0071] FIG. 11 shows the evaluation results of the first modification. In FIG. 11, the error measurement values under Condition 11 where the mass M of the load W is 200 kg are indicated by white squares, the error measurement values under Condition 12 where the mass M of the load W is 300 kg are indicated by white circles, and the error measurement values under Condition 13 where the mass M of the load W is 400 kg are indicated by black circles. The curve 91 shown by the solid line in FIG. 11(A) is the estimated error E(x) under Condition 11, the curve 92 shown by the dotted line is the estimated error E(x) under Condition 12, and the curve 93 shown by the thick line is the estimated error E(x) under Condition 13. In the evaluation of the first modification, the CPU 31 sets the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 at the time of error measurement for H and h, and sets the values obtained by applying the least squares method to the error measurement values for the constants K and B. As shown in FIG. 11(A), when the position of the first position command is not corrected, the absolute value of the error of the first stage 13 is larger as the absolute value of the distance from the reference R becomes larger than when the absolute value of the distance from the reference R is small. As shown in FIG. 11(B), according to the main process of the first modification, when the command position of the first position command is corrected using the coefficient C, the coefficient U, and the position of the first position command based on the mass M of the load W, the absolute value of the error of the first stage 13 becomes smaller than before correction. According to the main process of the first modification, the absolute value of the error of the first stage 13 is within 10 μm regardless of the distance from the reference R. Therefore, the control device 30 of the first modification can reduce the positioning error in the first direction of the first stage 13 in consideration of the amount corresponding to the deflection of the second stage 12 due to the load W placed on the first stage 13 and the amount corresponding to the deflection of the base 2 due to the load W placed on the first stage 13.
[0072] As shown in FIG. 12, the coefficient C may be based on the value corresponding to the height H2 of the load W from the upper surface 11 of the first stage 13, the height from the upper end of the base 2 to the upper surface 11 of the first stage 13, and the height from the first predetermined position between the upper end of the base 2 and the upper surface 11 of the first stage 13 to the upper surface 11 of the first stage 13. The first predetermined position may be the position where the error in the first direction of the first stage 13 due to the deflection of the second stage 12 caused by the load W placed on the first stage 13 is minimized among the positions between the upper end of the base 2 and the upper surface 11 of the first stage 13. The coefficient C may also be a value based on the height from the first predetermined position, which is represented by the sum of the height H1 and the height H3, to the tip of the tool 4.
[0073] The coefficient U may be based on the height H2 of the load W from the upper surface 11 of the first stage 13 and the height of the upper surface 11 of the first stage 13 from a second predetermined position between the lower end of the base 2 and the upper surface 11 of the first stage 13. The second predetermined position may be a position within the position between the lower end of the base 2 and the upper surface 11 of the first stage 13 where the error in the position of the first stage 13 in the first direction due to the deflection of the base 2 by the load W placed on the first stage 13 is minimized. The coefficient U may be a value based on the height from the second predetermined position, which is represented by the sum of the height H1 and the height H4, to the tip of the tool 4.
[0074] The control device 30 of the second modification example may perform S36 and S40 of the main process of the second embodiment using the estimated error E(x) calculated by Equation (11) instead of Equation (2). E(x)=C×x 3 +U×x =K×M×(H1+H3)×x 3 +B×M×(H1+H4)×x ··· Equation (11) Here, H3 is the height of the upper surface 11 of the first stage 13 from the position where the error in the position of the first stage 13 in the first direction due to the deflection of the second stage 12 by the load W placed on the first stage 13 is minimized. H4 is the height of the upper surface 11 of the first stage 13 from the position where the error in the position of the first stage 13 in the first direction due to the deflection of the base 2 by the load W placed on the first stage 13 is minimized. The control device 30 can correct the position of the first position command so that the error corresponding to the deflection of the second stage 12 by the load W placed on the first stage 13 according to the height of the upper surface 11 of the first stage 13 from the first predetermined position is minimized. The control device 30 can correct the position of the first position command so that the error corresponding to the deflection of the base 2 by the load W placed on the first stage 13 according to the height of the upper surface 11 of the first stage 13 from the second predetermined position is minimized.
[0075] FIG. 13 shows the evaluation results of the second modification. In FIG. 13, the error measurement values under Condition 14 where the height H is 200 mm are indicated by white squares, the error measurement values under Condition 15 where the height H is 300 mm are indicated by white circles, and the error measurement values under Condition 16 where the height H is 400 mm are indicated by black circles. The mass M of the load W under Conditions 14 to 16 is all 300 kg. The curve 94 indicated by the solid line in FIG. 13(A) is the estimated error E(x) under Condition 14, the curve 95 indicated by the dotted line is the estimated error E(x) under Condition 15, and the curve 96 indicated by the thick line is the estimated error E(x) under Condition 16. In the evaluation of the second modification, the CPU 31 sets the height H1 from the upper surface 11 of the first stage 13 to the tip of the tool 4 at the time of error measurement for H and h, and sets the values obtained by applying the least squares method to the error measurement values for the first predetermined position, the second predetermined position, the constant K, and B. As shown in FIG. 13(A), when the position of the first position command is not corrected according to the main process, the absolute value of the error of the first stage 13 increases as the absolute value of the distance from the reference R increases. As shown in FIG. 13(B), according to the main process of the second modification, when the position of the first position command is corrected using the coefficient C based on the mass M of the load W, the coefficient U based on the mass M of the load W, and the position of the first position command, the absolute value of the error of the first stage 13 becomes smaller than before correction. According to the main process of the second modification, the absolute value of the error of the first stage 13 is within 10 μm regardless of the distance from the reference R and the height H.
[0076] As shown in FIG. 14, when the center of gravity of the load W is at a position away from the center of the first stage 13 in the first direction, the control device 30 of the third modification may correct the position of the first position command by an amount corresponding to the deflection of the second stage 12 due to the load W placed on the first stage 13, using the coefficient C and the position of the first position command corrected using the center of gravity of the load W and the first stage 13. The control device 30 may correct the position of the first position command by an amount corresponding to the deflection of the base 2 due to the load W placed on the first stage 13, using the coefficient U and the position of the first position command corrected using the center of gravity of the load W and the first stage 13. The control device 30 of the third modification may perform S36 and S40 of the main process of the second embodiment, using the estimated error E(x) calculated by Equation (12) instead of Equation (2). E(x)=C×(x - xc) 3 +U×(x - xc) =K×M×(H1 + H3)×(x - xc)3 +B×M×(H1 + H4)×(x - xc) ··· Equation (12) xc is represented by Equation (13). xc = M×xw / (Mt + M) ··· Equation (13) Mt is the mass of the first stage 13 when unloaded, and xw is the distance of the center of gravity of the load W from the center in the first direction of the first stage 13. The method for obtaining xw may be set as appropriate. When the operator operates the input unit 16 to input xw, the CPU 31 may obtain the input value as xw. The control device 30 may estimate xw based on an image of the load W placed on the first stage 13. The control device 30 can correct the first position command position in consideration of the deviation of the center of gravity of the load W on the first stage 13. The first predetermined position and the second predetermined position may be changed as appropriate, and the first predetermined position may be the same as the second predetermined position.
[0077] Figure 15 shows the evaluation results of the third modification. In Figure 15(A), the mass M of the load W is 200 kg, and the error measurement values under condition 17 where the center of gravity of the load W is 250 mm to the right of the center in the first direction of the first stage 13 are indicated by black circles. In Figure 15(A), the approximate curve of condition 17 using Equation (11) is the curve 97 shown by a dotted line, and the approximate curve of condition 17 using Equation (12) is the curve 98 shown by a solid line. As shown in Figure 15(A), the curve 98 is closer to the error measurement values indicated by black circles than the curve 97. In Figure 15(B), condition 18 corrected in the main process of the second embodiment using Equation (11) is indicated by black circles, and condition 19 corrected in the main process of the second embodiment using Equation (12) is indicated by white circles. As shown in Figure 15(B), the absolute value of the error of the first stage 13 is smaller for condition 19 than for condition 18. Due to the main process of the third modification, the absolute value of the error of the first stage 13 is within 10 μm regardless of the distance from the reference R and the height H.
[0078] The above modifications may be combined within a non - conflicting range. The control device 30 may calculate the estimation error E(x) by replacing x in Equation (2) or Equation (10) with x - xc. The control device 30 may calculate the estimation error E(x) by replacing x of one of the first term and the second term in Equation (10) with x - xc.
Explanation of Reference Numerals
[0079] 1: Machine tool 2: Base 4: Tool 5: Column 7: Spindle head 9: Spindle 12: Second stage 13: First stage 30: Control device 31: CPU 34: Memory device 51: Z-axis motor 53: X-axis motor 54: Y-axis motor
Claims
1. In a control device for controlling a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first driving unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second driving unit that moves the second table in the second direction, a mass acquisition unit that acquires the mass of the load placed on the first table; a first command acquisition unit that acquires a first position command for commanding the position of the first table in the first direction; using the mass acquired by the mass acquisition unit, a first coefficient based on a constant specific to the machine tool, and the position of the first position command, an estimated value of an error in the first direction caused by deflection of the second table due to the load placed on the first table is obtained, and the position of the first position command is corrected by subtracting the estimated value from the position of the first position command. A correction unit; characterized in that: the position of the first position command is represented by a distance from a reference that is a position where the deflection angle of the second table due to the load placed on the first table is minimized. A control device.
2. In a control device for controlling a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first driving unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second driving unit that moves the second table in the second direction, a mass acquisition unit that acquires the mass of the load placed on the first table; a first command acquisition unit that acquires a first position command for commanding the position of the first table in the first direction; using the mass acquired by the mass acquisition unit, a first coefficient based on a value corresponding to the height of the load from the upper surface of the first table, and the position of the first position command, an estimated value of an error in the first direction caused by deflection of the second table due to the load placed on the first table is obtained, and the position of the first position command is corrected by subtracting the estimated value from the position of the first position command. A correction unit; characterized in that: the position of the first position command is represented by a distance from a reference that is a position where the deflection angle of the second table due to the load placed on the first table is minimized. A control device.
3. The control device according to claim 2, characterized in that the first coefficient is a value based on a constant specific to the machine tool.
4. The control device according to any one of claims 1 to 3, wherein the reference is the center of the movable range of the first table.
5. The machine tool includes a spindle for mounting a tool, a spindle head that supports the spindle and is movable up and down, a head support portion that supports the spindle head so as to be movable in the vertical direction, and a third drive portion that moves the spindle head in the vertical direction. A second command acquisition unit that acquires a second position command for commanding the position of the spindle head in the vertical direction. It has a height acquisition unit that acquires the height of the tip of the tool from the first table according to the tool length correction amount corresponding to the tool mounted on the spindle and the second position command. The control device according to claim 2 or 3, wherein the value corresponding to the height of the load is the height of the tip of the tool from the upper surface of the first table acquired by the height acquisition unit.
6. The control device further includes a type determination unit that determines whether the second position command is a positioning command or a cutting command. The height acquisition unit acquires the height of the tip of the tool from the first table in response to the type determination unit determining that the second position command is the positioning command. The correction unit updates the first coefficient using the height of the tip of the tool from the first table acquired by the height acquisition unit, and corrects the position of the first position command using the updated first coefficient and the position of the first position command. The control device according to claim 5, characterized in that.
7. A storage device, The control device further includes a storage control unit that stores the first coefficient updated by the correction unit in the storage device. The correction unit corrects the position of the first position command using the first coefficient stored in the storage device and the position of the first position command in response to the type determination unit determining that the second position command is the cutting command. The control device according to claim 6, characterized in that.
8. The first coefficient is the value corresponding to the height of the load from the upper surface of the first table, and the height of the upper surface of the first table from a first predetermined position between the upper end of the table support portion and the upper surface of the first table The control device according to any one of claims 2, 3, 5 to 7, characterized in that it is based on.
9. The control device according to claim 8, wherein the first predetermined position is a position obtained by the least squares method such that the difference between the measured value of the error in the position of the first stage in the first direction due to the deflection of the second stage caused by the load placed on the first stage and the estimated value when correcting the position of the first position command is minimized.
10. The control device according to any one of claims 2, 3, 5 to 9, wherein the estimated value is the product of the first coefficient and the cube of the distance.
11. The correction unit uses the first coefficient and the position of the first position command corrected using the center of gravity of the load and the first stage to obtain the estimated value, and subtracts the estimated value from the position of the first position command, thereby correcting the position of the first position command. The control device according to any one of claims 2, 3, 5 to 10.
12. The correction unit uses the first coefficient, a second coefficient based on the mass acquired by the mass acquisition unit, and the position of the first position command to obtain a first estimated value, which is the estimated value of the error in the first direction caused by the deflection of the second stage due to the load placed on the first stage, and a second estimated value, which is the estimated value of the error in the first direction caused by the deflection of the stage support portion due to the load placed on the first stage, and subtracts the first estimated value and the second estimated value from the position of the first position command, thereby correcting the position of the first position command. The control device according to any one of claims 2, 3, 5 to 11.
13. The control device according to claim 12, wherein the second estimated value is the product of the second coefficient and the distance.
14. The second coefficient is a value corresponding to the height of the load from the upper surface of the first stage, and is based on the height of the upper surface of the first stage from a second predetermined position between the lower end of the stage support portion and the upper surface of the first stage. The control device according to claim 13.
15. The control device according to claim 14, wherein the second predetermined position is a position obtained by the least squares method such that the difference between the measured value of the error in the position of the first stage in the first direction due to the deflection of the stage support portion caused by the load placed on the first stage and the estimated value when correcting the position of the first position command is minimized.
16. The correction unit obtains the second estimated value by using the second coefficient and the position of the first position command corrected by using the center of gravity of the load and the first table, and corrects the position of the first position command by subtracting the first estimated value and the second estimated value from the position of the first position command. The control device according to claim 14 or 15, characterized in that.
17. In a control method for a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction, a mass acquisition step of acquiring the mass of the load placed on the first table; a command acquisition step of acquiring a position command for commanding the position of the first table in the first direction; using the mass acquired in the mass acquisition step, a coefficient based on a constant specific to the machine tool, and the position of the position command, an estimated value of an error in the first direction caused by deflection of the second table due to the load placed on the first table is obtained, and the position of the position command is corrected by subtracting the estimated value from the position of the position command. A correction step comprising The position of the position command is represented by a distance from a reference that is the position at which the deflection angle of the second table due to the load placed on the first table is minimized. A control method characterized by this.
18. In a control program executable by a control unit of a control device for controlling a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction, a mass acquisition process of acquiring the mass of the load placed on the first table; a command acquisition process of acquiring a position command for commanding the position of the first table in the first direction; using the mass acquired in the mass acquisition process, a coefficient based on a constant specific to the machine tool, and the position of the position command, an estimated value of an error in the first direction caused by deflection of the second table due to the load placed on the first table is obtained, and the position of the position command is corrected by subtracting the estimated value from the position of the position command. A correction process including an instruction to cause the control unit of the control device to execute; A control program, wherein the position in the position command is represented by a distance from a reference which is a position where the deflection angle of the second table due to the load placed on the first table is minimized. **Claim 19** In a storage medium storing a control program executable by a control unit of a control device that controls a machine tool including a first table on which a load is placed, a second table that supports the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit that moves the first table in the first direction, a table support unit that supports the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit that moves the second table in the second direction, a mass acquisition process for acquiring the mass of the load placed on the first table; a command acquisition process for acquiring a position command for commanding the position of the first table in the first direction; a correction process for obtaining an estimated value of an error in the first direction caused by the deflection of the second table due to the load placed on the first table, using the mass acquired in the mass acquisition process, a coefficient based on a constant specific to the machine tool, and the position in the position command, and subtracting the estimated value from the position in the position command to correct the position in the position command; storing the control program including an instruction to cause the control unit of the control device to execute; A storage medium, wherein the position in the position command is represented by a distance from a reference which is a position where the deflection angle of the second table due to the load placed on the first table is minimized.
Citation Information
Patent Citations
Diethylene glycol bis(alkyl phthalate) plasticizer
JP1984015436A
Correcting method for position of x, y, z axis table taking deflection into consideration
JP1992361194A
Method and device for work position / attitude correction with table deflection taken into account
JP1993004150A
Numeric control device and numeric control method of machine tool
JP2019053598A