Control device, control method, control program, and storage medium
The control device for machine tools addresses positioning errors due to load-induced deflection by using a mass-acquisition and correction mechanism, significantly reducing errors and enhancing precision.
Patent Information
- Application Number
- JP2021117904
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-16
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-07-16
AI Technical Summary
Machine tools experience increased positioning errors in the first direction due to the deflection of the support base caused by loads, despite correction for pitch errors in the ball screw.
A control device that includes a first table for loads, a second table for supporting the first table, and driving units for movement in both the first and second directions. The control device acquires the mass of the load and corrects the position command using a coefficient based on the mass and the position command, accounting for the deflection of the table support unit.
The control device effectively reduces positioning errors in the first direction by considering the deflection caused by loads, improving precision and accuracy in machine tool operations.
Smart Images

Figure 0007683373000001 
Figure 0007683373000002 
Figure 0007683373000003
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 pitch error of the ball screw 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 machine tool described above 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 a first direction and movable in a second direction. A support portion supports the support base. Depending on the mass of the load, the support portion 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 portion.
[0005] An object of the present invention is to provide a control device, a control method, a control program, and a storage medium with reduced positioning error compared to the prior art.
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 coefficient based on the mass acquired by the mass acquisition unit, and the position of the first position command are used to correct the position of the first position command by an amount corresponding to the deflection of the table support unit caused by the load placed on the first table. Since the control device corrects the position of the first position command using the coefficient based on the mass of the load and the position of the first position command, the positioning error of the first table in the first direction can be reduced more than before in consideration of the amount corresponding to the deflection of the table support unit caused by the load placed on the first table.
[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 that is the position at which the amount corresponding to the deflection of the table support unit 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 the value corresponding to the deflection of the table support unit caused by the load placed on the first table than the position of the first position command when the position where the amount corresponding to the deflection of the table support unit is not the minimum is used as the reference. Therefore, the control device can simplify the calculation of the amount corresponding to the deflection of the table support unit more than when the position where the amount corresponding to the deflection of the table support unit is not the minimum is used as the reference.
[0008] The amount corresponding to the deflection of the table support unit caused by the load placed on the first table of the control device according to claim 3 of the present invention is the product of the coefficient and the distance. The control device can simplify the calculation of the amount corresponding to the deflection of the table support unit.
[0009] The coefficient of the control device according to claim 4 of the present invention is a value based on a constant specific to the machine tool. By setting the 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.
[0010] The reference of the control device according to claim 5 of the present invention is the center of the movable range of the first table. The control device can reduce the amount corresponding to the deflection of the table support portion compared to when the reference is at the end of the movable range of the first table.
[0011] The coefficient of the control device according to claim 6 of the present invention is based on a value corresponding to the height of the load from a predetermined position between the lower end of the table support portion and the upper surface of the first table. The control device can correct the position of the first position command in consideration of the height of the load.
[0012] The predetermined position of the control device according to claim 7 of the present invention is the 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 load from the predetermined position is minimized.
[0013] The machine tool of the control device according to claim 8 of the present invention 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 vertical position of the spindle head, and a height acquisition unit that acquires the height from a predetermined position of the tip of the tool 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 load is the height from the predetermined position of the tip of the tool acquired by the height acquisition unit. 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.
[0014] The control device according to claim 9 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 from the predetermined position of the tip of the tool in response to the type determination unit determining that the second position command is the positioning command. The correction unit updates the coefficient using the height from the predetermined position of the tip of the tool acquired by the height acquisition unit, and corrects the position of the first position command using the updated 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 from the predetermined position of the load placed on the first stage is relatively large, the control device can appropriately correct the position of the first stage in the first direction indicated by the first position command.
[0015] The control device according to claim 10 of the present invention further includes a storage device and a storage control unit that stores the coefficient updated by the correction unit in the storage device. The correction unit corrects the position of the first position command using the 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.
[0016] The correction unit of the control device according to claim 11 of the present invention corrects the position of the first position command using the coefficient and the position of the first position command corrected using the center of gravity of the load and the first stage, according to the amount corresponding to the deflection of the stage support portion caused by the load placed on the first stage. The control device can appropriately correct the position of the first position command according to the amount corresponding to the deflection of the stage support portion caused by the load placed on the first stage, taking into account the arrangement of the load on the first stage in the first direction.
[0017] The control method according to claim 12 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 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 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 using a coefficient based on the mass acquired in the mass acquisition step and the position of the position command by an amount corresponding to the deflection of the table support unit due to the load placed on the first table. By performing the control method, the control device causes the correction unit to correct the position of the position command by using a coefficient based on the mass of the load and the position of the position command, so that, in consideration of the amount corresponding to the deflection of the table support unit due to the load placed on the first table, the positioning error of the first table in the first direction corresponding to the mass of the load placed on the first table can be reduced more than before.
[0018] The control program according to claim 13 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 the position of the position command by an amount corresponding to the deflection of the table support portion due to the load placed on the first table is included. The control device that executes the control program has a correction unit that corrects the position of the position command using a coefficient based on the mass of the load and the position of the position command. Therefore, in consideration of the amount corresponding to the deflection of the table support portion due to the load placed on the first table, 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.
[0019] The storage medium according to claim 14 of the present invention is 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. The control program includes 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 instructing the position of the first table in the first direction, a coefficient based on the mass acquired in the mass acquisition process, and using the position of the position command, an instruction for causing the control unit of the control device to execute a correction process for correcting the position of the position command by an amount corresponding to the deflection of the table support unit due to the load placed on the first table is included. Since the control device that executes the control program stored in the storage medium corrects the position of the position command using a coefficient based on the mass of the load and the position of the position command, the positioning error of the first table in the first direction corresponding to the mass of the load placed on the first table can be reduced more than before in consideration of the amount of deflection of the table support unit due to the load placed on the first table.
Brief Description of the Drawings
[0020]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Mode for Carrying Out the Invention
[0021] The configuration of the machine tool 1 will be described. The following description uses the left - right, front - back, and up - down directions indicated by arrows in the figure. The left - right direction, front - back direction, and up - down direction 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 a first table 13. The control device 30 controls the operation of the machine tool 1.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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 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.
[0027] 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 relative to each other 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 relative to each other, and various machining operations are performed on the workpiece 3. The various machining operations include hole drilling 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.
[0028] 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). The input unit 16 receives the input of various information, operation instructions, etc., and then 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.
[0029] 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 comprehensively controls 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.
[0030] 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 respectively.
[0031] Referring to FIG. 4, the outline of the correction process for correcting the influence of the bending of the base 2 caused by the load W placed on the first stage 13 will be described. Assume that the first stage 13 is located at the position Px described later, and the amount corresponding to the bending of the base 2 due to the load W placed on the first stage 13 is proportional to 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 reference R in the present embodiment is the position on the X-axis where the amount corresponding to the bending of the base 2 due to the load W placed on the first stage 13 is minimized. In the example of FIG. 4, the reference R is the center of the movable range of the first stage 13, and the center in the X-axis direction of the first stage 13 coincides with the center in the X-axis direction of the second stage 12 and the center in the X-axis direction of the base 2. The distance x indicates the moving distance from the reference R. In FIG. 4, the state where the first stage 13 is at the reference R is shown by a solid line, and the state where the first stage 13 is at the position Px is shown by a dashed-dotted 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.
[0032] The estimated error E(x) in the X-axis direction caused by the bending of the base 2 due to the load W placed on the first stage 13 is obtained by Equation (1). It can also be said that E(x) is the amount corresponding to the bending of the base 2 due to the load W placed on the first stage 13. E(x)=H×K×M×x ···Equation (1) Here, K is a constant inherent 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. H is a value (height) corresponding to the upper end of the load W from a predetermined position. The predetermined position is the position between the upper end of the base 2 and the upper surface 11 of the first stage 13, for example, the position where the positioning error of the first stage 13 due to the bending of the base 2 caused by the load W placed on the first stage 13 is minimized. H in the first embodiment is the height H2 from the predetermined position to the upper end of the load W and is stored in the storage device 34 in advance. H in the second embodiment is the height H1 from the predetermined position to the tip of the tool 4. The height H1 is calculated in advance by the CPU 31 and then stored in the storage device 34 in advance. In the first and second embodiments, K×M×H in Equation (1) is treated as a coefficient C.
[0033] Referring to FIG. 5, the mass acquisition process will be described. When the machine tool 1 is started, the CPU 31 reads out the program stored in the ROM 32 and then starts the mass acquisition process. The CPU 31 determines whether the mass M of the workpiece W placed on the first table 13 has been acquired (S1). The mass M of the workpiece W is used for setting the coefficient C for obtaining the estimation error E(x). The method for acquiring the mass M of the workpiece W may be set as appropriate. When the operator operates the input unit 16 to input the mass of the workpiece W, the CPU 31 may acquire the input value as the mass M of the workpiece W. The CPU 31 may also obtain the mass M of the workpiece W from the acceleration of the first table 13 by the table device 10 and the torque during acceleration.
[0034] When obtaining the mass M of the workpiece 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 table 13 from a stationary state at a constant acceleration until it reaches a constant speed V. Thereafter, the CPU 31 moves the first table 13 in the X-axis direction by a constant distance at a constant speed V. Thereafter, the CPU 31 decelerates at a constant deceleration to stop the first table 13. The estimated workpiece mass during acceleration and the estimated workpiece mass during deceleration are shown by the following two equations (2) and (3). In equation (2), when the acceleration at an arbitrary speed V1 during acceleration is α and the torque is T1. In equation (3), when 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 converted to the motor axis. The total mass is the sum of the workpiece mass and the mass of the first table 13 without the workpiece. Estimated workpiece mass during acceleration = [(T1 - viscous resistance × V1 + sliding resistance of the first table 13) / (α × k)] - mass of the first table 13 without the workpiece ··· Equation (2) Estimated workpiece mass during deceleration = -[(T2 - viscous resistance × V1 + sliding resistance of the first table 13) / (α × k)] - mass of the first table 13 without the workpiece ··· Equation (3) The average of the estimated workpiece mass during acceleration and the estimated workpiece mass during deceleration based on equations (2) and (3) is shown by equation (4). Average of the estimated workpiece mass during acceleration and the estimated workpiece mass during deceleration = [(T1 - T2) / (2 × α × k)] - mass of the first table 13 without the workpiece ··· Equation (4) The CPU 31 can estimate the mass M of the load W by offsetting the variations caused by the environmental temperature of the machine and secular changes using Equation (4).
[0035] 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 (5) to estimate the load mass Q. The rapid feed operation is an operation of moving the main shaft 9 relative to the workpiece 3 at a speed higher than the cutting movement in order to approach or separate the tool 4 from the workpiece 3. Q = T / α ··· Equation (5) The CPU 31 further estimates the mass M of the load W based on Equation (6). Mass M of the load W = Load mass Q - Equivalent mass of the feed mechanism - Mass of the first base 13 ··· Equation (6) 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.
[0036] When the CPU 31 acquires the mass M of the load W (S1: YES), it substitutes the acquired mass M into Equation (7) 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 (7)
[0037] 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.
[0038] 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 starts the main process by reading out the main program stored in the ROM 32.
[0039] The CPU 31 reads out 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 spindle head 7 in the vertical direction. The third position command commands the position of the first table 13 in the Y-axis direction.
[0040] When the block is "G0X200.Y250;", the CPU 31 determines that the read block is an axis movement command (S13: YES), and obtains the coefficient C by referring to the storage device 34 (S14). The CPU 31 obtains a first position command for commanding the position of the first table 13 in the X-axis direction from the block (S15). When the block is "G0X200.Y250;", the CPU 31 obtains the first position command "X200". The "200" in the first position command corresponds to the distance from the reference R. The CPU 31 calculates a correction value for correcting the deflection of the second table 12 due to the load W placed on the first table 13, using the coefficient C based on the mass M obtained in S1 and the position of the first position command (S16). The CPU 31 substitutes the value x of the X coordinate of the first position command into Equation (1) to obtain the estimation error E(x). The CPU 31 uses Equation (8) to obtain the corrected position x' of the first position command. x´=x-E(x) ··· Equation (8)
[0041] The CPU 31 performs an axis operation according to the block read out at S11 (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 in the X-axis direction to the position x' corrected at S16. Since the positioning command "G0X200.Y250;" includes the third position command "Y250", the CPU 31 drives the Y-axis motor 54 according to the third position command to move the first stage 13 in the Y-axis direction regarding the movement in the Y-axis direction. The CPU 31 returns the process to S11.
[0042] When the read block is not an axis operation command (S13: NO), the CPU 31 executes other processes according to the control command indicated by the block (S20). Control commands that are not axis operation commands are coolant discharge commands and the like. The CPU 31 returns the process to S11. When the read block is an end command (S12: YES), the CPU 31 ends the main process as described above.
[0043] 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 200 kg are indicated by white squares, the error measurement values under Condition 2 where the mass M of the load W is 300 kg are indicated by white circles, and the error measurement values under Condition 3 where the mass M of the load W is 400 kg are indicated by black circles. The straight line 81 indicated by the solid line in FIG. 7(A) is the estimated error E(x) under Condition 1, the straight line 82 indicated by the dotted line is the estimated error E(x) under Condition 2, and the thick line 83 is the estimated error E(x) under Condition 3. In the evaluation of the first embodiment, the CPU 31 sets the height H1 from a predetermined position at the tip of the tool 4 during error measurement to H, and sets the predetermined position and the value obtained by applying the least squares method to the error measurement value 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 larger the absolute value of the distance from the reference R, the larger the absolute value of the error in the X-axis direction of the first stage 13. Hereinafter, the error in the X-axis direction is simply referred to as the error. The absolute value of the error of the first stage 13 in Condition 2 is larger than that in Condition 1. As shown in FIG. 7(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, the absolute value of the error of the first stage 13 is smaller than before correction. The absolute value of the error of the first stage 13 is within 15 μm regardless of the distance from the reference R. Therefore, the control device 30 of the first embodiment 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 base 2 due to the load W placed on the first stage 13.
[0044] 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 of the main process of the first embodiment 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 is omitted.
[0045] 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 a predetermined position to the tip of the tool 4 based on 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 from the predetermined position indicated by the second position command to the main shaft 9 to obtain the height H1 from the predetermined position to the tip of the tool 4. The height H1 is a value corresponding to the height H2 of the load W from the predetermined position and is a predetermined amount higher than the height H2. The CPU 31 substitutes the height H1 acquired in S33 into the height H in Equation (7) and updates the coefficient C (S34). In Equation (7), 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.
[0046] The CPU 31 acquires a first position command from the block read in S11 (S35). The CPU 31 corrects the position in the X-axis direction of the first stage 13 indicated by the first position command in the same manner as S16 using the coefficient C corresponding to the mass M and the 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).
[0047] 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 in 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, with respect to the movement in the X-axis direction, the CPU 31 drives the X-axis motor 53 to move the first stage 13 to the position x' corrected in S40. With respect to the movement in the Y-axis direction, the CPU 31 drives the Y-axis motor 54, and with respect to 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. 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.
[0048] When the read block is not an axis movement 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 in S20 (S24). After S23 or S24, the CPU 31 returns the process to S11.
[0049] Figure 10 shows the evaluation results of the second embodiment. The error measurement values under Condition 4 where the height H1 is 200 mm are indicated by white squares, the error measurement values under Condition 5 where the height H1 is 300 mm are indicated by white circles, and the error measurement values under Condition 6 where the height H1 is 400 mm are indicated by black circles. The mass M of the load W is all 300 kg. The straight line 84 indicated by the solid line in Fig. 10(A) is the estimated error E(x) under Condition 4, the straight line 85 indicated by the dotted line is the estimated error E(x) under Condition 5, and the thick line 86 indicated by the thick line is the estimated error E(x) under Condition 6. As shown in Fig. 10(A), when the position of the first position command is not corrected according to the main process, the larger the absolute value of the distance from the reference R, the larger the absolute value of the error in the position of the first stage 13 in the X-axis direction. As shown in Fig. 10(B), according to the main process of the second embodiment, 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, the absolute value of the error in the position of the first stage 13 in the X-axis direction is smaller than before correction. According to the main process of the second embodiment, the absolute value of the error in the position of the first stage 13 in the X-axis direction is within 15 μm regardless of the distance from the reference R and the height H1.
[0050] As shown in Fig. 11, 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 position of the first position command may be corrected using the center of gravity of the load W and the first stage 13. The control device 30 of the modified example may use the estimated error E(x) calculated by Equation (9) instead of Equation (2) and perform S36 and S40 of the main process of the second embodiment. E(x)=C×(x - xc) =K×M×H×(x - xc) ··· Equation (9) xc is represented by Equation (10). xc = M×xw / (Mt + M) ··· Equation (10) Mt is the mass of the first stage 13 without load, and xw is the distance between the center of gravity of the load W and the center of the first stage 13 in the first direction. The acquisition method of xw may be set as appropriate. When the operator operates the input unit 16 to input xw, the CPU 31 may acquire 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 of the modified example can correct the position of the first position command in consideration of the deviation of the center of gravity of the load W on the first stage 13.
[0051] FIG. 12 shows the evaluation results of the modified example. In FIG. 12(A), the error measurement values under Condition 7 where the mass M of the load W is 200 kg and the center of gravity of the load W is located 250 mm to the right of the center in the first direction of the first stage 13 are indicated by black circles. In FIG. 12(A), the estimated error E(x) using Equation (2) is the straight line 87 indicated by a dotted line, and the estimated error E(x) using Equation (9) is the straight line 87 indicated by a solid line. The error measurement value of Condition 7 becomes 0 when it is -150 mm from the reference R. The rate of change of the error with respect to the distance from the reference R of the error measurement value of Condition 7 was larger for the condition where it is smaller than -150 mm from the reference R than for the condition where it is larger than -150 mm from the reference R. In FIG. 12(B), the error measurement values when correcting the position of the first position command with the estimated error E(x) using Equation (2) are indicated by white circles, and the error measurement values when correcting the position of the first position command with the estimated error E(x) using Equation (9) are indicated by black circles. As shown in FIG. 12(B), in the range where the distance from the reference R is -150 mm to 100 mm, the error was smaller when correcting the position of the first position command with the estimated error E(x) using Equation (9) than when correcting the position of the first position command with the estimated error E(x) using Equation (2).
[0052] In the control device 30 of the above-described first and second embodiments and modification examples, the first table 13, the second table 12, the X-axis motor 53, the base 2, the Y-axis motor 54, the machine tool 1, and the control device 30 are examples of the first table, the second table, the first drive unit, the table support unit, the second drive unit, the machine tool, and the control device of the present invention, respectively. 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 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, respectively. 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 examples of the first direction and the second direction of the present invention, respectively.
[0053] The control device 30 controls a machine tool 1 including a first table 13, a second table 12, an X-axis motor 53, a base 2, and a Y-axis motor 54. The first table 13 mounts a load W. The second table 12 supports the first table 13 so as to be movable in a first direction parallel to the horizontal direction. The X-axis motor 53 moves the first table 13 in the first direction. The base 2 supports the second table 12 so as to be movable in a second direction intersecting the first direction. The Y-axis motor 54 moves the second table 12 in the second direction. The CPU 31 acquires the mass M of the load W placed on the first table 13 (S1). The CPU 31 acquires a first position command for commanding the position of the first table 13 in the first direction (S15; S35, S39). The CPU 31 uses the coefficient C based on the acquired mass M 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 base 2 due to the load W placed on the first table 13 (S16; S36, S40). Since the control device 30 corrects the position of the first position command using the coefficient C based on the mass M of the load W and the position of the first position command, the positioning error of the first table 13 in the first direction can be reduced more than before in consideration of the amount corresponding to the deflection of the base 2 due to the load W placed on the first table 13.
[0054] 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 amount corresponding to the deflection of the base 2 due to the load W placed on the first stage 13 is minimized. The position of the first position command of the control device 30 is easier to represent the value corresponding to the deflection of the base 2 due to the load W placed on the first stage 13 than the position of the first position command when a position where the amount corresponding to the deflection of the base 2 is not minimized is used as a reference. Therefore, the control device 30 can calculate the amount corresponding to the deflection of the base 2 more easily than when a position where the amount corresponding to the deflection of the base 2 is not minimized is used as a reference.
[0055] The amount corresponding to the deflection of the base 2 due to the load W placed on the first stage 13 of the control device 30 is the product of a coefficient C and the distance. The control device 30 can calculate the amount corresponding to the deflection of the base 2 easily.
[0056] The coefficient C of the control device 30 is a value based on a constant specific to the machine tool 1. By setting the coefficient C used for correction as a value based on 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.
[0057] 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 make the maximum value of the amount corresponding to the deflection of the base 2 smaller than when the reference R is at the end of the movable range of the first stage 13.
[0058] The coefficient C of the control device 30 is based on a value corresponding to the height H2 of the load W from a predetermined position between the lower end of the base 2 and 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 H2 of the load W from the predetermined position.
[0059] The predetermined position of the control device 30 is 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 caused 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 base 2 due to the load W placed on the first stage 13, which corresponds to the height H1 of the load W from the predetermined position, is minimized.
[0060] The machine tool 1 of the control device 30 includes a spindle 9 for mounting a tool 4, 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 a predetermined position of the tip of the tool 4 according to the tool length correction amount corresponding to the tool 4 mounted on the spindle 9 and the second position command (S33). The value corresponding to the height H2 of the load W acquired by the CPU 31 is the height H1 from the predetermined position of the tip of the acquired tool 4. 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 based on the height H1 from the predetermined position of the tip of the tool 4.
[0061] The CPU 31 of the control device 30 determines whether the second position command is a positioning command or a cutting command (S31). In response to determining that the second position command is a positioning command (S31: YES), the CPU 31 acquires the height H1 from a predetermined position of the tip of the tool 4 (S33). The CPU 31 updates the coefficient C using the acquired height from the predetermined position of the tip of the tool 4 (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 corresponding to the second position command in consideration of the vertical position of the spindle head 7 indicated by the second position command when the second position command is a positioning command. Therefore, the control device 30 can appropriately correct the position of the first position command even when the height H2 from the predetermined position of the load W placed on the first stage 13 is relatively large.
[0062] The control device 30 includes a storage device 34 and stores the coefficient C updated in S34 in the storage device 34 (S42). In response to determining that the second position command is a cutting command (S31: NO), the CPU 31 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 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.
[0063] The CPU 31 of the control device 30 uses the coefficient C and the position of the first position command corrected using the load W and the center of gravity of the first base 13, and corrects 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 base 13 (S36, S40). The control device 30 can appropriately 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 base 13 in consideration of the arrangement of the load W in the first direction on the first base 13.
[0064] 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 appropriately omitted 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 appropriately changed, 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.
[0065] 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 device for storing the program may be appropriately changed. 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. Other devices include, for example, a PC and a server connected via a network.
[0066] Part or all of the processing performed by the control device 30 may be performed by an electronic device (e.g., ASIC) different from the CPU 31. The processing performed by the control device 30 may be distributed and processed by a plurality of electronic devices (e.g., a plurality of CPUs). Each step of the processing 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 processing according to an instruction from the CPU 31. For example, the following changes may be appropriately made to the above embodiment.
[0067] The position of the reference R may be changed as appropriate. The calculation formula for the amount corresponding to the deflection of the base 2 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 specific to the machine tool 1. The predetermined position may be the position of the upper surface 11 of the first table 13, and the value corresponding to the height of the load W from the predetermined position may be the height from the upper surface 11 of the first table 13 to the tip of the tool 4, or the height of the load W from the upper surface 11 of the first table 13. 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 predetermined position of 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. When the center of gravity of the load W is at a position away from the center in the first direction of the first table 13, the control device 30 uses the coefficient C and the position of the first position command corrected using the center of gravity of the load W and the first table 13 under the condition that the position of the first position command is within a predetermined range, and corrects the position of the first position command according to the amount of deflection of the base 2 caused by the load W placed on the first table 13. The above modifications may be combined within a non - conflicting range.
Explanation of Signs
[0068] 1: Machine tool 2: Base 4: Tool 5: Column 7: Spindle head 9: Spindle 12: Second table 13: First table 30: Control device 31: CPU 34: Memory device 51: Z-axis motor 53: X-axis motor 54: Y-axis motor
Claims
1. A control device for controlling a machine tool comprising a first table for placing a load, a second table for supporting the first table so as to be movable in a first direction parallel to the horizontal direction, a first drive unit for moving the first table in the first direction, a table support unit for supporting the second table so as to be movable in a second direction intersecting the first direction, and a second drive unit for moving the second table in the second direction, a mass acquisition unit for acquiring the mass of the load placed on the first table, a first command acquisition unit for acquiring 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 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 of the position of the first position command caused by deflection of the table support unit 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, comprising The position of the first position command is represented by a distance from a reference at which the estimated value is minimized. A control device characterized by this.
2. The control device according to claim 1, wherein the estimated value is the product of the coefficient and the distance.
3. The control device according to claim 1 or 2, wherein the reference is the center of the movable range of the first table.
4. The control device according to any one of claims 1 to 3, wherein the coefficient is based on a value corresponding to the height of the load from a predetermined position between the lower end of the table support unit and the upper surface of the first table.
5. The control device according to claim 4, wherein the predetermined position is a position obtained by applying the least squares method so that the difference between a measured value of an error in the first direction of the position of the first table due to deflection of the table support unit caused by the load placed on the first table and the estimated value when correcting the position of the first position command is minimized.
6. The machine tool includes a spindle for mounting a tool, a spindle head for supporting the spindle and movable up and down, a head support unit for supporting the spindle head so as to be movable in the vertical direction, and a third drive unit for moving the spindle head in the vertical direction, a second command acquisition unit for acquiring a second position command for commanding the position of the spindle head in the vertical direction, having a height acquisition unit for acquiring the height from a predetermined position of the tip of the tool 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 from the predetermined position of the tip of the tool acquired by the height acquisition unit, and the control device according to claim 4 or 5 is characterized in that.
7. 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 from the predetermined position of the tip of the tool according to the determination by the type determination unit that the second position command is the positioning command, The correction unit, Updates the coefficient using the height from the predetermined position of the tip of the tool acquired by the height acquisition unit, Using the updated coefficient and the position of the first position command, corrects the position of the first position command, The control device according to claim 6, characterized in that.
8. A storage device, A storage control unit that stores the coefficient updated by the correction unit in the storage device, and further includes, The correction unit corrects the position of the first position command using the coefficient stored in the storage device and the position of the first position command according to the determination by the type determination unit that the second position command is the cutting command. The control device according to claim 7, characterized in that.
9. The correction unit obtains the estimated value using the coefficient and the position of the first position command corrected using the center of gravity of the loaded object and the first table, and subtracts the estimated value from the position of the first position command. The control device according to any one of claims 1 to 8, characterized in that the position of the first position command is corrected.
10. In a control method of a machine tool including a first table on which a loaded object 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 loaded object 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 the error in the first direction of the position of the position command caused by the deflection of the table support unit 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 control method is characterized in that the position of the position command is represented by the distance from a reference at which the estimated value is minimized.
11. In a control program executable by a control unit of a control device that controls a machine tool including a first table on which a workpiece 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 workpiece 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; 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 of the position of the position command caused by deflection of the table support unit is obtained, and the position of the position command is corrected by subtracting the estimated value from the position of the position command. including an instruction for causing the control unit of the control device to execute the above, The control program is characterized in that the position of the position command is represented by the distance from a reference at which the estimated value is minimized.
12. 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 workpiece 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 workpiece 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; 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 of the position of the position command caused by deflection of the table support unit is obtained, and the position of the position command is corrected by subtracting the estimated value from the position of the position command. storing the control program including an instruction for causing the control unit of the control device to execute the above, A storage medium, wherein the position of the position command is represented by a distance from a reference which is a position where the estimated value becomes minimum.
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