Numerical control device, control method and program
The numerical control device addresses tool and machine tool damage by dynamically adjusting cutting speed and spindle rotation speed to prevent collisions, maintaining machining quality and reducing damage.
Patent Information
- Application Number
- JP2024055558
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-29
- Publication Date
- 2025-10-10
AI Technical Summary
Existing numerical control devices fail to adequately prevent damage to tools and machine tools when collisions occur during machining processes.
A numerical control device that adjusts the cutting speed and spindle rotation speed to prevent the feed rate from exceeding predefined limits, thereby reducing the load on the tool during collisions.
The device effectively minimizes tool and machine tool damage by adjusting speed parameters to maintain the feed rate within safe limits, ensuring consistent machining quality.
Smart Images

Figure 2025153211000001_ABST
Abstract
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 that processes a workpiece by moving a tool and a workpiece relative to each other according to an NC program. Patent Document 1 discloses that during test runs of the machine tool, the feed rate of the relative movement between the tool and the workpiece is regulated so as not to exceed a predetermined upper limit, thereby suppressing damage to the machine tool or the tool when the tool collides with various parts of the machine tool. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 11-165238 Summary of the Invention [Problem to be solved by the invention]
[0004] The numerical control device disclosed in Patent Document 1 regulates the feed rate to reduce damage to the tool or machine tool when the tool collides with each part of the machine tool, but there is a problem in that simply regulating the feed rate is not enough to sufficiently prevent damage.
[0005] An object of the present invention is to prevent damage to the tool or machine tool when the tool collides with each part of the machine tool in a numerical control device, a control method, and a program. [Means for solving the problem]
[0006] The numerical control device of claim 1 is a numerical control device having a spindle that rotates a tool and a workpiece relatively, and a feed axis that moves the tool relatively to the workpiece, and including a control unit that controls a machining device that operates the spindle and the feed axis to machine the workpiece with the tool, wherein the control unit includes an acquisition process that acquires a command value for a cutting speed that is the relative speed between the tool and the workpiece, and a command value for a spindle rotation speed that is the rotation speed of the spindle, respectively; a determination process that determines a command value for a feed amount per rotation of the spindle based on the command value for the cutting speed and the command value for the spindle rotation speed acquired in the acquisition process; and and, when it is determined in the determination process that at least one of the command value for the cutting speed and the command value for the spindle rotation speed exceeds the upper limit, an adjustment process is executed to adjust at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit. Therefore, by adjusting at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle does not exceed the command value, it is possible to suppress the load on the tool when the tool collides with each part of the machine tool.
[0007] The control unit of the numerical control device of claim 2 adjusts at least one of the cutting speed and the spindle rotation speed so that the feed amount per revolution is equal to the command value of the feed amount per revolution and does not exceed the upper limit value in the adjustment process, thereby making it possible to produce the same machined surface of the workpiece with the tool as when machined with the command value per revolution.
[0008] The control unit of the numerical control device of claim 3, in the adjustment process, adjusts one of the cutting speed and the spindle rotation speed to the upper limit when the command value for the one of them exceeds the upper limit for the one of them and the command value for the other does not exceed the upper limit for the other, and, when the feed rate per rotation based on the adjusted one value and the command value for the other is greater than the feed rate per rotation based on the adjusted one value and the command value for the other, adjusts the other so that the feed rate per rotation based on the adjusted one value and the adjusted other value is equal to or less than the feed rate per rotation based on the adjusted one command value and the command value for the other so that it does not exceed the upper limit. Thus, by adjusting the other so that the feed rate per rotation based on the adjusted one value and the adjusted other value is equal to or less than the feed rate per rotation based on the adjusted one command value and the other command value so that it does not exceed the upper limit, it is possible to suppress the load on the tool when the tool collides with each part of the machine tool.
[0009] In the adjustment process, the control unit of the numerical control device of claim 4 adjusts the cutting speed and the spindle rotation speed to their upper limits when the command value for the cutting speed and the command value for the spindle rotation speed exceed their upper limits and when the feed rate per rotation based on the upper limit for the cutting speed and the upper limit for the spindle rotation speed is smaller than the feed rate per rotation based on the command value for the cutting speed and the command value for the spindle rotation speed. Therefore, when the command value for the cutting speed and the command value for the spindle rotation speed exceed their upper limits, the cutting speed and the spindle rotation speed are adjusted to their upper limits, thereby making it possible to reduce the load on the tool when it collides with a part of the machine tool.
[0010] The control unit of the numerical control device of claim 5 performs a setting judgment process to judge whether the adjustment process is set to be executed, and executes the judgment process and the adjustment process when it is determined in the setting judgment process that the adjustment process is set to be executed. Therefore, it is possible to set whether or not to execute the adjustment process, and when it is set that the adjustment process is to be executed, the judgment process and the adjustment process can be executed.
[0011] A control method for a numerical control device according to claim 6 is a control method for a numerical control device including a control unit that controls a machining device having a spindle that rotates a tool and a workpiece relatively and a feed axis that moves the tool relatively to the workpiece, and that operates the spindle and the feed axis to machine the workpiece with the tool, the control unit comprising: an acquisition step of acquiring a command value for a cutting speed, which is the relative speed between the tool and the workpiece, and a command value for a spindle rotation speed, which is the rotation speed of the spindle; a determination step of determining a command value for a feed amount per rotation of the spindle based on the command value for the cutting speed and the command value for the spindle rotation speed acquired in the acquisition step; and a control unit that controls a machining device that operates the spindle and the feed axis to machine the workpiece with the tool. and an adjusting step, when it is determined in the determining step that at least one of the command value for the cutting speed and the command value for the spindle rotation speed exceeds the upper limit, of adjusting at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit. Therefore, by adjusting at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle does not exceed the command value, it is possible to suppress the load on the tool when the tool collides with each part of the machine tool.
[0012] The program of claim 7 includes an acquisition step of acquiring a command value of a cutting speed, which is the relative speed between the tool and the workpiece, and a command value of a spindle rotation speed, which is the rotation speed of the spindle, in a computer of a numerical control device that controls a machining device having a spindle that rotates a tool and a workpiece relatively and a feed axis that moves the tool relatively to the workpiece, and that operates the spindle and the feed axis to machine the workpiece with the tool, respectively; a determination step of determining a command value of a feed amount per revolution of the spindle based on the command value of the cutting speed and the command value of the spindle rotation speed acquired in the acquisition step; and a determination step of determining a command value of a cutting speed command value, which is the relative speed between the tool and the workpiece, and a command value of a spindle rotation speed command value, which is the rotation speed of the spindle, in a computer of a numerical control device that controls the machining device that operates the spindle and the feed axis to machine the workpiece with the tool, respectively, a determining step of determining whether the command value for cutting speed exceeds an upper limit for the cutting speed and whether the command value for the spindle rotation speed exceeds an upper limit for the spindle rotation speed, and an adjusting step of adjusting at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit, when it is determined in the determining step that at least one of the command value for cutting speed and the command value for the spindle rotation speed exceeds the upper limit for the spindle rotation speed. Therefore, by adjusting at least one of the cutting speed and the spindle rotation speed so that the feed rate per revolution of the spindle does not exceed the command value, it is possible to reduce the load on the tool when the tool collides with each part of the machine tool. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a perspective view of a machine tool 1 (cover omitted) as seen from above the left front. [Figure 2] 1 is a block diagram of a machine tool 1 and a control device 40. [Figure 3] FIG. 4 is a front view of the touch panel 450. [Figure 4] 10 is a flowchart of a process during driving. [Figure 5] 10 is a flowchart of a process for determining a spindle rotation speed. [Figure 6] 10 is a flowchart of a cutting speed determination process. DETAILED DESCRIPTION OF THE INVENTION
[0014] An embodiment of the present invention will be described. Below, the left and right, front and rear, and up and down of the machine tool 1 will be explained using the directions of the arrows shown in the drawings. The left and right, front and rear, and up and down refer to the X-axis, Y-axis, and Z-axis of the machine tool 1.
[0015] <Configuration of machine tool 1> The configuration of machine tool 1 will be described with reference to FIG. 1. Machine tool 1 includes a base 2, a machine unit 5, and a cover (not shown). Base 2 is made of iron and has a generally rectangular parallelepiped shape that is elongated in the front-to-rear direction. Machine unit 5 is provided on top of base 2. Machine unit 5 includes a column 6, a spindle head 7, a spindle 8, a Y-axis movement mechanism 10, an X-axis movement mechanism 20, and a rotary table 15. Column 6 is provided on the rear top surface of base 2, and X-axis movement mechanism 20 supports column 6 for movement in the X-axis direction. X-axis movement mechanism 20 includes an X-axis motor (not shown) and a ball screw (not shown). Spindle head 7 is provided in front of column 6 and can be raised and lowered in the Z-axis direction by a Z-axis motor (not shown) and a ball screw (not shown). Spindle 8 is rotatably supported within spindle head 7 and extends in the Z-axis direction. Spindle 8 has a tool mounting hole (not shown) at its lower end. A tool 9 is mounted in the tool mounting hole. A spindle motor 12 that rotates the spindle 8 is provided above the spindle head 7. A rotary table 15 is provided on the front side of the upper surface of the base 2 and can be moved in the Y-axis direction by a Y-axis movement mechanism 10. The Y-axis movement mechanism 10 is equipped with a Y-axis motor (not shown) and a ball screw (not shown). The workpiece is fixed to the upper surface of the rotary table 15 by a jig (not shown). The machine unit 5 performs machining on the workpiece fixed to the rotary table 15 by moving the tool 9 attached to the spindle 8 and the workpiece relatively in the X-axis, Y-axis, and Z-axis directions. Machining includes, for example, milling, drilling, tapping, cutting, etc.
[0016] The electrical configuration of the machine tool 1 and the control device 40 will be described with reference to FIG. 2. As shown in FIG. 2, the machine tool 1 includes a control device 40, and a spindle motor 12 and a moving axis motor 13 driven by the control device 40. An example of the control device 40 is a numerical control device. The moving axis motor 13 includes an X-axis motor, a Y-axis motor, and a Z-axis motor. The spindle motor 12 is equipped with an encoder 18. The moving axis motor 13 is equipped with an encoder 19. The control device 40 includes a control unit 41, an auxiliary memory unit 42, a main memory unit 43, an input / output interface 44, an operation unit 45, and a display unit 46. The control unit 41 controls the operation of each unit of the machine tool 1. The control unit 41 includes a CPU 411, which executes operation processing, a process for determining the spindle rotation speed, and a process for determining the cutting speed, which will be described later.
[0017] The auxiliary storage unit 42 is rewritable and includes, for example, an EEPROM, a flash ROM, or a hard disk. The auxiliary storage unit 42 stores a program (not shown) for controlling the machine tool 1, a machining program database 421 storing multiple machining programs for machining a workpiece (not shown), a machining path generation program 422 (see FIG. 4), an operation processing program 423 (see FIG. 4), and a spindle rotation speed determination processing program (see FIG. 5) and a cutting speed determination processing program (see FIG. 5), which are subroutines of the operation processing program 423. The machining path generation program 422 executes processing for generating a machining path. The control device 40 may obtain the machining path generation program 422 from a computer-readable storage medium 424, such as an optical disk or a portable flash memory, and store it in the auxiliary storage unit 42. The control device 40 may also obtain the machining path generation program 422 from an external device connected to the control device 40 via a communication network and store it in the auxiliary storage unit 42. The main storage unit 43 is, for example, a RAM.
[0018] The operation unit 45 is, for example, a keyboard, buttons, a touch panel, or a mouse. The display 46 is, for example, a liquid crystal display panel or an organic EL panel. The machine tool 1 is provided with the operation unit 45 and the display 46 on the front surface of a case (not shown). FIG. 3 shows a touch panel 450 as an example of the operation unit 45. The touch panel 450 is provided with a number of switches for inputting various instructions, such as a low torque switch 451, a manual operation switch 452, an MDI (Manual Data Input) operation switch 453, a memory operation switch 454, and a program editing switch 455.
[0019] When an operator operates the touch panel 450, which is an example of the operation unit 45, a signal of the operated button is input from the touch panel 450 to the input / output interface 44. The input / output interface 44 outputs input from each switch to the CPU 411 of the control unit 41. The input / output interface 44 also outputs a signal to the display 46. The display 46 displays characters, figures, symbols, etc.
[0020] The control device 40 further includes a spindle control circuit 47 corresponding to the spindle motor 12, a servo amplifier 48, a moving axis control circuit 49 corresponding to the moving axis motor 13, and a servo amplifier 50. Based on commands from the control unit 41, the spindle control circuit 47 outputs commands indicating target values such as the rotation direction and rotation speed of the spindle motor 12 to the servo amplifier 48. The servo amplifier 48 supplies power to the spindle motor 12 based on the commands. The encoder 18 detects the rotation position and speed of the spindle motor 12 and sends a detection signal to the servo amplifier 48. The servo amplifier 48 compares the detection signal with the target values and controls the power to be output.
[0021] Based on instructions from the control unit 41, the moving axis control circuit 49 outputs commands to the servo amplifier 50 indicating target values for the rotation direction, speed, etc. of the X-axis motor, Y-axis motor, and Z-axis motor. The servo amplifier 50 supplies power to the moving axis motors 13 (X-axis motor, Y-axis motor, and Z-axis motor) based on the commands. The encoder 19 detects the rotation position and speed of the moving axis motor 13 and sends a detection signal to the servo amplifier 50. The servo amplifier 50 compares the detection signal with the target value and controls the output power. The outputs of the encoders 18 and 19 are input to the CPU 411.
[0022] <Deburring> Next, we will explain the deburring process that removes burrs from a workpiece using the tool 9 of the machine tool 1. A jig (not shown) on the rotary table 15 of the machine tool 1 holds the workpiece before deburring. First, the operator touches the manual operation switch 452 on the touch panel 450. The CPU 411 of the control unit 41 receives a manual operation command via the input / output interface 44. The CPU 411 performs a teaching process that learns representative points of the workpiece through manual operation. The operator touches the tip of the tool 9 to a representative point of the workpiece, and inputs data of multiple representative points of the machining path for deburring the workpiece to the CPU 411 via the input / output interface 44.
[0023] CPU 411 stores data on multiple representative points in main memory 43. When learning of the required representative points is complete, the operator touches low torque switch 451. CPU 411 sets the operation mode of machine tool 1 to low torque mode based on the ON output of low torque switch 451 from input / output interface 44. CPU 411 stores a flag indicating that low torque mode is enabled in main memory 43. In low torque mode, CPU 411 sets the torque of moving axis motor 13 to low torque, which is lower than the torque during normal machining. Therefore, in low torque mode, damage to machine tool 1 and tool 9 can be suppressed when tool 9 collides with various parts of machine tool 1.
[0024] Next, the worker touches the MDI operation switch 453. The CPU 411 executes MDI operation to automatically search for the contact point between the workpiece and the tool 9 and acquire point data. Next, the CPU 411 executes the machining path generation program 422 to generate a machining path program and store it in the auxiliary storage unit 42. When the worker touches the memory operation switch 454, the CPU 411 reads out and executes the machining path program stored in the auxiliary storage unit 42. If editing of the program is necessary, the worker touches the program edit switch 455 and operates various keys on the touch panel 450 to edit the program.
[0025] <Processing during operation> Next, the operation processing will be described with reference to the flowcharts of Figures 4 to 6. The CPU 411 executes the operation processing of the flowchart shown in Figure 4 during MDI operation or memory operation. The CPU 411 reads and executes a program for the operation processing from the auxiliary storage unit 42. First, the CPU 411 reads one line (block) of the program from the machining program database 421 (S1).
[0026] Below is an example of a loaded program block. ---------------------- G90G0X0.Y0.Z100. M3S1500 G91G1X-10.0F1800 X-10.0 Y-10.0 Y-10.0F4500 Z-10.0 G90G0X0.Y0.Z100. M30 ----------------------
[0027] For example, "M3" in "M3S1500" is a code indicating a spindle rotation command. "S1500" is a command value for setting the spindle rotation speed to "1500 rpm." "G1" in "G91G1X-10.0F1800" indicates that the following command is a cutting move. "X-10.0, Y-10.0, Y-10.0F4500, Z-10.0" indicate the movement position for the cutting move. "F1800" is a command value indicating a cutting speed of "1800 mm / min." "F4500" is a command value indicating a cutting speed of "4500 mm / min." The cutting speed is the relative speed between tool 9 and the workpiece. "G0" in "G90G0X0.Y0.Z100." is a code indicating non-cutting.
[0028] The CPU 411 determines whether the block of the program read in S1 commands the setting of a spindle rotation speed (S2). In the block of the program, a command value for setting the spindle rotation speed to "1500 rpm" is set as "M3S1500", so the CPU 411 determines that the block of the program commands the setting of a spindle rotation speed (S2: YES). The CPU 411 executes a process for determining the spindle rotation speed (S3). As the process for determining the spindle rotation speed, the CPU 411 executes a subroutine for the process for determining the spindle rotation speed shown in FIG. 5.
[0029] In the following description, the alphabetic symbols have the following meanings: f: Feed rate per revolution F: Cutting speed S: Spindle speed org: command value max: Upper limit in low torque mode l.trq: Operating value under low torque mode
[0030] Table 1 shows a list of the spindle rotation speed, cutting speed, upper limit value of the feed rate per revolution, command values, and adjusted values in the spindle rotation speed determination process and cutting speed determination process described below. Table 1 lists each command value of the program block, each predetermined upper limit value, and the adjusted value.
[0031] [Table 1]
[0032] <Spindle rotation speed determination process> The spindle rotation speed determination process will be described with reference to FIG. 5 and Table 1. The CPU 411 acquires a command value for the set spindle rotation speed (S31). Since a command value for setting the spindle rotation speed to "1500 rpm" is set in the above program block, "1500 rpm" is acquired as the command value for the spindle rotation speed and stored in the main memory unit 43. Next, the CPU 411 determines whether the low torque mode is enabled (S32). If a flag indicating that the low torque mode is enabled is stored in the main memory unit 43, the CPU 411 determines that the low torque mode is enabled (S32: YES). Next, if the CPU 411 determines that the low torque mode is enabled (S32: YES), it compares the command value for the spindle rotation speed with the upper limit value (S33). Hereinafter, the command value for the spindle rotation speed acquired in S31 will be referred to as S(org), and the upper limit value for the spindle rotation speed will be referred to as S(max). If the CPU 411 does not determine that the low torque mode is valid (S32: NO), the process returns to the in-operation process shown in FIG. 3, and the process proceeds to S4.
[0033] The "upper limit" will now be explained. In the machine tool 1, the "upper limit of spindle rotation speed: S(max)," which is the upper limit of the number of rotations per minute of the spindle 8, and the "upper limit of cutting speed: F(max)," which is the upper limit of the cutting speed at which cutting can be performed by the tool 9, are set in advance and stored in the auxiliary memory unit 42. In the example of Table 1 above, an example of the upper limit of the spindle rotation speed is 1000 rpm, and an example of the upper limit of the cutting speed is 2000 mm / min. The upper limit of the spindle rotation speed is determined in advance by the characteristics of the spindle motor 12 and the spindle 8 of the machine tool 1. The upper limit of the cutting speed is determined in advance by the characteristics of the spindle motor 12 and the moving axis motor 13.
[0034] In one example of the above program block (Table 1), the command value for the spindle rotation speed: S(org) is 1500 rpm. The upper limit value for the spindle rotation speed: S(max) is 1000 rpm. The CPU 411 compares the command value for the spindle rotation speed: S(org) with the upper limit value: S(max) and determines whether the command value for the spindle rotation speed: S(org) exceeds the upper limit value: S(max) (S33). In the case of Table 1 above, S(org) > S(max), so the CPU 411 determines that the command value for the spindle rotation speed: S(org) exceeds the upper limit value: S(max) (S33: YES).
[0035] Next, the CPU 411 determines the spindle rotation speed in the low torque mode (S35). Hereinafter, the spindle rotation speed in the low torque mode will be referred to as S(l.trq). The CPU 411 determines S(l.trq) = S(max) (S35). That is, as shown in the column for "after spindle rotation speed adjustment" in Table 1, the CPU 411 sets the command value for the spindle rotation speed in the low torque mode: S(l.trq) to 1000 rpm, which is the upper limit value: S(max) of the spindle rotation speed (S35). That is, the CPU 411 clamps the spindle rotation speed: S(l.trq) at the upper limit value: 1000 rpm (S35). If the CPU 411 determines that S(org) is not greater than S(max) (S33: NO), it sets the command value S(l.trq) for the spindle speed in low torque mode to 1500 rpm, which is the command value S(org) in the program block (S34). Next, the CPU 411 returns the process to the in-operation process shown in Fig. 3 and proceeds to S4.
[0036] Next, the CPU 411 determines whether a cutting movement is instructed in the above program block (S4). Since the above program block "G91G1X-10.0F1800" contains a code indicating that the command after "G1" is a cutting movement, the CPU 411 determines that a cutting movement is instructed in the above program block (S4: YES). Next, the CPU 411 executes a cutting speed determination process (S5). As the cutting speed determination process, the CPU 411 executes a cutting speed determination process subroutine shown in FIG. 6.
[0037] <Cutting speed determination process> The spindle rotation speed determination process will be described with reference to FIG. 6 and Table 1. First, the CPU 411 acquires the cutting speed command value F(org) and the spindle rotation speed command value S(org) set in the above program block (S51). As shown in Table 1, the cutting speed command value F(org) is 1800 mm / min. Furthermore, the spindle rotation speed command value S(org) is 1500 rpm. Therefore, the CPU 411 acquires F(org)=1800 mm / min and S(org)=1500 rpm and stores them in the main memory unit 43. Next, the CPU 411 determines whether the low torque mode is enabled (S52). If a flag indicating that the low torque mode is enabled is stored in the main memory unit 43, the CPU 411 determines that the low torque mode is enabled (S52: YES). If the CPU 411 does not determine that the low torque mode is valid (S52: NO), the process returns to the in-operation process shown in FIG. 4, and the process proceeds to S6.
[0038] If the CPU 411 determines that the low torque mode is enabled (S52: YES), it compares the cutting speed command value F(org) with the cutting speed upper limit value F(max) and determines whether the cutting speed command value F(org) exceeds the upper limit value F(max) (F(org) > F(max)) (S53). In one example of the program block, the cutting speed command value F(org) is 1800 mm / min. The cutting speed upper limit value F(max) is 2000 mm / min. Therefore, the CPU 411 does not determine that the cutting speed command value F(org) exceeds the upper limit value F(max) (S53: NO). Next, the CPU 411 determines that the cutting speed F(l.trq) in the low torque mode is the same as the cutting speed command value F(org) (S54). That is, the CPU 411 determines the cutting speed in the low torque mode: F(l.trq) to be 1800 mm / min (S54). That is, since the command value for the cutting speed is equal to or less than the upper limit, the cutting speed in the low torque mode: F(l.trq) becomes 1800 mm / min, which is the command value for the cutting speed as is. Furthermore, if the CPU 411 determines in S53 that F(org) > F(max) (S53: YES), the CPU 411 determines the cutting speed in the low torque mode: F(l.trq) to be the upper limit value for the cutting speed: F(max) (S55).
[0039] Next, the CPU 411 determines whether the spindle 8 is rotating (S56). If the program block read in S1 contains a spindle rotation command (for example, M3 or M4), the CPU 411 determines that the spindle 8 is rotating (S56: YES), and determines the feed rate per revolution: f(org) of the cutting speed command value: F(org) (S57). As an example, the CPU 411 calculates and determines the feed rate per revolution: f(org) = F(org) / S(org) (S57). Therefore, in the example of the program block above, the CPU 411 calculates and determines f(org) = 1800 / 1500 = 1.2 (mm / rev).
[0040] Next, the CPU 411 determines the adjusted feed amount per revolution: f(l.trq) (S58). The CPU 411 calculates and determines the adjusted feed amount per revolution: f(l.trq) = F(l.trq) / S(l.trq) (S58). Therefore, in the example of the program block above, the CPU 411 calculates and determines f(l.trq) = 1800 / 1000 = 1.8 (mm / rev) (S58).
[0041] Next, the CPU 411 compares the original value of the feed rate per revolution with the adjusted value (S59). That is, the CPU 411 determines whether the adjusted feed rate per revolution: f(l.trq) is equal to or less than the feed rate per revolution (original value): f(org) based on the specified value (S59). The original value of the feed rate per revolution: f(org) is 1.2 (mm / rev), and the adjusted value of the feed rate per revolution: f(l.trq) is 1.8 (mm / rev). Therefore, the CPU 411 cannot determine that f(l.trq) is equal to or less than f(org) (S59: NO), so it calculates and adjusts the cutting speed F(l.trq) in the low torque mode using the following equation (S60). The CPU 411 calculates and adjusts the cutting speed: F(l.trq) = f(org) * S(l.trq) (S60). In the example of the above program block, the cutting speed is calculated and adjusted as F(l.trq) = 1.2 * 1000 = 1200 (mm / min) and stored in the main memory unit 43 (S60). The CPU 411 returns the process to the in-operation process shown in Fig. 4 and proceeds to S6.
[0042] Next, the CPU 411 processes the read block using the adjusted cutting speed: F(l.trq) and spindle rotation speed: S(l.trq) (S6). The CPU 411 determines whether the program has been executed up to the last line (S7). If the CPU 411 does not determine that the program has been executed up to the last line (S7: NO), it repeats the processes from S1 to S7. If the CPU 411 determines that the program has been executed up to the last line (S7: YES), it ends the in-operation processing.
[0043] Next, with reference to Table 2, the results of the spindle rotation speed determination process and the cutting speed determination process will be described for cases where the upper limit and command value of the spindle rotation speed and the upper limit and command value of the cutting speed are different from those in Table 1. In the case of Table 2, the command value for the spindle rotation speed: S(org) is 1500 rpm, and the upper limit value for the spindle rotation speed: S(max) is 1000 rpm. Therefore, the CPU 411 determines that S(org) > S(max) (S33: YES). The CPU 411 determines the value of the spindle rotation speed in low torque mode (adjusted value): S(l.trq) to be the upper limit value of 1000 (rpm) (S35). Furthermore, since the cutting speed command value: F(org) is 4500 (mm / min), but the upper limit value of the cutting speed: F(max) is 2000 (mm / min), the CPU 411 determines that F(org)>F(max) (S53: YES), and sets the cutting speed in the low torque mode: F(l.trq) to the upper limit value of the cutting speed: F(max) (S55). That is, the CPU 411 sets the adjusted value of the cutting speed in the low torque mode: F(l.trq) to the upper limit value: F(max): 2000 mm / min (S55). That is, the CPU 411 clamps the adjusted value of the cutting speed: F(l.trq) at the upper limit value: 2000 mm / min (S55). The CPU 411 also calculates and determines the command value of the feed rate per revolution: f(org) as 4500 / 1500=3 (mm / rev) (S57). The CPU 411 also calculates and determines the adjusted feed rate per revolution: f(l.trq)=2000 / 1000=2.0 (mm / rev) (S58). Since the CPU 411 can determine that f(l.trq) is equal to or less than f(org) (S59: YES), it does not adjust the cutting speed F(l.trq) in the low torque mode, and sets the cutting speed F(l.trq) to 2000 mm / min determined in S55.
[0044] [Table 2]
[0045] In the above description, machine tool 1 is an example of a "machining device." Control device 40 is an example of a "numerical control device" of the present invention. Control unit 41 or CPU 411 is an example of a "control unit" of the present invention. The process of S51 is an example of an "acquisition process" and an "acquisition step" of the present invention. The process of S57 is an example of a "determination process" and a "determination step" of the present invention. The processes of S33 and S53 are an example of a "judgment process" and a "judgment step" of the present invention. The process of S60 is an example of an "adjustment process" and an "adjustment step" of the present invention. The judgment process of S53 and S52 is an example of a "setting judgment process" of the present invention. The spindle rotation speed determination process and the cutting speed determination process are an example of a "control method for a numerical control device" of the present invention. The program for the spindle rotation speed determination process and the program for the cutting speed determination process are an example of a "program" of the present invention. CPU 411 is an example of a "computer" of the present invention. Ball screws driven by X-axis motors, Y-axis motors, and Z-axis motors (not shown) are examples of "feed axes" of the present invention.
[0046] As described above, control unit 41 (CPU 411) of control device 40 that controls machine tool 1 performs an acquisition process (S51) of acquiring a command value for the cutting speed, which is the relative speed between tool 9 and workpiece, and a command value for the spindle rotation speed, which is the rotation speed of spindle 8, respectively; a determination process (S57) of determining a command value for the feed amount per revolution of the spindle based on the command value for the cutting speed and the command value for the spindle rotation speed acquired in the acquisition process; and a determination process (S58) of determining whether the command value for the cutting speed acquired in the acquisition process exceeds the upper limit value of the cutting speed and whether the command value for the spindle rotation speed exceeds the upper limit value of the spindle rotation speed. and if it is determined in the determination process that at least one of the command value for the cutting speed and the command value for the spindle speed exceeds the upper limit (S33: YES, S53: YES), an adjustment process (S60) is executed to adjust at least one of the cutting speed and the spindle speed so that the feed amount per revolution of the spindle based on the adjusted cutting speed and spindle speed does not exceed the upper limit (S59: NO). Therefore, by adjusting at least one of the cutting speed and the spindle speed so that the feed amount per revolution of the spindle 8 does not exceed the upper limit, the load on the tool 9 when it collides with each part of the machine tool 1 can be reduced.
[0047] In the adjustment process (S60), the control unit 41 (CPU 411) may adjust either the cutting speed or the spindle rotation speed so that the feed amount per revolution becomes equal to the command value of the feed amount per revolution (S60) so as not to exceed the upper limit. In this case, the machined surface of the workpiece by the tool 9 can be the same as when machined with the command value per revolution.
[0048] In the adjustment process (S60), if the command value for one of the cutting speed or spindle rotation speed exceeds its upper limit and the command value for the other does not exceed its upper limit, the control unit 41 (CPU 411) may adjust one of them to the upper limit, and if the feed rate per rotation based on the adjusted one value and the other command value is greater than the feed rate per rotation based on the adjusted one value and the other command value, adjust the other so that it does not exceed the upper limit, so that the feed rate per rotation based on the adjusted one value and the other value is equal to or less than the feed rate per rotation based on the adjusted one command value and the other command value. In this case, the load on the tool 9 when it collides with any part of the machine tool 1 can be reduced.
[0049] In the adjustment process 60, if the command value for the cutting speed and the command value for the spindle rotation speed each exceed their upper limit values, and if the feed amount per rotation based on the upper limit value for the cutting speed and the upper limit value for the spindle rotation speed is smaller than the feed amount per rotation based on the command value for the cutting speed and the command value for the spindle rotation speed, the control unit 41 (CPU 411) may adjust the cutting speed and the spindle rotation speed to their upper limit values. In this case, if the command value for the cutting speed and the command value for the spindle rotation speed each exceed their upper limit values, the cutting speed and the spindle rotation speed are adjusted to their upper limit values, thereby making it possible to suppress the load on the tool when the tool collides with each part of the machine tool.
[0050] In the above embodiment, the CPU 411 executes the adjustment process (S60) in the low torque mode, and therefore the setting determination process of the present invention is executed by the determination process (S32, S52) of whether the low torque mode is enabled. The control unit 41 (CPU 411) may execute the setting determination process (S32, S52) to determine whether the adjustment process is set to be executed, and if it is determined in the setting determination process that the adjustment process is set to be executed (S32: YES, S52: YES), execute the determination process (S33 and S53) and the adjustment process (S60). In this case, it becomes possible to set whether or not to execute the adjustment process (S60), and if it is set that the adjustment process is set to be executed, the determination process (S33 and S53) and the adjustment process (S60) can be executed.
[0051] The control unit 41 (CPU 411) executes an acquisition step (S51) of acquiring a command value for the cutting speed, which is the relative speed between the tool 9 and the workpiece, and a command value for the spindle rotation speed, which is the rotation speed of the spindle 8, respectively; a determination step (S57) of determining a command value for the feed amount per revolution of the spindle based on the command value for the cutting speed and the command value for the spindle rotation speed acquired in the acquisition step; judgment steps (S33 and S53) of judging whether the command value for the cutting speed and the command value for the spindle rotation speed acquired in the acquisition step exceed an upper limit value for the cutting speed and whether the command value for the spindle rotation speed exceeds an upper limit value for the spindle rotation speed, respectively; and an adjustment step (S60) of adjusting either the cutting speed or the spindle rotation speed so that the feed amount per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the command value for the feed amount per revolution determined in the determination step. Therefore, by adjusting either the cutting speed or the spindle rotation speed so that the feed amount per rotation of the spindle 8 is less than the command value, the load on the tool 9 when the tool 9 collides with each part of the machine tool 1 can be reduced.
[0052] The present invention is not limited to the above embodiment and various modifications are possible. In the above embodiment, a vertical machine tool 1 is used as the machining device. However, the machining device is not limited to the vertical machine tool 1 and may be a horizontal machine tool. Furthermore, while the enable / disable of a function is determined by inputting a command via a switch on the touch panel 450, the operation unit is not limited to the touch panel 450 and may be a keyboard, button, mouse, or the like. Furthermore, commands may be input via an external computer connected to the control device 40. The above-described spindle speed, cutting speed, upper limit of feed rate per revolution, and command values are merely examples and may vary depending on the characteristics of the machine tool 1 and the code written in the program block. Furthermore, in the process of S35, the CPU 411 sets the command value S(l.trq) for the spindle speed in low torque mode to the upper limit S(max) of the spindle speed. However, the command value S(l.trq) may be set to be equal to or less than the upper limit S(max). Furthermore, in the process of S55, the CPU 411 determines the cutting speed in low torque mode: F(l.trq) to be the upper limit value of the cutting speed: F(max), but it may also be determined to be equal to or less than the upper limit value: F(max). Furthermore, in S57 and S58, the CPU 411 determines the feed amount per revolution by calculating a command value, but instead of calculating it, it may also be possible to determine the command value of the feed amount per revolution corresponding to the cutting speed and the number of revolutions of the spindle using, for example, a storage table. [Explanation of symbols]
[0053] 1: Machine tool 7: Spindle head 8: Spindle 9: Tools 10:Y-axis movement mechanism 12: Main shaft motor 13: Moving axis motor 15: Rotating table 20:X-axis movement mechanism 40: Control device 41: Control unit 42: Auxiliary storage section 43: Main memory 44: Input / output interface 45:Operation unit 47: Spindle control circuit 49: Moving axis control circuit 411:CPU 421: Machining program database 422: Machining path generation program 423: Operation processing program 424:Storage medium 450: Touch panel
Claims
1. A numerical control device including a control unit that controls a machining device that has a main spindle that rotates a tool and a workpiece relatively and a feed axis that moves the tool relatively to the workpiece, and that operates the main spindle and the feed axis to machine the workpiece with the tool, The control unit an acquisition process for acquiring a command value of a cutting speed, which is a relative speed between the tool and the workpiece, and a command value of a spindle rotation speed, which is a rotation speed of the spindle; a determination process for determining a command value of a feed amount per rotation of the spindle based on the command value of the cutting speed and the command value of the spindle rotation speed acquired in the acquisition process; a determination process for determining whether the command value of the cutting speed acquired in the acquisition process exceeds an upper limit of the cutting speed and whether the command value of the spindle rotation speed exceeds an upper limit of the spindle rotation speed; an adjustment process for adjusting at least one of the cutting speed and the spindle rotation speed so that the feed amount per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit value when it is determined in the determination process that at least one of the command value of the cutting speed and the command value of the spindle rotation speed exceeds the upper limit value; A numerical control device characterized by executing the above.
2. 2. The numerical control device according to claim 1, wherein the control unit adjusts at least one of the cutting speed and the spindle rotation speed so that the feed amount per rotation becomes equal to a command value of the feed amount per rotation in the adjustment process and does not exceed the upper limit value.
3. the control unit, in the adjustment process, when the command value of one of the cutting speed and the spindle rotation speed exceeds the upper limit value of the one of the cutting speed and the spindle rotation speed, and the command value of the other does not exceed the upper limit value of the other, adjusts the one of the cutting speed and the spindle rotation speed to the upper limit value; When the feed amount per rotation based on the one value and the other command value after adjustment is larger than the feed amount per rotation based on the one command value and the other command value, 2. The numerical control device according to claim 1, wherein the other is adjusted so that the feed amount per rotation based on the one value after adjustment and the other value after adjustment is equal to or less than the feed amount per rotation based on the one command value and the other command value so as not to exceed the upper limit value.
4. 2. The numerical control device according to claim 1, wherein, in the adjustment process, if the command value for the cutting speed and the command value for the spindle rotation speed each exceed the upper limit value, and if the feed amount per rotation based on the upper limit value for the cutting speed and the upper limit value for the spindle rotation speed is smaller than the feed amount per rotation based on the command value for the cutting speed and the command value for the spindle rotation speed, respectively, the control unit adjusts the cutting speed and the spindle rotation speed to the upper limit value.
5. a setting determination process in which the control unit determines whether the adjustment process is set to be executed; 5. The numerical control device according to claim 1, wherein when it is determined in the setting determination process that the adjustment process is set to be executed, the determination process and the adjustment process are executed.
6. A control method for a numerical control device including a control unit that controls a machining device that has a main spindle that rotates a tool and a workpiece relatively and a feed axis that moves the tool relatively to the workpiece, and that operates the main spindle and the feed axis to machine the workpiece with the tool, an acquisition step of acquiring a command value of a cutting speed, which is a relative speed between the tool and the workpiece, and a command value of a spindle rotation speed, which is a rotation speed of the spindle; a determination step of determining a command value of a feed amount per rotation of the spindle based on the command value of the cutting speed and the command value of the spindle rotation speed acquired in the acquisition step; a determining step of determining whether the command value of the cutting speed acquired in the acquiring step exceeds an upper limit of the cutting speed and whether the command value of the spindle rotation speed exceeds an upper limit of the spindle rotation speed; an adjusting step of adjusting at least one of the cutting speed and the spindle rotation speed so that the feed amount per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit value when it is determined in the determining step that at least one of the command value of the cutting speed and the command value of the spindle rotation speed exceeds the upper limit value; A control method for a numerical control device, comprising:
7. a computer of a numerical control device that controls a machining device having a main spindle that rotates a tool and a workpiece relative to each other and a feed axis that moves the tool relative to the workpiece, and that operates the main spindle and the feed axis to machine the workpiece with the tool; an acquisition step of acquiring a command value of a cutting speed, which is a relative speed between the tool and the workpiece, and a command value of a spindle rotation speed, which is a rotation speed of the spindle; a determination step of determining a command value of a feed amount per rotation of the spindle based on the command value of the cutting speed and the command value of the spindle rotation speed acquired in the acquisition step; a determining step of determining whether the command value of the cutting speed acquired in the acquiring step exceeds an upper limit of the cutting speed and whether the command value of the spindle rotation speed exceeds an upper limit of the spindle rotation speed; an adjusting step of adjusting at least one of the cutting speed and the spindle rotation speed so that the feed amount per revolution of the spindle based on the adjusted cutting speed and spindle rotation speed does not exceed the upper limit value when it is determined in the determining step that at least one of the command value of the cutting speed and the command value of the spindle rotation speed exceeds the upper limit value; A program characterized by executing the following.
Citation Information
Patent Citations
Feed speed control method in numerical control and device thereof
JP1999165238A