Numerical control device and numerical control method

The numerical control device optimizes vibratory cutting efficiency by selecting spindle rotation speeds that align with commanded speeds, addressing inefficiencies caused by speed discrepancies in vibratory cutting.

DE112023006734T5Pending Publication Date: 2026-05-21MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112023006734
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

In vibratory cutting operations, machining efficiency is compromised when the spindle rotation speed differs from the specified speed, leading to increased machining time, particularly when the actual speed is lower than intended, affecting production management and efficiency.

Method used

A numerical control device that detects multiple vibration cutting conditions and selects a spindle rotation speed for each cutting command to approximate the commanded speed, minimizing the difference between commanded and actual speeds, thereby optimizing machining time.

Benefits of technology

The solution improves machining efficiency by reducing the discrepancy between assumed and actual machining times, enhancing productivity in vibratory cutting operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A numerical control device (1) that causes a machine tool to perform vibratory cutting comprises: an input control unit (41) that detects a plurality of vibratory cutting conditions, which include a combination of a vibration frequency and a spindle rotational speed at which vibratory cutting is feasible; and a spindle rotational speed selection unit (481) that, when vibratory cutting is commanded, selects one of the spindle rotational speeds included in the plurality of vibratory cutting conditions detected by the input control unit (41) for each cutting command based on a vibration frequency of the commanded vibratory cutting and a commanded spindle rotational speed, which is a rotational speed of a spindle commanded by a rotation command.When vibratory cutting is performed, the spindle rotation speed selection unit (481) selects a spindle rotation speed such that an average of the selected spindle rotation speeds approximates an average of the commanded spindle rotation speeds.
Need to check novelty before this filing date? Find Prior Art

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 a cutting operation. background

[0002] A machine tool performing a cutting operation cuts a workpiece by setting a tool and the workpiece in relative motion while maintaining contact between the tool and the workpiece. When cutting a surface of the workpiece, vibratory cutting is sometimes used, in which the cutting occurs while the tool vibrates at a low frequency. In vibratory cutting, the vibration period of the tool is synchronized with the rotational speed of a spindle. With vibratory cutting, it is possible to cut the workpiece and simultaneously produce chips by creating a section in the tool's path of motion where the cutting action is interrupted.By cutting the chips into small pieces, a reduction in machining accuracy caused by chips becoming entangled with the workpiece or the tool can be prevented. Furthermore, cutting the chips into small pieces reduces scratches on the workpiece caused by contact between the chips and the workpiece.

[0003] Patent literature 1 discloses a numerical control device that prepares several vibration conditions, including a combination of a vibration frequency of the vibration cutting and a spindle rotation speed, selects a vibration condition at the start of the vibration cutting which includes a spindle rotation speed which is closest to a commanded spindle rotation speed in order to avoid an invalid frequency range which specifies a frequency range in which a vibration frequency of the vibration cutting cannot be set as a vibration frequency of the vibration cutting, and controls the vibration cutting on the basis of the selected vibration condition. List of patent literature

[0004] Patent literature 1: Japanese patent no. 5 901 871 Overview of the invention Technical problem

[0005] As described above, when vibratory cutting is performed and the machining is carried out at a spindle rotation speed that differs from the spindle rotation speed specified by a machining program, the difference between the machining time assumed by the operator when generating the machining program and the actual machining time also increases with the increasing difference between the specified spindle rotation speed and the spindle rotation speed actually set for the machine tool. In particular, if a vibration setting is selected for a spindle rotation speed lower than the specified spindle rotation speed, the machining time increases, making it desirable from a production management and efficiency perspective to reduce the machining time.

[0006] The present disclosure was made in view of the foregoing and its objective is to provide a numerical control device capable of improving efficiency in vibration cutting operations. Solution to the problem

[0007] To solve the problems described above and to achieve the goal, a numerical control device according to the present disclosure causes a machine tool to perform a vibratory cutting operation.The numerical control device comprises: a detection unit for detecting a plurality of vibration cutting conditions, which include a combination of a vibration frequency and a spindle rotation speed at which vibration cutting is feasible; and a spindle rotation speed selection unit, for selecting, when vibration cutting is commanded, one of the spindle rotation speeds included in the plurality of vibration cutting conditions detected by the detection unit for each cutting command, based on a vibration frequency of the commanded vibration cutting and a commanded spindle rotation speed, which is a rotation speed of a spindle commanded by a rotation command.When vibratory cutting is performed, the spindle rotation speed selection unit selects a spindle rotation speed such that an average value of the selected spindle rotation speeds approximates an average value of the commanded spindle rotation speeds. Advantageous effects of the invention

[0008] A numerical control device according to the present disclosure achieves an effect such that it is possible to improve efficiency in vibration cutting by performing the vibration cutting taking into account a difference between a commanded spindle rotation speed and a spindle rotation speed actually set in a machine tool. Brief description of the drawings Fig. Figure 1 is a diagram showing an exemplary configuration of a numerical control device according to a first embodiment. Fig. Figure 2 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 the vibration cutting operation. Fig. Figure 3 is a flowchart showing an example of a control operation in which the numerical control device according to the first embodiment causes a machine tool to perform a vibratory cutting operation. Fig. Figure 4 is a diagram showing an exemplary configuration of a numerical control device according to a second embodiment. Fig. Figure 5 is a diagram showing a relationship between a reference phase difference calculated by a control calculation unit of the numerical control device according to the second embodiment and a retraction start position. Fig. Figure 6 is a flowchart showing an example of a process in which the control calculation unit of the numerical control device according to the second embodiment calculates a reference phase difference and determines a retraction start position. Fig. Figure 7 is a diagram showing an exemplary configuration of a numerical control device according to a third embodiment. Fig. Figure 8 is a diagram showing a relationship between a reference phase difference calculated by a control calculation unit of the numerical control device according to the third embodiment and a retraction start position. Fig. Figure 9 is a flowchart showing an example of a process in which the control calculation unit of the numerical control device according to the third embodiment calculates a reference phase difference and determines a retraction start position. Fig. Figure 10 is a diagram showing an exemplary configuration of a numerical control device according to a fourth embodiment. Fig. Figure 11 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. Fig. Figure 12 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 the vibration cutting operation. Fig. Figure 13 is a flowchart showing an example of a control operation in which the numerical control device according to the fourth embodiment causes a machine tool to perform a vibratory cutting operation. Fig. Figure 14 is a diagram showing an exemplary hardware configuration of the control calculation unit included in the numerical control device according to the first embodiment. Description of the embodiments

[0009] In the following, a numerical control device and a numerical control method according to each embodiment of the present disclosure are described in detail with reference to the drawings. First embodiment.

[0010] Fig. Figure 1 is a diagram showing an exemplary configuration of a numerical control device 1 according to a first embodiment. The numerical control device (NC device) 1 is a computer that controls a machine tool performing a cutting operation. The machine tool controlled by the numerical control device 1 performs a machining operation including vibratory cutting. The machine tool performs the vibratory cutting by causing a drive mechanism to vibrate a driven object.

[0011] The numerical control device 1 comprises an input operating unit 2, an output unit 3 and a control calculation unit 4. Fig. Figure 1 shows the numerical control device 1 and a drive unit 7, which is part of the machine tool. The drive unit 7 is connected to the control processing 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 commands to the drive unit 7. It should be noted that the drive unit 7 can be an independent element of the machine tool.

[0012] The machine tool is an NC machine tool. The machine tool cuts a workpiece by moving a tool and the workpiece relative to each other while bringing the tool into contact with the workpiece. By cutting, the machine tool removes an unnecessary portion of the workpiece to machine it into a target shape. In the first embodiment, the machine tool machines the workpiece using the tool, while the tool and the workpiece are moved relative to each other by one or more drive axes. In the first embodiment, for example, the machine tool machines the workpiece by moving the tool in two directions, namely in an X-axis direction and a Z-axis direction, through the drive unit 7, while the workpiece is rotated by the drive unit 7. An X-axis is, for example, an axis in the vertical direction.A Z-axis, for example, is an axis parallel to a horizontal plane. The X-axis and the Z-axis are perpendicular to each other. The X-axis is not limited to the vertical direction, and the Z-axis is not limited to the axis parallel to the horizontal plane. The X-axis and the Z-axis can be appropriately defined according to the configuration of the machine tool.

[0013] The drive unit 7 comprises a servo motor 71x, a detector 72x, and a servo control unit 73x. The servo motor 71x forms an X-axis drive mechanism. The X-axis drive mechanism is a drive mechanism that drives the tool for cutting the workpiece or the workpiece itself in the X-axis direction. In the first embodiment, the X-axis drive mechanism is a drive mechanism that drives the tool in the X-axis direction. The servo motor 71x is a power source for the X-axis drive mechanism. The detector 72x detects the rotational position and 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.

[0014] The numerical control device 1 issues a command to the servo control unit 73x to drive the tool in the X-axis direction. The servo control unit 73x performs feedback control (FB control) of the servo motor 71x based on the command from the numerical control device 1 and the position and velocity information from the detector 72x. The drive unit 7 actuates the tool in the X-axis direction via the FB control of the servo motor 71x. Additionally, the drive unit 7 outputs the position information acquired by the detector 72x during vibratory cutting to the numerical control device 1, thus providing information that specifies a vibration motion magnitude in the X-axis direction. The vibration motion magnitude is the movement of the tool relative to the workpiece during vibratory cutting.In the following, the information about the vibration motion quantity output by the drive unit 7 to the numerical control device 1 is referred to as FB vibration motion quantity. This means that the drive unit 7 outputs the FB vibration motion quantity in the X-axis direction to the numerical control device 1.

[0015] Furthermore, the drive unit 7 comprises a servo motor 71z, a detector 72z, and a servo control unit 73z. The servo motor 71z forms a Z-axis drive mechanism. The Z-axis drive mechanism is a drive mechanism that drives the tool for cutting the workpiece or the workpiece itself in the Z-axis direction. In the first embodiment, the Z-axis drive mechanism is a drive mechanism that drives the tool in the Z-axis direction. The servo motor 71z is a power source for the Z-axis drive mechanism. The detector 72z detects the rotational position and 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.

[0016] The numerical control device 1 issues a command to the servo control unit 73z to drive the tool in the Z-axis direction. The servo control unit 73z performs function block (FB) control of the servo motor 71z based on the command from the numerical control device 1 and the position and velocity information from the detector 72z. The drive unit 7 actuates the tool in the Z-axis direction by means of the FB control of the servo motor 71z. Furthermore, the drive unit 7 outputs the position information acquired by the detector 72z during vibratory cutting to the numerical control device 1, thereby outputting a FB vibration motion value in the Z-axis direction to the numerical control device 1.

[0017] The machine tool comprises one, two, or more tool holders. The drive mechanism drives the tool holder and the tool. The tool holder and the tool are objects to be driven by the drive mechanism. The tool is attached to the tool holder. The drive unit 7 comprises a set of servomotors 71x and 71z, detectors 72x and 72z, and servo control units 73x and 73z for each tool holder.

[0018] Furthermore, the drive unit 7 comprises a spindle motor 71s, a detector 72s, and a spindle control unit 73s. The spindle motor 71s rotates a spindle. The spindle is an axis that rotates the workpiece. The detector 72s detects the rotational position and 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.

[0019] The numerical control device 1 issues 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 and speed information from the detector 72s. The drive unit 7 causes a rotational movement of the workpiece by means of the FB control of the spindle motor 71s.

[0020] The machine tool can be a machine that processes one workpiece or a machine that processes two or more workpieces simultaneously. If it is a machine tool that processes two or more workpieces simultaneously, the drive unit 7 comprises two or more sets of the spindle motor 71s, the detector 72s, and the spindle control unit 73s. If it is a machine tool that processes two or more workpieces simultaneously, the machine tool includes, for example, two or more tool holders.

[0021] The input control unit 2 is an input device for entering information into the control processing unit 4. The input control unit 2 comprises, for example, a device such as a keyboard, a touch panel, a button, or a mouse. The input control unit 2 is operated, for example, by a machine tool operator or a machine tool maintenance technician. The input control unit 2 receives information such as a command, a machining program number, or a parameter related to vibratory cutting and forwards the received information to the control processing unit 4. The machining program number is information that identifies one of the machining programs stored in a machining program memory area 432 of the memory unit 43, which will be described later.

[0022] Output unit 3 is an output device for displaying information processed by control unit 4. Output unit 3 includes, for example, a display device such as a liquid crystal display. Output unit 3 displays the information processed by control unit 4 on a screen. Output unit 3 is not limited to a unit that includes the display device. Output unit 3 can include an audio device such as a loudspeaker. Alternatively, output unit 3 can be a unit that outputs information to a device outside of numerical control device 1. For example, numerical control device 1 can be connected to a network, and output unit 3 can transmit information over the network to a network-connected display device or computer.

[0023] The control calculation unit 4 comprises 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 switching unit 47 (PLC: programmable logic controller), an interpolation processing unit 48, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50. In the Fig. In the configuration shown in Figure 1, the PLC switching unit 47 is located inside the control calculation unit 4, but the PLC switching unit 47 can also be located outside the control calculation unit 4.

[0024] The input control unit 41 receives information input from the input operating 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 memory unit 43. This means that the input information received from the input operating unit 2 is written to the memory unit 43 via the input control unit 41 and the data setting unit 42.

[0025] The storage unit 43 is a device that stores data, for example, non-volatile memory or a hard disk. The storage unit 43 comprises a parameter memory area 431, the processing program memory area 432, a display data memory area 433, and a common area 434.

[0026] Parameter memory area 431 stores various parameters used in processes performed by the control unit 4. Specifically, control parameters for the operation of the numerical control device 1, servo parameters, tool data, and parameters related to vibratory cutting, etc., are stored in parameter memory area 431. Regarding the number of vibrations per spindle rotation (vibrations), the spindle rotation speeds (rpm), and the vibration frequencies (Hz), which are stored in the Fig. 2 and Fig. As shown in Figure 12, the conditions under which the control calculation unit 4 can perform vibratory cutting (conditions under which chips can be broken off) are calculated in advance and stored in parameter area 431 as vibratory cutting conditions. The conditions under which vibratory cutting can be performed are calculated by the operator. The conditions calculated by the operator are acquired by the input control 41, which acts as a detection unit that records the vibratory cutting conditions, and written to parameter memory area 431 by the data setting unit 42.

[0027] Machining program memory area 432 contains a machining program, which is an NC program used to machine the workpiece. The machining program stored in machining program memory area 432 comprises one or more blocks. In the first embodiment, the machining program includes various commands, such as a motion command, which is a command to move the tool; a rotation command, which is a command to rotate the spindle; and a vibration command, which is a command to vibrate the tool. The rotation command includes a parameter that controls the rotational speed of the spindle. The vibration command includes a parameter that relates to the vibration of the tool. Examples of parameters relating to tool vibration are amplitude and the number of vibrations.The number of vibrations is, for example, the number of vibrations per rotation of the spindle.

[0028] Display data memory area 433 stores screen display data, which is data from a screen to be displayed by output unit 3.

[0029] In common area 434, data is stored that is temporarily used by the control calculation unit 4 during the execution of each process. For example, the processing program number received by the input control unit 2 is written to common area 434 of storage unit 43 via the input control unit 41 and the data setting unit 42.

[0030] The output control unit 44 causes the output unit 3 to display the screen display data stored in the display data memory area 433 of the memory unit 43.

[0031] In the control calculation unit 4, the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48 are interconnected via the storage unit 43, and information is written to and read from the storage unit 43. In the following description of the writing and reading of information between the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48, the fact that this writing and reading occurs via the storage unit 43 can be omitted.

[0032] The analysis processing unit 45 is connected to the storage unit 43. The analysis processing unit 45 refers to the processing program number written in the common area 434. When the analysis processing unit 45 references the processing program number whose selection was received from the input control unit 2 and which is written in the common area 434, the analysis processing unit 45 reads a processing program specified in the selected processing program number from the processing program storage area 432 and performs an analysis process for each block of the processing program, i.e., each line of the processing program.The analysis processing unit 45 analyzes various codes, such as an S-code, which is a command for the rotational speed of the spindle motor 71s; a G-code, which is a command relating, for example, to the axis movement, i.e., the movement of the tool; and an M-code, which is a machine operating command. Upon completion of the analysis process for each line of the machining program, the analysis processing unit 45 writes the analysis results of the various codes to the common area 434.

[0033] If the S-code is included in the machining program, the analysis processing unit 45 analyzes the S-code included in the machining program and thus determines the spindle rotational speed. The analysis processing unit 45 writes the determined rotational speed to the common area 434.

[0034] When the G-code is included in the machining program, the analysis processing unit 45 analyzes the G-code and thus captures the motion conditions, which are tool feed conditions. These motion conditions include the speed at which the tool carrier moves in the X-axis and Z-axis directions, as well as the position of the tool carrier after the movement in the X-axis and Z-axis directions. The analysis processing unit 45 writes the captured motion conditions to the common area 434.

[0035] If the G-code for vibratory cutting is included in the machining program, the analysis processing unit 45 further analyzes the G-code included in the machining program and captures the vibration conditions, which are the conditions for vibration during vibratory cutting. The vibration conditions include, for example, the number of vibrations per spindle rotation and an amplitude feed ratio. The number of vibrations per spindle rotation is, for example, the number of vibrations of the tool during one rotation of the spindle during vibratory cutting. The amplitude feed ratio is a ratio between the magnitude of the vibration amplitude and the range of motion of the tool per vibration. The analysis processing unit 45 writes the captured vibration conditions to the common area 434.

[0036] The control signal processing unit 46 is connected to the PLC switching unit 47 and receives signal information from the PLC switching unit 47, for example, from a relay for operating the machine tool. The control signal processing unit 46 writes the received signal information to the common area 434.

[0037] The interpolation processing unit 48 is connected to the storage unit 43 and the acceleration / deceleration processing unit 49. When the motion conditions and vibration conditions are written to the common area 434, the interpolation processing unit 48 reads the motion conditions and vibration conditions from the common area 434. Based on the read motion conditions and vibration conditions, the interpolation processing unit 48 generates a commanded vibration motion quantity in the X-axis direction, which is a command for a vibration motion quantity in the X-axis direction, and a commanded vibration motion quantity in the Z-axis direction, which is a command for a vibration motion quantity in the Z-axis direction.Hereinafter, the commanded vibration motion magnitude in the X-axis direction and the commanded vibration motion magnitude in the Z-axis direction are collectively referred to as the commanded vibration motion magnitude. The interpolation processing unit 48 writes the generated commanded vibration motion magnitude to the common area 434 and outputs the generated commanded vibration motion magnitude to the acceleration / deceleration processing unit 49.

[0038] 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 receives the commanded vibration motion quantity from the interpolation processing unit 48 and converts the commanded vibration motion quantity into a motion command per unit of time, taking into account the acceleration / deceleration according to a predefined acceleration / deceleration pattern. The acceleration / deceleration processing unit 49 outputs the motion command per unit of time to the axis data input / output unit 50.

[0039] 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 receives the motion command per unit of time from the acceleration / deceleration processing unit 49 and outputs the motion command per unit of time to the drive unit 7. Furthermore, the axis data input / output unit 50 acquires the FB vibration motion amplitude from the drive unit 7 and outputs the FB vibration motion amplitude to the acceleration / deceleration processing unit 49. Upon acquiring the FB vibration motion amplitude from the axis data input / output unit 50, the acceleration / deceleration processing unit 49 outputs the acquired FB vibration motion amplitude to the interpolation processing unit 48.

[0040] The interpolation processing unit 48 comprises a spindle rotation speed selection unit 481, a waveform generation unit 482 and a vibration motion quantity generation unit 483.

[0041] The spindle rotation speed selection unit 481 selects the spindle rotation speed during vibratory cutting. The spindle rotation speed selection unit 481 selects one of several spindle rotation speed candidates stored in parameter memory area 431 as parameters related to vibratory cutting. The spindle rotation speed selection unit 481 acquires the spindle rotation speed obtained by the analysis processing unit 45 through analysis of the S-code via the common area 434 of memory unit 43, selects one of the spindle rotation speed candidates based on the acquired spindle rotation speed, and sets the selected candidate as the spindle rotation speed during vibratory cutting.

[0042] The waveform generation unit 482 generates a fundamental waveform when the tool vibrates. Specifically, the waveform generation unit 482 detects the vibration conditions from the analysis processing unit 45 via the common area 434 of the storage unit 43 and generates a vibration waveform, which is a fundamental waveform of the vibration, based on the detected vibration conditions and the spindle rotation speed selected by the spindle rotation speed selection unit 481 during vibratory cutting.

[0043] The vibration motion quantity generation unit 483 determines the vibration motion quantity in the Z-axis direction, for example, based on the vibration waveform generated by the waveform generation unit 482 and the tool's motion path. Specifically, the vibration motion quantity generation unit 483 detects a vibration feed position and a vibration retraction position for each vibration in order to generate the vibration motion quantity in the Z-axis. The vibration feed position is a position advanced from the tool's position on the motion path by a distance corresponding to the amplitude specified in the vibration waveform. The vibration retraction position is a position retracted from the tool's position on the motion path by a distance corresponding to the amplitude specified in the vibration waveform.The vibration motion generation unit 483 similarly determines the vibration motion magnitude in the X-axis direction. The vibration motion generation unit 483 detects the vibration motion magnitude in both the Z-axis and X-axis directions in order to generate the commanded vibration motion magnitude in both directions.

[0044] The commanded vibration motion generated by the vibration motion 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 the vibration cutting based on the commanded vibration motion sent by the vibration motion generation unit 483. The drive unit 7 controls the servo motor 71z in the Z-axis direction based on the commanded vibration motion and controls the servo motor 71x in the X-axis direction based on the commanded vibration motion, thereby causing the tool to vibrate and the machine tool to perform the vibration cutting.

[0045] Next, a process is described in which the numerical control device 1 according to the first embodiment controls the machine tool so that it performs a vibration cutting operation.

[0046] Fig. Figure 2 is a diagram showing an example of a list of vibratory cutting conditions that can be used when the numerical control device 1, according to the first embodiment, controls the vibratory cutting operation. Each vibratory cutting condition included in the list is selected when a processing period within the numerical control device 1 is of a specific duration and is used in controlling the machine tool. The processing period within the numerical control device 1 is also referred to as the control period. In the following description, the processing period within the numerical control device 1 is referred to as the control period.

[0047] The vibration cutting conditions comprise a combination of the number of vibrations per spindle rotation (vibrations), the spindle rotation speed (rpm), and the vibration frequency (Hz). The vibration frequency is the vibration frequency of the tool during vibration cutting. The vibration frequency is uniquely determined from the number of vibrations per spindle rotation and the spindle rotation speed. For the sake of simplicity, in Fig. 2. The respective vibration cutting conditions are shown by arranging them in descending order of spindle rotation speed (starting at 4000 rpm in this example). As in Fig. As shown in Figure 2, the spindle rotation speeds and vibration frequencies included in the vibration cutting conditions are not continuous, but discrete.

[0048] The in Fig. The list of vibration cutting conditions shown in Figure 2 is pre-stored in parameter memory area 431, which is included in memory unit 43 of the numerical control device 1.

[0049] In controlling the vibration cutting process, the numerical control device 1 according to the first embodiment sets the tool into vibration and rotates the spindle according to one of the vibration cutting conditions specified in the Fig. The list of vibration cutting conditions shown in Figure 2 is included. A method for selecting the vibration cutting condition from the list of vibration cutting conditions 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 list of vibration cutting conditions by a method to be described later, controls the spindle rotation speed so that it corresponds to the spindle rotation speed included in the selected vibration cutting condition, and controls the tool vibration so that it corresponds to the vibration frequency included in the selected vibration cutting condition. The numerical control device 1 according to the first embodiment performs, for example, a vibration cutting operation for each cutting command of the machining program.

[0050] During a control operation for the machine tool by the numerical control device 1, the analysis processing unit 45 first reads the machining program from the machining program memory area 432 of the storage unit 43, analyzes the machining program for each block and writes the analysis results to the common area 434.

[0051] Next, the interpolation processing unit 48 checks the analysis results of the machining program by the analysis processing unit 45 and, in a case where the rotation command, which controls the rotation of the spindle, and the vibration command, which controls the vibration of the tool, are analyzed, selects the spindle rotation speed from the list of vibration cutting conditions based on a controlled spindle rotation speed, which is the spindle rotation speed controlled by the rotation command, and a controlled number of vibrations, which is the number of vibrations per rotation of the spindle controlled by the vibration command. That is, one of the vibration cutting conditions is selected.Specifically, the spindle rotation speed selection unit 481 selects, for each cutting command, one of the vibration cutting conditions at which the number of vibrations per spindle rotation matches the commanded number of vibrations such that an average value of the spindle rotation speeds approximates the commanded spindle rotation speed. It should be noted that the commanded spindle rotation speed can be changed for each cutting command. In this case, the spindle rotation speed selection unit 481 can select, for each cutting command, the spindle rotation speed at which the vibration cutting is performed such that an average value of the spindle rotation speeds selected from the list of vibration cutting conditions approximates an average value of the commanded spindle rotation speeds.

[0052] As an example, a process is described in a case where the list of vibration cutting conditions is in Fig. The configuration shown in Figure 2 exhibits a state in which the commanded spindle rotation speed is 3700 rpm and the commanded number of vibrations is 0.5, and this state persists over a plurality of cutting commands (vibration cutting). As shown in Figure 2, the configuration in Figure 2, in which the spindle rotation speed is 3700 rpm and the number of vibrations is 0.5, persists. Fig. As shown in Figure 2, the spindle rotation speed selection unit 481 selects a vibration cutting condition for (B) 3750 rpm as the first spindle rotation speed with respect to a first cutting command (vibration cutting) following commands of (A) 3700 rpm. With respect to a subsequent cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects a vibration cutting condition for (C) 3636 rpm as the second spindle rotation speed. Furthermore, for a subsequent cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects a vibration cutting condition for (D) 4000 rpm as the third spindle rotation speed. Additionally, with respect to a subsequent cutting command (vibration cutting), the spindle rotation speed selection unit 481 selects a vibration cutting condition for (E) 3529 rpm as the fourth spindle rotation speed.In this case, the average spindle rotation speed at the time the fourth spindle rotation speed is selected is 3728 rpm, which is close to the commanded spindle rotation speed of 3700 rpm. If the cutting commands (vibration cutting) continue, the spindle rotation speed selection unit 481 repeats the spindle rotation speed selection for each cutting command (vibration cutting) so that the average spindle rotation speed approaches the commanded spindle rotation speed of 3700 rpm.

[0053] Fig. Figure 3 is a flowchart showing an example of a control operation in which the numerical control device 1, according to the first embodiment, causes the machine tool to perform vibratory cutting. The numerical control device 1 executes the operation according to the diagram in Figure 3. Fig. The flowchart shown in section 3 is used for each cutting command (vibration cutting).

[0054] In a case where the machine tool is to perform vibratory cutting, the numerical control device 1 first checks whether the average value of the spindle rotation speeds is less than or equal to the commanded spindle rotation speed, as in Fig. 3 shown (Step S1). The check in Step S1 is performed by the spindle rotation speed selection unit 481. If the average value of the spindle rotation speeds is not less than or equal to the commanded spindle rotation speed, i.e., if the average value of the spindle rotation speeds is greater than the commanded spindle rotation speed (Step S1: No), the numerical control device 1 controls the drive unit 7 to perform vibratory cutting at a spindle rotation speed lower than the commanded spindle rotation speed (Step S2).In particular, during the operation in step S2, the spindle rotation speed selection unit 481 first selects a vibration cutting condition that includes a spindle rotation speed lower than the commanded spindle rotation speed from among the vibration cutting conditions where the number of vibrations per spindle rotation matches the commanded number of vibrations. If there are multiple vibration cutting conditions with a spindle rotation speed lower than the commanded spindle rotation speed, the spindle rotation speed selection unit 481 selects a vibration cutting condition where the average value of the spindle rotation speeds is closer to the commanded spindle rotation speed.Next, the waveform generation unit 482 generates a vibration waveform based on the spindle rotation speed encompassed by the vibration cutting condition selected by the spindle rotation speed selection unit 481, and the vibration conditions obtained by the analysis processing unit 45 through analysis of the machining program. Then, the vibration motion quantity generation unit 483 generates a commanded vibration motion quantity based on the vibration waveform and the tool's motion path. Next, the acceleration / deceleration processing unit 49 generates a motion command per unit of time based on the commanded vibration motion quantity and outputs the motion command per unit of time to the drive unit 7 via the axis data input / output unit 50.

[0055] If, however, the average spindle rotation speed is less than or equal to the commanded spindle rotation speed (step S1: Yes), the numerical control device 1 controls the drive unit 7 to perform the vibratory cutting with a spindle rotation speed higher than the commanded spindle rotation speed (step S3). In particular, the spindle rotation speed selection unit 481 first selects a vibratory cutting condition from those in which the number of vibrations per spindle rotation matches the commanded number of vibrations, and this condition includes a spindle rotation speed higher than the commanded spindle rotation speed.If there are multiple vibration cutting conditions that include a spindle rotation speed higher than the commanded spindle rotation speed, the spindle rotation speed selection unit 481 selects a vibration cutting condition where the average value of the spindle rotation speeds is close to the commanded spindle rotation speed. The operations of the waveform generation unit 482, the vibration motion quantity generation unit 483, and the acceleration / deceleration processing unit 49, after the spindle rotation speed selection unit 481 has selected the vibration cutting condition, are similar to those described in step S2 above.

[0056] By having the numerical control device 1 execute the operation according to the flowchart described above, Fig. 3 repeated, the in Fig. The spindle rotation speeds shown as (B) to (E) are selected, and the average spindle rotation speed during vibration cutting approaches the commanded spindle rotation speed.

[0057] In step S1, the first step executed after the start of a vibration cutting operation, the commanded spindle rotation speed is used as the average of the spindle rotation speeds. Consequently, in the first operation after step S1, step S3 is performed, and the drive unit 7 is controlled to carry out the vibration cutting at a spindle rotation speed higher than the commanded spindle rotation speed. This reduces the impact of the actual machining time being longer than the machining time assumed by the operator when creating the machining program. In other words, it prevents the difference between the spindle rotation speed and the commanded spindle rotation speed intended by the operator at the time of creating the machining program from exceeding a certain range.

[0058] As described above, according to the first embodiment, in a case where the machine tool is controlled to perform vibratory cutting, i.e., in a case where it operates according to a vibration command that commands vibration of the tool, the numerical control device 1 selects one of a plurality of vibratory cutting conditions comprising a combination of a vibration frequency and a spindle rotation speed that are predefined for each cutting command (vibratory cutting), and rotates the spindle at the spindle rotation speed included in the selected vibratory cutting condition. At this point, the numerical control device 1 selects the vibratory cutting condition such that the average value of the spindle rotation speeds approximates the commanded spindle rotation speed, which is the spindle rotation speed commanded by the rotation command.Consequently, it is possible to minimize the increase in the difference between the machining time assumed by the operator when creating the machining program and the actual machining time due to the influence of vibration cutting, and to improve the efficiency of vibration cutting machining. Second embodiment.

[0059] In a second embodiment, a case is described in which a starting position of a vibratory cutting waveform is determined such that the vibratory cutting is carried out for each cutting command according to a rotation phase of the spindle, thereby performing vibratory cutting synchronized with the commanded spindle rotation speed.

[0060] Fig. Figure 4 is a diagram showing an exemplary configuration of a numerical control device 1a according to the second embodiment. Fig. 4 are components that are similar to those in Fig. Components common to the numerical control device 1 shown in Figure 1 according to the first embodiment are designated with the same reference numerals as therein. In the present embodiment, components designated with the same reference numerals as in the numerical control device 1 are not described.

[0061] The numerical control device 1a according to the second embodiment comprises the input control unit 2, the output unit 3 and a control calculation unit 4a.

[0062] The control calculation unit 4a comprises the input control unit 41, the data setting unit 42, the storage unit 43, the output control unit 44, the analysis processing unit 45, the control signal processing unit 46, the PLC switching unit 47, an interpolation processing unit 48a, the acceleration / deceleration processing unit 49 and the axis data input / output unit 50.

[0063] The interpolation processing unit 48a comprises the waveform generation unit 482, a vibration motion quantity generation unit 483a, a spindle reference phase calculation unit 484 and a retraction start position determination unit 485.

[0064] The vibration motion quantity generation unit 483a generates the commanded vibration motion quantity in the Z-axis direction and the X-axis direction based on the vibration waveform generated by the waveform generation unit 482, the motion path of the tool and information about a retraction start position generated by the retraction start position determination unit 485 described later.

[0065] The spindle reference phase calculation unit 484 calculates a reference phase difference to determine a retraction start position at the beginning of vibratory cutting.

[0066] The retraction start position determination unit 485 determines the retraction start position based on the reference phase difference calculated by the spindle reference phase calculation unit 484 and generates information about the retraction start position.

[0067] The reference phase difference calculated by the spindle reference phase calculation unit 484 and the retraction start position determined by the retraction start position determination unit 485 in the control calculation unit 4a are compared with reference to Fig. 5 described.

[0068] Fig. Figure 5 is a diagram showing a relationship between a reference phase difference calculated by the control calculation unit 4a of the numerical control device 1a according to the second embodiment and a retraction start position. Fig. Figure 5 shows the relationship between the reference phase difference and the retraction start position using a vibration cutting waveform, which is a waveform indicated by the commanded vibration motion quantity generated by the vibration motion quantity generation unit 483a. Fig. Figure 5 shows a vertical dashed line representing a rotation of the spindle in a case where the number of vibrations per spindle rotation (vibrations) is 0.5. In the Fig. In example 5, the spindle rotates twice while the tool vibrates once. That is, the spindle rotates once while the tool advances, and the spindle rotates once while the tool retracts. As described above, in Fig. 5 in the vibration cutting waveform, a position at which the feed is switched to retraction, and a position at which the retraction is switched to feed, are defined according to the rotation phase of the spindle.

[0069] In the present embodiment, as in the vibration cutting waveform in Fig. Figure 5 shows (1) the movement quantity per vibration, (2) the retraction quantity, and (3) the feed quantity in relation to a feed axis during vibration cutting. As shown in Fig. As shown in section 5, a relationship of “(3) feed rate = (2) retraction rate + (1) motion rate per vibration” is established. Using this relationship, the spindle reference phase calculation unit 484 calculates the in Fig. 5 shown (5) reference phase difference, and the retreat start position determination unit 485 determines the in Fig. 5 shown (6) retraction start position. The (6) retraction start position indicates a position at which a vibration center begins to retract after the start of vibratory cutting. Here, (1) motion magnitude per vibration is the motion magnitude of the feed axis during each feed and retraction of the tool. For example, if the time the tool feeds and the time the tool retracts are equal, half of the motion magnitude occurs during the tool feed and the other half during the tool retraction. In this case, the in Fig. The amplitude shown in Figure 5 (4) is obtained by adding half the movement quantity per vibration (1) to the retraction quantity (2) or by subtracting half the movement quantity per vibration (1) from the feed movement (3). Furthermore, (2) the retraction quantity is the retraction quantity of the feed axis per vibration and (3) the feed movement is the feed movement of the feed axis per vibration. Fig. Figure 5 shows a solid straight line, referred to as the feed position, a movement path of the vibration feed position, and a dashed straight line, referred to as the retract position, shows a movement path of the vibration retract position.

[0070] Fig. Figure 6 is a flowchart showing an example of a process in which the control processing unit 4a of the numerical control device 1a, according to the second embodiment, calculates a reference phase difference and determines a retraction start position. The control processing unit 4a of the numerical control device 1a performs the process according to the diagram shown in Figure 6. Fig. The flowchart shown in Figure 6 illustrates a case in which vibratory cutting is initiated. The case in which vibratory cutting is initiated means that the analysis processing unit 45 analyzes the machining program to detect a command indicating the start of vibratory cutting, and the interpolation processing unit 48a generates a commanded vibratory motion magnitude according to the command.

[0071] In the case where the control calculation unit 4a generates the commanded vibration motion quantity, the spindle reference phase calculation unit 484 first calculates the motion quantity per vibration (step S11). In particular, the spindle reference phase calculation unit 484 (1) calculates the motion quantity per vibration that is in Fig. Figure 5 shows the results of the analysis processing unit 45, such as the movement size per time of the tool and the number of vibrations per rotation of the spindle, which is one of the vibration conditions included in the vibration cutting command.

[0072] Next, the spindle reference phase calculation unit 484 calculates the retraction magnitude under vibration (step S12). In particular, the spindle reference phase calculation unit 484 (2) calculates the in Fig. 5. The retraction size shown is derived from the tool's movement size per time and the amplitude feed ratio described above.

[0073] Next, the spindle reference phase calculation unit 484 calculates the vibration feed rate based on the motion rate per vibration and the vibration retraction rate (step S13). In particular, the spindle reference phase calculation unit 484 (3) calculates the in Fig. 5 Feed size shown is based on the motion size per vibration calculated in step S11 and the vibration retraction size calculated in step S12.

[0074] Next, the spindle reference phase calculation unit 484 calculates the amplitude based on the motion quantity per vibration and the vibration feed quantity (step S14). In particular, the spindle reference phase calculation unit 484 (4) calculates the in Fig. 5. Amplitude shown is based on the motion quantity per vibration calculated in step S11 and the vibration feed quantity calculated in step S13.

[0075] Next, the spindle reference phase calculation unit 484 calculates the spindle's reference phase difference based on the amplitude and a feed motion quantity per rotation (step S15). The feed motion quantity per rotation is the movement quantity of the feed axis during one rotation of the spindle. Here, it is possible to perform vibratory cutting according to the spindle's rotation phase by performing vibratory cutting with a stationary amplitude at a constant amplitude from a starting position of the vibratory cutting process, for example, a position that is approximately the spindle's reference phase difference from an initial spindle rotation position at the beginning of the vibratory cutting process, as shown in [reference to diagram]. Fig. 5 shown, is spaced, and is started. This means that the spindle reference phase calculation unit 484 determines the starting position of the vibratory cutting waveform such that vibratory cutting is performed for each cutting command according to the rotation phase of the spindle. At this point, the vibratory cutting start position to be determined can, for example, be as shown in Fig. 5 shown, can be a retreat start position or a starting position from which the movement of the feed position is started.

[0076] Next, the retraction start position determination unit 485 determines the retraction start position based on the spindle reference phase difference described above (step S16). Specifically, the retraction start position determination unit 485 determines a spindle rotation position at the time the vibration retraction position begins to move, based on the spindle reference phase difference calculated by the spindle reference phase calculation unit 484 in step S15.

[0077] The retraction start position determined by the retraction start position determination unit 485 is used in a process to generate a commanded vibration motion quantity by the vibration motion quantity generation unit 483a. That is, the vibration motion quantity generation unit 483a generates the commanded vibration motion quantity such that the vibration retraction position moves from the retraction start position determined by the retraction start position determination unit 485.

[0078] As described above, the vibration motion generation unit 483a in the numerical control device 1a, according to the second embodiment, generates the commanded vibration motion of the feed axis such that the phase of the vibration cutting waveform is synchronized with the rotation phase of the spindle in the interpolation processing unit 48a, thus controlling the machine tool. Therefore, following the vibration cutting waveform is always possible at the commanded spindle rotation speed. This means that even if an arbitrary spindle rotation speed is commanded, vibration cutting can be performed synchronized with the commanded spindle rotation speed. In other words, the vibration cutting operation can be carried out within the machining time assumed by the operator when creating the machining program.

[0079] Although a general machine tool has the function of issuing a warning and halting a machining operation when a spindle rotation speed is commanded that exceeds a commanded upper limit of the spindle rotation speed, according to the numerical control device 1a, the vibratory cutting is controlled with the spindle rotation speed commanded by the machining program in such a way as to prevent the machining operation from being halted due to a warning issued at the time of the vibratory cutting operation.

[0080] Third embodiment. In the second embodiment, the spindle reference phase calculation unit 484 calculates the motion quantity per vibration, the retraction quantity during vibration, and the feed motion quantity during vibration in order to generate the vibration cutting waveform for performing vibration cutting synchronously with the commanded spindle rotation speed. It then calculates the vibration amplitude using the motion quantity per vibration and the feed motion quantity thus calculated during vibration. In a third embodiment, a case is described in which, for example, the rotation quantity per vibration and the feed motion quantity per rotation are acquired from a vibration cutting command, and the vibration amplitude is calculated based on the rotation quantity per vibration and the feed motion quantity per rotation thus acquired.

[0081] Fig. Figure 7 is a diagram showing an exemplary configuration of a numerical control device 1b according to the third embodiment. Fig. 7 are components that correspond to those of the numerical control device 1 according to the in Fig. Components common to the first embodiment shown in Figure 1 are designated with the same reference numerals as therein. In the present embodiment, components designated with the same reference numerals as in the numerical control device 1 are not described.

[0082] The numerical control device 1b according to the third embodiment comprises the input control unit 2, the output unit 3 and a control calculation unit 4b.

[0083] The control calculation unit 4b comprises the input control unit 41, the data setting unit 42, the storage unit 43, the output control unit 44, the analysis processing unit 45, the control signal processing unit 46, the PLC switching unit 47, an interpolation processing unit 48b, the acceleration / deceleration processing unit 49 and the axis data input / output unit 50.

[0084] The interpolation processing unit 48b comprises the waveform generation unit 482, the vibration motion quantity generation unit 483a, a spindle reference phase calculation unit 484b, and the retraction start position determination unit 485. A process of the vibration motion quantity generation unit 483a included in the interpolation processing unit 48b is similar to that of the vibration motion quantity generation unit 483a included in the interpolation processing unit 48a of the numerical control device 1a according to the second embodiment, and therefore a description of it is omitted.

[0085] The spindle reference phase calculation unit 484b calculates the reference phase difference using a different method than the spindle reference phase calculation unit 484 of the numerical control device 1a according to the second embodiment.

[0086] The reference phase difference calculated by the spindle reference phase calculation unit 484b and the retraction start position determined by the retraction start position determination unit 485 in the control calculation unit 4b are compared with reference to Fig. 8 described.

[0087] Fig. Figure 8 is a diagram showing the relationship between a reference phase difference calculated by the control calculation unit 4b of the numerical control device 1b according to the third embodiment and a retraction start position. Similar to in Fig. 5, which was used in the description of the second embodiment, shows Fig. 8 The relationship between the reference phase difference and the retraction start position using a vibratory cutting waveform. In the Fig. In example 8, the spindle rotates twice while the tool vibrates once, similar to in Fig. 5.

[0088] In the present embodiment, as in Fig. Figure 8 shows (4a) amplitude, (5a) reference phase difference, and (6a) retraction start position. In the present embodiment, the feed and retraction movements during vibration, as well as the feed axis movement per vibration, which are used in the second embodiment, are not considered.

[0089] Fig. Figure 9 is a flowchart showing an example of a process in which the control calculation unit 4b of the numerical control device 1b, according to the third embodiment, calculates a reference phase difference and determines a retraction start position. Fig. 9 are the processes that correspond to those in the flowchart in Fig. 6 match, the same step numbers are assigned. This means that the control calculation unit 4b increases the amplitude by executing step S21 instead of the one in Fig. The 6 steps shown S11 to S14 are obtained.

[0090] In the process where the control calculation unit 4b calculates the reference phase difference and determines the retraction start position, the spindle reference phase calculation unit 484b first calculates the amplitude based on the rotational magnitude per vibration and the feed motion magnitude per rotation (step S21). In particular, the spindle reference phase calculation unit 484b (4a) receives the in Fig. The amplitude shown in Figure 8 is calculated by multiplying the rotational size per vibration by the feed motion size per rotation. The rotational size per vibration is the number of spindle rotations while the tool vibrates once during vibration machining, and the number of rotations is given in Figure 8. Fig. Example 8 shows two. Steps S15 and S16, which follow step S21, are similar to those in the second embodiment, which is why their description is omitted here.

[0091] As described above, the numerical control device 1b according to the third embodiment generates the vibration cutting waveform similarly to the numerical control device 1a according to the second embodiment, such that the phase of the vibration cutting waveform is synchronized with the rotational phase of the spindle. Therefore, a similar effect to that of the numerical control device 1a according to the second embodiment can be achieved. Furthermore, since the numerical control device 1b according to the third embodiment does not need to calculate the vibration retraction and feed rates as it does in the second embodiment, the computational load on the numerical control device 1b can be reduced compared to the second embodiment.In a case where the same section is machined two or more times with different cutting tools, the number of vibrations per spindle rotation, which is one of the vibration conditions included in the vibratory cutting command, can be changed. Since, in the second embodiment described above, the number of vibrations per spindle rotation is included in the calculation elements of amplitude and reference phase difference, the starting position of the vibratory cutting process may change under the influence of a change in the number of vibrations per spindle rotation, leading to a reduction in the accuracy of the machined surface.On the other hand, in the third embodiment, the number of vibrations per spindle rotation, which is one of the vibration conditions included in the vibration cutting command, is not included in the calculation elements for amplitude and reference phase difference, so that changes in the number of vibrations per spindle rotation have no effect. Therefore, it is possible to prevent a reduction in the accuracy of the machined surface. Furthermore, since the number of vibrations per spindle rotation is included in the calculation elements for amplitude in the second embodiment described above, it is necessary to adjust the amplitude taking into account changes in the number of vibrations per spindle rotation, which complicates the adjustment process.On the other hand, in the third embodiment, the number of vibrations per spindle rotation, which is one of the vibration conditions included in the vibration cutting command, is not included in the amplitude calculation elements. Therefore, it is not necessary to consider changes in the number of vibrations per spindle rotation when adjusting the amplitude. Consequently, amplitude adjustment can be simplified. Fourth embodiment.

[0092] Fig. Figure 10 is a diagram showing an exemplary configuration of a numerical control device 1c according to a fourth embodiment. Fig. 10 are components that are similar to those in Fig. Components common to the numerical control device 1 shown in Figure 1 according to the first embodiment are designated with the same reference numerals as therein. In the present embodiment, components designated with the same reference numerals as in the numerical control device 1 are not described.

[0093] The numerical control device 1c according to the fourth embodiment comprises the input control unit 2, the output unit 3 and a control calculation unit 4c.

[0094] The control calculation unit 4c comprises the input control unit 41, a data setting unit 42c, the storage unit 43, the output control unit 44, the analysis processing unit 45, the control signal processing unit 46, the PLC switching unit 47, an interpolation processing unit 48c, the acceleration / deceleration processing unit 49 and the axis data input / output unit 50.

[0095] The data setting unit 42c includes a spindle rotation speed range setting unit 421, which sets a range of spindle rotation speeds during vibratory cutting. This range of spindle rotation speeds during vibratory cutting is set, for example, by the operator. That is, the input control unit 2 receives an instruction from the operator to set the range of spindle rotation speeds during vibratory cutting, and the spindle rotation speed range setting unit 421 of the data setting unit 42c sets the spindle rotation speed range during vibratory cutting.

[0096] Fig. Figure 11 is a flowchart showing an example of an operation of a spindle rotation speed selection unit 481c of the numerical control device 1c according to the fourth embodiment.

[0097] As in Fig. As shown in Figure 11, the spindle rotation speed selection unit 481c sets an upper limit for the spindle rotation speed (step S31). In step S31, the operator uses the input control unit 2 to set the upper limit for the spindle rotation speed during vibratory cutting. The upper limit is set, for example, using values ​​such as the commanded spindle rotation speed + 2% and the commanded spindle rotation speed + 100 rpm as a guideline. The spindle rotation speed selection unit 481c receives the operator-set upper limit for the spindle rotation speed from the input control unit 41 and writes the upper limit to the parameter memory area 431 of the memory unit 43.The upper limit of the spindle rotation speed is preferably determined, for example, on the basis of the specifications of the machine tool controlled by the numerical control device 1c.

[0098] The interpolation processing unit 48b includes the spindle rotation speed selection unit 481c, the waveform generation unit 482 and the vibration motion quantity generation unit 483.

[0099] The spindle rotation speed selection unit 481c selects the spindle rotation speed during vibratory cutting. Similar to the spindle rotation speed selection unit 481 according to the first embodiment, the spindle rotation speed selection unit 481c selects one of several candidates for the spindle rotation speed that are stored in the parameter memory area 431 as parameters related to vibratory cutting. At this point, the spindle rotation speed selection unit 481c selects the spindle rotation speed such that the upper limit set by the spindle rotation speed range setting unit 421 is not exceeded.

[0100] A specific example of the process in which the spindle rotation speed selection unit 481c selects the spindle rotation speed is given with reference to Fig. 12 described. Fig. Figure 12 is a diagram showing an example of a list of vibration cutting conditions that can be used when the numerical control device 1c controls the vibration cutting operation according to the fourth embodiment.

[0101] As an example, a procedure is described in a case where the range set by the spindle rotation speed range setting unit 421 is set to "commanded spindle rotation speed + 2% or less", the commanded spindle rotation speed is 3700 rpm, and the commanded number of vibrations is 0.5. In this case, the spindle rotation speed selection unit 481c selects, as shown in Fig. Figure 12 shows that in a first cutting command (vibration cutting) following the command of (a) 3700 rpm, a vibration cutting condition of (b) 3750 rpm is selected, which is less than or equal to 3774 rpm, corresponding to an upper limit of the range specified by the spindle rotation speed range setting unit 421. Similarly, in the subsequent cutting command (vibration cutting), the spindle rotation speed selection unit 481c selects a vibration cutting condition from the vibration cutting conditions such that the spindle rotation speed is 3774 rpm or less, such that the average value of the spindle rotation speeds approximates the commanded spindle rotation speed of 3700 rpm.

[0102] Fig. Figure 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 vibratory cutting. Fig. 13 are the processes that correspond to those in the flowchart in Fig. 3, which is used in the description of the numerical control device 1 according to the first embodiment, are assigned the same step numbers. That is, the numerical control device 1c controls the machine tool by executing step S4 instead of step S3, which is used in Fig. 3 is shown. The one in Fig. The 13 steps shown, S1 and S2, are similar to steps S1 and S2 in Fig. 3, which are performed by the numerical control device 1 according to the first embodiment, and therefore their description is omitted.

[0103] If the average spindle rotation speed is less than or equal to the commanded spindle rotation speed (step S1: Yes), the numerical control device 1c controls the drive unit 7 to perform vibratory cutting with a spindle rotation speed higher than the commanded spindle rotation speed and less than or equal to the upper limit (step S4). Specifically, the spindle rotation speed selection unit 481c selects from the vibratory cutting conditions where the number of vibrations per spindle rotation matches the commanded number of vibrations, a vibratory cutting condition that includes a spindle rotation speed higher than the commanded spindle rotation speed and less than or equal to the upper limit.In a case where there are multiple vibration cutting conditions that include a spindle rotation speed higher than the commanded spindle rotation speed and less than or equal to the upper limit, the spindle rotation speed selection unit 481c selects a vibration cutting condition where the average value of the spindle rotation speeds approximates the commanded spindle rotation speed. Since the operations following the selection of the vibration cutting condition by the spindle rotation speed selection unit 481c—i.e., the operations of the waveform generation unit 482, the vibration motion quantity generation unit 483, and the acceleration / deceleration processing unit 49—are similar to those in the first embodiment, their description is omitted.

[0104] As described above, according to the fourth embodiment, when performing vibratory cutting, the numerical control device 1c selects one of the commanded vibratory cutting conditions for each cutting command (vibratory cutting) and rotates the spindle at the spindle rotation speed included in the selected vibratory cutting condition. At this point, the numerical control device 1c selects the vibratory cutting condition such that the average value of the spindle rotation speeds approximates the commanded spindle rotation speed specified by the rotation command, ensuring that the spindle rotation speed is less than or equal to the preset upper limit.Consequently, similar to the first embodiment described above, it is possible to minimize the increase in the difference between the machining time assumed by the operator when creating the machining program and the actual machining time due to the influence of vibratory cutting, and to improve the efficiency of vibratory cutting operations. Furthermore, it is possible, for example, to prevent the spindle rotation speed from exceeding the upper limit permitted by the machine tool during vibratory cutting, which would trigger a warning message and halt the machining process.

[0105] Next, the hardware configurations of the control processing units (control processing units 4, 4a, 4b, and 4c) included in the numerical control devices (numerical control devices 1, 1a, 1b, and 1c) described in the respective embodiments are described. Since the hardware configurations of the control processing units included in the numerical control devices described in the respective embodiments are identical, the hardware configuration of control processing unit 4 included in numerical control device 1 according to the first embodiment is described as an example.

[0106] Fig. Figure 14 is a diagram showing an exemplary hardware configuration of the control calculation unit 4 included in the numerical control device 1 according to the first embodiment.

[0107] The tax calculation unit 4 is represented by a Fig.The control circuit 100 shown in Figure 14 is implemented. The control circuit 100 comprises a processor 101 and a memory 102. The control circuit 100 is a circuit in which the processor 101 executes software.

[0108] The control unit 4 is implemented by software, firmware, or a combination of both. The software or firmware is described as a program and stored in memory 102. In the control circuit 100, the processor 101 reads and executes the program stored in memory 102, thereby implementing functions of the control unit 4. This means that the control circuit 100 includes memory 102 for storing a program that executes a process of the control unit 4. This program is a numerical control program that instructs a computer to execute procedures and methods of the control unit 4. Memory 102 is also used as temporary memory when the processor 101 is executing different processes.

[0109] The processor 101 is a central processing unit (CPU), a processing device, a computing device, a microprocessor, a microcomputer, a processor, a digital signal processor (DSP), a low-intensity integration (LSI) system, or the like. The memory 102 corresponds, for example, to non-volatile or volatile semiconductor memory, such as random-access memory (RAM), read-only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), or electrically erasable programmable read-only memory (EEPROM (registered trademark)), a magnetic disk, a flexible disk, an optical disk, a compact disc, a mini-disc, or a digital versatile disc (DVD).

[0110] The program executed by Processor 101 can be a computer program product comprising a computer-readable and non-transitory recording medium with a plurality of instructions for performing data processing that can be carried out by the computer. The program executed by Processor 101 causes the computer to perform the data processing by means of a plurality of instructions.

[0111] The tax calculation unit 4 can be implemented using dedicated hardware. Some of the functions of the tax calculation unit 4 can be implemented using dedicated hardware, and other parts of the functions of the tax calculation unit 4 can be implemented using software or firmware.

[0112] The configurations described in the above embodiments are merely examples and can be combined with other known techniques; the embodiments can be combined with one another, and some of the configurations can be omitted or modified without deviating from their core concept. Reference symbol list 1, 1a, 1b, 1c numerical control device; 2 Input control unit; 3 output units; 4, 4a, 4b, 4c Tax calculation unit; 7 Drive unit; 41 Input control unit; 42, 42c Data setting unit; 43 storage units; 44 Output control unit; 45 Analysis processing unit; 46 Control signal processing unit; 47 PLC switching unit; 48, 48a, 48b, 48c Interpolation processing unit; 49 Acceleration / Deceleration Processing Unit; 50 axis data input / output units; 71s spindle motor; 71x, 71z servo motor; 72s, 72x, 72z detector; 73s spindle control unit; 73x, 73z servo control unit; 421 Spindle rotation speed adjustment unit; 431 Parameter memory area; 432 Processing program memory area; 433 Display data storage area; 434 common area; 481, 481c Spindle rotation speed selection unit; 482 Waveform generation unit; 483, 483a Vibration motion quantity generation unit; 484, 484b Spindle reference phase calculation unit; 485 Retraction start position determination unit. QUOTES INCLUDED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature

[0000] JP 5 901 871

[0004]

Claims

Numerical control device that causes a machine tool to perform vibratory cutting, wherein the numerical control device comprises: a detection unit for detecting a plurality of vibratory cutting conditions, comprising a combination of a vibration frequency and a spindle rotation speed at which vibratory cutting is feasible;and a spindle rotation speed selection unit, when vibratory cutting is commanded, to select one of the spindle rotation speeds included in the majority of vibratory cutting conditions, which are detected by the detection unit for each cutting command based on a vibration frequency of the commanded vibratory cutting and a commanded spindle rotation speed, which is a rotation speed of a spindle commanded by a rotation command, wherein when vibratory cutting is performed, the spindle rotation speed selection unit selects a spindle rotation speed such that an average value of the selected spindle rotation speeds approximates an average value of the commanded spindle rotation speeds. Numerical control device according to claim 1, comprising: a spindle rotation speed range setting unit for setting an upper limit of a spindle rotation speed during vibration cutting, wherein when selecting a spindle rotation speed during vibration cutting, the spindle rotation speed selection unit selects a spindle rotation speed that is less than or equal to the upper limit set by the spindle rotation speed range setting unit. Numerical control device that causes a machine tool to perform vibratory cutting, wherein the numerical control device comprises: a waveform generation unit for generating a vibratory cutting waveform for performing the vibratory cutting; and a spindle reference phase calculation unit for determining a starting position of the vibratory cutting waveform such that the vibratory cutting is performed for each cutting command in accordance with a rotational phase of a spindle. Numerical control device according to claim 3, wherein the spindle reference phase calculation unit determines the start position of the vibratory cutting waveform on the basis of a movement parameter of a feed axis per vibration during vibratory cutting, a feed parameter of a feed axis per vibration during vibratory cutting and a retraction parameter of a feed axis per vibration during vibratory cutting. Numerical control device according to claim 3, wherein the spindle reference phase calculation unit determines the starting position of the vibration cutting waveform on the basis of a rotation quantity per vibration during vibration cutting and a movement quantity of a feed axis during a rotation of the spindle. Numerical control method in which a numerical control device causes a machine tool to perform vibratory cutting, wherein the numerical control method comprises: a detection step for detecting a plurality of vibratory cutting conditions comprising a combination of a vibration frequency and a spindle rotation speed at which vibratory cutting is feasible;and a selection step in which, when vibratory cutting is commanded, one of the spindle rotation speeds included in the majority of vibratory cutting conditions, which were captured in the capture step for each cutting command, is selected based on a vibration frequency of the commanded vibratory cutting and a commanded spindle rotation speed, which is a rotation speed of a spindle commanded by a rotation command, wherein in the selection step, when vibratory cutting is performed, a spindle rotation speed is selected such that an average value of the selected spindle rotation speeds approximates an average value of the commanded spindle rotation speeds. Numerical control method in which a numerical control device causes a machine tool to perform vibratory cutting, wherein the numerical control method comprises: a waveform generation step for generating a vibratory cutting waveform for performing the vibratory cutting; and a spindle reference phase calculation step for determining a starting position of the vibratory cutting waveform such that the vibratory cutting is performed for each cutting command in accordance with a rotation phase of a spindle.

Citation Information

Patent Citations

  • Numerical control device

    JP5901871B1

  • JAPANISCHESPATENTNR.5901871