Numerical control device, control method, and program

JP2025033681APending Publication Date: 2025-03-13BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023139570
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-30
Publication Date
2025-03-13

Smart Images

  • Figure 2025033681000001_ABST
    Figure 2025033681000001_ABST
Patent Text Reader

Abstract

To provide a numerical control device, a control method, and a program which, when a loading condition has been changed, automatically estimate a time constant according to the changed loading condition, and which reflect the time constant in revolving operation of a tool magazine.SOLUTION: A control part conducts revolving operation of a tool magazine using a time constant T1 calculated according to a loading condition. The control part determines (S11-S13) whether a loading condition has been changed according to a change in a loading state of a tool. If a loading condition has been changed (S11:YES, S12:YES, S13:YES), the control part changes a time constant for revolving operation to a reference time constant tb. The reference time constant tb is a time constant that allows operation to be conducted without exceeding the maximum torque capable of being output by a magazine motor. The control part estimates inertia and an unbalanced load of the tool magazine, on the basis of a result of conducting revolving operation using the reference time constant tb during NC program execution, and reflects an estimation result in the loading condition stored in a storage part.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] There is known a machine tool equipped with a tool magazine for carrying tools, which calculates the inertia around the rotation axis of the tool magazine and changes the rotation speed of the tool magazine according to the calculated inertia. Patent Document 1 discloses a machine tool that allows the operating speed of the tool magazine to be adjusted by a user's operation. The machine tool can adjust the operating speed of the tool magazine to an operating speed desired by the user. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 6603282 Summary of the Invention [Problem to be solved by the invention]

[0004] In the machine tool of Patent Document 1, when the loading conditions (inertia and offset load) change due to a change in tool attachment or the like, it is necessary to re-adjust the operating speed and update the inertia and offset load. Therefore, for users who operate in a way that causes the loading conditions to change frequently, it is necessary to operate the machine and make adjustments each time, which is time-consuming. If the user forgets to re-adjust, the machine tool may operate under incorrect conditions. As a result, there is a possibility that the program operation may stop due to an error caused by a deterioration in the life of the reducer or insufficient torque.

[0005] An object of the present invention is to provide a numerical control device, a control method, and a program that, when loading conditions are changed, can automatically estimate a time constant corresponding to the changed loading conditions and reflect the changed loading conditions in the rotation operation of the tool magazine. [Means for solving the problem]

[0006] The numerical control device of claim 1 is a numerical control device that outputs a command to a motor of a machine tool having a tool magazine capable of loading tools thereon and rotating by the drive of the motor to transport the tools to a predetermined position, the numerical control device comprising: a memory unit that stores loading conditions defined by an inertia about a rotation axis of the tool magazine and an offset load; a calculation unit that calculates a time constant for acceleration and deceleration of the motor during the rotating operation of the tool magazine in accordance with the loading conditions stored in the memory unit; and a rotation execution unit that executes the rotating operation of the tool magazine with the time constant calculated by the calculation unit. The present invention is characterized in that it comprises a change determination unit which determines whether the loading conditions have changed, a change unit which changes the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state when the change determination unit determines that the loading conditions have changed, an estimation unit which estimates the inertia and the offset load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program, and a reflection unit which reflects the estimation result of the estimation unit in the loading conditions stored in the storage unit. Due to a change in the loading state of the tools, a change occurs in the loading conditions such as the inertia and the offset load. When it is determined that a change has occurred in the loading conditions, the numerical control device executes the turning operation with the reference time constant. The numerical control device can automatically estimate the inertia and the offset load based on the result and reflect the result in the loading conditions. As a result, the numerical control device calculates the time constant of the acceleration and deceleration of the motor under the loading conditions in which the estimation result is reflected during the next turning operation of the tool magazine. Therefore, the numerical control device can optimally adjust the acceleration and deceleration during the rotation of the tool magazine according to the current loading conditions of the tool magazine.Furthermore, the numerical control device can prevent operation at suboptimal acceleration caused by forgetting to perform estimation after changing tools in the tool magazine.As a result, the numerical control device can prevent machine tool failures and errors caused by insufficient motor torque.

[0007] The numerical control device according to claim 2 includes a first determination unit that determines whether a single tool change action has been performed, the ATC action being a manual operation for performing a single step of an ATC operation for mounting the tool, which has been transported to the predetermined position by rotating the tool magazine, on a spindle of the machine tool, the ATC operation being performed step by step, the first determination unit determining whether a single tool change action has been performed, the ATC operation being performed step by step, the single tool change action being performed step by step, The change determination unit may determine that the loading conditions have been changed when the first determination unit determines that the single tool change operation has been performed. When the single tool change operation has been performed, it is highly likely that the user has performed an operation to change the tool. Therefore, the numerical control device can determine that the loading conditions have been changed.

[0008] The ATC operation of the numerical control device of claim 3 may include a first operation of moving the spindle from a machining area of ​​the machine tool to a Z-axis origin in a Z-axis direction parallel to the spindle, a second operation of moving the spindle from the Z-axis origin to an ATC origin in an ATC area opposite to the machining area along the Z-axis direction after the first operation, a third operation of rotating the tool magazine around the turning axis after the second operation to index a predetermined tool to a tool change position relative to the spindle, and a fourth operation of moving the spindle from the ATC origin along the Z-axis direction after the third operation to mount the predetermined tool indexed to the tool change position on the spindle and move it to the Z-axis origin, and the first determination unit may determine whether the second operation, the third operation, and the fourth operation of the tool change single action have been performed. The first operation may be performed even when it is only desired to move the spindle to the Z-axis origin. Therefore, the first determination unit determines whether the second, third, and fourth operations of the single action tool change have been performed. This makes it possible to exclude cases where the user only wants to move the spindle to the Z-axis origin during single action tool change, and therefore makes it possible to accurately recognize the operation performed by the user to change the tool.

[0009] The numerical control device of claim 4 includes a second determination unit that determines whether an ATC operation has been performed in MDI operation in which the tool magazine is rotated to transport the tool to the predetermined position and the tool is attached to the spindle of the machine tool, and the change determination unit may determine that the loading conditions have been changed when the second determination unit determines that the ATC operation has been performed in MDI operation. When an ATC operation is performed in MDI operation, it is highly likely that a user has performed an operation to change the tool. Therefore, the numerical control device can determine that the loading conditions have been changed.

[0010] The numerical control device of claim 5 may further include a third determination unit that determines whether an indexing operation for indexing the tool magazine to a specific position has been performed in a tool application that can be executed upon receiving an operation of the tool magazine, and the change determination unit may determine that the loading conditions have been changed when the third determination unit determines that the indexing operation has been performed. When a turning operation has been performed in the tool application, it is highly likely that the user has performed an operation to change a tool. Therefore, the numerical control device can determine that the loading conditions have been changed.

[0011] The numerical control device of claim 6 includes an allocation information storage unit that stores allocation information, which is information on the tools to be allocated to each of the multiple pots provided on the outer periphery of the tool magazine, and a fourth judgment unit that judges whether the allocation information stored in the allocation information storage unit has been changed, and the change judgment unit may judge that the loading conditions have been changed when the fourth judgment unit judges that the allocation information has been changed. When the allocation information has been changed, it is highly likely that a user has performed an operation to change the tools. Therefore, the numerical control device can judge that the loading conditions have been changed.

[0012] The numerical control device of claim 7 may include a tool information storage unit that stores tool information, which is information on the tools assigned to each of the pots provided on the outer periphery of the tool magazine, and a fifth judgment unit that judges whether the tool information stored in the tool information storage unit has been changed, and the change judgment unit may judge that the loading conditions have been changed when the fifth judgment unit judges that the tool information has been changed. When the tool information has been changed, it is highly likely that a user has performed an operation to change a tool. Therefore, the numerical control device judges that the loading conditions have been changed.

[0013] In the numerical control device of claim 8, the estimation unit may estimate the inertia and the offset load based on a result of executing an ATC operation in which the tool magazine is rotated with the time constant by the rotation execution unit during execution of the NC program, and the tool transported to the predetermined position is attached to a spindle of the machine tool. The numerical control device can estimate the inertia and the offset load by utilizing the ATC operation during execution of the NC program, and reflect the result in the loading conditions.

[0014] The numerical control device of claim 9 further comprises an estimation execution determination unit that determines whether an estimation execution condition is satisfied in the NC program, when the ATC operation is executed by the rotation execution unit during execution of the NC program, that is, a cumulative reciprocating movement amount of the tool magazine about the rotation axis is equal to or greater than a first predetermined amount, or a cumulative one-way movement amount is equal to or greater than a second predetermined amount, and when the estimation execution determination unit determines that the estimation execution condition is satisfied, the estimation unit may estimate the inertia and the offset load based on the execution result of the ATC operation. Since the numerical control device estimates the inertia and the offset load only when the estimation execution condition is satisfied, the estimation accuracy can be improved.

[0015] The numerical control device of claim 10 may include an estimation result determination unit that determines whether the value of the estimation result of the estimation unit is equal to or less than the value of the loading condition stored in the storage unit, and the reflection unit may reflect the estimation result of the estimation unit in the loading condition stored in the storage unit when the estimation result determination unit determines that the value of the estimation result is equal to or less than the value of the loading condition stored in the storage unit. When the value of the estimation result is equal to or less than the value of the current loading condition, a time constant calculated based on the value of the estimation result can reduce the time required for acceleration and deceleration of the turning operation more than a time constant calculated based on the current loading condition. In this case, the numerical control device reflects the value of the estimation result in the loading condition, so that the tool magazine can be turned naturally in a short time by calculating a time constant based on the reflected loading condition and accelerating and decelerating the motor.

[0016] The reflecting unit of the numerical control device of claim 11 may reflect the estimation result of the estimating unit in the loading conditions stored in the storage unit after all the ATC operations in the NC program are completed. Since the numerical control device can estimate the loading conditions based on the results of executing all the ATC operations in the NC program, the reliability of the estimation result is improved. Therefore, the numerical control device can reflect the highly reliable estimation result in the loading conditions stored in the storage unit.

[0017] The numerical control device of claim 12 may include an estimation result determination unit that determines whether the value of the estimation result of the estimation unit is greater than the value of the loading condition stored in the storage unit, and a reference execution unit that executes the swing operation in the remaining ATC operation in the NC program being executed by the swing execution unit with the reference time constant when the estimation result determination unit determines that the value of the estimation result is greater than the value of the loading condition stored in the storage unit. If the value of the estimation result is greater than the value of the current loading condition, the setting of the current loading condition is an erroneous setting. In this case, the numerical control device returns the time constant to the reference time constant, so that the swing operation can be safely performed in the NC program, and the loading condition can be estimated with higher accuracy using the remaining ATC operation. The numerical control device calculates the time constant based on the highly accurately estimated loading condition and accelerates and decelerates the motor, so that the swing operation of the tool magazine can be performed more smoothly and in a shorter time.

[0018] The numerical control device of claim 13 may include an estimation result determination unit that determines whether the value of the estimation result of the estimation unit is greater than the value of the loading condition stored in the storage unit, and a time constant execution unit that executes the remaining ATC operation in the NC program being executed by the swing execution unit with a time constant calculated based on the estimation result when the estimation result determination unit determines that the value of the estimation result is greater than the value of the loading condition stored in the storage unit. If the value of the estimation result is greater than the value of the current loading condition, the setting of the current loading condition is an erroneous setting. In this case, the numerical control device sets the time constant to the time constant calculated based on the estimation result, so that the swing operation can be performed with safe and optimal acceleration and deceleration in the NC program, and the loading condition can be estimated with higher accuracy using the remaining ATC operation. The numerical control device calculates the time constant based on the highly accurately estimated loading condition and accelerates and decelerates the motor, so that the swing operation of the tool magazine can be performed more smoothly and in a shorter time.

[0019] The numerical control device of claim 14 may include a reflection prohibition setting unit that prohibits the reflection of the estimation result by the reflection unit to the loading conditions stored in the storage unit upon receiving a user's operation. The numerical control device can prevent the loading conditions stored in the storage unit from being automatically changed by the user's operation.

[0020] The numerical control device of claim 15 may further include a reference setting execution unit that receives a user's operation and sets the time constant during the rotation operation during execution of the NC program to the reference time constant. The rotation operation can be performed with the reference time constant by the user's operation.

[0021] A control method according to claim 16 is a control method for a numerical control device which outputs a command to a motor for a machine tool having a tool magazine capable of loading tools thereon and which transports the tools to a predetermined position by rotating the magazine driven by the motor, the control method including the steps of: calculating a time constant for acceleration / deceleration of the motor during the rotating operation of the tool magazine in accordance with loading conditions stored in a storage unit which stores loading conditions defined by inertia around a rotating axis of the tool magazine and an offset load; The numerical control device is characterized by comprising a change determination step of determining that a condition has been changed, a change step of changing the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state if it is determined in the change determination step that the loading conditions have been changed, an estimation step of estimating the inertia and the offset load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program, and a reflection step of reflecting the estimation result in the estimation step in the loading conditions stored in the memory unit. The numerical control device can obtain the effect recited in claim 1 by performing each of the above steps.

[0022] The program of claim 17 is a program executable by a computer of a numerical control device that outputs a command to a motor for a machine tool having a tool magazine capable of loading tools and rotating the tool magazine by being driven by the motor to transport the tool to a predetermined position, the program including a calculation step of calculating a time constant for acceleration / deceleration of the motor during the rotating operation of the tool magazine in accordance with loading conditions stored in a storage unit that stores loading conditions defined by inertia around a rotating axis of the tool magazine and an offset load, and a rotation execution step of executing the rotating operation of the tool magazine with the time constant calculated in the calculation step. The method includes the steps of: a step of determining whether the loading conditions have been changed; a step of changing the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state if it is determined in the step of determining whether the loading conditions have been changed; a step of estimating the inertia and the unbalanced load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program; and a step of reflecting the estimation result in the estimation step in the loading conditions stored in the storage unit. The computer of the numerical control device can obtain the effect recited in claim 1 by executing each of the steps described above.

[0023] A computer-readable storage medium having the above program stored thereon is also novel and useful. [Brief description of the drawings]

[0024] [Figure 1] FIG. [Diagram 2] 2 is a partially cutaway view of the periphery of the spindle head 7 as viewed from the right side. [Diagram 3] 13 is a diagram showing the tool magazine 21 when the angle θ of the magazine body 22 is 0 deg. [Figure 4] 13 is a diagram showing the tool magazine 21 when the angle θ of the magazine body 22 is a reference angle θa. [Diagram 5] 2 is a block diagram showing the electrical configuration of a numerical control device 40 and a machine tool 1. FIG. [Figure 6] FIG. 4 is a functional block diagram of a control unit 41. [Figure 7] 13 is a flowchart of a loading condition setting process. [Figure 8] 13 is a flowchart of a first transfer confirmation process. [Figure 9] 13 is a flowchart of a second transfer confirmation process. [Figure 10] 13 is a flowchart of a turning control process during memory operation. [Figure 11] 11 is a flowchart illustrating the continuation of FIG. 10. [Figure 12] FIG. 13 is a diagram showing a loading condition setting screen 51. [Figure 13] FIG. 13 is a diagram showing the operation of the spindle head and the tool magazine in single-action tool change. [Figure 14] FIG. 13 shows an ATC tool setting screen 52. [Figure 15] FIG. 13 shows an ATC tool application screen 53. [Figure 16] FIG. 5 shows a tool data screen 54. [Figure 17] FIG. 13 is a diagram showing an MDI operation screen 55. [Figure 18] FIG. 1 is a diagram showing a first specific example. [Figure 19] FIG. 13 is a diagram showing a second specific example. [Figure 20] FIG. 13 is a diagram showing a third specific example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0025] An embodiment of the present invention will be described. In the following description, left and right, up and down, and front and back are indicated by arrows in the drawings. The left and right direction, up and down direction, and front and back 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 machine tool 1 shown in FIG. 1 is a vertical machining center with a spindle 9 extending in the up and down direction (Z-axis direction). "ATC" in this embodiment is an abbreviation for "Automatic Tool Changer." Also, "NC" in this embodiment is an abbreviation for "Numerical Control."

[0026] The structure of the machine tool 1 will be described with reference to Figs. 1 and 2. The machine tool 1 includes a base 2, a column 5, a control box 6, a table 13, a spindle head 7, a spindle 9, and a tool changer 20. The base 2 is a metal base having a substantially rectangular parallelepiped shape. The column 5 is erected at the rear of the upper part of the base 2. The control box 6 is provided on the rear side of the column 5. The control box 6 houses a numerical control device 40 (see Fig. 5), which will be described later. The table 13 is movable in two axial directions, the X-axis direction and the Y-axis direction. The spindle head 7 moves up and down in the Z-axis direction in front of the column 5. As shown in Fig. 2, the spindle 9 is rotatably supported inside the spindle head 7. The spindle motor 65 is fixed to the upper part of the spindle head 7. The spindle 9 is connected to a drive shaft 65A extending downward from the spindle motor 65. The spindle 9 is rotated by the drive of the spindle motor 65. The main shaft 9 is provided with a mounting hole 92, a shaft hole 91, a clamping portion 93, and a draw bar 94. The mounting hole 92 is provided at the lower end of the main shaft 9 and communicates with the shaft hole 91 which extends coaxially with the main shaft 9. The clamping portion 93 is provided above the mounting hole 92. The draw bar 94 is provided inside the shaft hole 91.

[0027] Tool 3 includes holder 17 and cutting tool 4. Holder 17 holds cutting tool 4 at one end, and includes mounting portion 17A and pull stud 17B at the other end. Mounting portion 17A is mounted in mounting hole 92. Pull stud 17B protrudes from the top of mounting portion 17A in the axial direction of cutting tool 4. When mounting portion 17A is mounted in mounting hole 92, clamping portion 93 clamps pull stud 17B. When drawbar 94 presses clamping portion 93 downward, clamping portion 93 releases its grip on pull stud 17B.

[0028] The spindle head 7 is provided with a crank lever 30 and a tension coil spring (not shown) on the inside. The crank lever 30 is generally inverted L-shaped when viewed from the right side and can swing around a support shaft 31. The support shaft 31 extends in the left-right direction and is fixed inside the spindle head 7. The front end of the crank lever 30 engages from above with a pin 95 provided on a draw bar 94. A plate cam 32 is provided on the rear end of the crank lever 30. A cam follower 34 is supported forward on the upper front surface of the column 5. The cam follower 34 slides on the cam surface of the plate cam 32 which moves up and down. The tension coil spring constantly urges the crank lever 30 clockwise when viewed from the right side. Therefore, the crank lever 30 constantly releases the downward pressure of the pin 95.

[0029] The structure of the tool changer 20 will be described with reference to FIG. 2. The tool changer 20 includes a tool magazine 21, a support base 24, a reducer 25, and a magazine motor 64. The tool magazine 21 is of a turret type. The tool magazine 21 includes a magazine body 22, a rotating shaft 23, and a plurality of grip arms 8. The magazine body 22 is disk-shaped. The rotating shaft 23 is inclined obliquely downward with respect to the front of the machine tool 1. The axis of the rotating shaft 23 passes through a center Q (see FIG. 3) of the magazine body 22 described later. The rotating shaft 23 is provided at the center of rotation of the magazine body 22. The front surface of the magazine body 22 faces the front side of the machine tool 1. The grip arms 8 are provided at predetermined intervals in the circumferential direction on the outer periphery of the magazine body 22. In this embodiment, 28 grip arms 8 are provided on the magazine body 22. Therefore, the tool magazine 21 can load 28 tools 3. The grip arm 8 is provided so as to be swingable in the front-rear direction around a fulcrum 26 fixed to the outer periphery of the magazine body 22. The grip arm 8 has a gripping portion 81 at its tip. The gripping portion 81 detachably grips the holder 17. The spindle position of the tool magazine 21 is the lowest position of the magazine body 22, a position adjacent to and facing the spindle 9. The grip arm 8 at the spindle position faces the spindle 9 and is the target position for tool replacement.

[0030] The support base 24 is fixed to a frame (not shown). The frame is fixed to the column 5 and is provided near the spindle head 7. The support base 24 supports the rotating shaft 23. The reducer 25 is fixed to the upper part of the support base 24. The reducer 25 has a plurality of gears and cams (not shown). The magazine motor 64 is fixed to the upper part of the reducer 25. The drive shaft of the magazine motor 64 is connected to the reducer 25. The reducer 25 reduces the driving force of the magazine motor 64 and transmits it to the rotating shaft 23. Therefore, the tool magazine 21 rotates by the driving force of the magazine motor 64.

[0031] The ATC operation will be described with reference to FIG. 2. The ATC operation is a tool exchange operation, which is an operation for attaching and detaching the tool 3 to the spindle 9. With the attachment portion 17A of the tool 3 attached to the attachment hole 92 of the spindle 9, the spindle head 7 rises from the machining position of the workpiece fixed to the table 13. The cam follower 34 slides from top to bottom on the cam surface of the plate cam 32 of the crank lever 30. The crank lever 30 rotates counterclockwise as viewed from the right side about the support shaft 31. The front end of the crank lever 30 engages with the pin 95 from above and presses the draw bar 94 downward. The draw bar 94 urges the clamping portion 93 downward. Therefore, the clamping portion 93 releases the clamping of the pull stud 17B. The grip arm 8 at the spindle position swings counterclockwise as viewed from the right side about the fulcrum base 26 as the spindle head 7 rises. The gripping portion 81 of the grip arm 8 grips the tool 3 currently attached to the spindle 9 (hereinafter referred to as the “current tool 3”) at the same time as the clamping by the clamping portion 93 is released.

[0032] The spindle head 7 rises further toward the ATC origin. The current tool 3 held by the gripper 81 is released from the mounting hole 92 of the spindle 9. When the spindle head 7 reaches the ATC origin, the tool changer 20 rotates the magazine body 22 by rotating the magazine motor 64 based on a command from the numerical control device 40. The tool changer 20 indexes the next tool 3 to be mounted (hereinafter referred to as the "next tool 3") to the spindle position, as specified by a control command in the NC program. The next tool 3 indexed to the spindle position is positioned below the spindle 9.

[0033] The spindle head 7 descends from the ATC origin. The mounting portion 17A of the holder 17 of the next tool enters the mounting hole 92 of the spindle 9. With the mounting portion 17A inserted into the mounting hole 92, the spindle head 7 descends further. The cam follower 34 slides on the cam surface of the plate cam 32 from bottom to top. The crank lever 30 rotates clockwise around the support shaft 31 as viewed from the right side. The front end of the crank lever 30 moves upward away from the pin 95, releasing the downward pressure on the draw bar 94. The draw bar 94 releases the downward bias of the clamping portion 93. The clamping portion 93 clamps the pull stud 17B of the next tool 3. The next tool 3 is attached to the spindle 9. As the spindle head 7 descends further, the gripping portion 81 of the grip arm 8 comes off the next tool 3 attached to the spindle 9. This completes the tool change from the current tool 3 to the next tool 3 in the spindle 9.

[0034] 3 and 4, the loading state of the tools 3 in the tool magazine 21 will be described. For example, as shown in FIG. 3, the tool magazine 21 is in a state in which the tools 3 are supported by 12 of the 28 grip arms 8, that is, grip arms 801-811 and 828. No tools 3 are attached to the grip arms 812-827. The tools 3 attached to the grip arms 801-811 and 828 are the tools 301-311 and 328. The weights G1-G28 of the tools 301-311 and 328 may all be the same or may be different from each other. Note that in this embodiment, the weights G1-G28 are all described as being the same.

[0035] When the tool magazine 21 is in the loaded state shown in Fig. 3, many of the tools 3 supported by the grip arm 8 are located on the left side of the magazine body 22. Therefore, an unbalanced load that tends to rotate the magazine body 22 around the center Q of the magazine body 22 acts on the magazine body 22 due to the tools 301-311, 328. The unbalanced load is a rotational moment. The unbalanced load due to the tools 301-311, 328 is a total unbalanced load. The total unbalanced load tends to rotate the magazine motor 64 in a specific direction (counterclockwise in the case of Fig. 3).

[0036] The total unbalanced load varies based on the position of the grip arm 8 supporting the tool 3, the weight of the tool 3 supported by the grip arm 8, and the angle θ of the magazine body 22. When the grip arm 801 is in the spindle position, the angle θ is 0 deg. When the angle θ is 0 deg and the magazine body 22 rotates clockwise around the center Q, the angle θ becomes positive. When the magazine body 22 rotates counterclockwise around the center Q, the angle θ becomes negative.

[0037] When the tool magazine 21 is in the state shown in FIG. 4 (angle θ=−58 deg), the offset loads of the tools 301-311, 328 acting on the magazine body 22 balance each other with the center Q as the fulcrum. The total offset load becomes zero. The angle θ of the magazine body 22 at which the total offset load becomes zero is the reference angle θ. a The loading state of the tools 3 in the tool magazine 21 changes when the tools 3 are replaced. The replacement of the tools 3 is an operation in which a user, a robot, or the like replaces the tools 3 loaded in the tool magazine 21 with tools 3 not loaded in the tool magazine 21 before the machine tool 1 processes a workpiece.

[0038] With reference to FIG. 5, the main parts of the electrical configuration of the numerical control device 40 and the machine tool 1 will be described. For the sake of convenience, in this embodiment, the electrical configuration for controlling the operation of the tool magazine 21 will be mainly described, and the description of the other electrical configurations will be omitted. The numerical control device 40 includes a control unit 41, a ROM 42, a RAM 43, a storage unit 44, an input / output unit 45, a drive circuit 48, and the like. The control unit 41 is connected to the drive circuit 48 via the input / output unit 45. The control unit 41 includes a CPU and the like and controls the operation of the machine tool 1. The ROM 42 stores various programs such as a loading condition setting program, a first replacement confirmation program, a second replacement confirmation program, and a memory operation time swing control program, which will be described later. The loading condition setting program is a program that executes a loading condition setting process, which will be described later. The first replacement confirmation program is a program that executes a first replacement confirmation process, which will be described later. The second replacement confirmation program is a program that executes a second replacement confirmation process, which will be described later. The memory operation time swing control program is a program that executes a memory operation time swing control process, which will be described later.

[0039] The RAM 43 stores various data generated during the execution of various processes as well as the cumulative movement pitch number described below. The storage unit 44 is a rewritable storage medium, such as an EPROM, EEPROM, or flash memory. The storage unit 44 stores the NC program, a reference inertia, a reference offset load, a reference time constant, and the like, which are described below. The input / output unit 45 inputs and outputs various signals between the drive circuit 48, an encoder 641 described below, the control unit 41, the ROM 42, the RAM 43, the storage unit 44, the operation unit 18, and the display unit 19.

[0040] The drive circuit 48 corresponds to the magazine motor 64, and outputs a pulse signal to the magazine motor 64 based on a command output by the control unit 41. The encoder 641 detects the rotational position of the magazine motor 64, and feeds back the detection signal to the drive circuit 48 and the input / output unit 45. The encoder 641 is a general absolute value encoder, and is a position sensor that detects and outputs the absolute position of the rotational position. The operation unit 18 accepts instruction input by user operation, and the display unit 19 displays information to notify the user. The display unit 19 is a liquid crystal touch panel, and also functions as an operation unit.

[0041] A configuration based on the functions of the control unit 41 will be described with reference to FIG. 6. Here, the control of the magazine motor 64 by the control unit 41 will be described. The control unit 41 includes a speed adjustment unit 411, a time constant calculation unit 412, and an inertia / offset load acquisition unit 413. The speed adjustment unit 411 receives a time series change (waveform) of the speed of the magazine motor 64, adjusts the speed waveform, and outputs it to the drive circuit 48. The speed adjustment unit 411 adjusts the speed waveform according to the fluctuation of the offset load generated in the magazine body 22 of the tool magazine 21. The speed adjustment unit 411 has a first filter 421, a second filter 422, and a third filter 423 that adjust and smooth the speed waveform. The first to third filters 421 to 423 are moving average filters. The first filter 421 is a filter for limiting the maximum acceleration during speed adjustment, and the second filter 422 and the third filter 423 are low-pass filters for suppressing the resonance of the rotating shaft 23. The time constant (hereinafter referred to as t1) of the first filter 421 varies depending on the position of the grip arm 8 supporting the tool 3, the weight of the tool 3 supported by the grip arm 8, and the angle θ of the magazine body 22. The time constant (hereinafter referred to as t2) of the second filter 422 and the time constant (hereinafter referred to as t3) of the third filter 423 are fixed values. The inertia / offset load acquisition unit 413 acquires the inertia and offset load of the tool magazine 21 during rotation based on feedback information from the encoder 641.

[0042] Next, a method for the inertia / offset load acquisition unit 413 to acquire the inertia and offset load will be described. The offset load (Tw) is defined as "Fθsin(θ)" (Equation 1). Fθ is the offset load coefficient. θ is the angle of the magazine body 22. Tw is minimum when θ=0°, and maximum when θ=90°. The inertia (J) is defined as "Jθ"=u-f" (Equation 2). θ" represents the second time differential of the angle θ. u is the torque output by the drive circuit 48 to the magazine motor 64, and is a measured value acquired from the drive circuit 48. f satisfies the following formula. ·f=Fθsin(θ)+Fcsign(θ′)+Dθ′ (Math 3) In the formula 3, θ′ represents a first time differential of the angle θ. Fc represents the Coulomb friction with respect to the tool magazine 21. D represents the viscous friction coefficient with respect to the tool magazine 21.

[0043] The inertia / offset load acquisition unit 413 acquires the offset load (Tw) and the inertia (J) from Equations 1 to 3 using the rotational position of the magazine motor 64 included in the feedback information from the encoder 641. Hereinafter, the inertia (J) and the offset load (Tw) acquired by the inertia / offset load acquisition unit 413 will be referred to as the acquired inertia J and the acquired offset load Tw, respectively. The time constant calculation unit 412 calculates a time constant t1 based on the acquired offset load Tw, the acquired inertia J, the reference inertia Jb, the reference offset load Twb, and the reference time constant tb. The reference inertia Jb, the reference offset load Twb, and the reference time constant tb are stored in the storage unit 44 as defaults.

[0044] The reference time constant tb is a time constant that allows the magazine motor 64 to operate without exceeding the maximum torque that can be output in a reference loading state. The reference loading state is a loading state in which the maximum inertia and maximum unbalanced load are determined by the machine specifications, and is, for example, a state in which the tools 3 are loaded with the tools biased to one side of the tool magazine 21 as shown in FIG. 1. The maximum inertia is the reference inertia Jb. The maximum unbalanced load is the reference unbalanced load Twb. The reference inertia Jb and the reference unbalanced load Twb are reference loading conditions and can be set by the user.

[0045] Here, a method for calculating the time constant t1 by the time constant calculation unit 412 will be described. Since torque in a rotational motion is the product of angular acceleration and inertia, it can be estimated that when Tw is at its maximum, that is, when θ is 90°, the following relationship holds: amaxb = (Tm - |Twb|) / Jb (Number 4) Here, amaxb is the angular acceleration, and Tm is the maximum torque of the magazine motor 64.

[0046] In this case, the reference time constant tb, which is inversely proportional to amaxb, can be expressed as follows: tb=Vmax / amaxb (Number 5) Note that Vmax is the maximum angular velocity.

[0047] From Equation 4 and Equation 5, the angular acceleration (a'max) during calculation and the time constant t1 to be obtained can be expressed by the following equation. ·a'max=(Tm-|Tw|) / J (number 6) t1=Vmax / a'max (equation 7) As described above, Tw and J are the obtained offset load Tw and the obtained inertia J.

[0048] Substituting equation 6 for a'max in equation 7, t1 is given by the following equation. t1=(JVmax) / (Tm-|Tw|) (Equation 8).

[0049] Then, when equation 4 is rewritten for Tm, it becomes Tm = Jbamaxb + |Twb|. When this is substituted for Tm in equation 8, t1 becomes the following equation. ·t1=(JVmax) / (Jbamaxb+|Twb|-|Tw|) (Number 9) Furthermore, when equation 5 is rewritten for amaxb, it becomes amaxb = Vmax / tb. Substituting this into amaxb in equation 9, t1 becomes the following equation. ·t1=Jtb / {Jb+tb(|Twb|-|Tw|) / Vmax} (Number 10)

[0050] The time constant calculation unit 412 calculates the time constant t1 using equation 10, and updates the reference time constant tb stored in the storage unit 44 to the time constant t1 obtained by the calculation. Thereafter, the speed adjustment unit 411 uses the updated time constant t1 to adjust and smooth the waveform of the speed of the magazine motor 64 output to the drive circuit 48, and also adjusts the acceleration of the turning operation to an optimum value.

[0051] The above explanation is a method for estimating the inertia and offset load of the entire tool magazine 21, but the inertia and offset load of the tools 3 loaded in the tool magazine 21 (hereinafter referred to as loaded tools) can be calculated using the following equations 11 and 12. The inertia and offset load of the loaded tools can be used for screen display or setting. Loaded tool inertia = inertia of tool magazine 21 (when tools are loaded) - inertia of tool magazine 21 (when no tools are loaded) (Equation 11) Loaded tool unbalanced load = Unbalanced load of tool magazine 21 (when tools are loaded) - Unbalanced load of tool magazine 21 (when no tools are loaded) (Equation 12)

[0052] The loading condition setting process will be described with reference to Fig. 7. The loading conditions are the inertia and unbalanced load around the rotation axis 23 of the tool magazine 21. By setting appropriate loading conditions for the loading state of the tool magazine 21, the control unit 41 can optimally adjust the acceleration of the positioning operation of the rotation of the tool magazine 21. The user can set the loading conditions of the tool magazine 21 with the operation unit 18. When the control unit 41 receives an operation to set the loading conditions, it reads a loading condition setting program from the ROM 42 and executes this process.

[0053] The control unit 41 reads setting data from the memory unit 44 (S1). The setting data is various data including standard loading conditions, estimation results, loading condition settings, function settings, etc., which will be described later. The control unit 41 displays a loading condition setting screen 51 on the display unit 19 (S2).

[0054] As shown in FIG. 12, the loading condition setting screen 51 has display areas 511 to 515. The display area 511 displays the operation procedure and notes for setting the loading conditions. The display area 512 displays the reference loading conditions. The reference loading conditions are the reference inertia Jb and the reference offset load Twb described above. The display area 513 displays the estimation result of the loading conditions by the control unit 41 and the estimated date and time. The estimation of the loading conditions by the control unit 41 will be described later. The display area 514 displays the loading condition settings. The loading condition settings are the loading conditions currently being set, and are the inertia and offset load. The loading condition settings can be set by inputting them as well as automatically updated as described later. The display area 515 displays the enable or disable of each of the two function settings. The two function settings are magazine rotation acceleration adjustment and automatic update of the loading condition settings. The magazine rotation acceleration adjustment is a function for adjusting the acceleration of the rotation of the tool magazine 21 to an appropriate value for the set loading conditions. The automatic update of loading condition settings is a function for automatically updating the loading condition settings displayed in the display area 514 to loading conditions estimated by the control unit 41. The control unit 41 displays such a loading condition setting screen 51 on the display unit 19, so that the user can check the operation procedure for setting loading conditions, the standard loading conditions, the estimated results and estimated date and time, the loading condition settings, the function settings, and the like.

[0055] The control unit 41 judges whether or not the loading condition setting has been accepted (S3). If the loading condition setting has not been accepted (S3: NO), the control unit 41 advances the process to S5 described later. If the loading condition setting has been accepted (S3: YES), the control unit 41 updates the loading condition setting value among the setting data stored in the memory unit 44 to the accepted content (S4), and displays the accepted loading condition setting value in the display area 514. Next, the control unit 41 judges whether or not the function setting change has been accepted (S5). If the function setting change has not been accepted (S5: NO), the control unit 41 advances the process to S7 described later. If the function setting change has been accepted (S5: YES), the control unit 41 changes the function setting data among the setting data stored in the memory unit 44 to the accepted content (S6). The control unit 41 judges whether or not the loading condition setting end operation has been accepted (S7). If the end operation has not been received (S7: NO), the control unit 41 returns to S3 and repeats the above process. If the end operation has been received (S7: YES), the control unit 41 ends this process.

[0056] The first change confirmation process will be described with reference to Fig. 8. The first change confirmation process is a process for setting the time constant of the acceleration during the turning operation of the tool magazine 21 to the reference time constant tb when it is determined that the tool 3 has been changed in the manual operation mode. When the user switches to the manual operation mode by the operation unit 18, the control unit 41 reads out the first change program from the ROM 42 and executes this process. The control unit 41 determines whether or not a single-action tool change has been performed (S11).

[0057] The single action tool change will be described with reference to Fig. 13. The single action tool change executes the following operations (1) to (4) one by one each time the "single action tool change key" (not shown) displayed on the display unit 19 is pressed once. (1) The spindle head 7 rises to the Z-axis origin while performing spindle orientation. If the head is already at the Z-axis origin, only spindle orientation is performed. (2) The spindle head 7 rises to the ATC origin. (3) The tool magazine 21 rotates. (4) The spindle head 7 descends to the Z-axis origin. The area below the Z-axis origin is the machining area, and the area above the Z-axis origin is the ATC area. The ATC origin is a position where the tool magazine 21 can rotate.

[0058] Among the above operations (1) to (4), when operations (2) to (4) are performed (S11: YES), the control unit 41 can determine that the user has performed a single-action tool change operation to change the tool 3. On the other hand, operation (1) may be performed even when the user only wants to move the spindle head 7 to the Z-axis origin, so if there is only (1), it is better to exclude it from the determination. If the tool 3 is changed, the loading conditions may have changed. If the tool magazine 21 is rotated with a non-optimal acceleration immediately after the loading conditions have changed, a large load will be applied to the reducer 25, etc. In this case, the life of the reducer 25, etc. will be reduced, and an error due to insufficient torque may cause the program to stop operating. Therefore, if there is a possibility that the loading conditions have changed, the control unit 41 should estimate the loading conditions.

[0059] 8, the control unit 41 refers to the function setting data stored in the storage unit 44 and determines whether the automatic update of the loading condition setting is enabled (S15). If the automatic update is disabled (S15: NO), the control unit 41 returns to S11 and repeats the above process.

[0060] If automatic updating is enabled (S15: YES), the control unit 41 initializes and sets the loading condition setting data stored in the memory unit 44 to the reference loading conditions (S16). This allows the control unit 41 to estimate the loading conditions while accelerating and decelerating the rotation of the tool magazine 21 with the reference time constant tb when performing ATC operation in the subsequent memory operation. The acceleration and deceleration of the rotation of the tool magazine 21 in the memory operation will be described later. The control unit 41 returns to S11 and repeats the above process.

[0061] If a single action tool change has not been performed (S11: NO), the control unit 41 determines whether or not the ATC tool setting has been changed (S12). An ATC tool is a tool loaded in the tool magazine 21. Changing the ATC tool setting is an operation for changing the tool number assigned to each grip arm 8 of the tool magazine 21. The grip arms 8 are attached to each tool mounting position of the tool magazine 21, and in the following description, these tool mounting positions are referred to as "pots." The ATC tool setting can be changed using the ATC tool setting screen 52, the ATC tool application screen 53, or the like.

[0062] The ATC tool setting screen 52 will be described with reference to FIG. 14. In response to the user's operation of the operation unit 18, the control unit 41 displays the ATC tool setting screen 52 on the display unit 19. The ATC tool setting screen 52 displays various information of the ATC tool for each NC program. The tool information of the ATC tool is stored in the storage unit 44 for each NC program. The ATC tool setting screen 52 has display areas 521 and 522. The display area 521 displays the program number of the NC program. The display area 522 displays items such as pot number, tool number, tool name, tool data, group, tool life, and tool type, in order from the left. In the example shown in FIG. 14, the tool with tool number 001 is assigned to pot number 01, the tool with tool number 002 is assigned to pot number 02, the tool with tool number 003 is assigned to pot number 03, the tool with tool number 004 is assigned to pot number 05, and the tool with tool number 005 is assigned to pot number 06, leaving pot number 04 empty. The tool information of each of these ATC tools is displayed in the display area 522. On the ATC tool setting screen 52, the tool numbers assigned to each pot can be changed in response to the replacement of the tool 3.

[0063] The ATC tool application screen 53 will be described with reference to FIG. 15. The user can select an ATC tool application using the operation unit 18. The ATC tool application is an application that displays various information related to the ATC tool in an easily viewable manner and can be easily edited. When the operation unit 18 accepts the selection of the ATC tool application, the control unit 41 executes the ATC tool application and displays the ATC tool application screen 53 on the display unit 19. The ATC tool application screen 53 is provided with display areas 531 to 533. In the display area 531, various information on the ATC tool currently being set is displayed according to the current angle θ of the tool magazine 21. Note that due to the area constraint of the display area 531, various information on the ATC tools of all the pots cannot be displayed. Therefore, various information on the ATC tools of five pots in the forward and reverse directions of the tool magazine 21 are displayed around the pot at the spindle position (the tool assigned to pot number 02 in the example of FIG. 15).

[0064] Further, the tool magazine 21 is provided with a mounting / detaching position for the tool 3. The mounting / detaching position is a position where the tool 3 can be mounted and detached with respect to the pot. In the display area 531, the ATC tool with the pot number=05 at the mounting / detaching position is displayed as "mounting / detaching position". Furthermore, the ATC tool with the pot number=01 is displayed with a predicted life mark 536. The predicted life mark 536 notifies that the life of the ATC tool is approaching. Further, below the display area 531, a mounting / detaching position index button 534 and a spindle position index button 535 are provided. For example, when a pot number is selected and the mounting / detaching position index button 534 is pressed, the tool magazine 21 rotates and the tool of the selected pot number is indexed to the mounting / detaching position. For example, when a pot number is selected and the spindle position index button 535 is pressed, the tool magazine 21 rotates and the tool of the selected pot number is indexed to the spindle position. The display of the ATC tools in the display area 531 is also switched in accordance with the rotational position of the tool magazine 21.

[0065] The display area 532 displays the program number of the NC program. The display area 533 displays a list of ATC tools currently set in the tool magazine 21. The list of ATC tools is a list in which various information about the ATC tools is displayed for each pot number. Note that due to the area constraints of the display area 533, the entire list of ATC tools cannot be displayed at once. Therefore, the ATC tool app screen 53 can scroll the list of ATC tools by user operation. The user can edit this list of ATC tools. Therefore, the tool numbers assigned to each pot can be changed on the ATC tool app screen 53 in response to the replacement of the tools 3 in the tool magazine 21.

[0066] Returning to the explanation of the flow in Fig. 8, when the ATC tool setting is changed on the ATC tool setting screen 52 or the ATC tool application screen 53 (S12: YES), the ATC tool setting may have been changed due to a change in the tool. Therefore, the control unit 41 refers to the function setting data stored in the memory unit 44 and determines whether automatic update of the loading condition setting is enabled (S15). If automatic update is enabled (S15: YES), the control unit 41 initializes and sets the loading condition setting data stored in the memory unit 44 to the standard loading condition (S16). The control unit 41 returns to S11 and repeats the above process.

[0067] If the ATC tool setting has not been changed (S12: NO), the control unit 41 determines whether the tool data set in the ATC tool has been changed (S13). When the tool 3 is replaced in the tool magazine 21, the user may change the value of the tool data set in the ATC tool. The control unit 41 can display on the display unit 19 a tool data screen 54 of the tool number designated by the user by operating the operation unit 18.

[0068] As shown in Fig. 16, the tool data screen 54 displays the tool data of the specified tool number. The tool data includes, for example, the tool name, tool length offset, tool length wear compensation, tool diameter compensation, tool diameter wear compensation, initial life, predicted life, life, peripheral speed, rotation feed, S command value, F command value, maximum rotation speed, whether tool cleaning is possible, whether CTS is possible, etc., and are all stored in the memory unit 44. The S command value is a command value for the rotation speed of the spindle 9. The F command value is a command value for the feed rate per minute. The control unit 41 displays the tool data screen 54 based on the tool data stored in the memory unit 44. The user can change the value of the displayed tool data on the tool data screen 54.

[0069] It is also possible to change the tool data set for the ATC tool in the NC program. When changing tool data in the NC program, for example, the following G code can be used. (1) G10 L10 P1 R120 (2) G10 L11 P1 R0.1 (3) G10 L12 P1 R10 (4) G10 L13 P1 R0.2 The above command (1) instructs the setting of tool length compensation. The command (2) instructs the setting of tool length wear compensation. The command (3) instructs the setting of tool radius compensation. The command (4) instructs the setting of tool radius wear compensation.

[0070] For example, when the tool data set for the ATC tool is changed on the tool data screen 54 (S13: YES), the tool data may have been changed because the tool 3 was replaced. Therefore, the control unit 41 refers to the function setting data stored in the memory unit 44 and determines whether automatic update of the loading condition setting is enabled (S15). If automatic update is enabled (S15: YES), the control unit 41 initializes and sets the loading condition setting data stored in the memory unit 44 to the standard loading condition (S16). The control unit 41 returns to S11 and repeats the above process.

[0071] In addition, among the above-mentioned tool data, depending on the type of tool data, the tool data may be changed even without changing the tool. For example, data such as tool diameter wear compensation, initial life, predicted life, life, S command value, etc. may be changed without changing the tool. Therefore, in the judgment process of S13, if the value of data that may be changed without changing the tool, such as tool diameter wear compensation, is changed, it may be judged that the tool data has not been changed.

[0072] Although not described in detail in this embodiment, even if the tool data of the ATC tool is changed by the G code during execution of the NC program, the tool data may have been changed due to replacement of the tool 3. Therefore, the control unit 41 may initialize and set the loading condition setting data stored in the storage unit 44 to the standard loading condition.

[0073] On the other hand, if the tool data set in the ATC tool has not been changed (S13: NO), the control unit 41 determines whether the manual operation mode has ended (S14). If the manual operation mode is continuing (S14: NO), the control unit 41 returns to S11 and repeats the above process. If the manual operation mode has ended (S14: YES), the control unit 41 ends this process.

[0074] The second change confirmation process will be described with reference to Fig. 9. The second change confirmation process is a process for setting the time constant of the acceleration during the rotation operation of the tool magazine 21 to the reference time constant tb when it is determined that the tool 3 has been changed in the MDI operation mode. MDI operation is a mode in which the machine tool 1 is operated by commands that constitute an NC program, one line at a time. When the control unit 41 receives a command to switch to MDI operation at the operation unit, it reads out the second change confirmation program from ROM 42 and executes this process.

[0075] The control unit 41 judges whether or not an ATC operation has been performed in MDI operation (S21). The execution of an ATC operation in MDI operation can be set on an MDI operation screen 55. As shown in FIG. 17, the MDI operation screen 55 has display areas 551 to 555. In the display area 551, the relative coordinate position and the absolute coordinate position of the spindle 9 are switchably displayed. In the display area 552, a list of available G codes is displayed in a scrollable manner. In the display area 553, a list of available M codes is displayed in a scrollable manner. In the display area 554, each value of an F code (a code for specifying a feed rate), an S code (a code for specifying the number of revolutions of the spindle), a T code (a code for specifying a tool to be used), an H code (a code for specifying a tool compensation value), and a D code (a code for specifying a tool diameter compensation) is displayed in a settable manner.

[0076] The display area 555 is provided with a registration number display area 556 and a code editing area 557. The registration number display area 556 displays a list of registration numbers assigned to each line of commands created by the user in the vertical direction. The code editing area 557 displays each line of commands created by the user using G code, M code, etc., and allows the user to freely edit them. The created or edited command can be registered, and a registration number is assigned at the same time as the command is registered. The assigned registration number is added to the list in the registration number display area 556. For example, when a command with registration number = 1 is selected, the command with registration number = 1 is displayed in the code editing area 557. "G100 T1;" displayed in the code editing area 557 in FIG. 17 is a command that specifies a tool change to tool T1. In addition to G100, there is another command that specifies a tool change, M06. When the control unit 41 receives a predetermined operation by the user, it executes the command displayed in the code editing area 557.

[0077] For example, when ATC operation is performed by command of G100 during MDI operation (S21: YES), it is possible that ATC operation was performed to change tools. Therefore, the control unit 41 refers to the function setting data stored in the memory unit 44 and determines whether automatic update of the loading condition setting is enabled (S24). If automatic update is disabled (S24: NO), the control unit 41 returns to S21 and repeats the above process. If automatic update is enabled (S24: YES), the control unit 41 initializes and sets the loading condition setting data stored in the memory unit 44 to the standard loading conditions (S25). The control unit 41 returns to S21 and repeats the above process.

[0078] When the ATC operation is not performed in the MDI operation (S21: NO), the control unit 41 judges whether or not the pot has been indexed on the ATC tool application screen 53 (S22). When the attachment / detachment position index button 534 or the spindle position index button 535 is pressed on the ATC tool application screen 53 shown in FIG. 15, and the pot has been indexed to the attachment / detachment position or the pot has been indexed to the spindle position (S22: YES), there is a possibility that the pot has been indexed to change the tool. Therefore, the control unit 41 refers to the function setting data stored in the memory unit 44 and judges whether the automatic update of the loading condition setting is enabled (S24). When the automatic update is enabled (S24: YES), the control unit 41 initializes and sets the loading condition setting data stored in the memory unit 44 to the reference loading condition (S25). The control unit 41 returns to S21 and repeats the above process.

[0079] On the other hand, if pot indexing is not being performed in the ATC tool application (S22: NO), the control unit 41 determines whether the MDI operation mode has ended (S23). If the MDI operation mode is continuing (S23: NO), the control unit 41 returns to S21 and repeats the above process. If the MDI operation mode has ended (S23: YES), the control unit 41 ends this process.

[0080] The memory operation turning control process will be described with reference to Figures 10 and 11. When the user switches to memory operation on the operation unit 18, the control unit 41 reads out the memory operation turning control program from the ROM 42 and executes this process. The user selects an NC program on the operation unit 18. The control unit 41 accepts the NC program selected by the user (S31). The control unit 41 reads out the accepted NC program from the storage unit 44 and starts it up (S32). The control unit 41 refers to the function setting data stored in the storage unit 44 and determines whether the turning acceleration adjustment of the tool magazine 21 is valid or not (S33).

[0081] When the turning acceleration adjustment is enabled (S33: YES), the control unit 41 applies the time constant shortening function. Therefore, the control unit 41 calculates the time constant T1 corresponding to the loading condition setting displayed in the display area 514 of the loading condition setting screen 51 shown in FIG. 12 (S41). The loading condition setting displayed in the display area 514 is the loading condition currently being set. The method of calculating the time constant T1 is as described above. The control unit 41 sets the time constant of the turning acceleration of the tool magazine 21 to the calculated time constant T1 (S42) and stores it in the memory unit 44. Note that when the value of the loading condition setting displayed in the display area 514 is the same as the reference loading condition, the time constant T1 becomes the reference time constant tb.

[0082] On the other hand, if the turning acceleration adjustment is disabled (S33: NO), the control unit 41 does not apply the time constant shortening function. Therefore, the control unit 41 sets the time constant of the turning acceleration to the reference time constant tb (S34). For example, if there is no restriction on the machining time and there is no need to shorten the time of the turning operation, the user can disable the turning acceleration adjustment to perform the turning operation with the reference time constant tb. In this case, the control unit 41 can turn the tool magazine 21 safely and stably.

[0083] The control unit 41 interprets one block of the NC program (S35). The control unit 41 determines whether the command in the interpreted block is an ATC command (S36). An ATC command is, for example, G100. If the command in the interpreted block is not an ATC command (S36: NO), the control unit 41 determines whether the command in the interpreted block is M30 (S37). M30 is an end code. If the command in the interpreted block is not M30 (S37: NO), the control unit 41 returns to S35 and repeats the above process.

[0084] If the command of the interpreted block is an ATC command (S36: NO), as shown in Fig. 11, the control unit 41 executes the ATC operation by the tool exchanger 20 (S50). During the ATC operation, the control unit 41 accumulates in the RAM 43 drive data such as the torque u output from the drive circuit 48 to the magazine motor 64 and the angle θ of the magazine body 22 (S51). The control unit 41 adds the number of movement pitches to the cumulative number of movement pitches stored in the RAM 43 in accordance with the rotation operation of the tool magazine 21 (S52).

[0085] Here, the number of moving pitches and the cumulative number of moving pitches will be explained. In this embodiment, the interval of movement between adjacent pots in the circumferential direction as the tool magazine 21 turns is defined as one pitch. When moving one pitch, the number of moving pitches is 1. The cumulative number of moving pitches is the number of pitches obtained by accumulating the number of moving pitches. There are cases where ATC operations are performed multiple times in an NC program. In multiple ATC operations, there are cases where the tool magazine 21 turns in one direction (one way) and cases where it turns in both directions (reciprocating). Therefore, there are two types of cumulative moving pitches: the cumulative number of moving pitches (one direction) and the cumulative number of moving pitches (both directions). The cumulative number of moving pitches (one direction) is the cumulative value of the number of pitches moved in one direction. The cumulative number of moving pitches (both directions) is the number of pitches between pots that move back and forth in both directions.

[0086] For example, in the tool magazine 21 shown in Fig. 3, if the first ATC operation moves from pot 801 to pot 802, and the second ATC operation moves from pot 802 to 803, the cumulative number of movement pitches (one direction) is 1 + 1 = 2. For example, if the first ATC operation moves from pot 801 to pot 803, and the second ATC operation moves in the opposite direction from pot 803 to 801, two pitches are moved back and forth between pots 801 and 803, so the cumulative number of movement pitches (both directions) is 2. Note that the cumulative number of movement pitches (one direction) at this time is 2. The cumulative number of movement pitches is stored in RAM 43, and is initialized to 0 when execution of this process starts.

[0087] The estimation implementation conditions will now be described. In this embodiment, the loading conditions (inertia and unbalanced load) are estimated using drive data of the ATC operation during execution of the NC program. In order to improve the reliability of the estimation results of the loading conditions, it is preferable to accumulate a certain amount of data of the ATC operation. Therefore, this embodiment specifies the estimation implementation conditions for estimating the loading conditions. The estimation implementation conditions are to satisfy at least one of the following two conditions. The cumulative number of movement steps (one direction) in the NC program is equal to or greater than the required number of movement steps (one direction). The cumulative number of movement steps (both directions) in the NC program is equal to or greater than the required number of movement steps (both directions).

[0088] The control unit 41 judges whether the cumulative travel pitch number satisfies the estimation execution condition (S53). If the cumulative travel pitch number does not satisfy the estimation execution condition (S53: NO), the driving data used to estimate the loading condition has not yet been obtained sufficiently. Therefore, the control unit 41 returns to S35 in FIG. 10 and repeats the above process without estimating the loading condition.

[0089] When the cumulative moving pitch number satisfies the estimation implementation condition (S53: YES), sufficient driving data to be used for estimating the loading conditions is obtained. Therefore, the control unit 41 estimates the current loading conditions (inertia and unbalanced load) of the tool magazine 21 based on the driving data obtained when the tool magazine 21 is rotated and stored in the RAM 43, and updates the estimation result displayed in the display area 513 of the loading condition setting screen 51 (S54). The control unit 41 updates the estimation result displayed in the display area 513 of the loading condition setting screen 51 every time the loading conditions are estimated. The estimation result of the loading conditions is stored in the RAM 43. Furthermore, the control unit 41 calculates the time constant T2 based on the estimated loading conditions (S55). The method of estimating the loading conditions and the method of calculating the time constant T2 are as described above. The control unit 41 stores the calculated time constant T2 in the RAM 43.

[0090] Next, the control unit 41 refers to the function setting data stored in the memory unit 44 and determines whether or not the turning acceleration adjustment of the tool magazine 21 is valid (S56). If the turning acceleration adjustment is invalid (S56: NO), the control unit 41 returns to S35 in FIG. 10 and repeats the above process.

[0091] When the turning acceleration adjustment is enabled (S56: YES), the control unit 41 judges whether the calculated time constant T2 is greater than the currently set time constant T1 (S57). This judgment process is a check for missetting. In this embodiment, the judgment is made based on the time constant, but the judgment may also be made by comparing the estimated loading conditions with the currently set loading conditions. When the time constant T2 is the same as the time constant T1 or is smaller than the time constant T1 (S57: NO), the currently set time constant T1 is maintained, and the process returns to S35 in FIG. 10 to repeat the above process.

[0092] On the other hand, if the time constant T2 is greater than the time constant T1 (S57: YES), the current loading condition setting is an incorrect setting. If the tool magazine 21 is rotated with the currently set time constant T1, a load will be applied to the reducer 25, etc., which may result in insufficient torque. Therefore, the control unit 41 sets the time constant of the rotation acceleration to the reference time constant tb (S58), returns to S35 in FIG. 10, and repeats the above process. This allows the control unit 41 to rotate the tool magazine 21 safely and without problems in the NC program being executed. Note that in S58, the time constant of the rotation acceleration may be set to, for example, the calculated time constant T2, rather than to the reference time constant tb.

[0093] Returning to Fig. 10, the control unit 41 continues to interpret one block of the NC program (S35). If the interpreted block is M30 (S36: NO, S37: YES), the control unit 41 judges whether or not the loading conditions have been estimated during the execution of the NC program (S38). If the loading conditions have not been estimated (S38: NO), the control unit 41 ends the NC program (S39) and returns to S31 to repeat the above process.

[0094] When the loading conditions are estimated during the execution of the NC program (S38: YES), the control unit 41 updates the display of the estimated loading conditions in the display area 513 of the loading condition setting screen 51 (S44). When the current loading condition settings are determined to be incorrect, the user can check the estimated results in the display area 513. The control unit 41 refers to the function setting data stored in the memory unit 44 and determines whether the automatic update of the loading condition settings is enabled (S45). When the automatic update of the loading condition settings is disabled (S45: NO), the control unit 41 ends the NC program (S39) and returns to S31 to repeat the above process.

[0095] When automatic update of loading condition setting is enabled (S45: YES), the control unit 41 sets the value of the estimated result to the value of the loading condition setting stored in the storage unit 44 (S46), and updates the display of the loading condition setting in the display area 514 of the loading condition setting screen 51 to the value of the estimated result (S47). The control unit 41 ends the NC program (S39), returns to S31, and repeats the above process. In this way, the result of estimating the loading conditions performed during the execution of the NC program is reflected in the setting data of the storage unit 44 as the value of the loading condition when the end code of M30 is executed.

[0096] Then, in the next memory operation, the NC program is accepted and started (S31, S32), and if the rotation acceleration adjustment is enabled (S33: YES), the control unit 41 recalculates the time constant T1 from the loading condition setting value stored in the memory unit 44 (S41). The loading condition setting value stored in the memory unit 44 is the loading condition value that reflects the estimated result at the end of the previous memory operation. The control unit 41 sets the newly calculated time constant T1 as the time constant for the acceleration of the rotation of the tool magazine 21 (S42). As a result, the time constant for the rotation acceleration of the tool magazine 21 is automatically shortened according to the current loading condition of the tool magazine 21, so that the control unit 41 can optimally adjust the acceleration of the positioning operation of the tool magazine 21.

[0097] 18 to 20, the flow of estimating loading conditions during memory operation and checking for incorrect settings will be described. Here, three specific examples will be described.

[0098] <First concrete example> The first specific example shown in FIG. 18 is an example in which the estimation condition is satisfied. The NC program is started at t0. At t1, in accordance with the ATC command of G100, the tool magazine 21 is rotated to move from pot P1 to pot P2, and the ATC operation is performed. The number of movement pitches (one direction) at this time is 1. Next, in accordance with the ATC command of G100 at t2, the tool magazine 21 is rotated to move from pot P2 to pot P3, and the ATC operation is performed. The number of movement pitches (one direction) at this time is also 1. Next, in accordance with the ATC command of G100 at t3, the tool magazine 21 is moved from pot P3 to pot P7, and the ATC operation is performed. The number of movement pitches (one direction) at this time is 4. At this point, the cumulative number of movement pitches (one direction) is 1+1+4=6. For example, if the required number of movement pitches (one direction) is set to 6 or more, the estimation execution condition is satisfied. Therefore, the control unit 41 estimates the loading condition, and performs a missetting check on the estimated loading condition or the time constant calculated based on the estimated loading condition. If it is not determined that the setting is incorrect, the time constant is not changed.

[0099] Next, at timing t4, in accordance with the ATC command of G100, the robot moves from pot P7 to pot P8 and executes the ATC operation. At this point, the cumulative number of movement pitches (one direction) is 6+1=7. As the cumulative number of movement pitches increases, the amount of data used to estimate the loading conditions increases, improving the reliability of the estimation results. Therefore, the control unit 41 re-estimates the loading conditions and checks for missettings.

[0100] Next, at timing t5, in accordance with the ATC command of G100, the tool magazine 21 is rotated in the reverse direction to move from pot P8 to pot P1, and the ATC operation is performed. At this point, the cumulative number of movement pitches (- direction) is 7, and the cumulative number of movement pitches (both directions) is 7. Therefore, similarly to timing t4, in order to improve the reliability of the estimation result, the control unit 41 re-estimates the loading conditions and checks for missettings.

[0101] Then, at timing t6, in accordance with the end code of M30, the NC program ends, and at the same time, the estimated results of the loading conditions last estimated by the ATC operation at timing t5 are displayed in the display area 513 of the loading condition setting screen 51. If automatic update of loading condition settings in the function settings is enabled, the estimated results of the loading conditions displayed in the display area 513 are displayed in the display area 514 of the loading condition setting screen 51, and are reflected in the loading condition settings stored in the memory unit 44. When the NC program is ended by a reset operation, the control unit 41 may perform processing in the same manner as when M30 ends.

[0102] <Second concrete example> The second specific example shown in FIG. 19 is an example in which the estimation conditions are satisfied but the estimation result is an incorrect setting. The timing of the ATC operation is the same as the first specific example shown in FIG. 18. The time constant T1 is set when the NC program is started. Since the ATC operation at the timing t3 satisfies the estimation implementation condition, the control unit 41 estimates the loading conditions and checks for incorrect settings based on the estimation results. Here, if the time constant T2 calculated based on the estimation results is greater than the currently set time constant T1, the estimated loading conditions (inertia and offset load) are greater than the currently set loading condition settings. Therefore, the control unit 41 judges that the setting is incorrect. In this case, the control unit 41 changes the setting of the time constant from T1 to the reference time constant tb. This makes it possible to prevent the tool magazine 21 from operating at an acceleration that is not optimal, and therefore it is possible to prevent the program operation from stopping due to a failure of the tool magazine 21, a shortened life of the reducer 25, and an error due to insufficient torque.

[0103] <Third Specific Example> The third specific example shown in FIG. 20 is an example in which the estimation condition is not satisfied. The NC program is started at t10. At t11, in accordance with the ATC command of G100, the tool magazine 21 is rotated to move from pot P1 to pot P2, and the ATC operation is performed. The number of movement pitches (one direction) at this time is 1. Next, in accordance with the ATC command of G100 at t12, the tool magazine 21 is rotated in the opposite direction to move from pot P3 to pot P1, and the ATC operation is performed. The number of movement pitches (one direction) at this time is also 1. The cumulative number of movement pitches (one direction) at this time is 1+1=2. Next, in accordance with the ATC command of G100 at t13, the tool magazine 21 is rotated in the opposite direction to move from pot P3 to pot P1, and the ATC operation is performed. The cumulative number of movement pitches (negative direction) at this time is 2. The cumulative number of movement pitches (both directions) is 2 because two pitches are reciprocated between pots P1 and P3. For example, when the required number of moving pitches (one direction) is set to 6 or more and the required number of moving pitches (one direction) is set to 3 or more, neither the cumulative number of moving pitches (negative direction) nor the cumulative number of moving pitches (both directions) meets the estimation implementation condition. Therefore, the control unit 41 does not estimate the loading conditions and does not check for erroneous settings.

[0104] As described above, the machine tool 1 of this embodiment includes the tool magazine 21. The tool magazine 21 can hold the tools 3, and the tool magazine 21 is rotated by the drive of the magazine motor 64 to transport the tools 3 to a predetermined position. The numerical control device 40 outputs a command to the machine tool 1 to instruct the drive conditions of the magazine motor 64. The storage unit 44 of the numerical control device 40 stores the loading conditions defined by the inertia around the rotation axis 23 of the tool magazine 21 and the offset load. The control unit 41 of the numerical control device 40 calculates the time constant T1 for acceleration and deceleration of the magazine motor 64 during the rotation operation of the tool magazine 21 according to the loading conditions stored in the storage unit. The control unit 41 executes the rotation operation of the tool magazine 21 with the calculated time constant T1. The control unit 41 judges whether the loading conditions have changed due to a change in the loading state of the tools 3. If it is judged that the loading conditions have changed, the control unit 41 changes the time constant during the rotation operation to the reference time constant tb. The reference time constant tb is a time constant that allows the magazine motor 64 to operate without exceeding the maximum torque that can be output when the loading state of the tools 3 in the tool magazine 21 is the reference loading state. The control unit 41 estimates the loading conditions (inertia and offset load) of the tool magazine 21 based on the result of executing the turning operation with the reference time constant tb during the execution of the NC program. The control unit 41 reflects the estimated loading conditions in the loading conditions stored in the storage unit. As a result, at the next turning operation of the tool magazine 21, the control unit 41 calculates the time constant T1 for acceleration and deceleration of the magazine motor 64 under the loading conditions reflecting the estimated results. Therefore, the numerical control device 40 can optimally adjust the acceleration and deceleration during the turning operation of the tool magazine 21 according to the current loading conditions of the tool magazine 21. In addition, the numerical control device 40 can prevent operation at a non-optimal acceleration due to forgetting to perform estimation after changing tools in the tool magazine 21. As a result, the numerical control device 40 can prevent a breakdown of the machine tool 1 and an error due to insufficient torque of the magazine motor 64.

[0105] In the above description, the magazine motor 64 is an example of a motor of the present invention. The control unit 41 that executes the process of S41 is an example of a calculation unit. The control unit 41 that executes the process of S50 is an example of a rotation execution unit. The control unit 41 that executes the processes of S11, S12, S13, S21, and S22 is an example of a change judgment unit. The control unit 41 that executes the processes of S16 and S25 is an example of a change unit. The control unit 41 that executes the process of S54 is an example of a first estimation unit. The control unit 41 that executes the process of S46 is an example of a first reflection unit.

[0106] The control unit 41 that executes the process of S11 is an example of a first judgment unit. Among the ATC operations shown in FIG. 13, the operation (1) is an example of a first operation of the present invention, the operation (2) is an example of a second operation of the present invention, the operation (3) is an example of a third operation of the present invention, and the operation (4) is an example of a fourth operation of the present invention. The control unit 41 that executes the process of S21 is an example of a second judgment unit. The control unit 41 that executes the process of S22 is an example of a third judgment unit. The storage unit 44 is an example of an information storage unit of the present invention. The control unit 41 that executes the process of S12 is an example of a fourth judgment unit. Among the tool information of the ATC tools stored in the storage unit 44, information that assigns each tool to each pot number is an example of assignment information of the present invention. The storage unit 44 is an example of a tool information storage unit of the present invention. The control unit 41 that executes the process of S13 is an example of a fifth judgment unit. The control unit 41 that executes the process of S53 is an example of an estimation implementation judgment unit. The control unit 41 that executes the process of S57 is an example of an estimation result judgment unit. The control unit 41 that executes the process of S58 is an example of a reference execution unit. The control unit 41 that executes the process of S5 is an example of a reflection prohibition setting unit. The control unit 41 that executes the processes of S5 and S33 is an example of a reference setting execution unit.

[0107] The present invention is not limited to the above embodiment, and various modifications are possible. The machine tool 1 is a vertical machine tool in which the axial direction of the main spindle 9 extends in the vertical direction, but it may be a horizontal machine tool in which the axial direction of the main spindle extends in the front-rear direction.

[0108] The method of estimating the loading conditions (inertia and unbalanced load) and the direction of calculating the time constant are not limited to those in the above embodiment, and other estimation methods and calculation methods may be used.

[0109] In S54 of the memory operation turning control process shown in Fig. 11, the control unit 41 displays the estimation result in the display area 513 of the loading condition setting screen 51. In order to notify the update of the display of the estimation result, characters, marks, etc., notifying the update of the estimation result may be displayed. Also, an alarm, etc. may be output at the same time as the display is updated.

[0110] In S57 of the memory operation turning control processing shown in FIG. 11, if the time constant T2 calculated based on the estimation result is greater than the currently set time constant T1 (S57: YES), the control unit 41 sets the reference time constant tb (S58), but may also set it to the time constant T2.

[0111] The layout of each display area of ​​the loading condition setting screen 51, the ATC tool setting screen 52, the ATC tool application screen 53, the tool data screen 54, and the MDI operation screen 55 is not limited to that in the above embodiment.

[0112] The loading condition settings displayed in the display area 514 of the loading condition setting screen 51 can also be manually input by the user. By enabling automatic update of loading condition settings, the estimated results are automatically reflected in the loading condition settings. If automatic update of loading condition settings is disabled, the user can compare the currently set loading condition setting value with the estimated result value, and recognize that the setting is incorrect if the estimated result value is greater.

[0113] The torque in the reference loaded state does not have to be the maximum output of the magazine motor 64. The reference time constant tb may be a time constant determined taking into consideration the life of the reducer and torque shortage. [Explanation of symbols]

[0114] 1 Machine tools 3 tools 8 Grip Arm 9 Main axis 21 Tool Magazine 23 Swivel Axis 40 Numerical Control Device 41 Control section 64 Magazine Motor tb Reference time constant

Claims

1. A numerical control device for a machine tool including a tool magazine capable of loading tools thereon and rotating the tool magazine by being driven by a motor to transport the tools to a predetermined position, the numerical control device outputting a command to the motor, a storage unit that stores loading conditions defined by an inertia around a rotation axis of the tool magazine and an offset load; a calculation unit that calculates a time constant of acceleration / deceleration of the motor during the turning operation of the tool magazine in accordance with the loading conditions stored in the memory unit; a rotation execution unit that executes the rotation operation of the tool magazine using the time constant calculated by the calculation unit; A change determination unit that determines whether the loading conditions have been changed; a change unit that changes the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state when the change determination unit determines that the loading conditions have changed; an estimation unit that estimates the inertia and the offset load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program; a reflection unit that reflects an estimation result of the estimation unit in the loading conditions stored in the storage unit; A numerical control device comprising:

2. a first determination unit that determines whether a single tool change action has been performed, the ATC action being a manual operation for performing a single step of an ATC operation in which the tool magazine is turned to the predetermined position and the tool is then attached to a spindle of the machine tool; The change determination unit determines that the loading conditions have been changed when the first determination unit determines that the tool exchange single action has been executed. The numerical control device according to claim 1 .

3. The ATC operation is A first operation of moving the spindle from a machining area of ​​the machine tool to a Z-axis origin in a Z-axis direction parallel to the spindle; a second operation of moving the spindle from the Z-axis origin along the Z-axis direction to an ATC origin in an ATC region opposite to the machining region after the first operation; a third operation of rotating the tool magazine around the rotation axis after the second operation and indexing a predetermined tool to a tool exchange position relative to the spindle; a fourth operation of moving the spindle from the ATC origin along the Z-axis direction after the third operation, mounting the predetermined tool indexed to the tool change position on the spindle, and moving the spindle to the Z-axis origin; Equipped with The first determination unit determines whether the second operation, the third operation, and the fourth operation of the tool exchange single action have been performed. The numerical control device according to claim 2 .

4. a second determination unit that determines whether an ATC operation has been performed in which the tool magazine is turned to transport the tool to the predetermined position and the tool is attached to a spindle of the machine tool in an MDI operation in which the machine tool is operated by commands for each line constituting an NC program, The change determination unit determines that the loading conditions have been changed when the second determination unit determines that the ATC operation has been performed during the MDI operation. The numerical control device according to claim 1 .

5. a third determination unit that determines whether an indexing operation of indexing the tool magazine to a specific position has been performed in a tool application that can be executed by receiving an operation of the tool magazine; The change determination unit determines that the loading conditions have been changed when the third determination unit determines that the indexing operation has been performed. The numerical control device according to claim 1 .

6. an allocation information storage unit that stores allocation information, which is information on the tools to be allocated to each of a plurality of pots provided on an outer periphery of the tool magazine; a fourth determination unit that determines whether the allocation information stored in the allocation information storage unit has been changed; Equipped with The change determination unit determines that the loading conditions have been changed when the fourth determination unit determines that the allocation information has been changed. The numerical control device according to claim 1 .

7. a tool information storage unit that stores tool information, which is information on the tools assigned to each of the plurality of pots provided on the outer periphery of the tool magazine; a fifth determination unit that determines whether the tool information stored in the tool information storage unit has been changed; The change determination unit determines that the loading conditions have been changed when the fifth determination unit determines that the tool information has been changed. The numerical control device according to claim 1 .

8. The estimation unit estimates the inertia and the offset load based on a result of an ATC operation performed during execution of the NC program, in which the tool magazine is rotated by the rotation execution unit at the time constant, and the tool transported to the predetermined position is attached to a spindle of the machine tool. The numerical control device according to claim 1 .

9. an estimation execution determination unit that determines whether an estimation execution condition is satisfied in the NC program, that is, whether a cumulative reciprocating movement amount of the tool magazine about the turning axis is equal to or greater than a first predetermined amount, or a cumulative one-way movement amount is equal to or greater than a second predetermined amount, when the ATC operation is executed by the turning execution unit during execution of the NC program; The estimation unit estimates the inertia and the offset load based on the execution result of the ATC operation when the estimation execution determination unit determines that the estimation execution condition is satisfied. The numerical control device according to claim 8 .

10. an estimation result determination unit that determines whether a value of the estimation result of the estimation unit is equal to or less than a value of the loading condition stored in the storage unit; The reflection unit reflects the estimation result of the estimation unit in the loading condition stored in the storage unit when the estimation result determination unit determines that the value of the estimation result is equal to or less than the value of the loading condition stored in the storage unit. The numerical control device according to claim 8 .

11. The reflection unit reflects the estimation result of the estimation unit in the loading conditions stored in the storage unit after all the ATC operations in the NC program are completed. The numerical control device according to claim 10 .

12. an estimation result determination unit that determines whether a value of the estimation result of the estimation unit is greater than a value of the loading condition stored in the storage unit; a reference execution unit that executes the turning operation in the remaining ATC operation in the NC program being executed by the turning execution unit with the reference time constant when the estimation result determination unit determines that the value of the estimation result is greater than the value of the loading condition stored in the storage unit; Equipped with The numerical control device according to claim 8 .

13. an estimation result determination unit that determines whether a value of the estimation result of the estimation unit is greater than a value of the loading condition stored in the storage unit; a time constant execution unit that executes the turning operation in the remaining ATC operation in the NC program being executed by the turning execution unit with a time constant calculated based on the estimated result when the estimation result determination unit determines that the value of the estimated result is greater than the value of the loading condition stored in the storage unit; Equipped with The numerical control device according to claim 8 .

14. A reflection prohibition setting unit is provided which, upon receiving a user's operation, prohibits the reflection of the estimation result by the reflection unit to the loading conditions stored in the storage unit. The numerical control device according to claim 12 or 13,

15. A reference setting execution unit is provided which receives a user's operation and sets the time constant during the turning operation during the execution of the NC program to the reference time constant.

14. The numerical control device according to claim 1,

16. A method for controlling a numerical control device that outputs a command to a motor for a machine tool having a tool magazine capable of loading tools thereon and rotating the tool magazine by being driven by the motor to transport the tool to a predetermined position, comprising: a calculation step of calculating a time constant of acceleration / deceleration of the motor during the swing operation of the tool magazine in accordance with loading conditions stored in a storage unit that stores loading conditions defined by an inertia around a swing axis of the tool magazine and an offset load; a rotation execution step of executing the rotation operation of the tool magazine using the time constant calculated in the calculation step; a change determination step of determining that the loading conditions have been changed; a changing step of changing the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state when it is determined in the change determination step that there has been a change in the loading conditions; an estimation step of estimating the inertia and the offset load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program; a reflection step of reflecting an estimation result in the estimation step in the loading conditions stored in the storage unit; A control method comprising:

17. A program executable by a computer of a numerical control device that outputs a command to a motor for a machine tool having a tool magazine that can hold tools and that rotates by being driven by a motor to transport the tools to a predetermined position, The computer includes: a calculation step of calculating a time constant of acceleration / deceleration of the motor during the swing operation of the tool magazine in accordance with loading conditions stored in a storage unit that stores loading conditions defined by an inertia around a swing axis of the tool magazine and an offset load; a rotation execution step of executing the rotation operation of the tool magazine with the time constant calculated in the calculation step; A change determination step of determining that the loading conditions have been changed; a changing step of changing the time constant during the turning operation to a reference time constant at which the motor can operate when the loading state of the tools in the tool magazine is a reference loading state when it is determined in the change determination step that there is a change in the loading conditions; an estimation step of estimating the inertia and the offset load of the tool magazine based on a result of executing the turning operation with the reference time constant during execution of an NC program; a reflection step of reflecting an estimation result in the estimation step in the loading conditions stored in the storage unit; A program characterized by executing the above.

Citation Information

Patent Citations

  • Machine tool and machine tool control method

    JP6603282B2