Numerical controller and numerical control method
Patent Information
- Application Number
- JP2024013937
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-02-13
- Estimated Expiration
- 2043-07-31
AI Technical Summary
【0008】 本開示にかかる数値制御装置は、指令された主軸回転速度と実際に工作機械に設定される主軸回転速度との差を考慮して振動切削を実行することで、振動切削加工における効率改善を実現できる、という効果を奏する。
Smart Images

Figure 2025021402000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a numerical control device and a numerical control method for controlling a machine tool that performs cutting processing. [Background technology]
[0002] A machine tool that performs cutting cuts a workpiece by moving the tool and the workpiece relative to each other while bringing the tool into contact with the workpiece. In cutting to cut the surface of a workpiece, vibration cutting may be performed in which the tool is vibrated at a low frequency while cutting. In vibration cutting, the vibration period of the tool is synchronized with the rotation speed of the spindle. Vibration cutting makes it possible to cut the workpiece while breaking up the chips by creating a section in the path of movement of the tool where the cutting of the workpiece by the tool is interrupted. By breaking up the chips into short pieces, it is possible to prevent a decrease in machining accuracy due to the chips getting tangled around the workpiece or the tool. In addition, by breaking up the chips into short pieces, it is possible to reduce damage to the workpiece caused by the chips coming into contact with the workpiece.
[0003] Patent document 1 discloses a numerical control device that prepares multiple vibration conditions including combinations of vibration frequencies and spindle rotation speeds for vibration cutting, and when starting vibration cutting, selects a vibration condition including a spindle rotation speed that is closest to a commanded spindle rotation speed so as to avoid invalid frequency regions that indicate frequency regions in which the vibration frequency for vibration cutting cannot be set as the vibration frequency for vibration cutting, and controls the vibration cutting based on the selected vibration condition. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 5901871 Summary of the Invention [Problem to be solved by the invention]
[0005] As described above, when performing vibration cutting, if machining is performed at a spindle speed different from the spindle speed commanded by the machining program, if the difference between the commanded spindle speed and the spindle speed actually set for the machine tool becomes large, the difference between the machining time assumed by the operator when creating the machining program and the actual machining time also becomes large. In particular, when machining is performed by selecting vibration conditions that result in a spindle speed lower than the commanded spindle speed, the machining time will be extended, and therefore it is desirable to shorten the machining time from the standpoint of production management and production efficiency.
[0006] The present disclosure has been made in consideration of the above, and has an object to provide a numerical control device that can improve efficiency in vibration cutting. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the present disclosure provides a numerical control device that causes a machine tool to perform vibration cutting, and includes an acquisition unit that acquires a plurality of vibration cutting conditions including combinations of vibration frequencies and spindle rotation speeds at which vibration cutting can be performed, and a spindle rotation speed selection unit that, when vibration cutting is commanded, selects, for each cutting command, one of the spindle rotation speeds included in each of the plurality of vibration cutting conditions acquired by the acquisition unit based on the commanded vibration frequency for vibration cutting and a command spindle rotation speed, which is the rotation speed of the spindle commanded by the rotation command, and is characterized in that the spindle rotation speed selection unit selects the spindle rotation speed when vibration cutting is performed so that the average value of the previously selected spindle rotation speed and the spindle rotation speed selected currently approaches the average value of the command spindle rotation speed. Effect of the Invention
[0008] The numerical control device disclosed herein has the effect of achieving improved efficiency in vibration cutting by performing vibration cutting while taking into account the difference between a commanded spindle rotation speed and the spindle rotation speed actually set in the machine tool. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing a configuration example of a numerical control device according to a first embodiment; [Diagram 2] FIG. 1 is a diagram showing an example of a list of vibration cutting conditions that can be used when the numerical control device according to the first embodiment controls vibration cutting. [Diagram 3] 1 is a flowchart showing an example of a control operation performed by the numerical control device according to the first embodiment to cause a machine tool to perform vibration cutting. [Figure 4] FIG. 13 is a diagram showing a configuration example of a numerical control device according to a second embodiment; [Diagram 5] FIG. 11 is a diagram showing a relationship between a reference phase difference calculated in a control calculation unit of a numerical control device according to a second embodiment and a retreat start position. [Figure 6] 11 is a flowchart showing an example of an operation performed by a control calculation unit of a numerical control device according to a second embodiment to calculate a reference phase difference and determine a retreat start position. [Figure 7] FIG. 13 is a diagram showing a configuration example of a numerical control device according to a third embodiment; [Figure 8] FIG. 13 is a diagram showing a relationship between a reference phase difference calculated in a control calculation unit of the numerical control device according to the third embodiment and a retreat start position. [Figure 9] 11 is a flowchart showing an example of an operation performed by a control calculation unit of a numerical control device according to a third embodiment to calculate a reference phase difference and determine a retreat start position. [Figure 10] FIG. 13 is a diagram showing a configuration example of a numerical control device according to a fourth embodiment; [Figure 11] 13 is a flowchart showing an example of an operation of a spindle rotation speed selection unit of the numerical control device according to the fourth embodiment. [Figure 12] FIG. 13 is a diagram showing an example of a list of vibration cutting conditions that can be used when the numerical control device according to the fourth embodiment controls vibration cutting. [Figure 13] 13 is a flowchart showing an example of a control operation performed by a numerical control device according to a fourth embodiment to cause a machine tool to perform vibration cutting. [Figure 14] FIG. 1 is a diagram showing an example of a hardware configuration of a control calculation unit included in a numerical control device according to a first embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[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 drawings.
[0011] Embodiment 1 1 is a diagram showing an example of the configuration of a numerical control device 1 according to a first embodiment. The numerical control (Numerical Control: NC) device 1 is a computer that controls a machine tool that performs cutting processing. The machine tool that is the object of control by the numerical control device 1 performs processing including vibration cutting. The machine tool performs vibration cutting by vibrating a driven body using a drive mechanism.
[0012] The numerical control device 1 includes an input operation unit 2, an output unit 3, and a control calculation unit 4. FIG. 1 shows the numerical control device 1 and a drive unit 7, which is a component of a machine tool. The drive unit 7 is connected to the control calculation unit 4. The numerical control device 1 generates various commands according to a machining program. The numerical control device 1 controls the machine tool by outputting the generated various commands to the drive unit 7. Note that the drive unit 7 may be an element independent of the machine tool.
[0013] The machine tool is an NC machine tool. The machine tool cuts the workpiece by bringing the tool into contact with the workpiece and moving the tool and the workpiece relative to each other. The machine tool cuts the workpiece to a desired shape by removing unnecessary parts from the workpiece. In the first embodiment, the machine tool uses the tool to machine the workpiece while moving the tool and the workpiece relatively by one or more drive axes. In the first embodiment, the machine tool machines the workpiece by, for example, moving the tool in two directions, the X-axis direction and the Z-axis direction, by the drive unit 7 while rotating the workpiece by the drive unit 7. The X-axis is, for example, an axis in the vertical direction. The Z-axis is, for example, an axis parallel to the horizontal plane. The X-axis and the Z-axis are perpendicular to each other. Note that the X-axis is not limited to an axis in the vertical direction, and the Z-axis is not limited to an axis parallel to the horizontal plane. The X-axis and the Z-axis can be set appropriately according to the configuration of the machine tool.
[0014] The drive unit 7 includes a servo motor 71x, a detector 72x, and a servo control unit 73x. The servo motor 71x constitutes an X-axis drive mechanism. The X-axis drive mechanism is a drive mechanism that drives a tool for cutting a workpiece or a workpiece in the X-axis direction. In the first embodiment, the X-axis drive mechanism is a drive mechanism that drives a tool in the X-axis direction. The servo motor 71x is a power source of the X-axis drive mechanism. The detector 72x detects the rotational position and the rotational speed of the servo motor 71x. The detector 72x outputs position information indicating the rotational position of the servo motor 71x and speed information indicating the rotational speed of the servo motor 71x to the servo control unit 73x.
[0015] The numerical control device 1 outputs a command to drive the tool in the X-axis direction to the servo control unit 73x. The servo control unit 73x performs feedback (FB) control of the servo motor 71x based on the command from the numerical control device 1 and the position information and speed information from the detector 72x. The drive unit 7 operates the tool in the X-axis direction by FB control of the servo motor 71x. The drive unit 7 also outputs information indicating the vibration movement amount in the X-axis direction to the numerical control device 1 by outputting position information detected by the detector 72x during vibration cutting to the numerical control device 1. The vibration movement amount is the movement amount of the tool relative to the workpiece in vibration cutting. Hereinafter, the information on the vibration movement amount output from the drive unit 7 to the numerical control device 1 is referred to as the FB vibration movement amount. That is, the drive unit 7 outputs the FB vibration movement amount in the X-axis direction to the numerical control device 1.
[0016] Further, the drive unit 7 includes a servo motor 71z, a detector 72z, and a servo control unit 73z. The servo motor 71z constitutes a Z-axis drive mechanism. The Z-axis drive mechanism is a drive mechanism that drives a tool for cutting a workpiece or a workpiece in the Z-axis direction. In the first embodiment, the Z-axis drive mechanism is a drive mechanism that drives a tool in the Z-axis direction. The servo motor 71z is a power source of the Z-axis drive mechanism. The detector 72z detects the rotational position and the rotational speed of the servo motor 71z. The detector 72z outputs position information indicating the rotational position of the servo motor 71z and speed information indicating the rotational speed of the servo motor 71z to the servo control unit 73z.
[0017] The numerical control device 1 outputs a command to drive the tool in the Z-axis direction to the servo control unit 73z. The servo control unit 73z performs FB control of the servo motor 71z based on the command from the numerical control device 1 and the position information and speed information from the detector 72z. The driving unit 7 operates the tool in the Z-axis direction by FB control of the servo motor 71z. In addition, the driving unit 7 outputs the FB vibration movement amount in the Z-axis direction to the numerical control device 1 by outputting position information detected by the detector 72z during vibration cutting to the numerical control device 1.
[0018] The machine tool includes one or more tool rests. The drive mechanism drives the tool rest and the tool. The tool rest and the tool are driven objects driven by the drive mechanism. The tool is attached to the tool rest. The drive unit 7 includes a set of servo motors 71x, 71z, detectors 72x, 72z, and servo control units 73x, 73z for each tool rest.
[0019] The drive unit 7 also includes a spindle motor 71s, a detector 72s, and a spindle control unit 73s. The spindle motor 71s rotates the spindle. The spindle is an axis that rotates a workpiece. The detector 72s detects the rotational position and rotational speed of the spindle motor 71s. The detector 72s outputs position information indicating the rotational position of the spindle motor 71s and speed information indicating the rotational speed of the spindle motor 71s to the spindle control unit 73s.
[0020] The numerical control device 1 outputs a command to rotate the spindle to the spindle control unit 73s. The spindle control unit 73s performs FB control of the spindle motor 71s based on the command from the numerical control device 1 and the position information and speed information from the detector 72s. The drive unit 7 rotates the workpiece by the FB control of the spindle motor 71s.
[0021] The machine tool may be one that processes one workpiece, or one that processes two or more workpieces simultaneously. When the machine tool is one that processes two or more workpieces simultaneously, the drive unit 7 is provided with two or more sets of a spindle motor 71s, a detector 72s, and a spindle control unit 73s. When the machine tool is one that processes two or more workpieces simultaneously, the machine tool is provided with, for example, two or more tool rests.
[0022] The input operation unit 2 is an input means for inputting information to the control operation unit 4. The input operation unit 2 includes devices such as a keyboard, a touch panel, a button, or a mouse. The input operation unit 2 is operated by, for example, a machine tool operator or a machine tool maintenance worker. The input operation unit 2 receives information such as a command, a machining program number, or a parameter related to vibration cutting, and inputs the received information to the control operation unit 4. The machining program number is information indicating any one of the machining programs stored in a machining program storage area 432 of the storage unit 43 described later.
[0023] The output unit 3 is an output means for outputting information processed by the control calculation unit 4. The output unit 3 includes a display means such as a liquid crystal display device. The output unit 3 displays the information processed by the control calculation unit 4 on a screen. The output unit 3 is not limited to being equipped with a display means. The output unit 3 may be equipped with an audio device such as a speaker. The output unit 3 may also be configured to output information to a device external to the numerical control device 1. For example, the numerical control device 1 may be connected to a network, and the output unit 3 may transmit information via the network to a display device connected to the network or a computer connected to the network.
[0024] The control calculation unit 4 includes an input control unit 41, a data setting unit 42, a storage unit 43, an output control unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC (Programmable Logic Controller) circuit unit 47, an interpolation processing unit 48, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50. In the configuration shown in FIG. 1, the PLC circuit unit 47 is disposed inside the control calculation unit 4, but the PLC circuit unit 47 may be disposed outside the control calculation unit 4.
[0025] The input control unit 41 receives information input from the input operation unit 2, and outputs the received information to the data setting unit 42. The data setting unit 42 stores the information from the input control unit 41 in the storage unit 43. That is, the input information received by the input operation unit 2 is written in the storage unit 43 via the input control unit 41 and the data setting unit 42.
[0026] The storage unit 43 is a device for storing data, such as a non-volatile memory or a hard disk, and includes a parameter storage area 431, a machining program storage area 432, a display data storage area 433, and a shared area 434.
[0027] The parameter storage area 431 stores various parameters used in the processing of the control calculation unit 4. Specifically, the parameter storage area 431 stores control parameters for operating the numerical control device 1, servo parameters, tool data, parameters related to vibration cutting, and the like. The number of vibrations (times) per one rotation of the spindle, the spindle rotation speed (r / min), and the vibration frequency (Hz) shown in Figs. 2 and 12 are calculated in advance as conditions under which the control calculation unit 4 can perform vibration cutting (conditions under which cutting chips can be broken), and are stored in the parameter area 431 as vibration cutting conditions. The conditions under which vibration cutting can be performed are calculated by an operator. The conditions calculated by the operator are acquired by the input control 41, which operates as an acquisition unit that acquires vibration cutting conditions, and are written into the parameter storage area 431 by the data setting unit 42.
[0028] The machining program storage area 432 stores a machining program, which is an NC program used to machine a workpiece. The machining program stored in the machining program storage area 432 includes one or more blocks. In the first embodiment, the machining program includes various commands, such as a movement command to move a tool, a rotation command to rotate the spindle, and a vibration command to vibrate the tool. The rotation command includes a parameter that commands the rotation speed of the spindle. The vibration command includes a parameter related to the vibration of the tool. Examples of the parameters related to the vibration of the tool include amplitude and vibration frequency. The vibration frequency is, for example, the vibration frequency per one rotation of the spindle.
[0029] In the display data storage area 433, screen display data, which is data of a screen to be displayed by the output unit 3, is stored.
[0030] The shared area 434 stores data that is temporarily used when the control calculation unit 4 executes each process. For example, the machining program number accepted by the input operation unit 2 is written into the shared area 434 of the memory unit 43 via the input control unit 41 and the data setting unit 42.
[0031] The output control unit 44 causes the output unit 3 to display the screen display data stored in the display data storage area 433 of the storage unit 43 .
[0032] In the control calculation unit 4, the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48 are connected to one another via the storage unit 43, and information is written and read via the storage unit 43. Hereinafter, regarding the writing and reading of information between the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48, a description of the mediation of the storage unit 43 may be omitted.
[0033] The analysis processing unit 45 is connected to the storage unit 43. The analysis processing unit 45 refers to the machining program number written in the shared area 434. When the input operation unit 2 accepts a selection and refers to the machining program number written in the shared area 434, the analysis processing unit 45 reads out the machining program indicated by the selected machining program number from the machining program storage area 432 and performs analysis processing for each block of the machining program, i.e., each line of the machining program. The analysis processing unit 45 analyzes various codes such as an S code which is a command for the rotation speed of the spindle motor 71s, a G code which is a command related to axis movement which is the movement of the tool, and an M code which is a machine operation command. When the analysis processing unit 45 finishes the analysis processing for each line of the machining program, it writes the analysis results of the various codes in the shared area 434.
[0034] When an S code is included in a machining program, the analysis processing unit 45 analyzes the S code included in the machining program to obtain the rotation speed of the spindle. The analysis processing unit 45 writes the obtained rotation speed in the shared area 434.
[0035] When a machining program includes a G-code, the analysis processing unit 45 analyzes the G-code included in the machining program to obtain movement conditions, which are conditions for tool feeding. Such movement conditions include the speed at which the tool rest is moved in each of the X-axis direction and the Z-axis direction, and the position to which the tool rest is moved in each of the X-axis direction and the Z-axis direction. The analysis processing unit 45 writes the obtained movement conditions in the shared area 434.
[0036] Furthermore, when a G-code for vibration cutting is included in the machining program, the analysis processing unit 45 analyzes the G-code included in the machining program to obtain vibration conditions, which are conditions for vibration in vibration cutting. The vibration conditions include, for example, the number of vibrations per one spindle revolution and the amplitude feed ratio. The number of vibrations per one spindle revolution is, for example, the number of tool vibrations while the spindle rotates once during vibration cutting. The amplitude feed ratio is the ratio between the amplitude of vibration and the amount of tool movement per vibration. The analysis processing unit 45 writes the obtained vibration conditions in the shared area 434.
[0037] The control signal processing unit 46 is connected to the PLC circuit unit 47, and receives signal information of a relay or the like that operates the machine tool from the PLC circuit unit 47. The control signal processing unit 46 writes the received signal information in the shared area 434.
[0038] The interpolation processing unit 48 is connected to the storage unit 43 and the acceleration / deceleration processing unit 49. When the movement conditions and vibration conditions are written to the shared area 434, the interpolation processing unit 48 reads out the movement conditions and vibration conditions from the shared area 434. Based on the read movement conditions and vibration conditions, the interpolation processing unit 48 generates an X-axis command vibration movement amount, which is a command for the vibration movement amount in the X-axis direction, and a Z-axis command vibration movement amount, which is a command for the vibration movement amount in the Z-axis direction. Hereinafter, the X-axis command vibration movement amount and the Z-axis command vibration movement amount are collectively referred to as command vibration movement amount. The interpolation processing unit 48 writes the generated command vibration movement amount in the shared area 434 and outputs the generated command vibration movement amount to the acceleration / deceleration processing unit 49.
[0039] The acceleration / deceleration processing unit 49 is connected to the interpolation processing unit 48 and the axis data input / output unit 50. The acceleration / deceleration processing unit 49 acquires the command vibration movement amount from the interpolation processing unit 48, and converts the command vibration movement amount into a movement command per unit time in which acceleration / deceleration is taken into consideration according to a pre-specified acceleration / deceleration pattern. The acceleration / deceleration processing unit 49 outputs the movement command per unit time to the axis data input / output unit 50.
[0040] The axis data input / output unit 50 is connected to the acceleration / deceleration processing unit 49 and the drive unit 7. The axis data input / output unit 50 acquires a movement command per unit time from the acceleration / deceleration processing unit 49, and outputs the movement command per unit time to the drive unit 7. The axis data input / output unit 50 also acquires an FB vibration movement amount from the drive unit 7, and outputs the FB vibration movement amount to the acceleration / deceleration processing unit 49. When the acceleration / deceleration processing unit 49 acquires the FB vibration movement amount from the axis data input / output unit 50, it outputs the acquired FB vibration movement amount to the interpolation processing unit 48.
[0041] The interpolation processing unit 48 includes a spindle rotation speed selection unit 481 , a waveform generation unit 482 , and a vibration movement amount generation unit 483 .
[0042] The spindle rotation speed selection unit 481 selects the rotation speed of the spindle when performing vibration cutting. The spindle rotation speed selection unit 481 selects one of a plurality of spindle rotation speed candidates stored in the parameter storage area 431 as parameters related to vibration cutting. The spindle rotation speed selection unit 481 acquires the spindle rotation speed obtained by the analysis processing unit 45 analyzing the S-code via the shared area 434 of the storage unit 43, selects one of the spindle rotation speed candidates based on the acquired spindle rotation speed, and sets this as the spindle rotation speed during vibration cutting.
[0043] The waveform generating unit 482 generates a basic waveform when vibrating the tool. Specifically, the waveform generating unit 482 acquires vibration conditions from the analysis processing unit 45 via the shared area 434 of the storage unit 43, and generates a vibration waveform that is a basic waveform of vibration based on the acquired vibration conditions and the spindle rotation speed during vibration cutting selected by the spindle rotation speed selecting unit 481.
[0044] The vibration movement amount generating unit 483 obtains a vibration movement amount, for example, in the Z-axis direction, based on the vibration waveform generated by the waveform generating unit 482 and the movement path of the tool. Specifically, the vibration movement amount generating unit 483 generates a vibration movement amount in the Z-axis by obtaining a vibration forward position and a vibration backward position for each vibration. The vibration forward position is a position advanced from a position on the movement path of the tool by a distance corresponding to the amplitude shown in the vibration waveform. The vibration backward position is a position retreated from a position on the movement path of the tool by a distance corresponding to the amplitude shown in the vibration waveform. The vibration movement amount generating unit 483 similarly obtains a vibration movement amount in the X-axis direction. The vibration movement amount generating unit 483 generates command vibration movement amounts in the Z-axis direction and the X-axis direction by obtaining the vibration movement amounts in the Z-axis direction and the X-axis direction, respectively.
[0045] The command vibration movement amount generated by the vibration movement amount generation unit 483 is sent to the drive unit 7 via the acceleration / deceleration processing unit 49 and the axis data input / output unit 50. The drive unit 7 performs vibration cutting based on the command vibration movement amount sent from the vibration movement amount generation unit 483. The drive unit 7 controls the servo motor 71z based on the Z-axis command vibration movement amount, and controls the servo motor 71x based on the X-axis command vibration movement amount to vibrate the tool, thereby causing the machine tool to perform vibration cutting.
[0046] Next, an operation of the numerical control device 1 according to the first embodiment controlling the machine tool to perform vibration cutting will be described.
[0047] 2 is a diagram showing an example of a list of vibration cutting conditions that can be used when the numerical control device 1 according to the first embodiment controls vibration cutting processing. Each vibration cutting condition included in the list of vibration cutting conditions is selected when the internal processing cycle of the numerical control device 1 is at a certain cycle, and is used in the control of the machine tool. The internal processing cycle of the numerical control device 1 is also called the control cycle. In the following description, the internal processing cycle of the numerical control device 1 is referred to as the control cycle.
[0048] The vibration cutting conditions include a combination of the number of vibrations per spindle revolution (rpm), the spindle rotation speed (r / min), and the vibration frequency (Hz). The vibration frequency is the vibration frequency of the tool in vibration cutting. The vibration frequency is uniquely determined by the number of vibrations per spindle revolution and the spindle rotation speed. For ease of explanation, Fig. 2 lists the vibration cutting conditions in ascending order of spindle rotation speed (4000 r / min in this example). As shown in Fig. 2, the spindle rotation speeds and vibration frequencies included in the vibration cutting conditions are not continuous but discrete.
[0049] The list of vibration cutting conditions shown in FIG. 2 is stored in advance in the parameter storage area 431 included in the storage unit 43 of the numerical control device 1.
[0050] In controlling vibration cutting, the numerical control device 1 according to the first embodiment vibrates the tool and rotates the spindle according to one of the vibration cutting conditions included in the vibration cutting condition list shown in FIG. 2. A method for selecting a vibration cutting condition from the vibration cutting condition list will be described later. That is, the numerical control device 1 according to the first embodiment selects one of the vibration cutting conditions included in the vibration cutting condition list by a method to be described later, controls the spindle rotation speed so as to be the spindle rotation speed included in the selected vibration cutting condition, and controls the vibration of the tool so as to be the vibration frequency included in the selected vibration cutting condition. It is to be noted that the numerical control device 1 according to the first embodiment performs vibration cutting for each cutting command of the machining program, for example.
[0051] In the control operation of the machine tool by the numerical control device 1, first, the analysis processing unit 45 reads out the machining program from the machining program storage area 432 of the storage unit 43, analyzes the machining program for each block, and writes the analysis results in the shared area 434.
[0052] Next, the interpolation processing unit 48 checks the analysis result of the machining program by the analysis processing unit 45, and when the rotation command commanding the rotation of the spindle and the vibration command commanding the vibration of the tool are analyzed, the interpolation processing unit 48 selects the spindle rotation speed from the vibration cutting condition list based on the command spindle rotation speed, which is the spindle rotation speed commanded by the rotation command, and the command vibration frequency, which is the vibration frequency per one spindle rotation commanded by the vibration command. That is, it selects one of the vibration cutting conditions. Specifically, the spindle rotation speed selection unit 481 selects one of the vibration cutting conditions in which the vibration frequency per one spindle rotation is the same as the command vibration frequency for each cutting command, so that the average value of the spindle rotation speed approaches the command spindle rotation speed. Note that the command spindle rotation speed may be changed for each cutting command. In this case, the spindle rotation speed selection unit 481 may select the spindle rotation speed when vibration cutting is performed for each cutting command, so that the average value of the spindle rotation speed selected from the vibration cutting condition list approaches the average value of the commanded spindle rotation speed.
[0053] As an example, the vibration cutting condition list is configured as shown in FIG. 2, and the operation will be described when the command spindle rotation speed is 3700 r / min and the command vibration count is 0.5 times continues over a plurality of cutting commands (vibration cutting). As shown in FIG. 2, in the first cutting command (vibration cutting) after (A) 3700 r / min is commanded, the spindle rotation speed selection unit 481 selects the vibration cutting condition of (B) 3750 r / min as the first spindle rotation speed. In the next cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects the vibration cutting condition of (C) 3636 r / min as the second spindle rotation speed. In addition, in the next cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects the vibration cutting condition of (D) 4000 r / min as the third spindle rotation speed. In addition, in the next cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects the vibration cutting condition of (E) 3529 r / min as the fourth spindle rotation speed. In this case, the average value of the spindle rotation speed at the time when the fourth spindle rotation speed is selected is 3728 r / min, approaching the command spindle rotation speed of 3700 r / min. If the cutting command (vibration cutting) continues, the spindle rotation speed selection unit 481 repeats the selection of the spindle rotation side speed for each cutting command (vibration cutting) so that the average value of the spindle rotation speed approaches the command spindle rotation speed of 3700 r / min.
[0054] 3 is a flowchart showing an example of a control operation of the numerical control device 1 according to the first embodiment to cause the machine tool to perform vibration cutting. The numerical control device 1 performs the operation according to the flowchart shown in FIG. 3 for each cutting command (vibration cutting).
[0055] When the numerical control device 1 causes the machine tool to perform vibration cutting, as shown in FIG. 3, first, it checks whether the average value of the spindle rotation speed is equal to or lower than the command spindle rotation speed (step S1). The checking operation in step S1 is performed by the spindle rotation speed selection unit 481. When the average value of the spindle rotation speed is not equal to or lower than the command spindle rotation speed, that is, when the average value of the spindle rotation speed is higher than the command spindle rotation speed (step S1: No), the numerical control device 1 controls the drive unit 7 to perform vibration cutting at a spindle rotation speed lower than the command spindle rotation speed (step S2). Specifically, the operation in step S2 is first performed by the spindle rotation speed selection unit 481 selecting a vibration cutting condition including a spindle rotation speed lower than the command spindle rotation speed from among vibration cutting conditions in which the vibration frequency per spindle rotation matches the command vibration frequency. When there are a plurality of vibration cutting conditions including a spindle rotation speed lower than the command spindle rotation speed, the spindle rotation speed selection unit 481 selects a vibration cutting condition in which the average value of the spindle rotation speed is closer to the command spindle rotation speed. Next, the waveform generating unit 482 generates a vibration waveform based on the spindle rotation speed included in the vibration cutting conditions selected by the spindle rotation speed selecting unit 481 and the vibration conditions obtained by the analysis processing unit 45 analyzing the machining program. Then, the vibration movement amount generating unit 483 generates a command vibration movement amount based on the vibration waveform and the tool movement path. Next, the acceleration / deceleration processing unit 49 generates a movement command per unit time based on the command vibration movement amount, and outputs the movement command per unit time to the driving unit 7 via the axis data input / output unit 50.
[0056] On the other hand, when the average value of the spindle rotation speed is equal to or lower than the command spindle rotation speed (step S1: Yes), the numerical control device 1 controls the drive unit 7 to perform vibration cutting at a spindle rotation speed higher than the command spindle rotation speed (step S3). Specifically, first, the spindle rotation speed selection unit 481 selects a vibration cutting condition including a spindle rotation speed higher than the command spindle rotation speed from among vibration cutting conditions in which the vibration frequency per spindle rotation matches the command vibration frequency. When there are a plurality of vibration cutting conditions including a spindle rotation speed higher than the command spindle rotation speed, the spindle rotation speed selection unit 481 selects a vibration cutting condition in which the average value of the spindle rotation speed is closer to the command spindle rotation speed. The operations of the waveform generation unit 482, the vibration movement amount generation unit 483, and the acceleration / deceleration processing unit 49 after the spindle rotation speed selection unit 481 selects the vibration cutting condition are the same as those of step S2 described above.
[0057] By repeatedly executing the operations according to the flowchart shown in FIG. 3 above by the numerical control device 1, the spindle rotation speed is selected as shown as (B) to (E) in FIG. 2, and the average value of the spindle rotation speed during vibration cutting approaches the command spindle rotation speed.
[0058] In the first step S1 executed after the start of the vibration cutting operation, the commanded spindle speed is used as the average value of the spindle speed. As a result, in the first operation, step S3 is executed following step S1, and the drive unit 7 is controlled to perform vibration cutting at a spindle speed higher than the commanded spindle speed, thereby reducing the effect of the actual machining time being longer than the machining time assumed when the operator created the machining program. In other words, the gap between the actual spindle speed and the commanded spindle speed intended by the operator when creating the machining program can be kept within a certain range.
[0059] As described above, when the numerical control device 1 according to the first embodiment causes the machine tool to perform vibration cutting, that is, when operating according to a vibration command that commands the vibration of the tool, it selects one of a plurality of vibration cutting conditions including a combination of a vibration frequency and a spindle rotation speed for each cutting command (vibration cutting), and rotates the spindle at the spindle rotation speed included in the selected vibration cutting condition. At this time, the numerical control device 1 selects the vibration cutting condition so that the average value of the spindle rotation speed approaches the command spindle rotation speed, which is the spindle rotation speed commanded by the rotation command. This minimizes the increase in the difference between the machining time assumed when the operator creates the machining program and the actual machining time due to the influence of vibration cutting, and improves the efficiency of vibration cutting.
[0060] Embodiment 2 In embodiment 2, a case is described in which vibration cutting is performed synchronized with the commanded spindle rotation speed by determining the start position of the vibration cutting waveform so that vibration cutting is performed for each cutting command in accordance with the rotation phase of the spindle.
[0061] Fig. 4 is a diagram showing a configuration example of a numerical control device 1a according to the second embodiment. In Fig. 4, the same components as those of the numerical control device 1 according to the first embodiment shown in Fig. 1 are denoted by the same reference numerals. In this embodiment, the description of the components denoted by the same reference numerals as those of the numerical control device 1 is omitted.
[0062] A numerical control device 1a according to the second embodiment includes an input operation unit 2, an output unit 3, and a control calculation unit 4a.
[0063] The control calculation unit 4a includes an input control unit 41, a data setting unit 42, a memory unit 43, an output control unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC circuit unit 47, an interpolation processing unit 48a, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50.
[0064] The interpolation processing unit 48 a includes a waveform generating unit 482 , a vibration movement amount generating unit 483 a , a main shaft reference phase calculating unit 484 , and a retraction start position determining unit 485 .
[0065] The vibration movement amount generating unit 483a generates command vibration movement amounts in each of the Z-axis and X-axis directions based on the vibration waveform generated by the waveform generating unit 482, the tool movement path, and information on the retraction start position generated by a retraction start position determining unit 485 described later.
[0066] The spindle reference phase calculation unit 484 calculates a reference phase difference for identifying the retreat start position at the start of vibration cutting.
[0067] The reverse start position determining unit 485 determines the reverse start position based on the reference phase difference calculated by the main shaft reference phase calculating unit 484, and generates information on the reverse start position.
[0068] The reference phase difference calculated by the spindle reference phase calculation unit 484 and the retract start position determined by the retract start position determination unit 485 in the control calculation unit 4a will be described with reference to FIG.
[0069] FIG. 5 is a diagram showing the relationship between the reference phase difference calculated in the control calculation unit 4a of the numerical control device 1a according to the second embodiment and the retreat start position. In FIG. 5, the relationship between the reference phase difference and the retreat start position is shown using a vibration cutting waveform, which is a waveform indicated by the command vibration movement amount generated by the vibration movement amount generating unit 483a. In FIG. 5, the vertical dashed line indicates one rotation of the spindle when the number of vibrations (times) per one rotation of the spindle is 0.5. In the example shown in FIG. 5, the spindle rotates twice while the tool vibrates once. That is, the spindle rotates once while the tool is moving forward, and the spindle rotates once while the tool is moving backward. Thus, in FIG. 5, in the vibration cutting waveform, the position where the forward movement is switched to the backward movement and the position where the backward movement is switched to the forward movement are set in accordance with the rotation phase of the spindle.
[0070] In this embodiment, as shown in the vibration cutting waveform in FIG. 5, (1) the movement amount per vibration, (2) the retreat amount, and (3) the advance amount are defined for the feed axis in vibration cutting. As shown in FIG. 5, the relationship of "(3) advance amount = (2) retreat amount + (1) movement amount per vibration" is established. Using this relationship, the spindle reference phase calculation unit 484 calculates the reference phase difference (5) shown in FIG. 5, and the retreat start position determination unit 485 determines the retreat start position (6) shown in FIG. 5. The (6) retreat start position indicates the position where the center point of vibration starts to retreat after the start of vibration cutting. Here, (1) the movement amount per vibration is the movement amount of the feed axis during each of the advancement and retreat of the tool. For example, when the time for which the tool advances and the time for which it retreats are the same, 1 / 2 of the movement amount occurs during the advancement of the tool, and the remaining 1 / 2 occurs during the retreat of the tool. In this case, the (4) amplitude shown in Fig. 5 is obtained by adding 1 / 2 of the (1) movement amount per vibration to the (2) retreat amount, or by subtracting 1 / 2 of the (1) movement amount per vibration from the (3) advance amount. The (2) retreat amount is the retreat amount of the feed axis per vibration, and the (3) advance amount is the advance amount of the feed axis per vibration. In Fig. 5, the solid straight line labeled "Advance position" indicates the movement path of the vibration advance position, and the dashed straight line labeled "Retract position" indicates the movement path of the vibration retreat position.
[0071] Fig. 6 is a flowchart showing an example of the operation of the control calculation unit 4a of the numerical control device 1a according to the second embodiment for calculating a reference phase difference and determining a retreat start position. When starting vibration cutting, the control calculation unit 4a of the numerical control device 1a executes the operation according to the flowchart shown in Fig. 6. When starting vibration cutting, it means that the analysis processing unit 45 analyzes the machining program and detects a command indicating the start of vibration cutting, and the interpolation processing unit 48a generates a command vibration movement amount according to this command.
[0072] When the control calculation unit 4a generates a command vibration movement amount, first, the spindle reference phase calculation unit 484 calculates the movement amount per one vibration (step S11). Specifically, the spindle reference phase calculation unit 484 calculates the movement amount per one vibration (1) shown in Fig. 5 based on the analysis results of the tool movement amount per time by the analysis processing unit 45 and the vibration frequency per one spindle rotation, which is one of the vibration conditions included in the vibration cutting command.
[0073] Next, the spindle reference phase calculation unit 484 calculates the amount of vibration retreat (step S12). Specifically, the spindle reference phase calculation unit 484 calculates the amount of retreat (2) shown in FIG. 5 from the amount of movement of the tool per unit time and the amplitude feed ratio.
[0074] Next, the spindle reference phase calculation unit 484 calculates the advance amount of the vibration based on the movement amount per vibration and the retreat amount of the vibration (step S13). Specifically, the spindle reference phase calculation unit 484 calculates the advance amount (3) shown in FIG. 5 based on the movement amount per vibration calculated in step S11 and the retreat amount of the vibration calculated in step S12.
[0075] Next, the spindle reference phase calculation unit 484 calculates the amplitude based on the movement amount per vibration and the forward amount of the vibration (step S14). Specifically, the spindle reference phase calculation unit 484 calculates the (4) amplitude shown in Fig. 5 based on the movement amount per vibration calculated in step S11 and the forward amount of the vibration calculated in step S13.
[0076] Next, the spindle reference phase calculation unit 484 calculates the reference phase difference of the spindle based on the amplitude and the feed movement amount per rotation (step S15). The feed movement amount per rotation is the movement amount of the feed axis while the spindle rotates once. Here, by starting vibration cutting with steady vibration with a constant amplitude from a position away from the vibration cutting start position, for example, from the initial position at the start of vibration cutting of the spindle rotation position shown in FIG. 5 by the reference phase difference of the spindle, it becomes possible to perform vibration cutting in accordance with the rotation phase of the spindle. That is, the spindle reference phase calculation unit 484 determines the start position of the vibration cutting waveform so that vibration cutting is performed for each cutting command in accordance with the rotation phase of the spindle. At this time, the vibration cutting start position determined may be, for example, the retreat start position as shown in FIG. 5, or may be the initial position where the movement of the forward position starts.
[0077] Next, the retraction start position determination unit 485 determines the retraction start position based on the above-mentioned reference phase difference of the spindle (step S16). Specifically, the retraction start position determination unit 485 determines the rotational position of the spindle at the time when the vibration retraction position starts to move based on the reference phase difference of the spindle calculated by the spindle reference phase calculation unit 484 in step S15.
[0078] The retract start position determined by the retract start position determination unit 485 is used in a command vibration movement amount generation process by the vibration movement amount generation unit 483a. That is, the vibration movement amount generation unit 483a generates a command vibration movement amount so that the vibration retract position starts moving from the retract start position determined by the retract start position determination unit 485.
[0079] As described above, in the numerical control device 1a according to the second embodiment, the vibration movement amount generating unit 483a generates a command vibration movement amount of the feed axis so that the phase of the vibration cutting waveform and the rotation phase of the spindle are synchronized in the interpolation processing unit 48a, and controls the machine tool. Therefore, the vibration cutting waveform can always follow the command spindle rotation speed. In other words, no matter what spindle rotation speed is commanded, vibration cutting can be performed in synchronization with the commanded spindle rotation speed. In other words, it becomes possible to perform vibration cutting in the machining time assumed when the operator creates the machining program.
[0080] In addition, general machine tools have a function to issue an alert and stop machining operations when a spindle rotation speed exceeding a specified upper limit value of the spindle rotation speed is commanded. However, according to the numerical control device 1a, vibration cutting is controlled at the spindle rotation speed commanded by the machining program, so that an alert can be prevented from being issued during vibration cutting, which would stop the machining operation.
[0081] Embodiment 3 In the second embodiment, in order to generate a vibration cutting waveform for performing vibration cutting synchronized with the commanded spindle rotation speed, the spindle reference phase calculation unit 484 calculates the movement amount per vibration, the vibration retreat amount, and the vibration advance amount, and calculates the vibration amplitude using the calculated movement amount per vibration and vibration advance amount. In the third embodiment, for example, a case will be described in which the rotation amount per vibration and the feed movement amount per rotation are obtained from a vibration cutting command, and the vibration amplitude is calculated based on the obtained rotation amount per vibration and feed movement amount per rotation.
[0082] Fig. 7 is a diagram showing a configuration example of a numerical control device 1b according to a third embodiment. In Fig. 7, the same components as those of the numerical control device 1 according to the first embodiment shown in Fig. 1 are denoted by the same reference numerals. In this embodiment, the description of the components denoted by the same reference numerals as those of the numerical control device 1 is omitted.
[0083] A numerical control device 1b according to the third embodiment includes an input operation unit 2, an output unit 3, and a control calculation unit 4b.
[0084] The control calculation unit 4b includes an input control unit 41, a data setting unit 42, a memory unit 43, an output control unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC circuit unit 47, an interpolation processing unit 48b, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50.
[0085] The interpolation processing unit 48b includes a waveform generating unit 482, a vibration movement amount generating unit 483a, a spindle reference phase calculating unit 484b, and a retraction start position determining unit 485. Note that the processing of the vibration movement amount generating unit 483a included in the interpolation processing unit 48b is similar to that of the vibration movement amount generating unit 483a included in the interpolation processing unit 48a of the numerical control device 1a according to the second embodiment, and therefore a description thereof will be omitted.
[0086] The spindle reference phase calculation unit 484b calculates the reference phase difference in a method different from that of the spindle reference phase calculation unit 484 of the numerical control device 1a according to the second embodiment.
[0087] The reference phase difference calculated by the spindle reference phase calculation section 484b in the control calculation section 4b and the retract start position determined by the retract start position determination section 485 will be described with reference to FIG.
[0088] Fig. 8 is a diagram showing the relationship between the reference phase difference and the retreat start position calculated by the control calculation unit 4b of the numerical control device 1b according to the third embodiment. In Fig. 8, the relationship between the reference phase difference and the retreat start position is shown using a vibration cutting waveform, similar to Fig. 5 used in the explanation of the second embodiment. In the example shown in Fig. 8, the spindle rotates two times while the tool vibrates once, similar to Fig. 5.
[0089] In this embodiment, (4a) amplitude, (5a) reference phase difference, and (6a) retraction start position are defined as shown in Fig. 8. In this embodiment, the forward and backward amounts of vibration and the movement amount of the feed axis per vibration used in the second embodiment are not taken into consideration.
[0090] Fig. 9 is a flowchart showing an example of an operation performed by the control calculation unit 4b of the numerical control device 1b according to the third embodiment to calculate a reference phase difference and determine a retreat start position. In Fig. 9, the same step numbers are used for processes common to the flowchart shown in Fig. 6. That is, the control calculation unit 4b executes step S21 instead of steps S11 to S14 shown in Fig. 6 to find the amplitude.
[0091] In the operation of the control calculation unit 4b to calculate the reference phase difference and determine the retreat start position, first, the spindle reference phase calculation unit 484b calculates the amplitude based on the rotation amount per vibration and the feed movement amount per rotation (step S21). Specifically, the spindle reference phase calculation unit 484b multiplies the rotation amount per vibration and the feed movement amount per rotation to obtain the (4a) amplitude shown in FIG. 8. The rotation amount per vibration is the number of rotations of the spindle during one vibration of the tool in vibration cutting, and is two rotations in the example shown in FIG. 8. Steps S15 and S16 following step S21 are the same as those in the second embodiment, so their explanation will be omitted.
[0092] In this way, the numerical control device 1b according to the third embodiment generates a vibration cutting waveform so that the phase of the vibration cutting waveform and the rotation phase of the spindle are synchronized, similarly to the numerical control device 1a according to the second embodiment, and therefore can obtain the same effect as the numerical control device 1a according to the second embodiment. In addition, the numerical control device 1b according to the third embodiment does not need to calculate the amount of vibration retreat and the amount of vibration advance as in the second embodiment, so that the calculation load on the numerical control device 1b can be reduced compared to the second embodiment. In addition, when the cutting tool is changed and the same place is machined two or more times, the vibration frequency per one spindle revolution, which is one of the vibration conditions included in the vibration cutting command, may be changed. At this time, in the above-mentioned second embodiment, since the vibration frequency per one spindle revolution is included in the calculation elements of the amplitude and the reference phase difference, the start position of the vibration cutting may change due to the influence of the change in the vibration frequency per one spindle revolution, and the machining surface accuracy may decrease. On the other hand, in the third embodiment, the vibration frequency per one spindle revolution, which is one of the vibration conditions included in the vibration cutting command, is not included in the calculation elements of the amplitude and the reference phase difference, and since it is not influenced by the change in the vibration frequency per one spindle revolution, the deterioration of the machining surface accuracy can be suppressed. In addition, in the above-mentioned embodiment 2, the vibration frequency per spindle revolution is included in the amplitude calculation elements, so the amplitude must be adjusted taking into account changes in the vibration frequency per spindle revolution, making the amplitude adjustment difficult. On the other hand, in embodiment 3, the vibration frequency per spindle revolution, which is one of the vibration conditions included in the vibration cutting command, is not included in the amplitude calculation elements, so that the amplitude adjustment can be made easier because it is not necessary to take changes in the vibration frequency per spindle revolution into account when adjusting the amplitude.
[0093] Embodiment 4 Fig. 10 is a diagram showing a configuration example of a numerical control device 1c according to a fourth embodiment. In Fig. 10, the same components as those of the numerical control device 1 according to the first embodiment shown in Fig. 1 are denoted by the same reference numerals. In this embodiment, the description of the components denoted by the same reference numerals as those of the numerical control device 1 is omitted.
[0094] A numerical control device 1c according to the fourth embodiment includes an input operation unit 2, an output unit 3, and a control calculation unit 4c.
[0095] The control calculation unit 4c includes an input control unit 41, a data setting unit 42c, a memory unit 43, an output control unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC circuit unit 47, an interpolation processing unit 48c, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50.
[0096] The data setting unit 42c includes a spindle rotation speed range setting unit 421 that sets the range of the spindle rotation speed during vibration cutting. The range of the spindle rotation speed during vibration cutting is set, for example, by an operator. That is, the input operation unit 2 accepts a setting operation of the range of the spindle rotation speed during vibration cutting from the operator, and the spindle rotation speed range setting unit 421 of the data setting unit 42c sets the range of the spindle rotation speed during vibration cutting.
[0097] FIG. 11 is a flowchart showing an example of the operation of the spindle rotation speed selection unit 481c of the numerical control device 1c according to the fourth embodiment.
[0098] As shown in FIG. 11, the spindle rotation speed selection unit 481c sets an upper limit value of the spindle rotation speed (step S31). In this step S31, the operator operates the input operation unit 2 to set an upper limit value of the spindle rotation speed during vibration cutting. The upper limit value is set, for example, based on a value such as command spindle rotation speed + 2% or command spindle rotation speed + 100 r / min. The spindle rotation speed selection unit 481c receives the upper limit value of the spindle rotation speed set by the operator from the input control unit 41, and writes it into the parameter storage area 431 of the storage unit 43. The upper limit value of the spindle rotation speed may be determined based on the specifications of the machine tool controlled by the numerical control device 1c.
[0099] The interpolation processing unit 48 b includes a spindle rotation speed selection unit 481 c, a waveform generation unit 482, and a vibration movement amount generation unit 483.
[0100] The spindle rotation speed selection unit 481c selects the rotation speed of the spindle during vibration cutting. Like the spindle rotation speed selection unit 481 according to the first embodiment, the spindle rotation speed selection unit 481c selects one of a plurality of spindle rotation speed candidates stored in the parameter storage area 431 as a parameter related to vibration cutting. At this time, the spindle rotation speed selection unit 481c selects the spindle rotation speed so as not to exceed the upper limit value set by the spindle rotation speed range setting unit 421.
[0101] A specific example of the operation of the spindle rotation speed selection unit 481c to select a spindle rotation speed will be described with reference to Fig. 12. Fig. 12 is a diagram showing an example of a list of vibration cutting conditions that can be used when the numerical control device 1c according to the fourth embodiment controls vibration cutting.
[0102] As an example, the operation will be described when the range set by the spindle rotation speed range setting unit 421 is set to "command spindle rotation speed + 2% or less", the command spindle rotation speed is 3700 r / min, and the command vibration count is 0.5 times. In this case, as shown in Fig. 12, in the first cutting command (vibration cutting) after (a) 3700 r / min is commanded, the spindle rotation speed selection unit 481c selects a vibration cutting condition of (b) 3750 r / min, which is less than the upper limit 3774 r / min of the range set by the spindle rotation speed range setting unit 421. In the subsequent cutting commands (vibration cutting), the spindle rotation speed selection unit 481c selects a vibration cutting condition from among vibration cutting conditions with a spindle rotation speed of 3774 r / min or less such that the average value of the spindle rotation speed approaches the command spindle rotation speed of 3700 r / min.
[0103] Fig. 13 is a flowchart showing an example of a control operation in which the numerical control device 1c according to the fourth embodiment causes the machine tool to perform vibration cutting. In Fig. 13, the same step numbers are assigned to processes common to the flowchart shown in Fig. 3 used in the description of the numerical control device 1 according to the first embodiment. That is, the numerical control device 1c controls the machine tool by executing step S4 instead of step S3 shown in Fig. 3. Steps S1 and S2 shown in Fig. 13 are similar to steps S1 and S2 in Fig. 3 executed by the numerical control device 1 according to the first embodiment, and therefore will not be described.
[0104] When the average value of the spindle rotation speed is equal to or lower than the command spindle rotation speed (step S1: Yes), the numerical control device 1c controls the driving unit 7 to perform vibration cutting at a spindle rotation speed higher than the command spindle rotation speed and equal to or lower than the upper limit (step S4). Specifically, the spindle rotation speed selection unit 481c selects a vibration cutting condition including a spindle rotation speed higher than the command spindle rotation speed and equal to or lower than the upper limit from among vibration cutting conditions in which the vibration frequency per spindle rotation matches the command vibration frequency. When there are a plurality of vibration cutting conditions including a spindle rotation speed higher than the command spindle rotation speed and equal to or lower than the upper limit, the spindle rotation speed selection unit 481c selects a vibration cutting condition in which the average value of the spindle rotation speed is closer to the command spindle rotation speed. The operations after the spindle rotation speed selection unit 481c selects the vibration cutting condition, that is, the operations of the waveform generation unit 482, the vibration movement amount generation unit 483, and the acceleration / deceleration processing unit 49 are the same as those in the first embodiment, and therefore will not be described.
[0105] As described above, when performing vibration cutting, the numerical control device 1c according to the fourth embodiment selects one of the predetermined vibration cutting conditions for each cutting command (vibration cutting) and rotates the spindle at the spindle rotation speed included in the selected vibration cutting condition. At this time, the numerical control device 1c selects the vibration cutting conditions so that the average value of the spindle rotation speed approaches the command spindle rotation speed, which is the spindle rotation speed commanded by the rotation command, while taking into consideration that the spindle rotation speed is equal to or lower than a preset upper limit value. As a result, as in the first embodiment described above, the increase in the difference between the machining time assumed by the operator when creating the machining program and the actual machining time can be minimized, and efficiency improvement in vibration cutting can be achieved. In addition, it is possible to prevent the spindle rotation speed during vibration cutting from exceeding the upper limit value allowed by the machine tool, causing an alert to be generated and the machining operation to stop.
[0106] Next, the hardware configuration of the control calculation unit (control calculation unit 4, 4a, 4b, 4c) included in the numerical control device (numerical control devices 1, 1a, 1b, 1c) explained in each embodiment will be described. Since the hardware configuration of the control calculation unit included in the numerical control device explained in each embodiment is the same, the hardware configuration of the control calculation unit 4 included in the numerical control device 1 according to the first embodiment will be described as an example.
[0107] FIG. 14 is a diagram illustrating an example of a hardware configuration of the control calculation unit 4 included in the numerical control device 1 according to the first embodiment.
[0108] The control calculation unit 4 is realized by a control circuit 100 shown in Fig. 14. The control circuit 100 includes a processor 101 and a memory 102. The control circuit 100 is a circuit in which the processor 101 executes software.
[0109] The control calculation unit 4 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 102. In the control circuit 100, the processor 101 reads and executes the program stored in the memory 102 to realize each function of the control calculation unit 4. That is, the control circuit 100 includes the memory 102 for storing a program that will result in the processing of the control calculation unit 4 being executed. This program is a numerical control program that causes a computer to execute the procedures and methods of the control calculation unit 4. The memory 102 is also used as a temporary memory when the processor 101 executes various processes.
[0110] The processor 101 is a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, a microcomputer, a processor, a DSP (Digital Signal Processor), a system LSI (Large Scale Integration), etc. The memory 102 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), or a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc), etc.
[0111] The program executed by the processor 101 may be a computer program product having a computer-readable and non-transitory recording medium including a plurality of instructions executable by a computer to perform data processing. The program executed by the processor 101 causes the computer to execute the plurality of instructions to perform data processing.
[0112] The control and calculation unit 4 may be realized by dedicated hardware. Also, some of the functions of the control and calculation unit 4 may be realized by dedicated hardware, and other parts of the functions of the control and calculation unit 4 may be realized by software or firmware.
[0113] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or the embodiments may be combined with each other. Also, parts of the configurations may be omitted or modified without departing from the spirit of the invention. [Explanation of symbols]
[0114] 1, 1a, 1b, 1c numerical control device, 2 input operation section, 3 output section, 4, 4a, 4b, 4c control calculation section, 7 drive section, 41 input control section, 42, 42c data setting section, 43 memory section, 44 output control section, 45 analysis processing section, 46 control signal processing section, 47 PLC circuit section, 48, 48a, 48b, 48c interpolation processing section, 49 acceleration / deceleration processing section, 50 axis data input / output section, 71s spindle motor, 71x, 71z servo motor, 72s, 72x, 72z detector, 73s spindle control section, 73x, 73z servo control section, 421 spindle rotation speed range setting section, 431 parameter storage area, 432 machining program storage area, 433 display data storage area, 434 shared area, 481, 481c spindle rotation speed selection section, 482 Waveform generating unit, 483, 483a vibration movement amount generating unit, 484, 484b spindle reference phase calculating unit, 485 retraction start position determining unit.
Claims
1. A numerical control device that causes a machine tool to perform vibration cutting, an acquisition unit that acquires a plurality of vibration cutting conditions including combinations of vibration frequencies and spindle rotation speeds at which the vibration cutting can be performed; a spindle rotation speed selection unit that, when the vibration cutting is instructed, selects, for each cutting command, one of the spindle rotation speeds included in the plurality of vibration cutting conditions acquired by the acquisition unit, based on a vibration frequency of the commanded vibration cutting and a command spindle rotation speed that is the rotation speed of the spindle commanded by a rotation command; Equipped with the spindle rotation speed selection unit selects a spindle rotation speed when the vibration cutting is performed so that an average value of a previously selected spindle rotation speed and a currently selected spindle rotation speed approaches an average value of the command spindle rotation speed. A numerical control device comprising:
2. a spindle rotation speed range setting unit that sets an upper limit of the spindle rotation speed during vibration cutting; Equipped with the spindle rotation speed selection unit, when selecting a spindle rotation speed for vibration cutting, selects a spindle rotation speed equal to or lower than the upper limit value set by the spindle rotation speed range setting unit.
2. The numerical control device according to claim 1 .
3. A numerical control method for causing a machine tool to perform vibration cutting by a numerical control device, comprising: acquiring a plurality of vibration cutting conditions including combinations of vibration frequencies and spindle rotation speeds capable of executing the vibration cutting; a selection step of selecting, for each cutting command, one of the spindle rotation speeds included in the plurality of vibration cutting conditions acquired in the acquisition step, based on a vibration frequency of the commanded vibration cutting and a command spindle rotation speed, which is the rotation speed of the spindle commanded by a rotation command, when the vibration cutting is commanded; Including, In the selection step, a spindle rotation speed when the vibration cutting is performed is selected so that an average value of a previously selected spindle rotation speed and a currently selected spindle rotation speed approaches an average value of the command spindle rotation speed. A numerical control method comprising:
Citation Information
Patent Citations
Machine tool control device and machine tool
JP2020112985A
Vibration cutting condition setting device for machine tool
JP2023000009A
Numerical control apparatus
WO2016084171A1
Numerical control device, machine tool, and numerical control method
WO2020084771A1
Fixing method of diaphragm in diaphragm device
JP1984001871A