Numerical control device and numerical control method
By optimizing the vibration cutting conditions, the CNC device selects a spindle speed close to the commanded spindle speed, which solves the time difference problem in vibration cutting and improves production efficiency.
Patent Information
- Application Number
- CN202380100077.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2026-02-27
AI Technical Summary
In vibration cutting, existing technologies lead to extended processing time and reduced production efficiency when there is a significant difference between the spindle speed and the commanded spindle speed.
By selecting vibration cutting conditions through the CNC device, when the machine tool performs vibration cutting, the spindle speed selection unit selects the spindle speed to be close to the average value of the commanded spindle speed, optimizing the combination of vibration frequency and spindle speed, and reducing the difference in processing time.
This has improved the efficiency of vibration cutting, reduced the difference between the operator's expected and actual processing time, and increased production efficiency.
Smart Images

Figure CN121586869A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a numerical control device and a numerical control method for controlling a machine tool that performs cutting. BACKGROUND
[0002] A machine tool that performs cutting performs cutting by bringing a tool into contact with a workpiece while performing relative movement of the tool and the workpiece. In cutting that performs cutting on the surface of a workpiece, sometimes vibration cutting is performed, that is, cutting is performed while the tool is vibrated at low frequency. In vibration cutting, the vibration period of the tool is synchronized with the rotational speed of the spindle. According to vibration cutting, by generating an interval that interrupts cutting of the workpiece by the tool in the movement path of the tool, it is possible to perform cutting on the workpiece while dividing chips. By dividing chips into shorter pieces, it is possible to prevent a decrease in machining accuracy caused by chips winding around the workpiece or the tool. In addition, by dividing chips into shorter pieces, it is possible to reduce damage to the workpiece caused by chips coming into contact with the workpiece.
[0003] In Patent Literature 1, a numerical control device is disclosed in which a plurality of vibration conditions including a combination of a vibration frequency of vibration cutting and a rotational speed of a spindle are prepared in advance, at the start of vibration cutting, in order to avoid an invalid frequency range, a vibration condition including a rotational speed of the spindle closest to an instructed rotational speed of the spindle is selected, and control of vibration cutting is performed based on the selected vibration condition, the invalid frequency range indicating a frequency range in which the vibration frequency of vibration cutting cannot be set as the vibration frequency of vibration cutting.
[0004] Patent Literature 1: Japanese Patent No. 5901871 SUMMARY
[0005] As described above, in the case of performing vibration cutting, in the case of performing machining at a rotational speed of the spindle different from the rotational speed of the spindle instructed by the machining program, if the difference between the instructed rotational speed of the spindle and the rotational speed of the spindle actually set to 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, in the case of selecting a vibration condition that becomes a rotational speed of the spindle smaller than the instructed rotational speed of the spindle and performing machining, the machining time is prolonged, and therefore from the viewpoint of production management and production efficiency, it is desirable to achieve a reduction in machining time.
[0006] The present application has been made in view of the above problems, and aims to obtain a numerical control device that enables improvement in efficiency in vibration cutting machining.
[0007] To solve the above problems, achieve the purpose, the present application is as follows Numerical control device, which makes machine tool to perform vibration cutting, the numerical control device is characterized by, having: acquisition unit, which acquires a plurality of vibration cutting conditions including vibration frequency and spindle speed combination can perform vibration cutting; And spindle speed selection unit, if the vibration cutting is instructed, the spindle speed selection unit selects one of the spindle speed contained in each of the plurality of vibration cutting conditions acquired by the acquisition unit for each cutting instruction based on the vibration frequency of the instructed vibration cutting and the speed of the spindle indicated by the rotation instruction, i.e. instruction spindle speed, the spindle speed selection unit selects the spindle speed when performing vibration cutting, so that the average value of the selected spindle speed is close to the average value of the instruction spindle speed.
[0008] Effects of the invention
[0009] The numerical control device related to the present application achieves the following effects, that is, by considering the difference between the instructed spindle speed and the actual spindle speed set in the machine tool, vibration cutting can be performed to improve the efficiency in vibration cutting processing. BRIEF DESCRIPTION OF DRAWINGS
[0010] Figure 1 is a diagram showing a structure example of the numerical control device related to embodiment 1.
[0011] Figure 2 is a diagram showing one example of a list of vibration cutting conditions that can be used when the numerical control device related to embodiment 1 controls vibration cutting processing.
[0012] Figure 3 is a flowchart showing one example of the control action of the numerical control device related to embodiment 1 to make the machine tool perform vibration cutting.
[0013] Figure 4 is a diagram showing a structure example of the numerical control device related to embodiment 2.
[0014] Figure 5 is a diagram showing the relationship between the reference phase difference calculated in the control operation unit of the numerical control device related to embodiment 2 and the retreat start position.
[0015] Figure 6 is a flowchart showing one example of the action of the control operation unit of the numerical control device related to embodiment 2 to calculate the reference phase difference and determine the retreat start position.
[0016] Figure 7 is a diagram showing a structure example of the numerical control device related to embodiment 3.
[0017] Figure 8is a graph showing a relationship between a reference phase difference calculated in the control operation section of the numerical control device according to Embodiment 3 and a retreat start position.
[0018] Figure 9 is a flowchart showing one example of an operation of the control operation section of the numerical control device according to Embodiment 3 to perform the calculation of the reference phase difference and the determination of the retreat start position.
[0019] Figure 10 is a graph showing a structure example of the numerical control device according to Embodiment 4.
[0020] Figure 11 is a flowchart showing one example of an operation of the spindle speed selection section of the numerical control device according to Embodiment 4.
[0021] Figure 12 is a graph showing one example of a list of vibration cutting conditions usable when the numerical control device according to Embodiment 4 performs control of vibration cutting machining.
[0022] Figure 13 is a flowchart showing one example of a control operation of the numerical control device according to Embodiment 4 to cause the machine tool to perform vibration cutting.
[0023] Figure 14 is a graph showing a hardware structure example of the control operation section possessed by the numerical control device according to Embodiment 1. DETAILED DESCRIPTION
[0024] Hereinafter, the numerical control device and the numerical control method according to the embodiments of the present application will be described in detail based on the drawings.
[0025] Embodiment 1
[0026] Figure 1 is a graph showing a structure example of the numerical control (NC) device 1 according to Embodiment 1. The numerical control device 1 is a computer that controls a machine tool that performs cutting machining. The control target, i.e., the machine tool controlled by the numerical control device 1 performs machining including vibration cutting. The machine tool performs vibration cutting that is realized by vibrating a driven body by using a driving mechanism.
[0027] The numerical control device 1 has an input operation section 2, an output section 3, and a control operation section 4. In Figure 1 is shown a structure element of the numerical control device 1, i.e., a driving section 7 of the machine tool. The driving section 7 is connected to the control operation section 4. The numerical control device 1 generates various kinds of instructions in accordance with a machining program. The numerical control device 1 outputs the generated various kinds of instructions to the driving section 7, thereby controlling the machine tool. Further, the driving section 7 can be an element independent of the machine tool.
[0028] The machine tool is an NC machine tool. The machine tool performs cutting of a workpiece by bringing a tool into contact with the workpiece and moving the tool and the workpiece relative to each other. The machine tool removes unnecessary portions from the workpiece by cutting, thereby machining the workpiece into a target shape. In Embodiment 1, the machine tool uses a driving shaft of one or more axes to move the tool and the workpiece relative to each other and machine the workpiece using the tool. In Embodiment 1, the machine tool, for example, rotates the workpiece by the driving section 7 and moves the tool in the X-axis direction and the Z-axis direction by the driving section 7, thereby machining the workpiece. 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. Furthermore, 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 appropriately set in accordance with the structure of the machine tool.
[0029] The driving section 7 has a servo motor 71x, a detector 72x, and a servo control section 73x. The servo motor 71x constitutes an X-axis driving mechanism. The X-axis driving mechanism is a driving mechanism that drives a tool or a workpiece that performs cutting of the workpiece in the X-axis direction. In Embodiment 1, the X-axis driving mechanism is a driving mechanism that drives the tool in the X-axis direction. The servo motor 71x is a power source of the X-axis driving mechanism. The detector 72x detects the rotational position of the servo motor 71x 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 section 73x.
[0030] The numerical control device 1 outputs an instruction for driving the tool in the X-axis direction to the servo control section 73x. The servo control section 73x performs feedback (FB) control of the servo motor 71x on the basis of the instruction from the numerical control device 1, the position information, and the speed information from the detector 72x. The driving section 7 moves the tool in the X-axis direction by the FB control of the servo motor 71x. In addition, the driving section 7 outputs information indicating the amount of vibration movement with respect to the X-axis direction to the numerical control device 1 by outputting the position information detected by the detector 72x at the time of vibration cutting to the numerical control device 1. The amount of vibration movement is the amount of movement of the tool with respect to the workpiece in vibration cutting. Hereinafter, the information of the amount of vibration movement output from the driving section 7 to the numerical control device 1 will be referred to as FB vibration movement. That is, the driving section 7 outputs the FB vibration movement with respect to the X-axis direction to the numerical control device 1.
[0031] Further, the drive section 7 has a servo motor 71z, a detector 72z, and a servo control section 73z. The servo motor 71z constitutes a Z-axis drive mechanism. The Z-axis drive mechanism is a drive mechanism that drives a tool or a workpiece that is subjected to cutting in the Z-axis direction. In Embodiment 1, the Z-axis drive mechanism is provided as a drive mechanism that drives the 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 of the servo motor 71z 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 section 73z.
[0032] The numerical control device 1 outputs an instruction for driving the tool in the Z-axis direction to the servo control section 73z. The servo control section 73z performs FB control of the servo motor 71z on the basis of the instruction from the numerical control device 1, the position information, and the speed information from the detector 72z. The drive section 7 causes the tool to act in the Z-axis direction by the FB control of the servo motor 71z. Further, the drive section 7 outputs the FB vibration movement amount in the Z-axis direction to the numerical control device 1 by outputting the position information detected by the detector 72z at the time of vibration cutting to the numerical control device 1.
[0033] The machine tool has one or two or more tool holders. The drive mechanism drives the tool holders and tools. The tool holders and tools are driven bodies that are driven by the drive mechanism. The tools are mounted to the tool holders. In the drive section 7, there are groups of servo motors 71x, 71z, detectors 72x, 72z, and servo control sections 73x, 73z for each tool holder.
[0034] Further, the drive section 7 has a spindle motor 71s, a detector 72s, and a spindle control section 73s. The spindle motor 71s rotates a spindle. The spindle is an axis that rotates a workpiece. The detector 72s detects the rotational position of the spindle motor 71s and the 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 section 73s.
[0035] The numerical control device 1 outputs an instruction for rotating the spindle to the spindle control section 73s. The spindle control section 73s performs FB control of the spindle motor 71s on the basis of the instruction from the numerical control device 1, the position information, and the speed information from the detector 72s. The drive section 7 causes the workpiece to perform a rotational action by the FB control of the spindle motor 71s.
[0036] The machine tool can process one workpiece, or can simultaneously process two or more workpieces. In the case where the machine tool simultaneously processes two or more workpieces, there is a group of two or more spindle motors 71s, detectors 72s, and spindle control sections 73s in the drive section 7. In the case where the machine tool simultaneously processes two or more workpieces, the machine tool has, for example, two or more tool holders.
[0037] The input operation section 2 is an input unit that inputs information to the control arithmetic section 4. The input operation section 2 has, for example, a keyboard, a touch panel, a button, or a mouse. The input operation section 2 is operated by, for example, an operator of the machine tool or a maintenance person of the machine tool. The input operation section 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 arithmetic section 4. The machining program number is information that indicates any one of machining programs stored in a machining program storage area 432 of the storage section 43 described later.
[0038] The output section 3 is an output unit that outputs information processed by the control arithmetic section 4. The output section 3 has, for example, a display unit such as a liquid crystal display device. The output section 3 displays information processed by the control arithmetic section 4 on a screen. Note that the output section 3 is not limited to having a display unit. The output section 3 can have a voice device such as a speaker. In addition, the output section 3 can output information to an external device of the numerical control device 1. For example, the numerical control device 1 can be connected to a network, and the output section 3 can transmit information to a display device connected to the network or a computer connected to the network via the network.
[0039] The control arithmetic section 4 has an input control section 41, a data setting section 42, a storage section 43, an output control section 44, an analysis processing section 45, a control signal processing section 46, a PLC (Programmable Logic Controller) circuit section 47, an interpolation processing section 48, a speed change processing section 49, and an axis data input / output section 50. The control arithmetic section 4 receives information from the input operation section 2, and outputs the received information to the data setting section 42. Figure 1 In the structure shown in the drawing, the PLC circuit section 47 is provided inside the control arithmetic section 4, but the PLC circuit section 47 can be provided outside the control arithmetic section 4.
[0040] The input control section 41 receives information input from the input operation section 2, and outputs the received information to the data setting section 42. The data setting section 42 stores the information from the input control section 41 in the storage section 43. That is, input information received by the input operation section 2 is written in the storage section 43 via the input control section 41 and the data setting section 42.
[0041] The storage section 43 is a device that saves data, such as a nonvolatile memory or a hard disk. The storage section 43 has a parameter storage area 431, a machining program storage area 432, a display data storage area 433, and a shared area 434.
[0042] In the parameter storage area 431, various parameters used to control the processing of the arithmetic operation section 4 are stored. Specifically, in the parameter storage area 431, control parameters used to cause the numerical control device 1 to operate, servo parameters, tool data, and parameters related to vibration cutting, and the like are stored. The arithmetic operation section 4 calculates, in advance, conditions under which vibration cutting can be performed (conditions under which a chip can be divided), Figure 2 、 Figure 12 the number of vibrations (times) per one rotation of the spindle, the rotational speed of the spindle (r / min), and the vibration frequency (Hz) are stored in the parameter area 431 as vibration cutting conditions. The operator calculates conditions under which vibration cutting can be performed. The conditions calculated by the operator are acquired by the input control 41 operating as an acquisition section that acquires vibration cutting conditions, and are written in the parameter storage area 431 by the data setting section 42.
[0043] In the machining program storage area 432, an NC program, i.e., a machining program, used for machining of a workpiece is stored. The machining program stored in the machining program storage area 432 contains one or more modules. In addition, in Embodiment 1, the machining program contains various instructions, such as a movement instruction that causes a tool to move, a rotation instruction that causes a spindle to rotate, and a vibration instruction that causes a tool to vibrate. A parameter that indicates the rotational speed of the spindle is included in the rotation instruction. A parameter related to the vibration of the tool is included in the vibration instruction. Examples of the parameter related to the vibration of the tool are the amplitude and the number of vibrations. The number of vibrations is, for example, the number of vibrations per one rotation of the spindle.
[0044] In the display data storage area 433, data of a screen displayed by the output section 3, i.e., screen display data, is stored.
[0045] In the shared area 434, data temporarily used by the arithmetic operation section 4 when performing each process is stored. For example, a machining program number received by the input operation section 2 is written in the shared area 434 of the storage section 43 via the input control section 41 and the data setting section 42.
[0046] The output control section 44 causes the screen display data stored in the display data storage area 433 of the storage section 43 to be displayed on the output section 3.
[0047] In the control operation section 4, the analysis processing section 45, the control signal processing section 46, and the interpolation processing section 48 are connected to each other via the storage section 43, and writing of information and reading of information are performed via the storage section 43. Hereinafter, with respect to the writing and reading of information between the analysis processing section 45, the control signal processing section 46, and the interpolation processing section 48, the description for the case via the storage section 43 is sometimes omitted.
[0048] The analysis processing section 45 is connected to the storage section 43. The analysis processing section 45 refers to the machining program number that has been written in the shared area 434. If the input operation section 2 receives a selection, the analysis processing section 45 refers to the machining program number that has been written in the shared area 434, and reads out the machining program indicated by the selected machining program number from the machining program storage area 432, and performs analysis processing with respect to each module of the machining program, that is, each line of the machining program. The analysis processing section 45 analyzes various codes such as an instruction of a rotational speed of the spindle motor 71s, that is, an S code, an instruction related to movement of a tool, that is, a G code, and a mechanical operation instruction, that is, an M code. If the analysis processing of each line of the machining program is completed, the analysis processing section 45 writes the analysis results of the various codes in the shared area 434.
[0049] The analysis processing section 45, in a case where the machining program includes the S code, acquires a rotational speed of the spindle by analyzing the S code included in the machining program. The analysis processing section 45 writes the acquired rotational speed in the shared area 434.
[0050] The analysis processing section 45, in a case where the machining program includes the G code, acquires a condition of tool feed, that is, a movement condition, by analyzing the G code included in the machining program. The movement condition includes, for example, a speed of moving the tool holder with respect to each of the X-axis direction and the Z-axis direction, and a position of a movement target of the tool holder with respect to each of the X-axis direction and the Z-axis direction. The analysis processing section 45 writes the acquired movement condition in the shared area 434.
[0051] Further, the analysis processing section 45, in a case where the machining program includes the G code related to vibration cutting, acquires a condition of vibration in the vibration cutting, that is, a vibration condition, by analyzing the G code included in the machining program. The vibration condition includes, for example, a number of vibrations per one rotation of the spindle, and an amplitude feed ratio. The number of vibrations per one rotation of the spindle is, for example, a number of vibrations of the tool during one rotation period of the spindle in the vibration cutting. The amplitude feed ratio is a ratio of an amount of amplitude of the vibration to an amount of movement of the tool per one vibration. The analysis processing section 45 writes the acquired vibration condition in the shared area 434.
[0052] The control signal processing section 46 is connected to the PLC circuit section 47, and receives signal information of relays and the like that actuate the machine tool from the PLC circuit section 47. The control signal processing section 46 writes the received signal information in the shared area 434.
[0053] The interpolation processing section 48 is connected to the storage section 43 and the acceleration / deceleration processing section 49. If the movement condition and the vibration condition are written in the shared area 434, the interpolation processing section 48 reads the movement condition and the vibration condition from the shared area 434. The interpolation processing section 48 generates a command of a vibration movement amount in the X-axis direction, i.e., an X-axis command vibration movement amount, and a command of a vibration movement amount in the Z-axis direction, i.e., a Z-axis command vibration movement amount, based on the read movement condition and vibration condition. Hereinafter, the X-axis command vibration movement amount and the Z-axis command vibration movement amount will be collectively referred to as a command vibration movement amount. The interpolation processing section 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 section 49.
[0054] The acceleration / deceleration processing section 49 is connected to the interpolation processing section 48 and the axis data input / output section 50. The acceleration / deceleration processing section 49 acquires the command vibration movement amount from the interpolation processing section 48, and converts the command vibration movement amount into a movement command per unit time taking acceleration / deceleration into consideration in accordance with a pre-designated acceleration / deceleration pattern. The acceleration / deceleration processing section 49 outputs the movement command per unit time to the axis data input / output section 50.
[0055] The axis data input / output section 50 is connected to the acceleration / deceleration processing section 49 and the drive section 7. The axis data input / output section 50 acquires the movement command per unit time from the acceleration / deceleration processing section 49, and outputs the movement command per unit time to the drive section 7. In addition, the axis data input / output section 50 acquires the FB vibration movement amount from the drive section 7, and outputs the FB vibration movement amount to the acceleration / deceleration processing section 49. If the FB vibration movement amount is acquired from the axis data input / output section 50, the acceleration / deceleration processing section 49 outputs the acquired FB vibration movement amount to the interpolation processing section 48.
[0056] The interpolation processing section 48 has a spindle rotation speed selection section 481, a waveform generation section 482, and a vibration movement amount generation section 483.
[0057] The spindle rotation speed selection section 481 selects a rotation speed of a spindle at the time of vibration cutting. The spindle rotation speed selection section 481 selects one of a plurality of candidates of spindle rotation speeds stored in the parameter storage area 431 as a parameter related to vibration cutting. The spindle rotation speed selection section 481 acquires a rotation speed of a spindle obtained by the analysis processing section 45 analyzing the S code, via the shared area 434 of the storage section 43, and selects one of the candidates of spindle rotation speeds based on the acquired rotation speed of the spindle, and sets it as the rotation speed of the spindle at the time of vibration cutting.
[0058] The waveform generation section 482 generates a basic waveform when the tool is vibrated. Specifically, the waveform generation section 482 acquires the vibration condition from the analysis processing section 45 via the shared area 434 of the storage section 43, and generates a basic waveform of the vibration, i.e., a vibration waveform, based on the acquired vibration condition and the spindle speed at the time of vibration cutting selected by the spindle speed selection section 481.
[0059] The vibration movement amount generation section 483 generates a vibration movement amount in the Z-axis direction based on the vibration waveform generated by the waveform generation section 482 and the movement path of the tool. Specifically, the vibration movement amount generation section 483 generates a vibration movement amount in the Z-axis direction by calculating a vibration advance position and a vibration retreat position for each vibration. The vibration advance position is a position after advancing a distance corresponding to the amplitude indicated by the vibration waveform from a position on the movement path of the tool. The vibration retreat position is a position after retreating a distance corresponding to the amplitude indicated by the vibration waveform from a position on the movement path of the tool. The vibration movement amount generation section 483 also calculates a vibration movement amount in the X-axis direction in the same manner. The vibration movement amount generation section 483 generates a command vibration movement amount in each of the Z-axis direction and the X-axis direction by calculating the vibration movement amount in each of the Z-axis direction and the X-axis direction.
[0060] The command vibration movement amount generated by the vibration movement amount generation section 483 is transmitted to the drive section 7 via the acceleration / deceleration processing section 49 and the axis data input / output section 50. The drive section 7 performs vibration cutting based on the command vibration movement amount transmitted from the vibration movement amount generation section 483. The drive section 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, thereby vibrating the tool and causing the machine tool to perform vibration cutting.
[0061] Next, the operation of the numerical control device 1 according to Embodiment 1 in which the machine tool is controlled to perform vibration cutting will be described.
[0062] Figure 2 is a diagram illustrating one example of a list of vibration cutting conditions that can be used when the numerical control device 1 according to Embodiment 1 controls the machine tool to perform vibration cutting. Each vibration cutting condition included in the list of vibration cutting conditions is selected when the processing cycle inside the numerical control device 1 is a certain cycle, and is used for control of the machine tool. The processing cycle inside the numerical control device 1 is also referred to as a control cycle. In the following description, the processing cycle inside the numerical control device 1 will be referred to as a control cycle.
[0063] The vibration cutting condition includes a combination of the number of vibrations per one revolution of the spindle (times), the spindle speed (r / min), and the vibration frequency (Hz). Furthermore, the vibration frequency is the vibration frequency of the tool in vibration cutting. The vibration frequency is uniquely determined from the number of vibrations per one revolution of the spindle and the spindle speed. For convenience of explanation,Figure 2 The vibration cutting conditions are written in order of spindle speed from high (4000 r / min in this example) to low. As shown in Figure 2 The vibration cutting conditions included in the vibration cutting condition list are not continuous but discrete as shown.
[0064] Figure 2 The list of vibration cutting conditions shown is stored in advance in the parameter storage area 431 included in the storage section 43 of the numerical control device 1.
[0065] The numerical control device 1 according to Embodiment 1, when controlling vibration cutting processing, causes the tool to vibrate and the spindle to rotate in accordance with Figure 2 one of the vibration cutting conditions included in the vibration cutting condition list as shown. The method of selecting the vibration cutting condition from the vibration cutting condition list will be described later. That is, the numerical control device 1 according to Embodiment 1 selects one of the vibration cutting conditions included in the list of vibration cutting conditions by the method described later, controls the speed of the spindle so as to become the spindle speed included in the selected vibration cutting condition, and controls the vibration of the tool so as to become the vibration frequency included in the selected vibration cutting condition. Furthermore, the numerical control device 1 according to Embodiment 1 performs vibration cutting, for example, with respect to each cutting instruction of the machining program.
[0066] In the control action of the machine tool performed by the numerical control device 1, first, the analysis processing section 45 reads out the machining program from the machining program storage area 432 of the storage section 43 and analyzes the machining program with respect to each module, and writes the analysis result in the shared area 434.
[0067] Next, the interpolation processing section 48 confirms the analysis result of the machining program obtained by the analysis processing section 45, and in the case where the rotation instruction indicating the rotation of the spindle and the vibration instruction indicating the vibration of the tool are analyzed, selects the spindle speed from the vibration cutting condition list based on the spindle speed indicated by the rotation instruction, that is, the instruction spindle speed, and the number of vibrations per rotation of the spindle indicated by the vibration instruction, that is, the instruction vibration number. That is, one of the vibration cutting conditions is selected. Specifically, the spindle speed selection section 481 selects one of the vibration cutting conditions in which the number of vibrations per rotation of the spindle is the same as the instruction vibration number with respect to each cutting instruction so that the average of the spindle speeds approaches the instruction spindle speed. Furthermore, the instruction spindle speed is sometimes changed with respect to each cutting instruction. In this case, the spindle speed selection section 481 can also select the spindle speed at the time of performing vibration cutting with respect to each cutting instruction so that the average of the spindle speeds selected from the vibration cutting condition list approaches the average of the indicated spindle speeds.
[0068] As one example, the vibration cutting condition list is Figure 2The illustrated structure, the command spindle speed is 3700r / min, the command vibration frequency is 0.5 times the state across multiple cutting instructions (vibration cutting) and continue to be the case where the action. As Figure 2 As illustrated, the spindle speed selection part 481 in (A) indicates the first cutting instruction (vibration cutting) after 3700r / min, (B) is selected to become 3750r / min vibration cutting conditions, as the first spindle speed. Spindle speed selection part 481 in the next cutting instruction (vibration cutting), (C) is selected to become 3636r / min vibration cutting conditions, as the second spindle speed. In addition, the spindle speed selection part 481 in the next cutting instruction (vibration cutting), (D) is selected to become 4000r / min vibration cutting conditions, as the third spindle speed. And, spindle speed selection part 481 in the next cutting instruction (vibration cutting), (E) is selected to become 3529r / min vibration cutting conditions, as the fourth spindle speed. In this case, the average value of the spindle speed at the time point of the fourth spindle speed is selected is 3728r / min, close to the command spindle speed 3700r / min. In the case of further cutting instruction (vibration cutting) continues, the spindle speed selection part 481 for each cutting instruction (vibration cutting) repeated spindle rotation side speed selection, so that the average value of the spindle speed close to the command spindle speed 3700r / min.
[0069] Figure 3 is a flowchart indicating one example of the control action of the numerical control device 1 according to Embodiment 1 to make the machine tool perform vibration cutting. The numerical control device 1 for each cutting instruction (vibration cutting), perform according to Figure 3 the action of the flowchart illustrated.
[0070] As Figure 3As shown, when the CNC device 1 causes the machine tool to perform vibratory cutting, it first confirms whether the average spindle speed is less than or equal to the commanded spindle speed (step S1). This confirmation action in step S1 is performed by the spindle speed selection unit 481. If the average spindle speed is not less than or equal to the commanded spindle speed, that is, if the average spindle speed is greater than the commanded spindle speed (step S1: No), the CNC device 1 controls the drive unit 7 to perform vibratory cutting at a spindle speed lower than the commanded spindle speed (step S2). Specifically, for the action in step S2, the spindle speed selection unit 481 first selects a vibratory cutting condition that includes a spindle speed lower than the commanded spindle speed from among vibratory cutting conditions where the number of vibrations per revolution of the spindle is consistent with the number of vibrations commanded. If there are multiple vibratory cutting conditions that include a spindle speed lower than the commanded spindle speed, the spindle speed selection unit 481 selects a vibratory cutting condition where the average spindle speed is closer to the commanded spindle speed. Next, the waveform generation unit 482 generates a vibration waveform based on the spindle speed selected by the spindle speed selection unit 481 and the vibration conditions obtained by the analysis processing unit 45 through analyzing the machining program. Then, the vibration movement amount generation unit 483 generates a commanded 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 commanded vibration movement amount and outputs the movement command per unit time to the drive unit 7 via the axis data input / output unit 50.
[0071] In contrast, when the average spindle speed is less than or equal to the commanded spindle speed (step S1: Yes), the CNC device 1 controls the drive unit 7 to perform vibration cutting at a spindle speed higher than the commanded spindle speed (step S3). Specifically, firstly, the spindle speed selection unit 481 selects a vibration cutting condition that includes a spindle speed higher than the commanded spindle speed from among vibration cutting conditions where the number of vibrations per spindle revolution is the same as the commanded number of vibrations. If multiple vibration cutting conditions with spindle speeds higher than the commanded spindle speed exist, the spindle speed selection unit 481 selects a vibration cutting condition where the average spindle speed is closer to the commanded spindle speed. The operation of the waveform generation unit 482, the vibration movement generation unit 483, and the acceleration / deceleration processing unit 49 after the spindle speed selection unit 481 selects a vibration cutting condition is the same as in step S2 above.
[0072] The above procedure is repeated by CNC device 1. Figure 3 The flowchart shown illustrates the actions to be performed in order to... Figure 2 The spindle speed selection is represented as (B) to (E). In vibration cutting, the average spindle speed will be close to the commanded spindle speed.
[0073] Further, in the first step S1 executed after the start of the vibration cutting operation, the command spindle speed is used as the average value of the spindle speed. Thus, in the first operation, after the step S1, the step S3 is executed to control the drive section 7 so as to perform the vibration cutting at the spindle speed higher than the command spindle speed, and thus it is possible to reduce the influence that the actual machining time is longer than the machining time assumed when the operator creates the machining program. That is, with respect to the spindle speed, it is possible to suppress the difference between the command spindle speed desired by the operator when creating the machining program to a certain range.
[0074] As described above, the numerical control device 1 according to the embodiment 1, in a case where the machine tool of the control target performs the vibration cutting, that is, in a case where the operation is performed in accordance with the vibration instruction indicating the vibration of the tool, one of a plurality of vibration cutting conditions including the combination of the vibration frequency and the spindle speed, which is prescribed in advance, is selected for each cutting instruction (vibration cutting), and the spindle is rotated at the spindle 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 speed approaches the spindle speed indicated by the rotation instruction, that is, the command spindle speed. Thus, it is possible to suppress the case where the difference between the machining time assumed when the operator creates the machining program and the actual machining time becomes large due to the influence of the vibration cutting to the minimum, and it is possible to achieve the improvement of the efficiency in the vibration cutting machining.
[0075] Embodiment 2
[0076] In the embodiment 2, the case where the vibration cutting synchronized with the indicated spindle speed is performed by deciding the start position of the vibration cutting waveform in a manner that the vibration cutting is performed for each cutting instruction in accordance with the rotation phase of the spindle is described.
[0077] Figure 4 is a view showing a structure example of the numerical control device 1a according to the embodiment 2. In Figure 4 , the same reference numerals are attached to the structure elements common to the numerical control device 1 according to the embodiment 1 shown in Figure 1 . In the present embodiment, the description of the structure elements to which the same reference numerals as those of the numerical control device 1 are attached is omitted.
[0078] The numerical control device 1a according to the embodiment 2 has the input operation section 2, the output section 3, and the control arithmetic section 4a.
[0079] The control arithmetic section 4a has the input control section 41, the data setting section 42, the storage section 43, the output control section 44, the analysis processing section 45, the control signal processing section 46, the PLC circuit section 47, the interpolation processing section 48a, the acceleration / deceleration processing section 49, and the axis data input / output section 50.
[0080] The interpolation processing section 48a has a waveform generating section 482, a vibration movement amount generating section 483a, a spindle reference phase calculating section 484, and a retreat start position determining section 485.
[0081] The vibration movement amount generating section 483a generates a command vibration movement amount in each of the Z-axis direction and the X-axis direction, based on a vibration waveform generated by the waveform generating section 482, a movement path of the tool, and information of a retreat start position generated by the retreat start position determining section 485 described later.
[0082] The spindle reference phase calculating section 484 calculates a reference phase difference for determining the retreat start position at the start of the vibration cutting.
[0083] The retreat start position determining section 485 determines the retreat start position based on the reference phase difference calculated by the spindle reference phase calculating section 484, and generates information of the retreat start position.
[0084] Use Figure 5 The reference phase difference calculated in the control operation section 4a of the numerical control device 1a according to Embodiment 2 and the retreat start position determined by the retreat start position determining section 485 will be described.
[0085] Figure 5 is a graph showing the relationship between the reference phase difference and the retreat start position calculated in the control operation section 4a of the numerical control device 1a according to Embodiment 2. In Figure 5 , a waveform represented by a command vibration movement amount generated by the vibration movement amount generating section 483a, that is, a vibration cutting waveform, is shown to show the relationship between the reference phase difference and the retreat start position. In Figure 5 , a broken line in the vertical direction indicates one rotation of the spindle in the case where the number of vibrations (times) per one rotation of the spindle is 0.5. In Figure 5 the example shown in Figure 5 , the spindle rotates twice during one vibration of the tool. That is, the spindle rotates once during the advance of the tool, and the spindle rotates once during the retreat of the tool. As described above, in , in the vibration cutting waveform, the position where the advance is switched to the retreat and the position where the retreat is switched to the advance are set in accordance with the rotation phase of the spindle.
[0086] In the present embodiment, as shown in the vibration cutting waveform of Figure 5 , with respect to the feed axis in the vibration cutting, (1) a movement amount per one vibration, (2) a retreat amount, and (3) an advance amount are defined. As shown in Figure 5 , the relationship of "(3) advance amount = (2) retreat amount + (1) movement amount per one vibration" holds. Using this relationship, the spindle reference phase calculating section 484 calculates Figure 5The (5) reference phase difference shown is calculated, and the retreat start position determination section 485 determines Figure 5 The (6) retreat start position shown indicates a position at which the center point of the vibration starts to retreat after the vibration cutting is started. Here, the (1) movement amount per vibration is a movement amount of the feed axis in each of the tool advancement and the retreat, and, for example, in a case where the time of the tool advancement is the same as the time of the retreat, 1 / 2 of the movement amount is generated in the tool advancement, and the remaining 1 / 2 is generated in the tool retreat. In this case, the (2) retreat amount is added to, or the (1) movement amount per vibration is subtracted from, 1 / 2 of the (1) movement amount per vibration and the (3) advancement amount to calculate the (6) retreat start position. Figure 5 The (4) amplitude shown. In addition, the (2) retreat amount is a retreat amount of the feed axis per vibration, and the (3) advancement amount is an advancement amount of the feed axis per vibration. In Figure 5 In the figure, the solid line indicated as the advancement position indicates a movement path of the vibration advancement position, and the broken line indicated as the retreat position indicates a movement path of the vibration retreat position.
[0087] Figure 6 is a flowchart showing one example of an operation of the control operation section 4a of the numerical control device 1a according to Embodiment 2 to calculate the reference phase difference and determine the retreat start position. The control operation section 4a of the numerical control device 1a performs the operation according to the flowchart shown below in a case where the vibration cutting is started. Figure 6 The operation of the flowchart shown below is performed in a case where the vibration cutting is started. The case where the vibration cutting is started refers to a case where the analysis processing section 45 detects an instruction indicating the start of the vibration cutting by analyzing the machining program, and the interpolation processing section 48a generates the instructed vibration movement amount according to the instruction.
[0088] In a case where the control operation section 4a generates the instructed vibration movement amount, first, the main shaft reference phase calculation section 484 calculates the movement amount per vibration (Step S11). Specifically, the main shaft reference phase calculation section 484 calculates the (1) movement amount per vibration based on the movement amount of the tool per unit time obtained by the analysis processing section 45 and the analysis result of one of the vibration conditions included in the vibration cutting instruction, that is, the number of vibrations per rotation of the main shaft, and the like. Figure 5 The (1) movement amount per vibration shown is calculated.
[0089] Next, the main shaft reference phase calculation section 484 calculates the retreat amount of the vibration (Step S12). Specifically, the main shaft reference phase calculation section 484 calculates the (2) retreat amount based on the aforementioned movement amount of the tool per unit time and the aforementioned amplitude feed ratio. Figure 5 The (2) retreat amount shown is calculated.
[0090] Next, the spindle reference phase calculating section 484 calculates the advance amount of the vibration on the basis of the movement amount per one vibration and the retreat amount of the vibration (step S13). Specifically, the spindle reference phase calculating section 484 calculates the advance amount of the vibration on the basis of the movement amount per one vibration calculated in step Sll and the retreat amount of the vibration calculated in step S12. Figure 5 The advance amount of the vibration calculated in step S13 is shown in (3) of FIG. 9.
[0091] Next, the spindle reference phase calculating section 484 calculates the amplitude on the basis of the movement amount per one vibration and the advance amount of the vibration (step S14). Specifically, the spindle reference phase calculating section 484 calculates the amplitude on the basis of the movement amount per one vibration calculated in step Sll and the advance amount of the vibration calculated in step S13. Figure 5 The amplitude calculated in step S14 is shown in (4) of FIG. 9.
[0092] Next, the spindle reference phase calculating section 484 calculates the reference phase difference of the spindle on the basis of the amplitude and the feed movement amount per one rotation (step S15). The feed movement amount per one rotation is the movement amount of the feed axis during one period of the spindle rotation. Here, the vibration cutting is started from the initial position of the vibration cutting start position, for example, the initial position of the vibration cutting start position of the spindle rotation position shown in (5) of FIG. 9, which is apart from the position of the reference phase difference of the spindle by the amplitude. Thus, it is possible to perform the vibration cutting that matches the rotation phase of the spindle. That is, the spindle reference phase calculating section 484 determines the start position of the vibration cutting waveform so that the vibration cutting is performed for each cutting command so as to match the rotation phase of the spindle. At this time, the determined vibration cutting start position can be the initial position of the movement of the retreat start position, for example, as shown in (5) of FIG. 9, or the start advance position. Figure 5 The amplitude calculated in step S14 is shown in (4) of FIG. 9.
[0092] Next, the spindle reference phase calculating section 484 calculates the reference phase difference of the spindle on the basis of the amplitude and the feed movement amount per one rotation (step S15). The feed movement amount per one rotation is the movement amount of the feed axis during one period of the spindle rotation. Here, the vibration cutting is started from the initial position of the vibration cutting start position, for example, the initial position of the vibration cutting start position of the spindle rotation position shown in (5) of FIG. 9, which is apart from the position of the reference phase difference of the spindle by the amplitude. Thus, it is possible to perform the vibration cutting that matches the rotation phase of the spindle. That is, the spindle reference phase calculating section 484 determines the start position of the vibration cutting waveform so that the vibration cutting is performed for each cutting command so as to match the rotation phase of the spindle. At this time, the determined vibration cutting start position can be the initial position of the movement of the retreat start position, for example, as shown in (5) of FIG. 9, or the start advance position. Figure 5 The amplitude calculated in step S14 is shown in (4) of FIG. 9.
[0092] Next, the spindle reference phase calculating section 484 calculates the reference phase difference of the spindle on the basis of the amplitude and the feed movement amount per one rotation (step S15). The feed movement amount per one rotation is the movement amount of the feed axis during one period of the spindle rotation. Here, the vibration cutting is started from the initial position of the vibration cutting start position, for example, the initial position of the vibration cutting start position of the spindle rotation position shown in (5) of FIG. 9, which is apart from the position of the reference phase difference of the spindle by the amplitude. Thus, it is possible to perform the vibration cutting that matches the rotation phase of the spindle. That is, the spindle reference phase calculating section 484 determines the start position of the vibration cutting waveform so that the vibration cutting is performed for each cutting command so as to match the rotation phase of the spindle. At this time, the determined vibration cutting start position can be the initial position of the movement of the retreat start position, for example, as shown in (5) of FIG. 9, or the start advance position.
[0093] Next, the retreat start position determining section 485 determines the retreat start position on the basis of the aforementioned reference phase difference of the spindle (step S16). Specifically, the retreat start position determining section 485 determines the rotation position of the spindle at the time point at which the vibration retreat position starts moving on the basis of the reference phase difference of the spindle calculated by the spindle reference phase calculating section 484 in step S15.
[0094] The retreat start position determined by the retreat start position determining section 485 is used in the command vibration movement amount generating process performed by the vibration movement amount generating section 483a. That is, the vibration movement amount generating section 483a generates the command vibration movement amount so that the vibration retreat position starts moving from the retreat start position determined by the retreat start position determining section 485.
[0095] As described above, the numerical control device 1a according to Embodiment 2 generates the command vibration displacement amount of the feed axis by the vibration displacement amount generation section 483a in the interpolation processing section 48a in a manner that the phase of the vibration cutting waveform is synchronized with the rotation phase of the spindle, and controls the machine tool. Therefore, it is possible to always follow the vibration cutting waveform with the command spindle speed. That is, it is possible to perform the vibration cutting synchronized with the indicated spindle speed regardless of what kind of spindle speed is indicated. In other words, it is possible to perform the vibration cutting machining with the machining time assumed when the operator creates the machining program.
[0096] In addition, the general machine tool has a function of stopping the machining operation by issuing an alarm in a case where the spindle speed exceeding the upper limit value of the prescribed spindle speed is indicated, but according to the numerical control device 1a, since the vibration cutting is controlled with the spindle speed indicated by the machining program, it is possible to prevent the machining operation from being stopped by the alarm at the time of the vibration cutting machining.
[0097] Embodiment 3
[0098] In Embodiment 2, in order to generate the vibration cutting waveform for performing the vibration cutting synchronized with the indicated spindle speed, the spindle reference phase calculation section 484 calculates the displacement amount per vibration, the retreat amount of vibration, and the advance amount of vibration, and calculates the amplitude of vibration using the calculated displacement amount per vibration and the advance amount of vibration. In Embodiment 3, the following case is described, for example, the rotation amount per vibration and the feed displacement amount per rotation are acquired from the vibration cutting instruction, and the amplitude of vibration is calculated based on the acquired rotation amount per vibration and the feed displacement amount per rotation.
[0099] Figure 7 is a view showing a configuration example of the numerical control device 1b according to Embodiment 3. In Figure 7 , the same reference numerals are attached to the structural elements common to the numerical control device 1 according to Embodiment 1 shown in Figure 1 . In the present embodiment, the description of the structural elements to which the same reference numerals as the numerical control device 1 are attached is omitted.
[0100] The numerical control device 1b according to Embodiment 3 has an input operation section 2, an output section 3, and a control arithmetic section 4b.
[0101] The control arithmetic section 4b has an input control section 41, a data setting section 42, a storage section 43, an output control section 44, an analysis processing section 45, a control signal processing section 46, a PLC circuit section 47, an interpolation processing section 48b, a speed change processing section 49, and an axis data input / output section 50.
[0102] The interpolation processing section 48b has a waveform generating section 482, a vibration movement amount generating section 483a, a spindle reference phase calculating section 484b, and a retreat start position determining section 485. Further, the vibration movement amount generating section 483a possessed by the interpolation processing section 48b has the same processing as the vibration movement amount generating section 483a possessed by the interpolation processing section 48a of the numerical control device 1a related to Embodiment 2, and thus the description thereof is omitted.
[0103] The spindle reference phase calculating section 484b calculates the reference phase difference in a different method from the spindle reference phase calculating section 484 of the numerical control device 1a related to Embodiment 2.
[0104] Using Figure 8 The reference phase difference calculated in the control operation section 4b by the spindle reference phase calculating section 484b and the retreat start position determined by the retreat start position determining section 485 are described.
[0105] Figure 8 is a graph showing the relationship between the reference phase difference and the retreat start position calculated in the control operation section 4b of the numerical control device 1b related to Embodiment 3. In Figure 8 , the same as Figure 5 , the relationship between the reference phase difference and the retreat start position is shown using the vibration cutting waveform. In the example shown in Figure 8 , the same as Figure 5 , the spindle rotates twice during the tool vibration once.
[0106] In the present embodiment, as shown in Figure 8 , (4a) the amplitude, (5a) the reference phase difference, and (6a) the retreat start position are defined. In the present embodiment, the advance amount and the retreat amount of the vibration used in Embodiment 2, and the movement amount of the feed axis per vibration once are not considered.
[0107] Figure 9 is a flowchart showing one example of the action of the control operation section 4b of the numerical control device 1b related to Embodiment 3 to perform the calculation of the reference phase difference and the determination of the retreat start position. In Figure 9 , the same step numbers are attached to the processes common to the flowchart shown in Figure 6 . That is, the control operation section 4b performs step S21 instead of steps S11 to S14 shown in Figure 6 , and the amplitude is found.
[0108] In the operation of the control operation section 4b to calculate the reference phase difference and determine the retreat start position, first, the spindle reference phase calculation section 484b calculates the amplitude based on the rotation amount per vibration 1 time and the feed movement amount per rotation 1 time (step S21). Specifically, the spindle reference phase calculation section 484b multiplies the rotation amount per vibration 1 time by the feed movement amount per rotation 1 time to find the amplitude (4a) shown in the following expression. Figure 8 The rotation amount per vibration 1 time is the number of rotations of the spindle during the tool vibration 1 time in the vibration cutting, and is 2 rotations in the example shown in the following expression. Figure 8 Since steps S15 and S16 after step S21 are the same as in Embodiment 2, the description is omitted.
[0109] As described above, the numerical control device 1b according to Embodiment 3 generates the vibration cutting waveform in a manner that the phase of the vibration cutting waveform is synchronized with the rotation phase of the spindle, like the numerical control device 1a according to Embodiment 2, and thus the same effects as the numerical control device 1a according to Embodiment 2 can be obtained. In addition, the numerical control device 1b according to Embodiment 3 can not calculate the retreat amount of the vibration and the advance amount of the vibration like Embodiment 2, and thus the calculation load applied to the numerical control device 1b can be reduced compared to Embodiment 2. In addition, in the case where the cutting tool is changed and the same part is machined more than or equal to 2 times, or the like, the vibration number per rotation 1 time of the spindle, which is one of the vibration conditions included in the vibration cutting instruction, is sometimes changed. At this time, in the above-described Embodiment 2, since the vibration number per rotation 1 time of the spindle is included in the calculation elements of the amplitude and the reference phase difference, it is possible that the start position of the vibration cutting is changed by the change of the vibration number per rotation 1 time of the spindle, and the machining surface precision is reduced. On the other hand, in Embodiment 3, the vibration number per rotation 1 time of the spindle, which is one of the vibration conditions included in the vibration cutting instruction, is not included in the calculation elements of the amplitude and the reference phase difference, and thus is not affected by the change of the vibration number per rotation 1 time of the spindle, and it is possible to suppress the reduction of the machining surface precision. In addition, in the above-described Embodiment 2, the vibration number per rotation 1 time of the spindle is included in the calculation elements of the amplitude, and thus the amplitude adjustment must be performed taking into account the change of the vibration number per rotation 1 time of the spindle, and the amplitude adjustment becomes difficult. On the other hand, in Embodiment 3, the vibration number per rotation 1 time of the spindle, which is one of the vibration conditions included in the vibration cutting instruction, is not included in the calculation elements of the amplitude, and thus the change of the vibration number per rotation 1 time of the spindle can not be taken into account in the case where the amplitude adjustment is performed, and it is possible to easily perform the amplitude adjustment.
[0110] Embodiment 4
[0111] Figure 10is a diagram showing a configuration example of the numerical control device 1c to which Embodiment 4 is applied. In Figure 10 the same as the numerical control device 1 shown in Embodiment 1. In the present embodiment, the description of the configuration elements to which the same reference numerals are given as the numerical control device 1 is omitted. Figure 1 the same as the numerical control device 1 shown in Embodiment 1. In the present embodiment, the description of the configuration elements to which the same reference numerals are given as the numerical control device 1 is omitted.
[0112] The numerical control device 1c to which Embodiment 4 is applied has the input operation section 2, the output section 3, and the control arithmetic section 4c.
[0113] The control arithmetic section 4c has the input control section 41, the data setting section 42c, the storage section 43, the output control section 44, the analysis processing section 45, the control signal processing section 46, the PLC circuit section 47, the interpolation processing section 48c, the acceleration / deceleration processing section 49, and the axis data input / output section 50.
[0114] The data setting section 42c includes a spindle speed range setting section 421 that performs range setting of the spindle speed at the time of vibration cutting. The range setting of the spindle speed at the time of vibration cutting is performed by the operator, for example. That is, the input operation section 2 receives a setting operation of the range of the spindle speed at the time of vibration cutting from the operator, and the spindle speed range setting section 421 of the data setting section 42c sets the range of the spindle speed at the time of vibration cutting.
[0115] Figure 11 is a flowchart showing one example of the operation of the spindle speed selection section 481c of the numerical control device 1c to which Embodiment 4 is applied.
[0116] As shown in Figure 11 , the spindle speed selection section 481c sets the upper limit value of the spindle speed (step S31). In this step S31, the operator operates the input operation section 2 to perform the setting of the upper limit value of the spindle speed at the time of vibration cutting. The setting of the upper limit value is performed, for example, with a value of the command spindle speed + 2%, the command spindle speed + 100 r / min as a target. The spindle speed selection section 481c receives the upper limit value of the spindle speed set by the operator from the input control section 41, and writes it in the parameter storage area 431 of the storage section 43. The upper limit value of the spindle speed can be determined based on the specifications of the machine tool controlled by the numerical control device 1c and the like.
[0117] The interpolation processing section 48b has the spindle speed selection section 481c, the waveform generation section 482, and the vibration movement amount generation section 483.
[0118] The spindle rotation speed selection section 481c selects the rotation speed of the spindle at the time of vibration cutting. The spindle rotation speed selection section 481c selects one of the candidates of the plurality of spindle rotation speeds stored in the parameter storage region 431 as parameters related to vibration cutting, in the same manner as the spindle rotation speed selection section 481 related to Embodiment 1. At this time, the spindle rotation speed selection section 481c selects the spindle rotation speed in such a manner that the spindle rotation speed does not exceed the upper limit value set by the spindle rotation speed range setting section 421.
[0119] Using Figure 12 An example of the operation of the spindle rotation speed selection section 481c selecting the spindle rotation speed will be described. Figure 12 is a diagram showing one example of a list of vibration cutting conditions that the numerical control device 1c related to Embodiment 4 can use at the time of controlling vibration cutting processing.
[0120] As one example, the operation in the case where the range set by the spindle rotation speed range setting section 421 is set to "command spindle rotation speed + 2% or less", and the command spindle rotation speed is 3700 r / min and the command vibration frequency is 0.5 times will be described. In this case, as shown in Figure 12 , the spindle rotation speed selection section 481c selects the vibration cutting condition of (b) 3750 r / min, which is less than or equal to the upper limit 3774 r / min of the range set by the spindle rotation speed range setting section 421, in the first cutting command (vibration cutting) after (a) 3700 r / min is indicated. The spindle rotation speed selection section 481c also selects the vibration cutting condition so that the average value of the spindle rotation speed approaches the command spindle rotation speed 3700 r / min, from among the vibration cutting conditions in which the spindle rotation speed is less than or equal to 3774 r / min, in the subsequent cutting commands (vibration cutting).
[0121] Figure 13 is a flowchart showing one example of the control operation of the numerical control device 1c related to Embodiment 4 causing the machine tool to perform vibration cutting. In Figure 13 , the processes common to the flowchart shown in Figure 3 will be described with the same step numbers. That is, the numerical control device 1c performs step S4 instead of step S3 shown in Figure 3 to control the machine tool. Figure 13 The steps S1 and S2 shown in Figure 3 are the same as steps S1 and S2 performed by the numerical control device 1 related to Embodiment 1, and thus the description will be omitted.
[0122] The numerical control device 1c controls the drive section 7 so that the vibration cutting is performed at the spindle speed higher than the command spindle speed and lower than or equal to the upper limit value, in a case where the average value of the spindle speed is lower than or equal to the command spindle speed (step S1: Yes). Specifically, the spindle speed selection section 481c selects the vibration cutting condition including the spindle speed higher than the command spindle speed and lower than or equal to the upper limit value, from among the vibration cutting conditions in which the number of vibrations per one rotation of the spindle coincides with the command number of vibrations. The spindle speed selection section 481c selects the vibration cutting condition in which the average value of the spindle speed is close to the command spindle speed, in a case where there are a plurality of vibration cutting conditions including the spindle speed higher than the command spindle speed and lower than or equal to the upper limit value. The operation of the spindle speed selection section 481c after the selection of the vibration cutting condition is the same as that of the embodiment 1, and thus the description is omitted.
[0123] As described above, the numerical control device 1c according to the embodiment 4 selects one of the vibration cutting conditions prescribed in advance, so that the spindle is rotated at the spindle speed included in the selected vibration cutting condition, in a case where the vibration cutting is performed for each cutting command (vibration cutting). At this time, the numerical control device 1c selects the vibration cutting condition in such a manner that the spindle speed is lower than or equal to the upper limit value set in advance, and the average value of the spindle speed is close to the command spindle speed indicated by the rotation command. Thus, as in the embodiment 1 described above, it is possible to minimize the difference between the processing time assumed by the operator when creating the processing program and the actual processing time due to the vibration cutting, and it is possible to achieve the improvement of the efficiency in the vibration cutting processing. In addition, it is possible to prevent the situation where the spindle speed during the vibration cutting exceeds the upper limit value allowed by the machine tool, and an alarm is generated, and the processing operation is stopped.
[0124] Next, the hardware structure of the control operation section (control operation section 4, 4a, 4b, 4c) included in the numerical control device (numerical control device 1, 1a, 1b, 1c) described in each of the embodiments will be described. Since the hardware structure of the control operation section included in the numerical control device described in each of the embodiments is the same, the hardware structure of the control operation section 4 included in the numerical control device 1 according to the embodiment 1 will be described as one example.
[0125] Figure 14 is a view showing an example of the hardware structure of the control operation section 4 included in the numerical control device 1 according to the embodiment 1.
[0126] The control operation section 4 is implemented by a control circuit 100 shown in Figure 14 . The control circuit 100 has a processor 101 and a memory 102. The control circuit 100 is a circuit in which the processor 101 executes software.
[0127] The control arithmetic unit 4 is realized by software, firmware, or a combination of software and firmware. The software or firmware is described as a program and stored in the memory 102. In the control circuit 100, each function of the control arithmetic unit 4 is realized by reading out and executing the program stored in the memory 102 by the processor 101. That is, the control circuit 100 has the memory 102 for storing a program that, in effect, executes the processing of the control arithmetic unit 4. The program is a numerical control program that causes a computer to execute the flow and method of the control arithmetic unit 4. The memory 102 also serves as a temporary memory when the processor 101 executes various processing.
[0128] The processor 101 is a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, a processor, a DSP (Digital Signal Processor), or a system LSI (Large Scale Integration), or the like. The memory 102 corresponds to, for example, a nonvolatile 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 high-density disk, a mini disk, or a DVD (Digital Versatile Disc), or the like.
[0129] The program executed by the processor 101 can also be a computer program product that is computer-readable and non-transitory, which includes a plurality of commands for performing data processing. The program executed by the processor 101 causes a computer to execute the plurality of commands to perform data processing.
[0130] The control arithmetic unit 4 can also be realized by dedicated hardware. In addition, a part of the functions of the control arithmetic unit 4 can be realized by dedicated hardware, and the other part of the functions of the control arithmetic unit 4 can be realized by software or firmware.
[0131] The structure shown in the above embodiments represents one example, and can be combined with other known techniques, or the embodiments can be combined with each other. In addition, a part of the structure can be omitted or changed without departing from the gist of the present application.
[0132] Explanation of Reference Signs
[0133] 1, 1a, 1b, 1c numerical control device, 2 input operation section, 3 output section, 4, 4a, 4b, 4c control operation section, 7 drive section, 41 input control section, 42, 42c data setting section, 43 storage 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 shaft 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 generation section, 483, 483a vibration movement amount generation section, 484, 484b spindle reference phase calculation section, 485 retreat start position decision section.
Claims
1. A numerical control device that enables a machine tool to perform vibration cutting. The CNC device is characterized by having: The acquisition unit acquires multiple vibration cutting conditions, including a combination of vibration frequency and spindle speed, for which the vibration cutting can be performed; and If the spindle speed selection unit is instructed to perform the vibration cutting, it selects, based on the vibration frequency of the indicated vibration cutting and the spindle speed indicated by the rotation command (i.e., the commanded spindle speed), one of the spindle speeds included in each of the plurality of vibration cutting conditions acquired by the acquisition unit for each cutting command. The spindle speed selection unit selects the spindle speed when performing the vibration cutting, so that the average value of the selected spindle speed is close to the average value of the commanded spindle speed.
2. The CNC device according to claim 1, characterized in that, It has a spindle speed range setting unit that sets the upper limit of the spindle speed during vibratory cutting. When selecting the spindle speed for vibration cutting, the spindle speed selection unit selects a spindle speed that is less than or equal to the upper limit value set by the spindle speed range setting unit.
3. A numerical control device that enables a machine tool to perform vibration cutting. The CNC device is characterized by having: A waveform generation unit that generates a vibration cutting waveform for performing the vibration cutting; and The spindle reference phase calculation unit determines the starting position of the vibration cutting waveform so that the vibration cutting is executed for each cutting command in accordance with the rotation phase of the spindle.
4. The CNC device according to claim 3, characterized in that, The spindle reference phase calculation unit determines the starting position of the vibration cutting waveform based on the movement of the feed axis per vibration cycle, the forward movement of the feed axis per vibration cycle, and the backward movement of the feed axis per vibration cycle during vibration cutting.
5. The CNC device according to claim 3, characterized in that, The spindle reference phase calculation unit determines the starting position of the vibration cutting waveform based on the rotation amount per vibration during vibration cutting and the movement amount of the feed axis during one rotation cycle of the spindle.
6. A numerical control method in which a machine tool performs vibration cutting using a numerical control device. The characteristic of this numerical control method is that it includes: The steps involve obtaining multiple vibration cutting conditions, including a combination of vibration frequency and spindle speed, to enable the vibration cutting; and In the selection step, if the vibration cutting is indicated, then based on the vibration frequency of the indicated vibration cutting and the spindle speed indicated by the rotation command (i.e., the commanded spindle speed), for each cutting command, one of the spindle speeds included in each of the plurality of vibration cutting conditions obtained in the acquisition step is selected. In the selection step, the spindle speed during the vibration cutting is selected such that the average value of the selected spindle speed is close to the average value of the commanded spindle speed.
7. A numerical control method in which a machine tool performs vibration cutting using a numerical control device. The characteristic of this numerical control method is that it includes: The waveform generation step generates a vibration cutting waveform for performing the vibration cutting; and The spindle reference phase calculation step determines the starting position of the vibration cutting waveform so that the vibration cutting is executed for each cutting command in accordance with the rotation phase of the spindle.
Citation Information
Patent Citations
Fixing method of diaphragm in diaphragm device
JP1984001871A