Numerical control device, control method, and program
The numerical control device optimizes rotation time by determining load alignment and adjusting time constants, addressing inefficient rotation times caused by uneven loads in tool magazines.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-30
- Publication Date
- 2026-04-09
AI Technical Summary
The uneven load distribution in a tool magazine due to gravity causes variations in the torque required for rotational movement, leading to inefficient rotation times, as the numerical control device may calculate a larger time constant even when sufficient torque is available, depending on the alignment of the torque direction relative to the load direction.
A numerical control device that determines whether rotational movement resists or aligns with the uneven load by analyzing starting and ending angles and a reference angle where the load magnitude is zero, adjusting the time constant for acceleration and deceleration using an eccentric load multiplier, thereby optimizing rotation time.
The device shortens the rotational motion time of the tool magazine by accurately calculating time constants based on load conditions, ensuring efficient and safe rotation by accounting for torque variations due to uneven loads.
Smart Images

Figure 2026061326000001_ABST
Abstract
Description
[Technical Field]
[0001] This invention relates to a numerical control device, a control method, and a program. [Background technology]
[0002] The numerical control device described in Patent Document 1 rotates the tool magazine by driving a magazine motor during tool change based on a tool change command. The tool magazine rotates around an axis that extends in a direction intersecting the direction of gravity. The numerical control device identifies parameters such as the moment of inertia by rotating the tool magazine. Based on the identified parameters, the numerical control device calculates the time constant of the acceleration of the motor that rotates the tool magazine. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2024-34256 [Overview of the project] [Problems that the invention aims to solve]
[0004] The uneven load generated in the tool magazine is caused by gravity acting on the tools and other items mounted in the tool magazine. Therefore, when the direction of the vertical component of the torque output by the tool magazine coincides with the direction of the uneven load, the torque required for the rotational movement of the tool magazine becomes small. When the direction of the vertical component of the torque output by the tool magazine is opposite to the direction of the uneven load, the torque required for the rotational movement of the tool magazine becomes large. The numerical control device calculates the time constant under the condition that the direction of the vertical component of the torque output by the tool magazine is always opposite to the direction of the uneven load. Therefore, depending on the conditions of the rotational movement of the tool magazine, the numerical control device may calculate a large time constant even if there is sufficient torque in the magazine motor. Thus, the numerical control device may require time to rotate the tool magazine.
[0005] The object of the present invention is to provide a numerical control device, a control method, and a program that can shorten the rotation time of a rotating body. [Means for solving the problem]
[0006] A numerical control device according to a first aspect of the present invention is a numerical control device that outputs a command to a motor for a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and on which a load can be loaded, and is characterized by comprising: a determination unit that determines whether the rotational movement includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational movement of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero; a calculation unit that calculates a time constant for acceleration and deceleration of the motor based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result of the determination unit; and a generation unit that generates the command based on the time constant calculated by the calculation unit.
[0007] In the numerical control device of the present invention, the determination unit determines whether the rotational motion includes rotation against an uneven load. The calculation unit calculates a time constant based on the determination result by the determination unit. As a result, the calculation unit can calculate an appropriate time constant when the torque required for the rotation of the rotating body is small and when the torque required for the rotation of the rotating body is large. Therefore, the numerical control device can shorten the rotational motion time of the rotating body.
[0008] In the numerical control device of the present invention, when the determination unit determines that the rotational operation does not include rotation against the eccentric load, the calculation unit may calculate the time constant based on the load conditions corrected by setting the value of the eccentric load multiplier to zero. In this case, the calculation unit calculates the time constant by setting the value of the eccentric load multiplier to zero, thereby assuming that the magnitude of the eccentric load generated by the rotating body is zero. At this time, the calculation unit does not take into account the torque due to the eccentric load and calculates the time constant based on the torque of the rotating body. Therefore, the time constant calculated by the calculation unit is smaller than the time constant calculated assuming that the direction of the vertical component of the torque output by the rotating body is always opposite to the direction of the eccentric load. Therefore, the numerical control device can shorten the time required for the rotation of the rotating body.
[0009] In the numerical control device of the present invention, when the determination unit determines that the rotational operation includes rotation against the eccentric load, the calculation unit may calculate the time constant based on the load conditions, which have been corrected by setting the value of the eccentric load multiplier to the maximum value in the rotation range of the rotating body where the rotation is against the eccentric load, among the eccentric load multipliers that change in the rotational operation. In this case, the calculation unit calculates the time constant based on the eccentric load multiplier for rotation against the eccentric load in the rotational operation of the rotating body. In rotation against an eccentric load, the direction of the vertical component of the torque output by the rotating body is always opposite to the direction of the eccentric load. The calculation unit corrects the load conditions by setting the maximum value in the rotation range of the rotating body where the rotation is against the eccentric load as the eccentric load multiplier. As a result, the time constant calculated by the calculation unit becomes larger. Therefore, the numerical control device can rotate the rotating body safely.
[0010] In the numerical control device of the present invention, when the determination unit determines that the rotational operation does not include rotation against the eccentric load, the calculation unit may calculate the time constant based on the loading conditions corrected by setting the value of the eccentric load multiplier to negative. In this way, the calculation unit calculates the time constant assuming that the direction of the vertical component of the torque output by the rotating body coincides with the direction of the eccentric load. That is, the calculation unit uses the torque of the eccentric load to accelerate the rotation of the rotating body and calculates the time constant. Therefore, the time constant calculated by the calculation unit is smaller than the time constant calculated assuming that the direction of the vertical component of the torque output by the rotating body is always opposite to the direction of the eccentric load. The calculation unit calculates the time constant based on the torque of the rotating body without taking into account the torque due to the eccentric load. Therefore, the numerical control device can shorten the time required for the rotation of the rotating body.
[0011] In the numerical control device of the present invention, the calculation unit may change the value of the eccentric load multiplier one or more times based on an arbitrary angle between the starting angle and the ending angle, and then calculate the time constant. According to this, in the numerical control device, the calculation unit changes the value of the eccentric load multiplier one or more times based on the intermediate angle, so a more appropriate time constant for rotational motion can be calculated. Therefore, the numerical control device can shorten the rotational motion time of the rotating body.
[0012] The numerical control device of the present invention includes a switching unit that switches between a first mode in which the calculation unit performs the calculation of the time constant and a second mode in which the calculation unit does not perform the calculation of the time constant. When the switching unit is switched to the second mode, the generation unit may generate the command based on a predetermined time constant stored in the storage unit. In this case, by switching the switching unit to stop the calculation of the time constant by the calculation unit, the calculation of the time constant by the calculation unit is omitted. The numerical control device can generate commands to the motor with simple processing.
[0013] A control method according to a second aspect of the present invention is a control method for a numerical control device that outputs a command to a motor for a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and on which a load can be loaded, characterized in that it performs a determination step of determining whether the rotation includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational movement of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero; a calculation step of calculating a time constant for acceleration and deceleration of the motor based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result of the determination step; and a generation step of generating the command based on the time constant calculated in the calculation step.
[0014] A program according to a third aspect of the present invention is characterized in that, for a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and on which a load can be loaded, the computer of a numerical control device that outputs a command to the motor executes a determination process that determines whether the rotation includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational movement of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero; a calculation process that calculates a time constant for acceleration and deceleration of the motor, based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result of the determination process; and a generation process that generates the command based on the time constant calculated by the calculation process.
[0015] The second and third embodiments produce the same effects as the first embodiment. [Brief explanation of the drawing]
[0016] [Figure 1] This is a front view of machine tool 1. [Figure 2] This is a partially fractured view of the spindle head 7, seen from the right side. [Figure 3] This figure shows the tool magazine 21 when the angle θ of the magazine body 22 is 0 degrees. [Figure 4] This figure shows the tool magazine 21 when the angle θ of the magazine body 22 is the reference angle θa. [Figure 5] This figure shows a tool magazine 21 that rotates from an angle θ = -178 degrees to an angle θ = -68 degrees. [Figure 6] This figure shows a tool magazine 21 that rotates from an angle θ = -178 degrees to an angle θ = -28 degrees. [Figure 7] This figure shows a tool magazine 21 that rotates from an angle θ = -48 degrees to an angle θ = 22 degrees. [Figure 8] This figure shows a tool magazine 21 that rotates from an angle θ = -48 degrees to an angle θ = 42 degrees. [Figure 9] This is a block diagram showing the electrical configuration of the numerical control device 40 and the machine tool 1. [Figure 10] This diagram shows the control system for the drive circuit 54. [Figure 11] This figure shows the angular velocity curve and angular acceleration curve when a two-stage moving average filter is applied. [Figure 12] This is a flowchart of the estimation process. [Figure 13] This is a flowchart of the switching process. [Figure 14] This is a flowchart of the main process. [Figure 15] This is a flowchart showing the continuation of Figure 14. [Figure 16] This is a perspective view of machine tool 101. [Figure 17] This is a perspective view of the support device 108. [Figure 18] This is a rear view of the support device 108 when the angle ψ is 90 degrees. [Figure 19] This is a conceptual diagram showing the relationship between the conditional classification based on φS and φE and the determination result of whether or not the rotational movement of the tool magazine 21 includes rotation that resists the total eccentric load Tw. [Modes for carrying out the invention]
[0017] Hereinafter, one embodiment of the present invention will be described with reference to the drawings. The referenced drawings are used to illustrate the technical features that the present invention may adopt. The configuration of the apparatus shown in the drawings is not intended to be limited to that, but is merely an illustrative example. The left-right direction, front-back direction, and up-down direction of the machine tool 1 are the X-axis direction, Y-axis direction, and Z-axis direction of the machine tool 1, respectively. The right direction, front direction, and up direction are positive directions, respectively, while the left direction, rear direction, and down direction are negative directions, respectively.
[0018] Referring to Figure 1, the structure of machine tool 1 will be described. Machine tool 1 is a vertical machine tool that performs cutting operations on a workpiece (not shown) using the tool 3 shown in Figure 2. Machine tool 1 comprises a base 2, a column 5, a control box 6, a table device 10, a spindle head 7, a spindle 9, and a tool changer 20.
[0019] Base 2 is a roughly rectangular metal base. Column 5 is positioned above and behind Base 2. Column 5 houses a Z-axis movement mechanism (not shown). The Z-axis movement mechanism includes a Z-axis motor 63, as shown in Figure 9. The Z-axis motor 63 moves the spindle head 7, which will be described later, in the Z-axis direction.
[0020] A bearing section 33, as shown in Figure 2, is located on the front of column 5. The bearing section 33 is plate-shaped and extends in the vertical direction. A cam follower 34 is located at the front end of the bearing section 33.
[0021] The control box 6 is located behind the column 5. The control box 6 houses the numerical control device 40 shown in Figure 9. The numerical control device 40 controls the operation of the machine tool 1.
[0022] The table device 10 includes a Y-axis movement mechanism 16, a Y-axis table 12, a table 13, and an X-axis movement mechanism 17. The Y-axis movement mechanism 16 is located in front of and above the base 2. The Y-axis movement mechanism 16 includes a Y-axis motor 62 as shown in Figure 9. The Y-axis motor 62 moves the Y-axis table 12 in the Y-axis direction.
[0023] The X-axis movement mechanism 17 is positioned above the Y-axis table 12. The X-axis movement mechanism 17 includes the X-axis motor 61 shown in Figure 9. The X-axis motor 61 moves the table 13 in the X-axis direction. Therefore, the table 13 can be moved in the X-axis and Y-axis directions relative to the base 2 by the X-axis movement mechanism 17 and the Y-axis movement mechanism 16.
[0024] Referring to Figure 2, the structure of the spindle head 7 and spindle 9 will be described. The spindle head 7 is box-shaped and is located in front of the column 5. The spindle motor 65 is located above the spindle head 7. The spindle head 7 houses the crank lever 30, the support shaft 31, the plate cam 32, a compression coil spring (not shown), and the spindle 9.
[0025] The crank lever 30 is roughly L-shaped when viewed from the left side. The pivot shaft 31 extends in the left-right direction and engages with the bent portion of the crank lever 30. The crank lever 30 can swing in the front-back direction around the pivot shaft 31 as the axis of rotation.
[0026] The plate cam 32 is positioned at the rear end of the crank lever 30. A cam surface is formed on the back of the plate cam 32 that can move toward and away from the cam follower 34. One end of a compression coil spring (not shown) is fixed to the back wall of the spindle head 7. The other end of the compression coil spring is fixed below the plate cam 32 to the rear end of the crank lever 30. The compression coil spring biases the crank lever 30 clockwise when viewed from the right side.
[0027] The spindle 9 is roughly cylindrical in shape and extends vertically, and has a rotation axis parallel to the vertical direction. The spindle 9 is connected to the rotation axis of the spindle motor 65. The spindle motor 65 rotates the spindle 9 around its rotation axis.
[0028] The spindle 9 has a shaft hole 91, a mounting hole 92, a clamping portion 93, and a drawbar 94. The shaft hole 91 is located at the upper end of the spindle 9. The mounting hole 92 is located at the lower end of the spindle 9 and communicates with the shaft hole 91. The clamping portion 93 is located at the lower end of the shaft hole 91. The clamping portion 93 can clamp the tool 3. The drawbar 94 is located at the upper end of the clamping portion 93.
[0029] The spindle 9 has a through hole (not shown) formed in it. The through hole penetrates the spindle 9 in the front-rear direction. A pin 95 is positioned at the upper end of the drawbar 94. The pin 95 protrudes to the outside of the spindle 9 through the through hole. Outside the spindle 9, the pin 95 is located below the front end of the crank lever 30. When the crank lever 30 swings, the front end of the crank lever 30 moves toward and away from the pin 95.
[0030] Referring to Figure 2, the structure of the tool changer 20 will be described. The tool changer 20 includes a tool magazine 21 and a magazine motor 64. The tool magazine 21 is of the turret type. The tool magazine 21 has a support base 24, a support shaft 25, a magazine body 22, a plurality of grip arms 23, and a reduction gear 26.
[0031] The support base 24 is fixed to a frame (not shown). The frame extends forward from the column 5. The support base 24 is positioned in front of the spindle head 7 and rotatably supports the pivot shaft 25. The pivot shaft 25 extends forward and downward. That is, the pivot shaft 25 intersects the direction of gravity.
[0032] The magazine body 22 is positioned at the front of the support base 24. The magazine body 22 is disc-shaped and faces forward relative to the front of the machine tool 1. The front of the magazine body 22 is located below and in front of the machine tool 1. The magazine body 22 is rotatable around the pivot shaft 25.
[0033] Multiple grip arms 23 are arranged at predetermined intervals around the outer circumference of the magazine body 22. In the tool changing device 20, 28 grip arms 8 are positioned on the magazine body 22. Each grip arm 23 is pivotable in the front-to-back direction of the magazine body 22. The tip of each grip arm 23 grips the tool 3 in a detachable manner. In other words, the tool magazine 21 can hold tools 3 using multiple grip arms 23.
[0034] The reduction gear 26 is positioned above the support base 24. The reduction gear 26 has a plurality of gears (not shown) and a cam (not shown). The magazine motor 64 is positioned above the reduction gear 26. The rotation axis of the magazine motor 64 is connected to the reduction gear 26. Driven by the magazine motor 64, the magazine body 22 rotates around the pivot shaft 25 as its axis of rotation.
[0035] The tool changer 20 exchanges the tool 3 mounted on the spindle 9 with the tool 3 stored in the tool magazine 21. When the tool changer 20 exchanges the tool 3, the Z-axis motor 63 first raises the spindle head 7. When the spindle head 7 is raised, the cam follower 34 slides against the plate cam 32 of the crank lever 30. Therefore, the crank lever 30 rotates counterclockwise around the pivot shaft 31 when viewed from the right side.
[0036] The front end of the crank lever 30 contacts the pin 95 from above, pressing the drawbar 94 downward. The drawbar 94 biases the clamping portion 93 downward. The clamping portion 93 releases the grip of the tool 3. At the same time, the grip arm 8 in the tool change position among the multiple grip arms 8 grips the tool 3. The tool change position is the lowest position of the magazine body 22 and is close to and opposite the spindle 9.
[0037] The spindle head 7 rises until it is positioned at the ATC origin. The ATC origin is a predetermined position in the Z-axis direction of the spindle head 7. When the spindle head 7 is positioned at the ATC origin, the magazine body 22 is rotatable by the drive of the magazine motor 64.
[0038] The magazine motor 64 rotates the magazine body 22. At this time, the magazine motor 64 rotates the magazine body 22 until the tool 3 specified by the machining program described later is positioned at the tool change position. The tool 3 positioned at the tool change position is located below the spindle head 7, which has moved to the ATC origin.
[0039] The Z-axis motor 63 lowers the spindle head 7. The tool 3, positioned in the tool change position, enters the mounting hole 92. The cam follower 34 slides over the plate cam 32. The crank lever 30 rotates clockwise around the pivot shaft 31 as the axis of rotation when viewed from the right side. The crank lever 30 moves away from the pin 95 and releases the downward pressure on the drawbar 94.
[0040] The drawbar 94 releases the downward biasing force on the clamping portion 93. The clamping portion 93 grips the tool 3. The grip arm 8 releases its grip on the tool 3, which is positioned in the tool change position. As a result, the spindle 9 mounts the tool 3, and the tool change by the tool changer 20 is completed.
[0041] Referring to Figures 3 and 4, the state in which the tools 3 are mounted in the tool magazine 21 will be explained. Hereinafter, the 28 grip arms 8 will be referred to as grip arms 801 to 828. In the magazine body 22, grip arm 802 is positioned next to one side of grip arm 801. Grip arm 803 is positioned next to one side of grip arm 802. Grip arm 801 is positioned next to grip arm 828.
[0042] In the tool magazine 21, some of the multiple grip arms 8 grip the tools 3. In the tool magazine 21 shown in Figure 3, 11 grip arms 801-810 and 828 hold the tools 3. Hereinafter, the tool 3 held by grip arm 801 will be referred to as tool 301. The tool 3 held by grip arm 802 will be referred to as tool 302. The tool 3 held by grip arm 828 will be referred to as tool 328.
[0043] The weights G1 of tool 301, G3 of tool 302, G3 of tool 303, ... G28 of tool 328 may be the same or they may be different from each other. In this embodiment, we will explain assuming that the weights G1 to G10 and G28 are the same. Note that the grip arms 811 to 827 do not grip tool 3.
[0044] In the tool magazine 21 of FIG. 3, since many of the tools 3 are located on the left side of the magazine body 22, an eccentric load due to the tools 301 to 310 and 328 acts on the magazine body 22. The eccentric load is generated by the weight of the tool 3. The magazine body 22 tends to rotate about the center Q due to the eccentric load. Hereinafter, the total eccentric load due to all of the tools 301 to 310 and 328 is referred to as the total eccentric load T w In the tool magazine 21 of FIG. 3, the total eccentric load T w tends to rotate the magazine body 22 counterclockwise about the center Q
[0045] The total eccentric load T w varies based on the number of grip arms 8 on which the tool 3 is mounted, the positions of the grip arms 8 on which the tool 3 is mounted, the weight of the tool 3 mounted on the grip arm 8, and the angle θ of the magazine body 22. The angle θ of the magazine body 22 is 0 deg when the grip arm 801 is at the tool change position. When the magazine body 22 of FIG. 3 rotates clockwise about the center Q, the angle θ becomes positive. When the magazine body 22 rotates counterclockwise about the center Q, the angle θ becomes negative
[0046] In the tool magazine 21 of FIG. 4, the eccentric loads due to the tools 301 to 310 and 328 acting on the magazine body 22 are balanced. At this time, the magnitude of the total eccentric load T w becomes zero. The angle θ of the magazine body 22 is -58 deg. Hereinafter, the angle θ at which the magnitude of the total eccentric load T w becomes zero is referred to as the reference angle θ a The angle of the magazine body 22 with respect to the reference angle θ a is defined as the angle φ = θ - θ a
[0047] The magnitude of the eccentric load is minimized at the angle φ = 0 deg, the angle φ = 180 deg, or the angle φ = -180 deg. The magnitude of the eccentric load is maximized at the angle φ = 90 deg or the angle φ = -90 deg
[0048] When the tool magazine 21 rotates, there are cases where the total eccentric load T w acts favorably on the rotation of the tool magazine 21, and cases where the total eccentric load Tw This can sometimes work to the disadvantage of the tool magazine 21. In Figure 5, the tool magazine 21 rotates from an angle θ = -178 degrees to an angle θ = -68 degrees. The starting angle θ of the rotational motion of the tool magazine 21 is called the starting angle, and the ending angle θ of the rotational motion is also called the starting angle.
[0049] Figure 5 shows the direction of the vertical component of the torque acting on the magazine body 22 by the drive of the magazine motor 64 from the starting angle to the ending angle, and the total eccentric load T. w The direction coincides with that. Since the direction of the force is the same, in the rotational motion of the tool magazine 21 shown in Figure 5, the total eccentric load T w This works to the advantage of the rotation of tool magazine 21.
[0050] In Figure 7, the tool magazine 21 rotates from an angle θ = -48 degrees to an angle θ = 22 degrees. In Figure 8, the tool magazine 21 rotates from an angle θ = -48 degrees to an angle θ = 42 degrees.
[0051] Figures 7 and 8 show the direction of the vertical component of the torque acting on the magazine body 22 by the drive of the magazine motor 64 from the starting angle to the ending angle, and the total eccentric load T. w The direction is opposite to that. Because the direction of the force is opposite, in the rotational motion of the tool magazine 21 shown in Figures 7 and 8, the total eccentric load T w This works against the rotation of the tool magazine 21. Total eccentric load T during rotation w The rotation that works unfavorably for the rotation of tool magazine 21 is the total eccentric load T w It's a rotation that resists something.
[0052] In Figure 6, the tool magazine 21 rotates from an angle θ = -178 degrees to an angle θ = -28 degrees. From the starting angle to an angle θ = -58 degrees, the direction of the vertical component of the torque acting on the magazine body 22 by the drive of the magazine motor 64 and the total eccentric load T are shown. w This coincides with the direction. In the rotational motion of the tool magazine 21 from the starting angle to the angle θ = -58 degrees, the total eccentric load T w This works to the advantage of the rotation of tool magazine 21.
[0053] From angle θ = -58 degrees to the end point angle, the direction of the vertical component of the torque acting on the magazine body 22 by the drive of the magazine motor 64 and the total eccentric load T w The direction is opposite to that. In the rotational movement of the tool magazine 21 from angle θ = -58deg to the endpoint angle, the total eccentric load T w This works unfavorably on the rotation of the tool magazine 21. That is, the rotational movement of the tool magazine 21 from the starting angle to the ending angle in Figure 6 is affected by the total eccentric load T. w It includes rotation that resists it.
[0054] As shown in Figure 19, the starting angle, ending angle, and reference angle θ a Total eccentric load T from the rotational movement of tool magazine 21 w It is possible to determine whether or not a rotation opposing the force is included. Note that in Figure 19, φ S φ is the angle at the starting point angle, E φ is the angle at the starting point. S and φ E Both are negative, and φ S ga φ E If it is smaller than, the total eccentric load T w It does not include rotation that opposes it. φ S and φ E Both are negative, and φ S ga φ E If it is greater than, the total eccentric load T w This includes rotation that resists φ S and φ E Both are positive, and φ S ga φ E If it is smaller than, the total eccentric load T w This includes rotation that resists φ S and φ E Both are positive, and φ S ga φ E If it is greater than, the total eccentric load T w It does not include rotation that opposes it. φ S and φ E If the sign is reversed, the total eccentric load T w This includes rotation that resists the rotation. As will be explained in more detail later, the numerical control device 40 controls the rotational movement of the tool magazine 21 with a total eccentric load Tw The system determines whether or not rotation is involved, and controls the rotational movement of the tool magazine 21 according to the determination result.
[0055] Referring to Figure 9, the electrical configuration of the numerical control device 40 and the machine tool 1 will be explained. The numerical control device 40 includes a CPU 41, ROM 42, RAM 43, storage unit 44, input / output unit 45, and drive circuits 51-55.
[0056] The CPU 41 controls the operation of the machine tool 1. The ROM 42 stores control programs for executing the main process shown in Figure 14 (described later), control programs for executing estimation processes, control programs for executing switching processes, etc. The RAM 43 stores various data generated by the processes executed by the CPU 41.
[0057] The memory unit 44 contains the processing program and the reference inertia J, which will be described later. b , standard unbalanced load T wb The system stores the reference time constant t1, etc. The machining program is a program for machining the workpiece, and in this embodiment, it is an NC program. The machining program may also be a program written in C language or the like.
[0058] An NC program consists of multiple blocks. Each block contains at least one command, such as a tool change command, a cutting command, a positioning command, or a termination command. The tool change command is a control command that performs a tool change by the tool changer 20. The cutting command is a control command that performs cutting on the workpiece by rotating the spindle 9 and moving the spindle 9 and the table 13 relative to each other. The positioning command is a control command that positions the table 13 and the spindle 9. The termination command is a control command that terminates the execution of the NC program.
[0059] The input / output unit 45 is electrically connected to the drive circuits 51-55, encoder 70, operation unit 18, and display unit 19. Drive circuit 51 is electrically connected to the X-axis motor 61 and encoder 71. Drive circuit 52 is electrically connected to the Y-axis motor 62 and encoder 72. Drive circuit 53 is electrically connected to the Z-axis motor 63 and encoder 73. Drive circuit 54 is electrically connected to the magazine motor 64 and encoder 74. Drive circuit 55 is electrically connected to the spindle motor 65 and encoder 75.
[0060] The drive circuit 51 outputs drive current to the X-axis motor 61 based on a command input from the CPU 41. The drive circuit 52 outputs drive current to the Y-axis motor 62 based on a command input from the CPU 41. The drive circuit 53 outputs drive current to the Z-axis motor 63 based on a command input from the CPU 41. The drive circuit 54 outputs drive current to the magazine motor 64 based on a command input from the CPU 41. The drive circuit 55 outputs drive current to the spindle motor 65 based on a command input from the CPU 41.
[0061] Machine tool 1 is equipped with an X-axis motor 61, a Y-axis motor 62, a Z-axis motor 63, a magazine motor 64, a spindle motor 65, and encoders 71-75. The X-axis motor 61, Y-axis motor 62, Z-axis motor 63, magazine motor 64, and spindle motor 65 are all servo motors.
[0062] Encoders 71 to 75 are all absolute value encoders. Encoder 71 outputs a feedback signal indicating the rotation angle of the X-axis motor 61 to the drive circuit 51. Encoder 72 outputs a feedback signal indicating the rotation angle of the Y-axis motor 62 to the drive circuit 52. Encoder 73 outputs a feedback signal indicating the rotation angle of the Z-axis motor 63 to the drive circuit 53. Encoder 74 outputs a feedback signal indicating the rotation angle of the magazine motor 64 to the drive circuit 54. Encoder 75 outputs a feedback signal indicating the rotation angle of the spindle motor 65 to the drive circuit 55.
[0063] The control unit 18 and the display unit 19 are located on the control panel 15. The control panel 15 is located on the outer wall of a cover (not shown). The cover encloses the machine tool 1. The control unit 18 receives input from the user, such as various information and operation instructions, and outputs them to the CPU 41. The display unit 19 displays various screens, error information, etc., based on commands from the CPU 41.
[0064] Referring to Figure 10, the control system of the drive circuit 54 will be explained. The CPU 41 generates time-series data of the target angle at predetermined intervals based on the tool change command of the NC program. The CPU 41 outputs an angle command to the drive circuit 54 according to the time-series data. The angle command indicates the rotation angle of the output shaft of the magazine motor 64 when the magazine body 22 is rotated to the target angle indicated by the data.
[0065] The encoder 74 outputs the current rotation angle information of the output shaft of the magazine motor 64 as a return value to the drive circuit 54. The drive circuit 54 controls the drive current output to the magazine motor 64 based on the return value and the angle command. In detail, the drive circuit 54 calculates the angular deviation between the return value and the angle command using an adder 54A. The drive circuit 54 calculates the angular velocity command by multiplying the angular deviation by an angle-proportional gain. The drive circuit 54 calculates the angular velocity deviation between the angular velocity command and the angular velocity return value using an adder 54B. The angular velocity return value is the actual angular velocity, and is the value obtained by differentiating the return value using a differentiator 54C.
[0066] The drive circuit 54 integrates the angular velocity deviation using the integrator 54E. The drive circuit 54 calculates a current command by multiplying the integral value from the integrator 54E by the angular velocity integral gain. The drive circuit 54 adds the current command obtained by multiplying the angular velocity deviation by the angular velocity proportional gain and the current command obtained by multiplying the integral value from the integrator 54E by the angular velocity integral gain using the adder 54D to generate a torque command. The drive circuit 54 outputs a drive current indicating the torque command to the magazine motor 64. The magazine motor 64 rotates according to the input drive current.
[0067] Referring to Figure 11, the method by which the CPU 41 determines the time-series data of the target angle will be explained. As shown in Figures 11(A) and 11(B), the CPU 41 determines each target angle such that the angular velocity remains constant when rotating from the starting angle to the ending angle. As shown in Figures 11(C) and 11(D), the CPU 41 applies a moving average filter at least twice to the waveform showing the time-series change of angular velocity to smooth the change in angular velocity. Hereinafter, the waveform showing the time-series change of angular velocity will be called the angular velocity waveform.
[0068] The first moving average filter applied is called the first FIR filter. In Figure 8, the first FIR filter is represented as "FIR1". The second moving average filter applied is called the second FIR filter. In Figure 8, the second FIR filter is represented as "FIR2".
[0069] As shown in Figure 11(C), when the first FIR filter is applied, the angular velocity of the angular velocity waveform changes from 0 to V. max The part that changes up to V, and the angular velocity max The slope of the portion that changes from to 0 remains constant. The rise and fall times of the angular velocity waveform are both t1. t1 corresponds to the time constant when the first FIR filter is applied to the angular velocity waveform. Hereinafter, t1 will be referred to as the time constant t1 or reference time constant t1.
[0070] As shown in Figure 11(D), when the second FIR filter is applied, the angular velocity changes gradually at the beginning and end of the portion where the slope of the rising and falling edges of the angular velocity waveform is constant. In this case, the slope corresponding to the portion where the angular velocity changes gradually in the waveform showing the time series change of acceleration is constant. Hereafter, the waveform showing the time series change of acceleration will be called the angular acceleration waveform.
[0071] The rise and fall times of the angular velocity waveform increase by t2 each, resulting in t1 + t2. t2 corresponds to the time constant when a second FIR filter is applied to the angular velocity waveform. Hereafter, t2 will be referred to as the time constant t2.
[0072] As described above, the CPU 41 mitigates the change in the angular velocity of the magazine body 22 during tool changes by applying multiple FIR filters to the angular velocity. The time constant t1 of the first FIR filter and the time constant t2 of the second FIR filter correspond to the acceleration and deceleration time constants of the magazine motor 64 being controlled.
[0073] Based on the tool change command, the CPU 41 calculates the angular velocity of the tool magazine 21 at predetermined intervals, as shown in Figure 11(B). As shown in Figures 11(C) and 11(D), the CPU 41 adjusts the acceleration and deceleration characteristics by applying a first FIR filter and a second FIR filter to the angular velocity. Based on the angular acceleration waveform obtained by applying the first FIR filter and the second FIR filter, the CPU 41 determines the target angle for each predetermined interval. The CPU 41 outputs the determined target angle data to the drive circuit 54 at predetermined intervals. The CPU 41 also optimizes and adjusts the time constant in the main processing.
[0074] The CPU 41 outputs an angle command for the target angle at a predetermined interval. The drive circuit 54 rotates the magazine motor 64 based on the angle command. The magazine motor 64 rotates the magazine body 22 to the target angle. The magazine body 22 repeats the operation of rotating to the target angle at predetermined intervals. As a result, the magazine body 22 rotates from the starting angle to the ending angle.
[0075] The magnitude of the time constant of the magazine motor 64 during acceleration and deceleration is the time of the rising and falling portions of the angular velocity waveform. Therefore, by optimizing the time constant, the numerical control device 40 can shorten the time required for the rotation of the tool magazine 21.
[0076] As shown in Figure 11, the maximum angular acceleration A max And, maximum angular velocity V max The reference time constant t1 is related to the following equation 1. [Mathematics 1] A max =(V max ) / (t1) Maximum angular acceleration A max And, maximum angular velocity V maxThe reference time constant t1 is stored in the memory unit 44.
[0077] Maximum torque T of the magazine motor 64 during the rotational operation of the tool magazine 21 m It can be represented by the following number 2. [Math 2] T m =(J b ×A max )+|T wb | In Math 2, J b This is the inertia of the tool magazine 21 in the standard mounting state. The standard mounting state is the mounting state of the standard tool 3 in the tool magazine 21. Hereinafter, J b The standard inertia J b That's what they say. wb This is the total eccentric load of tool 3 in the standard mounting state. Hereafter, T wb The reference unbalanced load T wb That is what they say. Maximum torque T m And, standard inertia J b And, standard eccentric load T wb This is stored in memory unit 44.
[0078] The numerical control device 40 calculates t1' by ensuring that the torque of the magazine motor 64 when the mounting state of the tool 3 changes is the same magnitude as the torque of the magazine motor 64 in the standard mounting state. t1' is the time constant after the mounting state has changed. Hereinafter, t1' will be referred to as the time constant after the change.
[0079] Maximum angular acceleration A after the wearing state changes max ' and the maximum angular velocity V max The relationship between the time constant t1' after the change and the time constant t1' is as follows (equation 3). [Math 3] A max ´=(V max ) / (t1´) Below, A max Maximum angular acceleration A after changing ' max That's what they say.
[0080] After the mounting state of tool 3 changes, the maximum torque T of the magazine motor 64m It is represented by Equation 4 below. [Equation 4 T m =(J×A max ´)+k|T w | In Equation 4, J is the inertia of the tool magazine 21 after the mounting state changes. k is the unbalance load ratio for correcting the unbalance load. The unbalance load ratio k is a numerical value of -1 or more and 1 or less. Details of the unbalance load ratio k will be described later.
[0081] Equations 1 to 4 are used to derive Equation 5 below. The CPU 41 calculates the changed time constant t1´ based on Equation 5.
Equation
[0082] The CPU 41 determines the unbalance load ratio k according to the rotational operation of the tool magazine 21. As shown in FIGS. 6 to 8, when the rotational operation of the tool magazine 21 includes rotation that resists the total unbalance load T w the CPU 41 determines the value of the unbalance load ratio k to the value shown in Equation 6 below. [Equation 6 k=max{|sin(θ-θ a )|,θ min <θ<θ max} In Equation 5, θ min is the minimum value of the angle θ at which rotation resists the total unbalance load T w in the rotational operation of the tool magazine 21. θ max is the maximum value of the angle θ at which rotation resists the total unbalance load T w in the rotational operation of the tool magazine 21. That is, when the rotational operation that resists the total unbalance load T w is included, the CPU 41 determines the value of the unbalance load ratio k to the maximum value in the rotation range where rotation resists the total unbalance load T w in the unbalance load ratio k whose value changes in a sine function shape.
[0083] In Equation 5, the term related to torque is corrected by the unbalance load ratio k (|T wb |-k|Tw becomes |). As shown in Equation 6, the partial load ratio k is greater than 0 and equal to or less than 1. Therefore, the term related to torque (|T wb |-k|T w |) is larger than (|T wb |-|T w |). Therefore, in Equation 5, the changed time constant t1´ becomes smaller than when there is no correction of the partial load by the partial load ratio k. Therefore, when the rotational operation of the tool magazine 21 includes rotation against the total partial load T w , the numerical control device 40 can shorten the time required for the rotation of the tool magazine 21.
[0084] As shown in FIG. 5, when the rotational operation of the tool magazine 21 does not include rotation against the total partial load T w , the CPU 41 determines the value of the partial load ratio k to be k = 0. In Equation 5, the term related to torque is corrected by the partial load ratio k to become |T wb |, and Equations 5 to 7 are derived.
Equation
[0085] <0000?91>The magnitude of the torque-related term |T wb | in Equation 5 is larger than (|T wb |-|T w |). Therefore, in Equation 5, the changed time constant t1´ becomes smaller than when there is no correction of the partial load by the partial load ratio k. Therefore, when the rotational operation of the tool magazine 21 does not include rotation against the total partial load T[[ID=?6]] w , the numerical control device 40 can shorten the time required for the rotation of the tool magazine 21.
[0086] Referring to FIG. 12, the estimation process will be described. The estimation process is a process for estimating the loading conditions. The loading conditions are the inertia J of the tool magazine 21 and the total partial load T w . The loading conditions change according to the mounting state of the tool 3 in the tool magazine 21.
[0087] When power is turned on to the machine tool 1, the CPU 41 reads a control program from the ROM 42 to execute the estimation process. As a result, the CPU 41 starts executing the estimation process.
[0088] The CPU 41 determines whether the tool magazine 21 has rotated by a predetermined angle (S1). The predetermined angle is an angle based on the cumulative number of pitches of the tool magazine 21 necessary for estimating the loading conditions. For example, one pitch is defined as the distance between two adjacent tools 3 in the circumferential direction. If the tool moves by one pitch, the number of pitches is 1. The cumulative number of pitches is the cumulative number of pitches.
[0089] If the CPU 41 determines that the tool magazine 21 has not rotated by the predetermined angle (S1: NO), it returns to processing S1. If the CPU 41 determines that the tool magazine 21 has rotated by the predetermined angle (S1: YES), it estimates the loading conditions of the tool magazine 21 based on the rotation of the tool magazine 21 (S2). In this embodiment, the loading conditions are the inertia J of the tool magazine 21 and the total eccentric load T. w The loading conditions change depending on the state in which the tools 3 are mounted in the tool magazine 21.
[0090] CPU41 estimated inertia J, total eccentric load T w The data is stored in RAM 43 (S3). The CPU 41 initializes the cumulative pitch count (S4) and terminates the estimation process. In this way, the CPU 41 estimates the loading conditions according to the rotation of the tool magazine 21.
[0091] Referring to Figure 13, the switching process will be explained. The switching process is a process for switching the mode related to the calculation of the time constant. The CPU 41 switches between a first mode and a second mode as modes related to the calculation of the time constant. In the first mode, the CPU 41 calculates the changed time constant t1' based on equation 5 and rotates the tool magazine 21 based on the changed time constant t1'. In the second mode, the CPU 41 does not calculate the changed time constant t1' and rotates the tool magazine 21 based on the reference time constant t1 stored in the memory unit 44.
[0092] The user operates the control unit 18 and inputs a switching command to the CPU 41. The CPU 41 reads a control program from the ROM 42 to execute the switching process. As a result, the CPU 41 starts executing the switching process.
[0093] CPU 41 determines whether the current mode is the first mode (S6). If CPU 41 determines that the current mode is the first mode (S6: YES), it switches the mode to the second mode (S7) and proceeds to S9. If CPU 41 determines that the current mode is not the first mode (S6: NO), it switches the mode to the first mode (S8) and proceeds to S9. CPU 41 stores the setting information of the switched mode in RAM 43 and terminates the switching process.
[0094] The main process will be explained with reference to Figures 14 and 15. The main process is the process for performing cutting on the workpiece. In the cutting process of the workpiece, the tool changer 20 performs tool changes.
[0095] The user operates the control unit 18 to select one NC program from among multiple NC programs stored in the memory unit 44. The user operates the control unit 18 to input a command to start cutting based on the selected NC program to the CPU 41. The CPU 41 reads the control program for executing the main process from the ROM 42. As a result, the CPU 41 starts executing the main process.
[0096] As shown in Figure 14, the CPU 41 reads the selected NC program (S11). The CPU 41 interprets one line of control commands from the read NC program (S12). The CPU 41 determines whether the interpreted control commands include a termination command (S13). If the CPU 41 determines that the interpreted control commands do not include a termination command (S13: NO), it determines whether the interpreted control commands include a tool change command (S14).
[0097] If the CPU 41 determines that the interpreted control command does not include a tool change command (S14: NO), it executes various processes based on the interpreted control command (S15). These processes include, for example, cutting the workpiece based on a cutting command and positioning the spindle 9 based on a positioning command. The CPU 41 returns to process S12.
[0098] If the CPU 41 determines that the interpreted control command includes a tool change command (S14: YES), it retrieves the maximum angular acceleration A from the memory unit 44. max , maximum angular velocity V max Reference time constant t1, maximum torque T m , standard inertia J b , and standard unbalanced load T wb The CPU 41 obtains the value (S21). The CPU 41 determines whether the mode for calculating the time constant is the first mode (S22). The CPU 41 makes the determination in S22 based on the setting information stored in the RAM 43 in S9 as shown in Figure 13.
[0099] When the CPU 41 determines that the mode is not the first mode (S22: NO), it generates time-series data of the angle command based on the reference time constant t1 and outputs it to the drive circuit 54 (S23). As a result, the CPU 41 performs a tool change using the tool changer 20. The CPU 41 returns to processing in S12.
[0100] When the CPU 41 determines that the mode is the first mode (S22: YES), it retrieves the loading conditions stored in S3 shown in Figure 12 from the RAM 43, as shown in Figure 15 (S26). The CPU 41 detects the total eccentric load T during the rotational movement of the tool magazine 21 during tool change. w It is determined whether or not a rotation opposing the current is included (S27). The CPU 41 determines the starting angle, ending angle, and reference angle θ. a Based on this, the S27 determination is made.
[0101] CPU41 applies a total eccentric load T to the rotational movement of the tool magazine 21. w When it is determined that rotation is involved that opposes the load (S27:YES), the value of the eccentric load multiplier k is determined based on equation 6 (S28). The CPU 41 determines the total eccentric load T based on the determined eccentric load multiplier k.w The value is corrected, and the time constant t1' after the change is calculated based on equation 5 (S29). CPU 41 then proceeds to S32.
[0102] CPU41 applies a total eccentric load T to the rotational movement of the tool magazine 21. w When it is determined that there is no rotation to counteract it (S27: NO), the value of the eccentric load multiplier k is set to zero (S30). The CPU 41 determines the total eccentric load T based on the determined eccentric load multiplier k. w The value is corrected, and the time constant t1' after the change is calculated based on equation 7 (S31). The CPU 41 then proceeds to S32.
[0103] The CPU 41 generates time-series data of the angle command based on the post-change time constant t1' calculated in S29 or S31 and outputs it to the drive circuit 54 (S23). As a result, the CPU 41 performs tool change by the tool changer 20. The CPU 41 returns to processing as shown in S12 in Figure 14.
[0104] As explained above, in the numerical control device 40, the CPU 41 applies a total eccentric load T to the rotational movement of the tool magazine 21. w It is determined whether or not rotation is involved that resists the force (S27). The CPU 41 determines whether or not the rotation of the tool magazine 21 involves a total eccentric load T. w When it is determined that rotation is involved that resists the force (S27: YES), the value of the eccentric load multiplier k is determined based on equation 6 (S28), and the time constant t1' after change is calculated based on equation 5 (S29). The CPU 41 determines that the rotational movement of the tool magazine 21 involves a total eccentric load T w When it is determined that there is no rotation that opposes the force (S27: NO), the value of the eccentric load multiplier k is set to zero (S28), and the time constant after change t1' is calculated based on equation 7 (S31). The CPU 41 generates time-series data of the angle command based on the calculated time constant after change t1' and outputs it to the drive circuit 54 (S23). As a result, the total eccentric load T in the rotation of the tool magazine 21 w When is it advantageous and the total eccentric load T w When this works against you, the CPU 41 can calculate an appropriate time constant. Therefore, the numerical control device 40 can shorten the rotation time of the tool magazine 21.
[0105] In the numerical control device 40, the CPU 41 controls the rotational movement of the tool magazine 21 with a total eccentric load T w When it is determined that there is no rotation to resist the load (S27: NO), the value of the eccentric load multiplier k is set to zero (S28), and the total eccentric load T w This is corrected by the eccentric load multiplier k, and equation 7 is derived from equation 5. The CPU 41 calculates the time constant t1' after the change based on equation 7 (S31). According to this, the CPU 41 sets the value of the eccentric load multiplier k to zero, thereby reducing the total eccentric load T w The magnitude of the torque due to is set to zero, and the time constant t1' after the change is calculated. Therefore, the rotational movement of the tool magazine 21 is always, total eccentric load T w Compared to the time constant calculated assuming rotation against the force, the calculated post-change time constant t1' becomes smaller. Therefore, the numerical control device 40 can shorten the rotation time of the tool magazine 21.
[0106] In the numerical control device 40, the CPU 41 controls the rotational movement of the tool magazine 21 with a total eccentric load T w When it is determined that rotation is involved that opposes the load (S27:YES), the value of the eccentric load multiplier k is determined based on equation 6 (S28). The CPU 41 determines the total eccentric load T based on the eccentric load multiplier k. w The value is corrected, and the time constant t1' after the change is calculated based on equation 5 (S29). In this case, the CPU 41 calculates the total eccentric load T during the rotational movement of the tool magazine 21. w Based on the eccentric load ratio k during rotation against the force, the time constant t1' after the change is calculated. Total eccentric load T w In rotation against the force, the direction of the vertical component of the torque output by the tool magazine 21 is the total eccentric load T w This is in the opposite direction. CPU41 sets the value of the eccentric load multiplier k to the total eccentric load T w The total eccentric load T is the maximum value in the rotation range where the rotation is opposed to the force. w This corrects the value. As a result, the calculated post-change time constant t1' becomes larger. Therefore, the numerical control device 40 can safely rotate the tool magazine 21.
[0107] In the numerical control device 40, the CPU 41 switches between a first mode in which it calculates the time constant t1' after change, and a second mode in which it does not calculate the time constant t1' after change. When the CPU 41 is in the second mode (S22:NO), it generates time-series data of the angle command based on the reference time constant t1 and outputs it to the drive circuit 54 (S23). Thus, by switching to the second mode in which it does not calculate the time constant t1' after change, the CPU 41 omits the calculation of the time constant t1' after change. Therefore, the numerical control device 40 can generate commands to the magazine motor 64 with simple processing.
[0108] The present invention can be modified in various ways from the embodiments described above. The various modifications described below can be combined in any way, as long as they do not create contradictions.
[0109] Referring to Figures 16 to 18, a modified example of the machine tool 101 will be described. In the following description, components having the same function as machine tool 1 are denoted by the same reference numerals, and their descriptions are omitted or simplified.
[0110] As shown in Figure 16, the machine tool 101 comprises a base 102, a column 105, a spindle head 106, a spindle (not shown), a support device 108, a control box (not shown), and a numerical control device 40 as shown in Figure 9. The base 102 has a frame 111, a spindle base 112, a right base 113, and a left base 114.
[0111] The frame 111 is a roughly rectangular parallelepiped structure that is long in the front-to-back direction. The main shaft base 112 is also a roughly rectangular parallelepiped that is long in the front-to-back direction and is located at the rear of the upper surface of the frame 111. The right base 113 is located at the front right of the upper surface of the frame 111. The left base 114 is located at the front left of the upper surface of the frame 111. The right base 113 and the left base 114 support the support device 108.
[0112] Column 105 has a configuration corresponding to column 5 shown in Figure 1 and is located above the spindle base 112. The spindle head 106 has a configuration corresponding to spindle head 7 shown in Figure 2 and is located in front of column 105. A spindle (not shown) has a configuration corresponding to spindle 9 shown in Figure 2 and is housed in spindle head 106. The control box is located on the outer wall of a cover (not shown) and houses the numerical control device 40.
[0113] As shown in Figures 17 and 18, the support device 108 comprises an A-axis base 120, a left support base 127, a drive unit 128, a turntable 129, and a C-axis drive unit 130.
[0114] The A-head 120 has a base portion 121 and connecting portions 122 and 123. The base portion 121 is plate-shaped and extends in the left-right direction. When the angle ψ of the A-head 120 is 0 degrees, the upper surface of the base portion 121 is parallel to the horizontal plane. The angle ψ increases when the A-head 120 rotates clockwise in a right-side view. The angle ψ decreases when the A-head 120 rotates counterclockwise in a right-side view.
[0115] The connecting portion 122 extends diagonally upward and to the right from the right end of the base portion 121 and is rotatably connected to the drive unit 128. The connecting portion 122 has a support shaft 132. The support shaft 132 is substantially cylindrical in shape and protrudes to the right from the right end face of the connecting portion 122.
[0116] The connecting portion 123 extends diagonally upward and to the left from the left end of the base portion 121 and is rotatably connected to the left support base 127. The connecting portion 123 has a support shaft 131. The support shaft 31 is substantially cylindrical in shape and protrudes to the left from the left end face of the connecting portion 123.
[0117] The left support base 127 is positioned to the left of the A-axis base 120. The left support base 127 rotatably supports the pivot shaft 131. The bottom of the left support base 127 is fixed to the upper surface of the left base 114 shown in Figure 16.
[0118] The drive unit 128 is located to the right of the A-axis base 120. The drive unit 128 includes a right support base 126 and an A-axis motor (not shown). The bottom of the right support base 126 is fixed to the upper surface of the right base 113 shown in Figure 16. The right support base 126 rotatably supports the pivot shaft 132 of the connecting unit 122 via the A-axis output shaft 167.
[0119] The support shaft 132 and the output shaft of the A-axis motor are connected via the A-axis output shaft 167. When the A-axis motor rotates, the A-axis base 120 rotates integrally with the connecting parts 122 and 123 around the A-axis. The A-axis is parallel to the X-axis direction and passes through the center of the support shafts 131 and 132 in a side view. The drive unit 128 rotates the workpiece W around the A-axis.
[0120] The turntable 129 is rotatably positioned approximately in the center of the A-axis side surface of the base portion 121. The turntable 129 is disc-shaped. The C-axis drive unit 130 is provided on the A-axis side surface of the base portion 121 and is connected to the turntable 129 via a hole (not shown) formed in the base portion 121.
[0121] The C-axis drive unit 130 has a rotating shaft (not shown) and a C-axis motor (not shown). The rotating shaft extends in a direction perpendicular to the turntable 29 and is connected to the turntable 129. The output shaft of the C-axis motor is connected to the rotating shaft. When the C-axis motor rotates, the turntable 129 rotates around the C-axis. The turntable 129 is designed to carry a load 199 in a removable manner. The load 199 is a disc shape that extends parallel to the turntable 129.
[0122] The workpiece W is fixed to the load 199. In this embodiment, the workpiece W is located at the rear end of the load 199 when the angle ψ of the A-headrest 120 is 0 degrees. That is, the workpiece W is eccentric with respect to the A-axis and C-axis. The C-axis drive unit 130 rotates the workpiece W about the C-axis.
[0123] Since the workpiece W is eccentric with respect to the A axis, an eccentric load due to the workpiece W acts on the support device 108. Also, as shown in Figure 18, when the angle ψ of the A-axis 120 is not 0 degrees or 180 degrees, and the C axis intersects with the direction of gravity, an eccentric load due to the workpiece W acts on the support device 108.
[0124] The CPU 41 of the numerical control device 40 determines whether the rotational movement of the A-axis head 120, when the A-axis motor rotates the A-axis head 120, includes rotation to counteract an uneven load. The CPU 41 calculates the time constant of the A-axis motor according to the determination result. Based on the calculated time constant, the CPU 41 generates time-series data of the angle command and controls the A-axis motor.
[0125] Regarding the C-axis, when the C-axis motor rotates the turntable 129, the CPU 41 determines whether the rotational movement of the turntable 129 includes rotation to counteract an uneven load. The CPU 41 calculates the time constant of the C-axis motor according to the determination result. Based on the calculated time constant, the CPU 41 generates time-series data of the angle command and controls the C-axis motor.
[0126] Thus, the numerical control device 40 rotates around an axis intersecting the direction of gravity, and can calculate an appropriate time constant for any rotating body that experiences an uneven load. Therefore, the numerical control device 40 can shorten the rotation time of a motor-driven rotating body.
[0127] Other variations will be described. The CPU 41 applies a total eccentric load T to the rotational movement of the tool magazine 21. w The method for calculating the time constant t1' after the change, when it is determined that no rotation opposing the change is included, may be modified as appropriate.
[0128] In the above embodiment, the CPU 41 applies a total eccentric load T to the rotational movement of the tool magazine 21. w When it was determined that there was no rotation resisting the load, the value of the eccentric load multiplier k was set to zero. In response, the CPU 41 determined that the rotational movement of the tool magazine 21 had a total eccentric load T w When it is determined that there is no rotation that opposes the load, the value of the eccentric load multiplier k may be determined to be the value shown in Equation 8 below. [Number 8] k = -|min{|sin(θ-θ) a )|,θ S <θ<θ E}| In Mathematics 8, θ S θ is the starting angle.E This is the endpoint angle. That is, the total eccentric load T w If no rotation is involved to counteract it, the CPU 41 may determine the value of the eccentric load multiplier k, which changes sinusoidally, to be the smallest negative value within the rotation range. In this case, the CPU 41 determines the total eccentric load T based on the determined eccentric load multiplier k. w The time constant t1' after change is calculated based on equation 5, which has been corrected. Since the value of the eccentric load multiplier k is negative, in equation 5, the total eccentric load T is corrected based on the eccentric load multiplier k in the term relating to torque. w This is added. As a result, the calculated post-change time constant t1' becomes smaller. Therefore, the numerical control device 40 can shorten the rotation time of the tool magazine 21. In this way, the CPU 41 applies the total eccentric load T to the rotation of the tool magazine 21. w When it is determined that there is no rotation resisting the load, the value of k may be set to negative. Total eccentric load T w In a rotational motion that is advantageous for the rotation of the tool magazine 21, the CPU 41 has a total eccentric load T w We calculate the time constant t1' after the change, assuming that this accelerates the rotation.
[0129] In the above embodiment, the CPU 41 controls the rotational movement of the tool magazine 21 by determining the starting angle, ending angle, and reference angle θ. a Based on this, a single value for the eccentric load multiplier k was determined. In other words, the CPU 41 does not change the value of the eccentric load multiplier k determined during the rotational operation of the tool magazine 21. Alternatively, the CPU 41 may change the value of the eccentric load multiplier k determined during the rotational operation of the tool magazine 21.
[0130] For example, CPU41 may determine the value of the eccentric load multiplier k to the value shown in equation 9 below. [Number 9] k = sin(θ - θ) a ) When the tool magazine 21 rotates from the starting angle to the ending angle, it passes through a target angle of 1 or more. The CPU 41 may change the value of the eccentric load multiplier k one or more times during the rotational operation of the tool magazine 21 by applying the target angle to equation 9. For example, in the rotational operation of the tool magazine 21 shown in Figure 5, if -150deg, -120deg, and -90deg between the starting angle and the ending angle are set as target angles, the CPU 41 changes the value of the eccentric load multiplier k at -150deg, -120deg, and -90deg respectively based on equation 9. In this case, -150deg, -120deg, and -90deg are examples of "arbitrary angles" in the present invention. The value of the target angle may be changed as appropriate, as long as it is an angle θ between the starting angle and the ending angle.
[0131] The CPU 41 changes the value of the eccentric load multiplier k at least once based on the target angle of the tool magazine 21, so it can calculate a more appropriate post-change time constant t1'. Therefore, the numerical control device 40 can shorten the rotation time of the tool magazine 21.
[0132] The value of the eccentric load multiplier k is the total eccentric load T applied to the rotational movement of the tool magazine 21. w The embodiment is not limited to the above, and may be modified as appropriate depending on the determination result of whether or not rotation against the load is included. In the above embodiment, the eccentric load ratio k is a value of -1 or more and 1 or less, but the eccentric load ratio k may be a value less than -1 or a value greater than 1.
[0133] CPU41 only needs to calculate the time constant t1' after the change based on the eccentric load multiplier k, and is not limited to calculating the time constant t1' after the change based on equation 5. In equations 2 and 4, terms relating to Coulomb friction or terms relating to viscous friction may be introduced.
[0134] In the above embodiment, the CPU 41 switches between a first mode in which it performs calculations related to the time constant and a second mode in which it does not perform calculations related to the time constant. In contrast, the CPU 41 does not need to switch between the first and second modes. In this case, the processes S22 and S23 may be omitted in the main process.
[0135] The numerical control device 40 may use, for example, a microcomputer, ASIC (Application Specific Integrated Circuits), FPGA (Field Programmable Gate Array), etc., for control instead of the CPU 41. The main processing may be performed in a distributed manner using multiple CPUs 41, or in a combination of CPUs 41 and ASICs, etc. The estimation processing may be performed in a distributed manner using multiple CPUs 41, or in a combination of CPUs 41 and ASICs, etc. The switching processing may be performed in a distributed manner using multiple CPUs 41, or in a combination of CPUs 41 and ASICs, etc.
[0136] Non-temporary storage media such as ROM 42 and memory unit 44 can be any storage medium capable of retaining information regardless of the storage period. Non-temporary storage media do not need to include temporary storage media (e.g., transmitted signals). Control programs for executing the main process, estimation processes, and switching processes may be stored in memory unit 44, etc. In this case, the control programs for executing the main process, estimation processes, and switching processes can be downloaded from a server connected to a network, for example, i.e., transmitted as transmission signals. Programs, etc., can be stored on non-temporary storage media such as an HDD provided in the server.
[0137] Numerical control device 40 is an example of the "numerical control device" of the present invention. Machine tools 1 and 101 are examples of the "machine tools" of the present invention. Magazine motor 64, A-axis motor, and C-axis motor are examples of the "motors" of the present invention. Tool 3, load 199, and workpiece W are examples of the "loads" of the present invention. Tool magazine 21, A-axis head 120, and turntable 129 are examples of the "rotating bodies" of the present invention. CPU 41 executing S27 is an example of the "determination unit" of the present invention. S27 is an example of the "determination step" and "determination process" of the present invention. Inertia J and total eccentric load T of tool magazine 21. wThis is an example of the "loading conditions" of the present invention. The CPU 41 that executes S29 and S31 is an example of the "calculation unit" of the present invention. S29 and S31 are examples of the "calculation step" and "calculation processing" of the present invention. The CPU 41 that executes S32 is an example of the "generation unit" of the present invention. S32 is an example of the "generation step" and "generation processing" of the present invention. The CPU 41 that executes S7 and S8 is an example of the "switching unit" of the present invention. The reference time constant t1 is an example of the "predetermined time constant" of the present invention. [Explanation of Symbols]
[0138] 1, 101 Machine tools 21 Tool Magazine 22 Magazine Body 40 Numerical control devices 41 CPU 44 Storage section 64 Magazine Motor 120 Axle Head 129 Rotating Platform
Claims
1. A numerical control device that outputs commands to a motor for a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and is capable of loading loads, A determination unit determines whether the rotational movement includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational movement of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero. A calculation unit calculates a time constant for acceleration and deceleration of the motor based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result by the determination unit, The system comprises a generation unit that generates the command based on the time constant calculated by the calculation unit. A numerical control device characterized by the following.
2. When the determination unit determines that the rotational movement does not include rotation that resists the eccentric load, The numerical control device according to claim 1, characterized in that the calculation unit calculates the time constant based on the loading conditions corrected by setting the value of the uneven load multiplier to zero.
3. When the determination unit determines that the rotational movement includes rotation that resists the eccentric load, The numerical control device according to claim 1, characterized in that the calculation unit calculates the time constant based on the loading conditions, in which the value of the eccentric load multiplier is corrected to the maximum value in the rotation range of the rotating body where the rotation is opposed to the eccentric load, with respect to the eccentric load multiplier that changes during the rotational operation.
4. When the determination unit determines that the rotational movement does not include rotation that resists the eccentric load, The numerical control device according to claim 1, characterized in that the calculation unit calculates the time constant based on the loading conditions corrected by making the value of the uneven load multiplier negative.
5. The calculation unit calculates the time constant by changing the value of the eccentric load multiplier one or more times based on an arbitrary angle between the starting angle and the ending angle. A numerical control device according to claim 1, characterized by the following:
6. The system includes a switching unit that switches between a first mode in which the calculation unit performs the calculation of the time constant and a second mode in which the calculation unit does not perform the calculation of the time constant. When the switching unit is switched to the second mode, The generation unit generates the command based on a predetermined time constant stored in the storage unit. A numerical control device according to claim 1, characterized by the following:
7. A control method for a numerical control device that outputs commands to a motor for a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and is capable of loading loads, A determination step of determining whether the rotational movement includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational movement of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero, A calculation step that calculates a time constant for acceleration and deceleration of the motor based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result of the determination step, The process involves: executing a generation step that generates the command based on the time constant calculated in the calculation step; A control method characterized by the following.
8. For a machine tool having a rotating body that rotates around an axis intersecting the direction of gravity by the drive of a motor and is capable of loading loads, the computer of the numerical control device that outputs commands to the motor, A determination process that determines whether the rotational motion includes rotation that resists the uneven load, based on the starting angle and ending angle of the rotational motion of the rotating body and a reference angle at which the magnitude of the uneven load due to the load becomes zero, A calculation process that calculates a time constant for acceleration and deceleration of the motor based on the loading conditions of the load on the rotating body and an uneven load multiplier for correcting the loading conditions according to the determination result of the determination process, The process of generating a command based on the time constant calculated by the above calculation process is to be executed. A program characterized by the following.
Citation Information
Patent Citations
Numerical control device, identification method, and identification program
JP2024034256A