Numerical control device and numerical control method

The numerical control device addresses the accuracy issue in vibration cutting by analyzing and adjusting vibration commands and paths, ensuring precise machining surface quality despite varying vibration conditions.

WO2025027767A1PCT designated stage expired Publication Date: 2025-02-06MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/028016
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

In vibration cutting, the accuracy of the machining surface is compromised when multiple vibration commands with different conditions are successively executed, leading to reduced precision due to acceleration/deceleration issues during tool convergence.

Method used

A numerical control device equipped with a vibration command analysis unit that generates conditions for relative vibration between the tool and the object, and a vibration path generator that calculates vibration advance and retraction positions to prevent vibration convergence between command blocks, ensuring continuous accurate machining.

Benefits of technology

The solution prevents the degradation of machining surface accuracy even when multiple vibration commands with varying conditions are executed, by dynamically adjusting vibration conditions and maintaining optimal vibration paths, thus reducing the impact of acceleration/deceleration on machining precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023028016_06022025_PF_FP_ABST
    Figure JP2023028016_06022025_PF_FP_ABST
Patent Text Reader

Abstract

This numerical control device, which causes a machine tool to perform vibration cutting, is provided with: a vibration command analysis unit that generates vibration conditions, which are conditions for vibrating a tool and a workpiece relative to each other, by analyzing a vibration command for vibrating the tool and the workpiece relative to each other; and a vibration path generation unit that, when a change in vibration conditions is detected between the current vibration command and the next vibration command, which is the vibration command scheduled to be executed next, during vibration cutting, calculates a vibration forward position (R1), which is the forward position of the vibration associated with the vibration cutting specified by the next vibration command, and a vibration backward position (R2), which is the backward position of the vibration associated with the vibration cutting, such that the vibration associated with the vibration cutting does not converge.
Need to check novelty before this filing date? Find Prior Art

Description

Numerical control device and numerical control method

[0001] The present disclosure relates to a numerical control device and a numerical control method for controlling a machine tool that cuts a workpiece by vibration cutting.

[0002] A machine tool that cuts a workpiece using vibration cutting is controlled by a numerical control device. The numerical control device causes the machine tool to perform vibration cutting by vibrating the cutting tool at a low frequency while feeding the cutting tool relative to the workpiece. This numerical control device can cause the machine tool to perform vibration cutting while changing the amount of feed of the cutting tool relative to the workpiece for each command block.

[0003] For example, the numerical control device described in Patent Document 1 generates a vibration continuation path between command blocks so that vibration continues between the first movement path and the second movement path when the machining involves vibration between a first movement path in a command block to be cut and a second movement path in the next command block to be cut.

[0004] Patent No. 5781241

[0005] However, in the technology of Patent Document 1, if the command block following the command block to be cut does not contain a cutting feed command, it is necessary to converge the vibration between the command blocks. In other words, in the technology of Patent Document 1, if the command blocks are vibration command blocks with different vibration conditions, it is necessary to converge the vibration between the command blocks. This results in a deterioration in the accuracy of the machined surface of the machined object due to acceleration and deceleration when the cutting tool converges on the machined object.

[0006] The present disclosure has been made in consideration of the above, and aims to provide a numerical control device that can prevent deterioration of the machining surface accuracy even when multiple vibration commands including different vibration conditions are executed consecutively during vibration cutting.

[0007] In order to solve the above-mentioned problems and achieve the object, the numerical control device disclosed herein is a numerical control device that causes a machine tool to perform vibration cutting, and includes a vibration command analysis unit that generates vibration conditions that are conditions for relatively vibrating the tool and the workpiece by analyzing a vibration command that relatively vibrates the tool and the workpiece. The numerical control device disclosed herein also includes a vibration path generation unit that, when a change in the vibration conditions is detected between the current vibration command and a next vibration command that is the vibration command to be executed next during vibration cutting, calculates a vibration forward position that is the forward position of the vibration associated with the vibration cutting in the next vibration command and a vibration backward position that is the backward position of the vibration associated with the vibration cutting in the next vibration command, so that the vibration associated with the vibration cutting does not converge.

[0008] The numerical control device according to the present disclosure has the effect of preventing deterioration of the machined surface accuracy even when multiple vibration commands including mutually different vibration conditions are executed consecutively during vibration cutting.

[0009] 2 is executed; FIG. 3 is a block diagram showing an example of the configuration of a numerical control device according to an embodiment; FIG. 4 is a diagram showing an example of a machining program used by the numerical control device according to an embodiment; FIG. 5 is a diagram showing the relationship between the X-axis position and the Z-axis position of a tool when the machining program of FIG. 2 is executed; FIG. 6 is a diagram for explaining a movement path of a tool accompanied by vibration when the machining program of FIG. 2 is executed by the numerical control device according to an embodiment;

[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A numerical control device and a numerical control method according to embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0011] 1 is a block diagram showing an example of the configuration of a numerical control device according to an embodiment. The numerical control (NC) device 1 is a computer that controls low-frequency vibration cutting, which is processing performed while vibrating a tool (cutting tool) for a machine tool (not shown). In the following description, low-frequency vibration will simply be referred to as vibration. The machine tool is a machine that cuts a workpiece (not shown) while vibrating a tool.

[0012] The numerical control device 1 has a drive unit 10, an input operation unit 20, a display unit 30, and a control calculation unit 40. The drive unit 10 is a drive mechanism that drives either or both of a workpiece (a machining target) and a tool in at least two axial directions. The drive unit 10 is equipped with a spindle motor 14, a spindle control unit 16, and a detector 15.

[0013] The drive unit 10 also includes servo motors, servo control units, and a detector 12. The servo motors are, for example, an X-axis servo motor 11X and a Z-axis servo motor 11Z. The servo control units are, for example, an X-axis servo control unit 13X and a Z-axis servo control unit 13Z. The X-axis servo control unit 13X controls the X-axis servo motor 11X, and the Z-axis servo control unit 13Z controls the Z-axis servo motor 11Z.

[0014] The drive unit 10 may include a Y-axis servo motor as the servo motor. The drive unit 10 may also include a Y-axis servo control unit as the servo control unit. The Y-axis servo control unit controls the Y-axis servo motor.

[0015] In the following description, when it is not necessary to distinguish between the directions of the drive axes, the X-axis servo motor 11X and the Z-axis servo motor 11Z will be simply referred to as servo motors 11. Furthermore, when it is not necessary to distinguish between the directions of the drive axes, the X-axis servo control unit 13X and the Z-axis servo control unit 13Z will be simply referred to as servo control unit 13.

[0016] The servo motors 11 move at least one of the workpiece and the tool in the direction of each axis defined on the numerical control device 1. That is, the X-axis servo motor 11X moves at least one of the workpiece and the tool in the direction of the X-axis defined on the numerical control device 1. The Z-axis servo motor 11Z moves at least one of the workpiece and the tool in the direction of the Z-axis defined on the numerical control device 1.

[0017] A detector 12 is disposed for each servo motor 11, and detects the position and speed of each servo motor 11. That is, the detector 12 disposed for the X-axis servo motor 11X detects the position and speed of the X-axis servo motor 11X. Also, the detector 12 disposed for the Z-axis servo motor 11Z detects the position and speed of the Z-axis servo motor 11Z.

[0018] The servo control unit 13 controls the servo motor 11 based on a command from the numerical control device 1. Furthermore, the servo control unit 13 performs feedback control of the position or speed of at least one of the workpiece and the tool based on the position and speed detected by the detector 12.

[0019] The spindle motor 14 rotates a spindle provided on the workpiece. The detector 15 is disposed on the spindle motor 14 and detects the position and rotation speed of the spindle motor 14. The spindle control unit 16 controls the spindle motor 14 based on commands from the numerical control device 1. The spindle control unit 16 also feedback-controls the rotation of the spindle provided on the workpiece based on the position and rotation speed detected by the detector 15.

[0020] The drive unit 10 drives the tool post and the workpiece provided in the machine tool. The drive unit 10 drives the tool while rotating the workpiece. The rotation speed of the spindle is the spindle rotation speed. The spindle rotation speed corresponds to the number of rotations of the spindle per unit time (e.g., per minute).

[0021] The input operation unit 20 is a means for inputting information to the control operation unit 40. The input operation unit 20 is composed of input means such as a keyboard, buttons, or a mouse, and accepts input of commands and the like to the numerical control device 1 by a user, or a machining program 432 or parameters 431, and inputs them to the control operation unit 40. The display unit 30 is composed of display means such as a liquid crystal display device, and displays information processed by the control operation unit 40.

[0022] The control calculation unit 40 includes an input control unit 41, a data setting unit 42, a memory unit 43, a screen processing unit 44, a machine control signal processing unit 45, a PLC (Programmable Logic Controller) circuit unit 46, an analysis processing unit 47, an interpolation processing unit 48, a spindle processing unit 49, an acceleration / deceleration processing unit 50, and an axis data output unit 51. The PLC circuit unit 46 may be disposed outside the control calculation unit 40.

[0023] The input control unit 41 accepts information input from the input operation unit 20. The data setting unit 42 stores the information accepted by the input control unit 41 in the storage unit 43. That is, the input information accepted by the input operation unit 20 is written to the storage unit 43 via the input control unit 41 and the data setting unit 42. For example, if the content input to the input operation unit 20 is editing of the machining program 432, the data setting unit 42 reflects the edited content in the machining program 432 stored in the storage unit 43, and if parameters 431 are input, stores them in the storage area of ​​the parameters 431 in the storage unit 43.

[0024] The storage unit 43 stores information such as parameters 431 used in the processing of the control calculation unit 40, a machining program 432 to be executed, and screen display data 433 to be displayed on the display unit 30. The machining program 432 in this embodiment includes a vibration command that is a command to vibrate the tool and a movement command that is a command to move the tool. The storage unit 43 also has a shared area 434 that stores temporarily used data other than the parameters 431 and the machining program 432. The screen processing unit 44 controls the display of the screen display data 433 in the storage unit 43 on the display unit 30.

[0025] The machine control signal processing unit 45 is connected to the storage unit 43 and the PLC circuit unit 46. When the machine control signal processing unit 45 reads an auxiliary command as a command to operate the machine tool from the storage unit 43, it notifies the PLC circuit unit 46 that the auxiliary command has been issued. Specifically, when an auxiliary command is output to the shared area 434 by the analysis processing unit 47, the machine control signal processing unit 45 reads this auxiliary command from the shared area 434 and sends it to the PLC circuit unit 46. The auxiliary command is a command other than a command to operate a drive axis, which is a numerically controlled axis.

[0026] Furthermore, the machine control signal processing unit 45 receives signal information such as that of a relay that operates the machine tool from the PLC circuit unit 46. The machine control signal processing unit 45 writes the received signal information into the shared area 434 of the storage unit 43.

[0027] The PLC circuit unit 46 stores a ladder program describing machine operations. When the PLC circuit unit 46 receives a notification from the machine control signal processing unit 45 that an auxiliary command has been issued, it executes processing corresponding to the auxiliary command. That is, when the PLC circuit unit 46 receives an auxiliary command, it executes processing corresponding to the auxiliary command on the machine tool in accordance with the ladder program. After executing the processing corresponding to the auxiliary command, the PLC circuit unit 46 sends a completion signal indicating that machine control has been completed to the machine control signal processing unit 45, in order to execute the next block of the machining program 432.

[0028] The analysis processing unit 47 has a movement command generation unit 471 and a vibration command analysis unit 472. The movement command generation unit 471 reads a machining program 432 including one or more command blocks. The analysis processing unit 47 analyzes the read machining program 432 for each command block and generates machining condition commands (commands corresponding to machining conditions) including commands for the spindle rotation speed and commands for the feed speed of at least one of the workpiece and the tool, and movement commands for moving at least one of the workpiece and the tool in one block. The movement commands generated by the movement command generation unit 471 are movement commands for moving the tool and the workpiece relatively along a movement path. The movement command generation unit 471 sends the generated machining condition commands and movement commands to the interpolation processing unit 48 via the shared area 434.

[0029] The vibration command analysis unit 472, for example, refers to the machining program 432 and analyzes whether the machining program 432 includes a vibration command. If a vibration command is included, the vibration command analysis unit 472 analyzes the vibration command and generates vibration conditions, such as the number of vibrations, the vibration frequency, and the vibration amplitude, corresponding to the vibration command. The vibration conditions are vibration conditions used in vibration cutting. Furthermore, if the vibration command analysis unit 472 detects a change in the vibration command during vibration cutting control, the vibration command analysis unit 472 analyzes the vibration command and generates vibration conditions, such as the number of vibrations and the vibration amplitude, corresponding to the vibration command. In this way, the vibration command analysis unit 472 analyzes the vibration command and generates vibration conditions corresponding to the vibration command. The vibration conditions generated by the vibration command analysis unit 472 are conditions for vibrating the tool and the workpiece relative to each other. The vibration command analysis unit 472 sends the generated vibration conditions to the interpolation processing unit 48 via the shared area 434.

[0030] The interpolation processing unit 48 includes a processing condition generating unit 481 , a vibration path generating unit 482 , a vibration waveform generating unit 483 , a vibration movement amount generating unit 484 , and a movement amount combining unit 485 .

[0031] The machining condition generation unit 481 acquires a machining condition command and a vibration command from the analysis processing unit 47 via the shared area 434. The machining condition generation unit 481 calculates a vibration frequency and a vibration acceleration based on the machining condition command and the vibration command, and generates machining conditions such that the vibration frequency and the vibration acceleration fall within the set vibration frequency threshold and vibration acceleration threshold ranges. The machining conditions are machining conditions used in vibration cutting. The machining conditions generated by the machining condition generation unit 481 include the spindle rotation speed and the feed rate of at least one of the workpiece and the tool.

[0032] When the analysis processing unit 47 changes the vibration command during vibration cutting control, the machining condition generation unit 481 generates machining conditions at the detection timing of detecting a peak (where the vibration advance position and the vibration position peak overlap) in a vibration waveform (hereinafter referred to as the reference vibration waveform) that serves as a reference for vibrating the tool or the workpiece. The vibration advance position corresponds to a position on the movement path of the tool relative to the workpiece. The vibration retreat position is a position retreated from the position on the movement path of the tool relative to the workpiece by a distance corresponding to the vibration amplitude shown in the vibration waveform. During vibration cutting, the tool vibrates relative to the workpiece by reciprocating between the vibration advance position and the vibration retreat position. Note that the workpiece may also vibrate relative to the tool. In the reference vibration waveform, the peak (peak) of the vibration waveform overlaps the vibration advance position, and the valley (bottom) of the vibration waveform overlaps the vibration retreat position.

[0033] When the movement command from the analysis processing unit 47 is for a command block (hereinafter sometimes referred to as a target block) that is the target of vibration cutting control, the vibration path generation unit 482 acquires vibration conditions (such as the number of vibrations and the vibration amplitude) from the analysis processing unit 47 via the shared area 434 and generates a movement path (vibration path) in each axial direction for a unit time (interpolation period). Here, the vibration path generation unit 482 determines a movement path (vibration forward position) for time based on the target block and a vibration retreat position obtained by subtracting the vibration amplitude from the vibration forward position. That is, the vibration path generation unit 482 sets the movement path to the vibration forward position and determines the vibration retreat position by subtracting the vibration amplitude from the vibration forward position.

[0034] The vibration waveform generation unit 483 generates a reference vibration waveform for vibrating the tool or the workpiece from the vibration conditions acquired from the analysis processing unit 47 via the shared area 434. That is, the vibration waveform generation unit 483 generates a reference vibration waveform (reference vibration waveform) used to generate a vibration movement amount (described below) to be superimposed on the movement path from the vibration frequency of the vibration conditions. The reference vibration waveform is a waveform that indicates the position in each axial direction with respect to time. The vibration waveform generation unit 483 can use any waveform as the reference vibration waveform, but here the vibration waveform is assumed to be a triangular wave. This triangular wave has a vibration amplitude of 1.0 and a period specified by the vibration command.

[0035] The vibration movement amount generating unit 484 calculates the difference between the vibration advance position and the vibration retreat position at each time (hereinafter, sometimes referred to as the front-rear position difference), and calculates the vibration movement amount for each axis by multiplying this difference by the reference vibration waveform. The vibration movement amount is the movement amount of the vibration at the vibration retreat position.

[0036] The movement amount synthesis unit 485 adds the vibration retreat position generated by the vibration path generation unit 482 and the vibration movement amount generated by the vibration movement amount generation unit 484 to calculate the combined movement amount of each axis per unit time (interpolation period).

[0037] The spindle processing unit 49 has a spindle rotation command generating unit 491. The spindle rotation command generating unit 491 calculates a rotation speed command based on the machining conditions.

[0038] The acceleration / deceleration processing unit 50 converts the composite movement amount of each drive axis output from the interpolation processing unit 48 into a movement command per unit time that takes into account acceleration / deceleration in accordance with a pre-specified acceleration / deceleration pattern. The axis data output unit 51 outputs the movement command per unit time processed by the acceleration / deceleration processing unit 50 to the servo control unit 13 and spindle control unit 16 that control each drive axis.

[0039] When performing machining while vibrating the tool or the workpiece, the numerical control device 1 moves the workpiece and the tool relative to one another. The machine tool, for example, fixes the workpiece and moves only the tool in the X-axis and Z-axis directions. The machine tool may also move the workpiece in the Z-axis direction and the tool in the X-axis direction, or may move the workpiece in the X-axis direction and the tool in the Z-axis direction. The following description will discuss a case where the machine tool fixes the workpiece and moves only the tool in the X-axis and Z-axis directions. In addition, the following description of writing and reading information between the interpolation processing unit 48 and the analysis processing unit 47 may omit the involvement of the memory unit 43.

[0040] Next, a specific example will be given to explain the numerical control method by the numerical control device 1. The movement command generation unit 471 of the analysis processing unit 47 generates machining condition commands and movement commands for the tool, including start and end points, based on the command blocks of the machining program 432, and outputs them to the interpolation processing unit 48. Furthermore, the vibration command analysis unit 472 outputs vibration conditions generated based on the vibration commands included in the machining program 432 to the interpolation processing unit 48.

[0041] Next, the machining condition generating unit 481 of the interpolation processing unit 48 calculates the vibration frequency and the vibration acceleration based on the machining condition command and the vibration command. The machining condition generating unit 481 determines whether the calculated vibration frequency is within a preset threshold value of the vibration frequency, and whether the calculated vibration acceleration is within a preset threshold value of the vibration acceleration.

[0042] If the calculated vibration frequency or vibration acceleration exceeds the range of the threshold value, the machining condition generating unit 481 generates machining conditions such that the set vibration frequency and vibration acceleration are within the range of the respective threshold value.

[0043] For example, since the vibration frequency is defined as the number of vibrations per rotation of the spindle, the machining condition generating unit 481 can change the vibration frequency by changing the spindle rotation speed among the machining conditions. Also, the machining condition generating unit 481 can change the vibration acceleration by changing the tool feed rate and spindle rotation speed among the machining conditions.

[0044] The machining condition generation unit 481 generates machining conditions that place the vibration frequency and vibration acceleration within their respective allowable ranges. For example, if the vibration frequency is changed during vibration cutting control, the vibration frequency may fall outside the threshold range. In this case, the machining condition generation unit 481 changes the spindle rotation speed as a machining condition to place the vibration frequency within the threshold range. Also, if the vibration amplitude is changed during vibration cutting control, the vibration acceleration may fall outside the threshold range. In this case, the machining condition generation unit 481 changes the tool feed rate and spindle rotation speed as machining conditions to place the vibration acceleration within the threshold range.

[0045] Here, a vibration path generated during vibration cutting control will be described. Fig. 2 is a diagram showing an example of a machining program used by a numerical control device according to an embodiment. Fig. 3 is a diagram showing the relationship between the X-axis position and the Z-axis position of the tool when the machining program of Fig. 2 is executed. Fig. 2 shows an example of a machining program 432 that generates vibrations in the movement path, and Fig. 3 shows an example of a tool movement path in the ZX plane obtained from the machining program 432. The horizontal axis of the graph shown in Fig. 3 represents the position in the Z-axis direction, and the vertical axis represents the position in the X-axis direction. The tool position shown in Fig. 3 corresponds to the movement path generated for the machining program 432.

[0046] The numerical control device 1 reads the machining program 432 line by line (block) and executes it line by line. The machining program 432 includes, for example, lines 401 to 407. "S1000 M03;" on line 401 in the machining program 432 is a rotation command to the spindle (spindle rotation command), and "G00 X0.0 Z0.0;" on line 402 is a positioning command. Furthermore, "G01 X10.0 Z10.0 F0.2;" on line 404 and "G01 X20.0 Z20.0 F0.2;" on line 406 in the machining program 432 are cutting feed commands for linear interpolation.

[0047] Furthermore, "G8.5 P2" on lines 403 and 405 in the machining program 432 indicates the start of the vibration cutting control mode. Since "G8.5 P2" on line 405 is executed before "G8.5 P2" on line 403 is completed, it indicates a change in the vibration cutting control mode. That is, "G8.5 P2" on line 405 indicates a change in the vibration command. In the vibration cutting control mode, any vibration command is possible. "I0.5 K1.0;" on line 403 in the machining program 432 indicates that the vibration frequency is 0.5 and the vibration amplitude is 1.0, while "I1.5 K1.5;" on line 405 indicates that the vibration frequency is 1.5 and the vibration amplitude is 1.5. Furthermore, "G8.5 P0;" on line 407 in the machining program 432 indicates the end of the vibration cutting control mode.

[0048] "X0.0 Z0.0" in row 402, "X10.0 Z10.0" in row 404, and "X20.0 Z20.0" in row 406 indicate the coordinates (0,0), (10.0,10.0), and (20.0,20.0), respectively. Therefore, as shown in FIG. 3, the tool also passes through the coordinates (0,0), (10,10), and (20,20), and by linear interpolation, the coordinates (0,0) to (10,10) and the coordinates (10,10) to (20,20) are approximated by a group of points along a straight line.

[0049] In this way, when the numerical control device 1 uses the machining program 432 shown in FIG. 2, the machine tool performs cutting while vibrating the tool along the path shown in FIG. 3 from (X, Z) = (0.0, 0.0) to (X, Z) = (10.0, 10.0), and then performs cutting while vibrating the tool further from (X, Z) = (10.0, 10.0) to (X, Z) = (20.0, 20.0) along the path shown in FIG. 3.

[0050] Here, the procedure for calculating the movement path for taper machining accompanied by vibration will be described. FIG. 4 is a diagram illustrating the movement path of the tool accompanied by vibration when the numerical control device according to the embodiment executes the machining program of FIG. 2. FIG. 4 illustrates a group of graphs including graphs G1 to G5. Graph G1 is a graph showing the vibration advance position R1 and vibration retreat position R2 of the tool. Graph G2 is a graph showing the reference vibration waveform of the tool. Graph G3 is a graph showing the difference (front-to-back position difference) between the vibration advance position R1 and the vibration retreat position R2. Graph G4 is a graph showing the vibration movement amount obtained by multiplying graph G3 by graph G2. Graph G5 is a graph obtained by superimposing (adding) the vibration retreat position R2 of graph G1 and the vibration movement amount of graph G4. The numerical control device 1 controls the machine tool so that the tool position during vibration cutting control is the position shown in graph G5.

[0051] The horizontal axis of graphs G1 to G5 shown in Fig. 4 represents time, the vertical axis of graphs G1 and G5 represents the tool position in the X-axis direction and the Z-axis direction, the vertical axis of graph G2 represents the vibration amplitude, and the vertical axis of graphs G3 and G4 represents the front-rear position difference.

[0052] The interpolation processing unit 48 generates a command for a target block that is the target of vibration cutting control (hereinafter, sometimes referred to as a target command) and a command for a command block (hereinafter, sometimes referred to as a next block) that follows the target block (hereinafter, sometimes referred to as a next command). The target block and the next block are both command blocks for vibration cutting control.

[0053] The vibration conditions are different between the target block and the next block. Here, we will explain a case where the vibration amplitude in the target block (previous block) is different from the vibration amplitude in the next block, and the vibration frequency (number of vibrations) in the target block is different from the vibration frequency (number of vibrations) in the next block. Note that only either the vibration amplitude or the vibration frequency may be different between the target block and the next block.

[0054] When the command block on which the interpolation processing unit 48 performs interpolation processing is a target block that is the subject of vibration cutting control, the vibration path generation unit 482 uses the vibration amplitude of the vibration conditions obtained from the vibration command analysis unit 472 of the analysis processing unit 47 to generate a tool movement path over time (vibration forward position R1) and a vibration backward position R2 obtained by subtracting the vibration amplitude from the vibration forward position R1.

[0055] That is, the vibration path generating unit 482 generates a movement path for time in each axis direction from the target command and the next command. Furthermore, when the type of machining is vibration cutting, the vibration path generating unit 482 generates two types of paths, a vibration forward position R1 and a vibration backward position R2, using the vibration conditions acquired from the vibration command analyzing unit 472 of the analysis processing unit 47.

[0056] Specifically, the start timing of the movement command for the vibration forward position R1 generated by the vibration path generating unit 482 is the timing after the movement of the vibration forward position R1 of the path in the previous command block is completed. That is, the vibration path generating unit 482 starts a movement command to the vibration forward position R1 in the next block after completing the movement of the tool to the end point of the vibration forward position R1 specified in the previous command block. Specifically, the vibration path generating unit 482 starts a movement command to the vibration forward position R1 in the next block after completing the movement of the tool to the end point of the vibration forward position R1 specified in the target block.

[0057] Here, the interpolation processing unit 48 changes the vibration command between command blocks that are the subject of vibration cutting control, but can start the next movement command after the tool has moved to the vibration forward position R1, without waiting for the tool to have moved to the vibration retreat position R2. In other words, when the vibration path generating unit 482 completes the movement of the tool to the end point of the vibration forward position R1 specified in the previous command block, it starts the movement command to the vibration forward position R1 in the next block before the tool has moved to the end point of the vibration retreat position R2 specified in the previous command block.

[0058] Furthermore, after the vibration forward position R1 reaches the target position and the movement command for the vibration forward position R1 is completed, if the next command is to converge the vibration, the interpolation processing unit 48 stops the vibration of the vibration forward position R1 until the movement of the vibration retreat position R2 is completed (reaches the target position).

[0059] The interpolation processing unit 48 generates a command to start moving the vibration forward position R1, wait a specific time Tw1 after starting the movement of the vibration backward position R2, and then start moving the vibration backward position R2. The specific time Tw1 is set, for example, in the machining program 432 or the parameter 431.

[0060] The interpolation processing unit 48 may calculate the specific time Tw1. The required time T per spindle rotation, the specific time Tw1, the vibration amplitude A, and the tool movement amount (feed amount per spindle rotation) F have a relationship of A / Tw1=F / T. The interpolation processing unit 48 calculates the specific time Tw1 based on this relationship. In this way, the interpolation processing unit 48 calculates the specific time Tw1 based on the ratio of the vibration amplitude A in the vibration conditions, the required time T per spindle rotation, and the tool movement amount F.

[0061] The interpolation processing unit 48 sets the vibration forward position R1 and the vibration retraction position R2 to positions corresponding to the movement command of the target command until the target position is reached. After the vibration forward position R1 reaches the target position, the interpolation processing unit 48 sets the vibration forward position R1 to a position corresponding to the movement command of the next command. Even after the vibration forward position R1 reaches the target position, the interpolation processing unit 48 sets the vibration retraction position R2 to a position corresponding to the movement command of the target command until the vibration retraction position R2 reaches the target position.

[0062] When the vibration amplitude in the vibration conditions is changed during vibration cutting control, the interpolation processing unit 48 uses the vibration retreat position R2 of the target block until the peak position (vibration advance position R1) in the reference vibration waveform is detected. When the vibration amplitude in the vibration conditions is changed during vibration cutting control, the interpolation processing unit 48 regenerates the vibration retreat position R2 at the detection timing (time t3) when the peak position in the reference vibration waveform is detected. That is, after changing the vibration amplitude (after time t1), the interpolation processing unit 48 regenerates the vibration retreat position R2 at the detection timing (time t3) when the peak position is first detected. The vibration retreat position R2 generated here corresponds to the movement command of the target command and the changed vibration amplitude. Therefore, the vibration retreat position R2 generated here is delayed by a specific time Tw1 from the vibration advance position R1 of the target block.

[0063] The vibration amplitude and vibration frequency are different between the target block and the next block. Therefore, the vibration retreat position R2 at time t3 when the position of the peak is first detected will be different from the vibration retreat position R2 of the next block generated at time t3 when the position of the peak is first detected.

[0064] In this way, the interpolation processing unit 48 sets the vibration retreat position R2 as a position corresponding to the target command until the specific time Tw2 has elapsed from time t1 and the vibration retreat position R2 reaches the target position (X = 10.0, Z = 10.0) at time t2. That is, the interpolation processing unit 48 sets the vibration retreat position R2 as a position corresponding to the movement command of the target command from time t1 to time t2. In other words, the interpolation processing unit 48 generates a vibration retreat position R2 that is delayed by the specific time Tw1 from the vibration advance position R1 of the target command until time t2. In this way, the vibration retreat position R2 until time t2 is delayed by the specific time Tw1 from the vibration advance position R1 of the target command.

[0065] When the vibration retreat position R2 reaches the target position at time t2, the interpolation processing unit 48 generates the vibration retreat position R2 according to the next command from this target position. That is, from time t2 onwards, the interpolation processing unit 48 sets the vibration retreat position R2 to the position corresponding to the movement command of the next command. Therefore, the vibration retreat position R2 from time t2 onwards is delayed by a specific time Tw2 relative to the vibration advance position R1 of the next command.

[0066] Like the specific time Tw1, the specific time Tw2 is set, for example, by the machining program 432 or the parameter 431. Note that, like the specific time Tw1, the interpolation processing unit 48 may calculate the specific time Tw2 based on the ratio of the vibration amplitude A in the vibration conditions, the required time T per rotation of the spindle, and the movement amount F of the tool.

[0067] The vibration advance position R1 and vibration retreat position R2 generated according to these rules are shown as graph G1. As shown in graph G1, when the vibration advance position R1 based on the current command reaches the target position (X = 10.0, Z = 10.0) at time t1, the interpolation processing unit 48 generates the vibration advance position R1 based on the next command from this target position. In graph G1, a deviation occurs in the vibration retreat position R2 at time t3. This is because the vibration retreat position R2 at time t3 and the vibration retreat position R2 regenerated at time t3 are different positions.

[0068] In the vibration path shown in this graph G1, as shown from time t1 to time t2, the movement of the vibration retreat position R2 in response to the target command and the movement of the vibration advance position R1 in response to the next command overlap.

[0069] Next, the vibration waveform generation unit 483 generates a reference vibration waveform used to generate a vibration movement amount to be superimposed on the movement path using the vibration conditions from the vibration command analysis unit 472. Specifically, the vibration waveform generation unit 483 generates a vibration waveform having a vibration frequency within the vibration conditions and a height from the trough to the peak (vibration amplitude) of 1.0. At this time, a predetermined waveform (e.g., a triangular wave) is used as the vibration waveform. Note that, if the vibration frequency within the vibration conditions is changed during vibration cutting control, the vibration waveform generation unit 483 generates the reference vibration waveform at the detection timing (time t3) when the peak (vibration forward position R1) of the reference vibration waveform is detected. The reference vibration waveform generated according to such rules is shown as graph G2. The reference vibration waveform of graph G2 is a function of time. The reference vibration waveform up to time t3 shown in graph G2 corresponds to the vibration command C1 of the target block, and the reference vibration waveform after time t3 corresponds to the vibration command C2 of the next block.

[0070] Thereafter, the vibration movement amount generation unit 484 calculates the difference between the vibration advance position R1 and the vibration retreat position R2 at each time. The difference between the vibration advance position R1 and the vibration retreat position R2 is shown as graph G3. Furthermore, the vibration movement amount generation unit 484 calculates the vibration movement amount by multiplying the difference between the vibration advance position R1 and the vibration retreat position R2 by the reference vibration waveform generated by the vibration waveform generation unit 483. The vibration movement amount calculated in this manner is shown as graph G4. The waveforms up to time t3 shown in graphs G3 and G4 correspond to the vibration command C1 of the target block, and the waveforms from time t3 onwards correspond to the vibration command C2 of the next block.

[0071] The movement amount synthesis unit 485 then superimposes (adds) the vibration retreat position R2 generated by the vibration path generation unit 482 and the vibration movement amount generated by the vibration movement amount generation unit 484 to generate vibration movement paths R3 and R4 with superimposed vibrations. The vibration movement paths R3 and R4 generated in this manner, the vibration advance position R1, and the vibration retreat position R2 are shown as graph G5. The vibration movement path R3 is the movement path from time 0 to time t3, and the vibration movement path R4 is the movement path after time t3.

[0072] As shown in graph G5, when the vibration forward position R1 reaches the target position (X, Z) = (10.0, 10.0), movement to the vibration forward position R1 of the next command is initiated even if the vibration retreat position R2 of the movement path has not yet reached the target position (X, Z) = (10.0, 10.0). Thereafter, vibration is performed between the vibration forward position R1 of the movement path of the next command and the vibration retreat position R2 of the movement path of the target command until the vibration retreat position R2 of the movement path reaches the target position (X, Z) = (20.0, 20.0). Then, when the vibration retreat position R2 of the movement path reaches the target position (X, Z) = (20.0, 20.0), the movement of the next command is also executed at the vibration retreat position R2. In other words, the numerical control device 1 does not converge the vibration even when the target position is reached, but instead starts vibration according to the vibration forward position R1 of the next command. When the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the vibration conditions to the vibration conditions on the movement path in the next command. Also, when the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the machining conditions to the machining conditions in the next command.

[0073] In the above explanation, in order to explain the calculation method in an easy-to-understand manner, the numerical control device 1 has been described as calculating the waveform for each block of the machining program 432, but in reality, the interpolation processing unit 48 calculates the waveform for each unit time (interpolation period).

[0074] 5 is a flowchart illustrating the procedure of processing executed by the numerical control device according to the embodiment. In FIG. 5, the processing procedure of processing executed by the control calculation unit 40 to calculate the composite movement amount of each axis based on the machining program 432 will be described.

[0075] The analysis processing unit 47 generates machining condition commands and movement commands (step S10). Specifically, the movement command generation unit 471 of the analysis processing unit 47 reads the machining program 432 and analyzes the read machining program 432 block by block to generate machining condition commands including the spindle rotation speed and the tool feed rate, and movement commands for moving the tool in one block. The analysis processing unit 47 also generates vibration conditions (step S20). Specifically, the vibration command analysis unit 472 analyzes the vibration command and generates vibration conditions such as the number of vibrations and the vibration amplitude.

[0076] The machining condition generating unit 481 of the interpolation processing unit 48 acquires the machining condition command and the movement command from the analysis processing unit 47, and calculates the vibration frequency and the vibration acceleration (step S30). The machining condition generating unit 481 generates machining conditions so that the vibration frequency and the vibration acceleration are within the respective set threshold ranges (step S40).

[0077] The vibration path generating unit 482 generates a vibration advance position R1 and a vibration retreat position R2 (step S50) using the vibration conditions acquired from the vibration command analyzing unit 472. Then, the vibration waveform generating unit 483 generates a reference vibration waveform of a vibration movement amount to be superimposed on the movement path of the tool defined by the vibration advance position R1 and the vibration retreat position R2 using the vibration conditions from the vibration command analyzing unit 472 (step S60).

[0078] Thereafter, the vibration movement amount generation unit 484 calculates the difference between the vibration advance position R1 and the vibration retreat position R2 at each time (step S70). Furthermore, the vibration movement amount generation unit 484 calculates the vibration movement amount by multiplying the difference between the vibration advance position R1 and the vibration retreat position R2 by the reference vibration waveform generated by the vibration waveform generation unit 483 (step S80). Then, the movement amount synthesis unit 485 calculates a synthesis movement amount with the vibrations superimposed by superimposing the vibration retreat position R2 generated by the vibration path generation unit 482 and the vibration movement amount generated by the vibration movement amount generation unit 484 (step S90).

[0079] 6 is a flowchart showing the processing procedure executed when the numerical control device according to the embodiment changes the vibration command between blocks. During the execution of vibration cutting control, the control calculation unit 40 determines whether the vibration forward position R1 of the target block has reached the target position of the target block (step S110).

[0080] If the vibration forward position R1 of the target block has not reached the target position of the target block (step S110, No), the control calculation unit 40 continues the process of determining whether the vibration forward position R1 of the target block has reached the target position of the target block (step S110).

[0081] When the vibration forward position R1 of the target block reaches the target position of the target block (step S110, Yes), the vibration path generation unit 482 generates the vibration forward position R1 of the next block using the vibration conditions of the next block (step S120).

[0082] The control and calculation unit 40 determines whether a peak is detected in the reference vibration waveform after the vibration forward position R1 of the target block reaches the target position (step S130). That is, the control and calculation unit 40 determines whether the peak in the reference vibration waveform overlaps with the vibration forward position R1. In other words, the control and calculation unit 40 determines whether the tool position reaches the vibration forward position R1 after the vibration forward position R1 of the target block reaches the target position.

[0083] If the control calculation unit 40 does not detect a peak in the reference vibration waveform after the vibration forward position R1 of the target block reaches the target position (step S130, No), it continues the process of determining whether or not a peak has been detected in the reference vibration waveform (step S130).

[0084] After the vibration advance position R1 of the target block reaches the target position, if the control calculation unit 40 detects a peak in the reference vibration waveform (step S130, Yes), the vibration path generation unit 482 generates a vibration retreat position R2 based on the vibration conditions (step S140). Furthermore, the machining condition generation unit 481 calculates the vibration frequency and vibration acceleration based on the machining condition command and the vibration command, and generates machining conditions so that the vibration frequency and vibration acceleration fall within the set threshold values. That is, at the detection timing (time t3) when the peak is detected in the reference vibration waveform, the machining condition generation unit 481 changes the vibration conditions to those of the next block, changes the machining conditions to those of the next block, and generates the vibration retreat position R2. In other words, the machining condition generation unit 481 recalculates the vibration conditions, machining conditions, and vibration retreat position R2 at the detection timing (time t3) when the peak is detected in the reference vibration waveform.

[0085] After the vibration advance position R1 reaches the target position, the control calculation unit 40 determines whether the vibration retreat position R2 has reached the target position of the target block (step S150). If the vibration retreat position R2 has not reached the target position of the target block after the vibration advance position R1 has reached the target position (step S150, No), the control calculation unit 40 continues the process of determining whether the vibration retreat position R2 has reached the target position of the target block (step S150).

[0086] After the vibration forward position R1 reaches the target position, a specific time Tw2 elapses, and when the vibration backward position R2 reaches the target position of the target block (step S150, Yes), the control calculation unit 40 executes the processing of the next block at the vibration backward position R2 (step S160). That is, the control calculation unit 40 calculates the vibration backward position R2 corresponding to the next command for the next block.

[0087] Here, a numerical control device of the comparative example will be described. In vibration cutting, which breaks chips by vibrating the tool and the workpiece relative to each other in the machining feed direction, the numerical control device of the comparative example and the numerical control device 1 of the present embodiment may change vibration conditions such as vibration frequency and vibration amplitude during machining such as external diameter machining and taper machining. For example, when taper machining is controlled by vibration cutting, the vibration amplitude required to break chips varies depending on the taper angle and the tool tip angle. In such cases, the numerical control device of the comparative example converges vibration between command blocks when changing vibration conditions such as vibration amplitude. As a result, in the numerical control device of the comparative example, the vibration amplitude decreases when the vibration converges, extending the machining time, and the machining surface accuracy deteriorates due to the acceleration and deceleration of the tool when the vibration converges.

[0088] On the other hand, the numerical control device 1 of this embodiment does not converge the vibration even when the vibration conditions are changed between command blocks, so that it is possible to prevent the machining time from being extended and the machining surface accuracy from being deteriorated.

[0089] Furthermore, the numerical control device 1 of this embodiment does not change the vibration conditions and machining conditions after the vibration forward position R1 reaches the target position until a peak is detected in the reference vibration waveform, and changes the vibration conditions and machining conditions at the timing when a peak is detected in the reference vibration waveform. This allows the numerical control device 1 to suppress acceleration and deceleration of the tool when changing the vibration conditions between command blocks, thereby preventing deterioration of the machined surface accuracy between command blocks.

[0090] Furthermore, when the number of vibrations is changed between command blocks, the vibration frequency changes, and when the vibration amplitude is changed, the vibration acceleration changes. In these cases, the numerical control device of the comparative example applies excessive loads to machine tool components (such as ball screws), servo motors, and tools, so depending on the vibration conditions, it becomes necessary to change machining conditions such as the tool feed rate and spindle rotation speed in the machining program. In other words, the numerical control device of the comparative example controls the vibration frequency and vibration amplitude to fall within their respective threshold ranges by changing the machining conditions in the machining program. In this case, the machining program changes the machining conditions after the vibration has converged, which increases the machining time.

[0091] In this way, in the numerical control device of the comparative example, when the vibration conditions are changed between blocks, excessive loads are applied to machine tool parts, etc., and in order to prevent excessive loads from being applied, it is necessary to change the machining conditions on the machining program 432.

[0092] On the other hand, even when changing the vibration conditions, the numerical control device 1 of this embodiment controls the timing of changing the vibration conditions to dynamically switch the vibration conditions, and also changes the machining conditions so that the vibration frequency and vibration acceleration fall within their respective threshold ranges. This allows the numerical control device 1 to prevent excessive loads from being applied and to perform machining under a wide range of conditions, and since there is no need to change the vibration conditions using the machining program 432, it is possible to prevent the machining time from becoming long.

[0093] In the embodiment, the case where the tool is moved and vibrated in the X-axis direction and the Z-axis direction has been described, but the tool may be moved and vibrated in one axis direction.

[0094] In addition, in the present embodiment, when the vibration conditions between command blocks are different, the vibration path generating unit 482 calculates the vibration forward position, which is the forward position of the vibration associated with vibration cutting in the next vibration command, and the vibration backward position, which is the backward position of the vibration associated with vibration cutting, in order to prevent the vibration associated with vibration cutting from converging when a change in the vibration conditions is detected between the current vibration command and the next vibration command, which is the vibration command scheduled to be executed next. However, this is not limited to this. For example, when a machine tool is performing vibration cutting in which the vibration conditions change during processing, the changed vibration conditions may be set in the vibration command scheduled to be executed next. In this case, when the vibration conditions between the current vibration command and the vibration command scheduled to be executed next are different, the vibration path generating unit 482 may calculate the vibration forward position, which is the forward position of the vibration associated with vibration cutting in the next vibration command, and the vibration backward position, which is the backward position of the vibration associated with vibration cutting, in order to prevent the vibration associated with vibration cutting from converging when a change is detected between the current vibration command and the next vibration command, which is the vibration command scheduled to be executed next. The vibration conditions are changed during machining when, for example, an external PLC requests a change in the vibration conditions due to a change in the machining situation, or when a process for changing the vibration conditions is executed due to a preset threshold being exceeded, etc. In this case, the notification of the change in the machining conditions may be received by, for example, the vibration command analysis unit 472.

[0095] Furthermore, in the present embodiment, when a change is detected between the current vibration command and the next vibration command, that is, the next vibration command, during vibration cutting, the vibration path generating unit 482 calculates a vibration forward position, which is the forward position of the vibration of the tool relative to the workpiece at the next vibration command, so that the vibration does not converge. However, this is not limited to this. For example, when a change is detected between the current vibration command and the next vibration command, that is, the next vibration command, during vibration cutting, the vibration path generating unit 482 may calculate a vibration forward position, which is the forward position of the vibration of the tool relative to the workpiece at the next vibration command, so that the vibration does not stop. In this case, "so that the vibration does not stop" refers to, for example, control in which vibration cutting is performed without a period in which the vibration stops between the current vibration command and the next vibration command.

[0096] Here, the hardware configuration of the control and calculation unit 40 will be described. FIG. 7 is a diagram showing an example of a hardware configuration realizing the control and calculation unit according to the embodiment. The control and calculation unit 40 can be realized by an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a CPU (Central Processing Unit, also referred to as a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). Examples of the memory 200 include a RAM (Random Access Memory) and a ROM (Read Only Memory).

[0097] The control and calculation unit 40 is realized by the processor 100 reading and executing a computer-executable control and calculation program (not shown) for executing the operation of the control and calculation unit 40 stored in the memory 200. The control and calculation program, which is a program for executing the operation of the control and calculation unit 40, can also be said to cause a computer to execute the procedure or method of the control and calculation unit 40.

[0098] The control calculation program executed by the processor 100 has a modular configuration including a control calculation unit 40, and these components are loaded onto the main storage device and generated on the main storage device. Specifically, the control calculation program executed by the processor 100 has a modular configuration including an input control unit 41, a data setting unit 42, a memory unit 43, a screen processing unit 44, a machine control signal processing unit 45, a PLC circuit unit 46, an analysis processing unit 47, an interpolation processing unit 48, a spindle processing unit 49, an acceleration / deceleration processing unit 50, and an axis data output unit 51, and these components are loaded onto the main storage device and generated on the main storage device.

[0099] The input device 300 receives input information from the input control unit 41 and sends it to the processor 100. The memory 200 stores a control calculation program, parameters 431, a machining program 432, screen display data 433, etc. The memory 200 is also used as a shared area 434 (not shown) that is a temporary memory when the processor 100 executes various processes.

[0100] The output device 400 outputs screen display data 433 to the display unit 30. The output device 400 also outputs a movement command per unit time to the servo control unit 13 and the spindle control unit 16.

[0101] The control calculation program and machining program 432 may be provided as a computer program product in the form of an installable or executable file stored on a computer-readable storage medium. The control calculation program and machining program 432 may also be provided to the control calculation unit 40 via a network such as the Internet. Some of the functions of the control calculation unit 40 may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware. Some of the functions of the control calculation unit 40 may have the hardware configuration shown in FIG. 7 .

[0102] In this way, the numerical control device 1 of the embodiment does not converge vibration when it detects a change in vibration command between the command block between the target block (previous block), which is the previous command block, and the next block during vibration cutting control. When it detects a change in vibration command between command blocks, the numerical control device 1 calculates the vibration advance position R1 of the next block, calculates the vibration retreat position R2 of the next block at the detection timing when the vibration advance position R1 in the reference vibration waveform is detected, and generates the reference vibration waveform for the next block at this detection timing. This allows the numerical control device 1 to prevent deterioration of machined surface accuracy even when there are vibration command blocks with different vibration conditions between command blocks.

[0103] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, and parts of the configurations may be omitted or modified without departing from the spirit of the invention.

[0104] 1 Numerical control device, 10 Drive unit, 11 Servo motor, 11X X-axis servo motor, 11Z Z-axis servo motor, 12, 15 Detector, 13 Servo control unit, 13X X-axis servo control unit, 13Z Z-axis servo control unit, 14 Spindle motor, 16 Spindle control unit, 20 Input operation unit, 30 Display unit, 40 Control calculation unit, 41 Input control unit, 42 Data setting unit, 43 Memory unit, 44 Screen processing unit, 45 Machine control signal processing unit, 46 PLC circuit unit, 47 Analysis processing unit, 48 Interpolation processing unit, 49 Spindle processing unit, 50 Acceleration / deceleration processing unit, 51 Axis data output unit, 100 Processor, 200 Memory, 300 Input device, 400 Output device, 401 to 407 Lines, 431 Parameters, 432 Machining program, 433 Screen display data, 434 Shared area, 471 Movement command generation unit, 472 vibration command analysis unit, 481 machining condition generation unit, 482 vibration path generation unit, 483 vibration waveform generation unit, 484 vibration movement amount generation unit, 485 movement amount synthesis unit, 491 spindle rotation command creation unit, C1, C2 vibration command, G1 to G5 graph, R1 vibration advance position, R2 vibration retreat position, R3, R4 vibration movement path, Tw1, Tw2 specific time, t1 to t3 time.

Claims

1. A numerical control device that causes a machine tool to perform vibration cutting, comprising: a vibration command analysis unit that generates vibration conditions, which are conditions for vibrating the tool and the workpiece relative to each other, by analyzing a vibration command that vibrates the tool and the workpiece relative to each other; and a vibration path generation unit that calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration receding position, which is the receding position of the vibration associated with the vibration cutting, so that the vibration associated with the vibration cutting does not converge when a change in the vibration conditions is detected between the current vibration command and a next vibration command that is the vibration command to be executed next during the vibration cutting.

2. The numerical control device according to claim 1, further comprising: a vibration waveform generating unit that generates a reference vibration waveform, which is a vibration waveform that serves as a reference for vibrating the tool or the workpiece; a vibration movement amount generating unit that calculates a vibration movement amount, which is the movement amount of vibration at the vibration retreat position, by multiplying the difference between the vibration forward position and the vibration retreat position by the reference vibration waveform; and a movement amount synthesis unit that generates a synthetic movement amount by adding the vibration movement amount to the vibration retreat position.

3. A numerical control device as described in claim 1 or 2, further comprising a machining condition generation unit that generates machining conditions for the vibration cutting, the machining condition generation unit calculating a vibration frequency and vibration acceleration for the vibration cutting based on a machining condition command and the vibration command, which are commands corresponding to the machining conditions, and generating the machining conditions within a range in which the vibration frequency and the vibration acceleration do not exceed their respective threshold values.

4. A numerical control device as described in claim 2, further comprising a machining condition generation unit which generates machining conditions for the vibration cutting, wherein the machining condition generation unit generates the machining conditions for the next block, which is a next command block, during control of the vibration cutting at the timing when the vibration forward position in the reference vibration waveform is detected after the vibration forward position reaches a target position of the previous block, which is a previous command block, during control of the vibration cutting.

5. The numerical control device according to claim 4, wherein when the vibration command analysis unit detects a change in vibration amplitude of the vibration command between the command blocks during control of the vibration cutting, the timing for changing the vibration retreat position is delayed.

6. The numerical control device according to claim 4, wherein when the vibration command analysis unit detects a change in the number of vibrations included in the vibration conditions between the command blocks during control of the vibration cutting, the timing for changing the vibration retreat position is delayed.

7. A numerical control method including: a vibration command analysis step in which a numerical control device that causes a machine tool to perform vibration cutting generates vibration conditions that are conditions for vibrating the tool and the workpiece relatively by analyzing a vibration command that vibrates the tool and the workpiece relatively; and a vibration path generation step in which the numerical control device calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration receding position, which is the receding position of the vibration associated with the vibration cutting, so that the vibration associated with the vibration cutting does not converge when a change in the vibration conditions is detected between the current vibration command and a next vibration command that is the vibration command to be executed next during vibration cutting.

8. A numerical control device that causes a machine tool to perform vibration cutting, comprising: a vibration command analysis unit that generates vibration conditions, which are conditions for vibrating the tool and the workpiece relative to each other, by analyzing a vibration command that vibrates the tool and the workpiece relative to each other; and a vibration path generation unit that calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration receding position, which is the receding position of the vibration associated with the vibration cutting, so that the vibration associated with the vibration cutting does not stop when a change in the vibration conditions is detected between the current vibration command and a next vibration command that is the vibration command to be executed next during the vibration cutting.

Citation Information

Patent Citations

  • Machine tool and control device

    WO2020085451A1