WO2025027767A1 - Numerical control device and numerical control method - Google Patents
Numerical control device and numerical control method Download PDFInfo
- Publication number
- WO2025027767A1 WO2025027767A1 PCT/JP2023/028016 JP2023028016W WO2025027767A1 WO 2025027767 A1 WO2025027767 A1 WO 2025027767A1 JP 2023028016 W JP2023028016 W JP 2023028016W WO 2025027767 A1 WO2025027767 A1 WO 2025027767A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vibration
- command
- cutting
- unit
- conditions
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23B—TURNING; BORING
- B23B1/00—Methods for turning or working essentially requiring the use of turning-machines; Use of auxiliary equipment in connection with such methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23Q—DETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
- B23Q5/00—Driving or feeding mechanisms; Control arrangements therefor
- B23Q5/22—Feeding members carrying tools or work
- B23Q5/34—Feeding other members supporting tools or work, e.g. saddles, tool-slides, through mechanical transmission
- B23Q5/50—Feeding other members supporting tools or work, e.g. saddles, tool-slides, through mechanical transmission feeding step-by-step
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4093—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
Definitions
- This disclosure relates to a numerical control device and a numerical control method for controlling a machine tool that cuts a workpiece using vibration cutting.
- Machine tools that use vibration cutting to cut a workpiece are controlled by a numerical control device.
- the numerical control device causes the machine tool to perform vibration cutting by vibrating the cutting tool at a low frequency while feeding the cutting tool relative to the workpiece.
- This numerical control device can cause the machine tool to perform vibration cutting while changing the amount of feed of the cutting tool relative to the workpiece for each command block.
- the numerical control device described in Patent Document 1 generates a vibration continuation path between command blocks so that vibration continues between the first and second movement paths when a first movement path in a command block to be cut and a second movement path in the next command block to be cut are machining steps that involve vibration.
- the present disclosure has been made in consideration of the above, and aims to provide a numerical control device that can prevent deterioration of the machining surface accuracy even when multiple vibration commands including mutually different vibration conditions are executed consecutively during vibration cutting.
- the numerical control device disclosed herein is a numerical control device that causes a machine tool to perform vibration cutting, and includes a vibration command analysis unit that generates vibration conditions, which are conditions for vibrating the tool and the workpiece relatively, by analyzing a vibration command that vibrates the tool and the workpiece relatively.
- the numerical control device disclosed herein includes a vibration path generation unit that calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration backward position, which is the backward position of the vibration associated with the vibration cutting, in the next vibration command, so that the vibration associated with the vibration cutting does not converge when a change in vibration conditions is detected during vibration cutting between the current vibration command and the next vibration command that is the vibration command to be executed next.
- the numerical control device disclosed herein has the effect of preventing deterioration of the machining surface accuracy even when multiple vibration commands including mutually different vibration conditions are executed consecutively during vibration cutting.
- FIG. 1 is a block diagram showing an example of a configuration of a numerical control device according to an embodiment
- FIG. 1 is a diagram showing an example of a machining program used by the numerical control device according to the embodiment
- FIG. 3 is a diagram showing the relationship between the X-axis position and the Z-axis position of the tool when the machining program of FIG. 2 is executed
- FIG. 3 is a diagram for explaining a moving path of a tool accompanied by vibration when the numerical control device according to the embodiment executes the machining program of FIG.
- FIG. 1 is a flowchart showing a procedure of processing executed by a numerical control device according to an embodiment
- 1 is a flowchart showing a procedure of a process executed when a vibration command is changed between blocks by a numerical control device according to an embodiment
- FIG. 2 is a diagram showing an example of a hardware configuration for implementing a control and calculation unit according to an embodiment
- Embodiment 1 is a block diagram showing an example of the configuration of a numerical control device according to an embodiment.
- the numerical control (NC) device 1 is a computer that controls low-frequency vibration cutting, which is machining while vibrating a tool (cutting tool), for a machine tool (not shown).
- low-frequency vibration is simply referred to as vibration.
- the machine tool is a machine that cuts a workpiece (not shown) while vibrating a tool.
- the numerical control device 1 has a drive unit 10, an input operation unit 20, a display unit 30, and a control calculation unit 40.
- the drive unit 10 is a drive mechanism that drives either or both of a workpiece to be machined and a tool in at least two axial directions.
- the drive unit 10 has a spindle motor 14, a spindle control unit 16, and a detector 15.
- the drive unit 10 also includes a servo motor, a servo control unit, and a detector 12.
- the servo motors are, for example, an X-axis servo motor 11X and a Z-axis servo motor 11Z.
- the servo control units are, for example, an X-axis servo control unit 13X and a Z-axis servo control unit 13Z.
- the X-axis servo control unit 13X controls the X-axis servo motor 11X
- the Z-axis servo control unit 13Z controls the Z-axis servo motor 11Z.
- the drive unit 10 may include a Y-axis servo motor as a servo motor.
- the drive unit 10 may also include a Y-axis servo control unit as a servo control unit.
- the Y-axis servo control unit controls the Y-axis servo motor.
- the X-axis servo motor 11X and the Z-axis servo motor 11Z will be referred to simply as servo motor 11.
- the X-axis servo control unit 13X and the Z-axis servo control unit 13Z will be referred to simply as servo control unit 13.
- the servo motor 11 moves at least one of the workpiece and the tool in each axis direction defined on the numerical control device 1. That is, the X-axis servo motor 11X moves at least one of the workpiece and the tool in the X-axis direction defined on the numerical control device 1.
- the Z-axis servo motor 11Z moves at least one of the workpiece and the tool in the Z-axis direction defined on the numerical control device 1.
- a detector 12 is disposed on each servo motor 11, and detects the position and speed of each servo motor 11. That is, the detector 12 disposed on the X-axis servo motor 11X detects the position and speed of the X-axis servo motor 11X. Moreover, the detector 12 disposed on the Z-axis servo motor 11Z detects the position and speed of the Z-axis servo motor 11Z.
- the servo control unit 13 controls the servo motor 11 based on commands from the numerical control device 1.
- the servo control unit 13 also performs feedback control of the position or speed of at least one of the workpiece and the tool based on the position and speed detected by the detector 12.
- the spindle motor 14 rotates a spindle provided on the workpiece.
- the detector 15 is disposed on the spindle motor 14 and detects the position and rotation speed of the spindle motor 14.
- the spindle control unit 16 controls the spindle motor 14 based on commands from the numerical control device 1.
- the spindle control unit 16 also feedback controls the rotation of the spindle provided on the workpiece based on the position and rotation speed detected by the detector 15.
- the drive unit 10 drives the tool rest and the workpiece of the machine tool.
- the drive unit 10 drives the tool while rotating the workpiece.
- the rotational speed of the spindle is the spindle rotation speed.
- the spindle rotation speed corresponds to the number of rotations of the spindle per unit time (e.g., per minute).
- the input operation unit 20 is a means for inputting information to the control operation unit 40.
- the input operation unit 20 is made up of input means such as a keyboard, button, or mouse, and accepts input of commands by the user to the numerical control device 1, or machining programs 432 or parameters 431, and inputs them to the control operation unit 40.
- the display unit 30 is made up of display means such as a liquid crystal display device, and displays information processed by the control operation unit 40.
- the control calculation unit 40 includes an input control unit 41, a data setting unit 42, a memory unit 43, a screen processing unit 44, a machine control signal processing unit 45, a PLC (Programmable Logic Controller) circuit unit 46, an analysis processing unit 47, an interpolation processing unit 48, a spindle processing unit 49, an acceleration/deceleration processing unit 50, and an axis data output unit 51.
- the PLC circuit unit 46 may be disposed outside the control calculation unit 40.
- the input control unit 41 accepts information input from the input operation unit 20.
- the data setting unit 42 stores the information accepted by the input control unit 41 in the memory unit 43. That is, the input information accepted by the input operation unit 20 is written to the memory unit 43 via the input control unit 41 and the data setting unit 42.
- the data setting unit 42 reflects the edited content in the machining program 432 stored in the memory unit 43, and if parameters 431 are input, stores them in the memory area of the parameters 431 in the memory unit 43.
- the memory unit 43 stores information such as parameters 431 used in the processing of the control calculation unit 40, the machining program 432 to be executed, and screen display data 433 to be displayed on the display unit 30.
- the machining program 432 includes a vibration command that is a command to vibrate the tool, and a movement command that is a command to move the tool.
- the memory unit 43 also has a shared area 434 that stores data that is used temporarily other than the parameters 431 and the machining program 432.
- the screen processing unit 44 controls the display of the screen display data 433 in the memory unit 43 on the display unit 30.
- the machine control signal processing unit 45 is connected to the memory unit 43 and the PLC circuit unit 46.
- the machine control signal processing unit 45 reads an auxiliary command from the memory unit 43 as a command to operate a machine tool, it notifies the PLC circuit unit 46 that an auxiliary command has been issued.
- the machine control signal processing unit 45 reads the auxiliary command from the shared area 434 and sends it to the PLC circuit unit 46.
- An auxiliary command is a command other than a command to operate a drive axis, which is a numerically controlled axis.
- the machine control signal processing unit 45 also receives signal information from the PLC circuit unit 46, such as relays that operate the machine tool.
- the machine control signal processing unit 45 writes the received signal information into the shared area 434 of the memory unit 43.
- the PLC circuit unit 46 stores a ladder program in which the machine operation is described.
- the PLC circuit unit 46 executes processing corresponding to the auxiliary command.
- the PLC circuit unit 46 accepts an auxiliary command, it executes processing corresponding to the auxiliary command in the machine tool according to the ladder program.
- the PLC circuit unit 46 sends a completion signal indicating that machine control has been completed to the machine control signal processing unit 45 in order to execute the next block of the machining program 432.
- the analysis processing unit 47 has a movement command generation unit 471 and a vibration command analysis unit 472.
- the movement command generation unit 471 reads the machining program 432 including one or more command blocks.
- the analysis processing unit 47 analyzes the read machining program 432 for each command block, and generates machining condition commands (commands corresponding to machining conditions) including a command for the spindle rotation speed and a command for the feed speed of at least one of the machining target and the tool, and a movement command for moving at least one of the machining target and the tool in one block.
- the movement command generated by the movement command generation unit 471 is a movement command for moving the tool and the machining target relatively on a movement path.
- the movement command generation unit 471 sends the generated machining condition commands and movement commands to the interpolation processing unit 48 via the shared area 434.
- the vibration command analysis unit 472 refers to the machining program 432, analyzes whether the machining program 432 includes a vibration command, and if a vibration command is included, analyzes the vibration command and generates vibration conditions such as the number of vibrations, the vibration frequency, and the vibration amplitude corresponding to the vibration command.
- the vibration conditions are vibration conditions used in vibration cutting.
- the vibration command analysis unit 472 detects a change in the vibration command during vibration cutting control, it analyzes the vibration command and generates vibration conditions such as the number of vibrations and the vibration amplitude corresponding to the vibration command. In this way, the vibration command analysis unit 472 generates vibration conditions corresponding to the vibration command by analyzing the vibration command.
- the vibration conditions generated by the vibration command analysis unit 472 are conditions for vibrating the tool and the workpiece relative to each other.
- the vibration command analysis unit 472 sends the generated vibration conditions to the interpolation processing unit 48 via the shared area 434.
- the interpolation processing unit 48 has a processing condition generating unit 481, a vibration path generating unit 482, a vibration waveform generating unit 483, a vibration movement amount generating unit 484, and a movement amount synthesis unit 485.
- the machining condition generation unit 481 acquires machining condition commands and vibration commands from the analysis processing unit 47 via the shared area 434.
- the machining condition generation unit 481 calculates the vibration frequency and vibration acceleration based on the machining condition commands and vibration commands, and generates machining conditions so that the vibration frequency and vibration acceleration are within the set vibration frequency threshold and vibration acceleration threshold.
- the machining conditions are machining conditions used in vibration cutting.
- the machining conditions generated by the machining condition generation unit 481 include the spindle rotation speed and the feed speed of at least one of the workpiece and the tool.
- the machining condition generating unit 481 When the analysis processing unit 47 changes the vibration command during vibration cutting control, the machining condition generating unit 481 generates machining conditions at the detection timing of a peak (where the vibration forward position and the peak of the vibration position overlap) in a vibration waveform (hereinafter referred to as the reference vibration waveform) that serves as a reference for vibrating the tool or the workpiece.
- the vibration forward position corresponds to a position on the movement path of the tool relative to the workpiece.
- the vibration retraction position is a position that is retracted from the position on the movement path of the tool relative to the workpiece by a distance equivalent to the vibration amplitude shown in the vibration waveform.
- the tool vibrates relative to the workpiece by reciprocating between the vibration forward position and the vibration retraction position.
- the workpiece may vibrate relative to the tool.
- the peak (peak) of the vibration waveform overlaps with the vibration forward position
- the valley (bottom) of the vibration waveform overlaps with the vibration retraction position.
- the vibration path generation unit 482 obtains vibration conditions (vibration frequency, vibration amplitude, etc.) from the analysis processing unit 47 via the shared area 434, and generates a movement path (vibration path) in each axial direction in unit time (interpolation period).
- the vibration path generation unit 482 determines the movement path (vibration forward position) for time based on the target block, and the vibration retreat position obtained by subtracting the vibration amplitude from the vibration forward position.
- the vibration path generation unit 482 sets the movement path to the vibration forward position, and determines the vibration retreat position by subtracting the vibration amplitude from the vibration forward position.
- the vibration waveform generating unit 483 generates a reference vibration waveform for vibrating the tool or the workpiece from the vibration conditions acquired from the analysis processing unit 47 via the shared area 434. That is, the vibration waveform generating unit 483 generates a reference vibration waveform (reference vibration waveform) used to generate a vibration movement amount (described below) to be superimposed on the movement path from the vibration frequency of the vibration conditions.
- the reference vibration waveform is a waveform that indicates the position in each axial direction with respect to time.
- the vibration waveform generating unit 483 can use any waveform as the reference vibration waveform, but here the vibration waveform is assumed to be a triangular wave. This triangular wave has a vibration amplitude of 1.0 and a period specified by the vibration command.
- the vibration movement amount generating unit 484 determines the difference between the vibration forward position and the vibration backward position at each time (hereinafter, sometimes referred to as the forward/backward position difference), and calculates the vibration movement amount for each axis by multiplying this difference by the reference vibration waveform.
- the vibration movement amount is the movement amount of the vibration at the vibration backward position.
- the movement amount synthesis unit 485 adds the vibration retreat position generated by the vibration path generation unit 482 and the vibration movement amount generated by the vibration movement amount generation unit 484 to calculate the synthesized movement amount of each axis per unit time (interpolation period).
- the spindle processing unit 49 has a spindle rotation command creation unit 491.
- the spindle rotation command creation unit 491 calculates a rotation speed command based on the machining conditions.
- the acceleration/deceleration processing unit 50 converts the composite movement amount of each drive axis output from the interpolation processing unit 48 into a movement command per unit time that takes into account acceleration/deceleration according to a pre-specified acceleration/deceleration pattern.
- the axis data output unit 51 outputs the movement command per unit time processed by the acceleration/deceleration processing unit 50 to the servo control unit 13 and spindle control unit 16 that control each drive axis.
- the numerical control device 1 moves the workpiece and the tool relative to one another.
- the machine tool for example, fixes the workpiece and moves only the tool in the X-axis and Z-axis directions.
- the machine tool may also move the workpiece in the Z-axis direction and move the tool in the X-axis direction, or move the workpiece in the X-axis direction and move the tool in the Z-axis direction.
- the following describes a case where the machine tool fixes the workpiece and moves only the tool in the X-axis and Z-axis directions.
- the intermediation of the memory unit 43 may be omitted when describing the writing and reading of information between the interpolation processing unit 48 and the analysis processing unit 47.
- the movement command generation unit 471 of the analysis processing unit 47 generates machining condition commands and movement commands for the tool including a start point and an end point based on the command blocks of the machining program 432, and outputs them to the interpolation processing unit 48.
- the vibration command analysis unit 472 outputs vibration conditions generated based on the vibration commands included in the machining program 432 to the interpolation processing unit 48.
- the machining condition generating unit 481 of the interpolation processing unit 48 calculates the vibration frequency and the vibration acceleration based on the machining condition command and the vibration command.
- the machining condition generating unit 481 determines whether the calculated vibration frequency is within a preset threshold value of the vibration frequency, and determines whether the calculated vibration acceleration is within a preset threshold value of the vibration acceleration.
- the processing condition generation unit 481 If the calculated vibration frequency or vibration acceleration exceeds the threshold range, the processing condition generation unit 481 generates processing conditions such that the set vibration frequency and vibration acceleration are within the respective threshold ranges.
- the machining condition generating unit 481 can change the vibration frequency by changing the spindle rotation speed, which is one of the machining conditions.
- the machining condition generating unit 481 can change the vibration acceleration by changing the tool feed rate and spindle rotation speed, which are one of the machining conditions.
- the machining condition generation unit 481 generates machining conditions that bring the vibration frequency and vibration acceleration within their respective allowable ranges. For example, if the vibration count is changed during vibration cutting control, the vibration frequency may fall outside the threshold range. In this case, the machining condition generation unit 481 changes the spindle rotation speed as a machining condition to bring the vibration frequency within the threshold range. Also, if the vibration amplitude is changed during vibration cutting control, the vibration acceleration may fall outside the threshold range. In this case, the machining condition generation unit 481 changes the tool feed speed and spindle rotation speed as machining conditions to bring the vibration acceleration within the threshold range.
- FIG. 2 is a diagram showing an example of a machining program used by a numerical control device according to an embodiment.
- FIG. 3 is a diagram showing the relationship between the X-axis position and the Z-axis position of the tool when the machining program of FIG. 2 is executed.
- FIG. 2 shows an example of a machining program 432 that generates vibrations in the movement path
- FIG. 3 shows an example of a tool movement path in the ZX plane obtained from machining program 432.
- the horizontal axis of the graph shown in FIG. 3 is the position in the Z-axis direction
- the vertical axis is the position in the X-axis direction.
- the tool position shown in FIG. 3 corresponds to the movement path generated for machining program 432.
- the numerical control device 1 reads the machining program 432 line by line (block) and executes it line by line.
- the machining program 432 includes, for example, lines 401 to 407.
- "S1000 M03;” on line 401 in the machining program 432 is a rotation command to the spindle (spindle rotation command), and "G00 X0.0 Z0.0;” on line 402 is a positioning command.
- "G01 X10.0 Z10.0 F0.2;” on line 404 in the machining program 432 and "G01 X20.0 Z20.0 F0.2;” on line 406 are linear interpolation cutting feed commands.
- "G8.5 P2" on lines 403 and 405 in the machining program 432 means the start of the vibration cutting control mode. Note that “G8.5 P2" on line 405 is executed before “G8.5 P2" on line 403 ends, and therefore means a change in the vibration cutting control mode. In other words, “G8.5 P2" on line 405 means a change in the vibration command. In the vibration cutting control mode, any vibration command is possible. "I0.5 K1.0;" on line 403 in the machining program 432 means that the vibration frequency is 0.5 and the vibration amplitude is 1.0, and "I1.5 K1.5;” on line 405 means that the vibration frequency is 1.5 and the vibration amplitude is 1.5. Also, “G8.5 P0;” on line 407 in the machining program 432 means the end of the vibration cutting control mode.
- X0.0 Z0.0" on line 402 indicates the coordinates (0,0), (10.0,10.0), and (20.0,20.0), respectively, so as shown in Figure 3, the tool also passes through the coordinates (0,0), (10,10), and (20,20), and the coordinates (0,0) to (10,10) and (10,10) to (20,20) are approximated by a group of points along a straight line by linear interpolation.
- FIG. 4 is a diagram for explaining the movement path of the tool accompanied by vibration when the numerical control device according to the embodiment executes the machining program of FIG. 2.
- FIG. 4 illustrates a group of graphs including graphs G1 to G5.
- Graph G1 is a graph showing the vibration forward position R1 and the vibration backward position R2 of the tool
- graph G2 is a graph showing the reference vibration waveform of the tool
- graph G3 is a graph showing the difference (front-to-back position difference) between the vibration forward position R1 and the vibration backward position R2.
- Graph G4 is a graph showing the vibration movement amount obtained by multiplying graph G3 by graph G2
- graph G5 is a graph obtained by superimposing (adding) the vibration backward position R2 of graph G1 and the vibration movement amount of graph G4.
- the numerical control device 1 controls the machine tool so that the position of the tool during vibration cutting control becomes the position shown in graph G5.
- the horizontal axis of graphs G1 to G5 shown in Figure 4 is time.
- the vertical axis of graphs G1 and G5 is the tool's position in the X-axis direction and Z-axis direction
- the vertical axis of graph G2 is vibration amplitude
- the vertical axis of graphs G3 and G4 is the front-rear position difference.
- the interpolation processing unit 48 generates a command for the target block that is the target of vibration cutting control (hereinafter, sometimes referred to as the target command) and a command for the next command block (hereinafter, sometimes referred to as the next block) of the target block (hereinafter, sometimes referred to as the next command). Both the target block and the next block are command blocks for vibration cutting control.
- the vibration conditions are different between the target block and the next block.
- the vibration amplitude in the target block (previous block) is different from the vibration amplitude in the next block
- the vibration frequency (number of vibrations) in the target block is different from the vibration frequency (number of vibrations) in the next block. Note that only either the vibration amplitude or the vibration frequency may be different between the target block and the next block.
- the vibration path generation unit 482 uses the vibration amplitude of the vibration conditions acquired from the vibration command analysis unit 472 of the analysis processing unit 47 to generate a tool movement path over time (vibration forward position R1) and a vibration backward position R2 obtained by subtracting the vibration amplitude from the vibration forward position R1.
- the vibration path generation unit 482 generates a movement path for each axis direction with respect to time from the target command and the next command. Furthermore, when the type of processing is vibration cutting, the vibration path generation unit 482 generates two types of paths, a vibration forward position R1 and a vibration backward position R2, using the vibration conditions acquired from the vibration command analysis unit 472 of the analysis processing unit 47.
- the start timing of the movement command for the vibration forward position R1 generated by the vibration path generation unit 482 is the timing after the movement of the vibration forward position R1 of the path in the previous command block is completed. That is, the vibration path generation unit 482 starts a movement command to the vibration forward position R1 in the next block after completing the movement of the tool to the end point of the vibration forward position R1 defined in the previous command block. Specifically, the vibration path generation unit 482 starts a movement command to the vibration forward position R1 in the next block after completing the movement of the tool to the end point of the vibration forward position R1 defined in the target block.
- the interpolation processing unit 48 changes the vibration command between command blocks that are the subject of vibration cutting control, but can start the next movement command after the tool has completed moving to the vibration forward position R1, without waiting for the tool to have completed moving to the vibration retreat position R2.
- the vibration path generating unit 482 completes moving the tool to the end point of the vibration forward position R1 defined in the previous command block, it starts a movement command to the vibration forward position R1 in the next block before completing moving the tool to the end point of the vibration retreat position R2 defined in the previous command block.
- the interpolation processing unit 48 stops the vibration of the vibration forward position R1 until the movement of the vibration backward position R2 is completed (reaches the target position).
- the interpolation processing unit 48 After starting the movement of the vibration forward position R1, the interpolation processing unit 48 waits a specific time Tw1 before generating a command to start the movement of the vibration backward position R2.
- the specific time Tw1 is set, for example, in the machining program 432 or the parameter 431.
- the interpolation processing unit 48 sets the vibration forward position R1 and the vibration retraction position R2 to positions corresponding to the movement command of the target command. After the vibration forward position R1 reaches the target position, the interpolation processing unit 48 sets the vibration forward position R1 to a position corresponding to the movement command of the next command. Even after the vibration forward position R1 reaches the target position, the interpolation processing unit 48 sets the vibration retraction position R2 to a position corresponding to the movement command of the target command until the vibration retraction position R2 reaches the target position.
- the interpolation processing unit 48 uses the vibration retreat position R2 of the target block until the position of the peak in the reference vibration waveform (vibration forward position R1) is detected.
- the interpolation processing unit 48 regenerates the vibration retreat position R2 at the detection timing (time t3) when the position of the peak in the reference vibration waveform is detected.
- the interpolation processing unit 48 regenerates the vibration retreat position R2 at the detection timing (time t3) when the position of the peak is first detected.
- the vibration retreat position R2 generated here is a position corresponding to the movement command of the target command and the changed vibration amplitude. Therefore, the vibration retreat position R2 generated here is delayed by a specific time Tw1 from the vibration forward position R1 of the target block.
- the vibration amplitude and vibration frequency are different between the target block and the next block. Therefore, the vibration retreat position R2 at time t3 when the position of the peak is first detected will be different from the vibration retreat position R2 of the next block generated at time t3 when the position of the peak is first detected.
- the interpolation processing unit 48 when the vibration retreat position R2 reaches the target position at time t2, the interpolation processing unit 48 generates the vibration retreat position R2 according to the next command from this target position. That is, from time t2 onwards, the interpolation processing unit 48 sets the vibration retreat position R2 to the position corresponding to the movement command of the next command. Therefore, the vibration retreat position R2 from time t2 onwards is delayed by a specific time Tw2 with respect to the vibration advance position R1 of the next command.
- the specific time Tw2 is set, for example, by the machining program 432 or the parameters 431. Note that, like the specific time Tw1, the interpolation processing unit 48 may calculate the specific time Tw2 based on the ratio of the vibration amplitude A in the vibration conditions, the time required per spindle revolution T, and the amount of movement F of the tool.
- the vibration forward position R1 and vibration backward position R2 generated according to such rules are shown as graph G1.
- a deviation occurs in the vibration backward position R2 at time t3. This is because the vibration backward position R2 at time t3 and the vibration backward position R2 regenerated at time t3 are different positions.
- the vibration waveform generating unit 483 generates a reference vibration waveform used to generate a vibration movement amount to be superimposed on the movement path, using the vibration conditions from the vibration command analyzing unit 472. Specifically, the vibration waveform generating unit 483 generates a vibration waveform having the vibration frequency in the vibration conditions and a height from the valley to the peak (vibration amplitude) of 1.0. At this time, a predetermined waveform (for example, a triangular wave) is used as the vibration waveform. Note that, when the vibration frequency in the vibration conditions is changed during vibration cutting control, the vibration waveform generating unit 483 generates a reference vibration waveform at the detection timing (time t3) when the peak (vibration forward position R1) in the reference vibration waveform is detected.
- the reference vibration waveform generated according to such rules is shown as graph G2.
- the reference vibration waveform in this graph G2 is a function of time.
- the reference vibration waveform up to time t3 shown in graph G2 corresponds to the vibration command C1 of the target block, and the reference vibration waveform after time t3 corresponds to the vibration command C2 of the next block.
- the vibration movement amount generating unit 484 finds the difference between the vibration advance position R1 and the vibration retreat position R2 at each time.
- the difference between the vibration advance position R1 and the vibration retreat position R2 is shown as graph G3.
- the vibration movement amount generating unit 484 calculates the vibration movement amount by multiplying the difference between the vibration advance position R1 and the vibration retreat position R2 by the reference vibration waveform generated by the vibration waveform generating unit 483.
- the vibration movement amount calculated in this manner is shown as graph G4.
- the waveform up to time t3 shown in graphs G3 and G4 corresponds to the vibration command C1 of the target block, and the waveform after time t3 corresponds to the vibration command C2 of the next block.
- the movement amount synthesis unit 485 generates vibration movement paths R3 and R4 with superimposed vibrations by superimposing (adding) the vibration retreat position R2 generated by the vibration path generation unit 482 and the vibration movement amount generated by the vibration movement amount generation unit 484.
- the vibration movement paths R3 and R4 generated in this manner, the vibration advance position R1, and the vibration retreat position R2 are shown as graph G5.
- the vibration movement path R3 is the movement path from time 0 to time t3, and the vibration movement path R4 is the movement path after time t3.
- the numerical control device 1 does not converge the vibration even when the target position is reached, but starts vibration according to the vibration forward position R1 of the next command.
- the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the vibration conditions to the vibration conditions on the movement path in the next command.
- the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the machining conditions to the machining conditions in the next command.
- the numerical control device 1 calculates the waveform for each block of the machining program 432, but in reality, the interpolation processing unit 48 calculates the waveform for each unit time (interpolation period).
- FIG. 5 is a flowchart showing the procedure of the process executed by the numerical control device according to the embodiment.
- the process procedure of the process in which the control calculation unit 40 calculates the composite movement amount of each axis based on the machining program 432 is explained.
- the analysis processing unit 47 generates machining condition commands and movement commands (step S10). Specifically, the movement command generation unit 471 of the analysis processing unit 47 reads the machining program 432 and analyzes the read machining program 432 block by block to generate machining condition commands including the spindle rotation speed and the tool feed speed, and movement commands for moving the tool in one block.
- the analysis processing unit 47 also generates vibration conditions (step S20). Specifically, the vibration command analysis unit 472 analyzes the vibration command and generates vibration conditions such as the number of vibrations and the vibration amplitude.
- the machining condition generation unit 481 of the interpolation processing unit 48 acquires the machining condition command and the movement command from the analysis processing unit 47, and calculates the vibration frequency and the vibration acceleration (step S30).
- the machining condition generation unit 481 generates machining conditions so that the vibration frequency and the vibration acceleration are within the ranges of the respective set threshold values (step S40).
- the vibration path generating unit 482 generates a vibration forward position R1 and a vibration backward position R2 using the vibration conditions acquired from the vibration command analyzing unit 472 (step S50).
- the vibration waveform generating unit 483 then generates a reference vibration waveform of the vibration movement amount to be superimposed on the tool movement path defined by the vibration forward position R1 and the vibration backward position R2 using the vibration conditions from the vibration command analyzing unit 472 (step S60).
- the vibration movement amount generating unit 484 calculates the difference between the vibration advance position R1 and the vibration retreat position R2 at each time (step S70). Furthermore, the vibration movement amount generating unit 484 calculates the vibration movement amount by multiplying the difference between the vibration advance position R1 and the vibration retreat position R2 by the reference vibration waveform generated by the vibration waveform generating unit 483 (step S80). Then, the movement amount synthesis unit 485 calculates a synthesis movement amount with superimposed vibrations by superimposing the vibration retreat position R2 generated by the vibration path generating unit 482 and the vibration movement amount generated by the vibration movement amount generating unit 484 (step S90).
- FIG. 6 is a flowchart showing the procedure of the process executed when the numerical control device according to the embodiment changes the vibration command between blocks.
- the control calculation unit 40 determines whether the vibration forward position R1 of the target block has reached the target position of the target block during execution of the vibration cutting control (step S110).
- step S110 If the vibration forward position R1 of the target block has not reached the target position of the target block (step S110, No), the control calculation unit 40 continues the process of determining whether the vibration forward position R1 of the target block has reached the target position of the target block (step S110).
- the vibration path generator 482 When the vibration forward position R1 of the target block reaches the target position of the target block (step S110, Yes), the vibration path generator 482 generates the vibration forward position R1 of the next block using the vibration conditions of the next block (step S120).
- the control calculation unit 40 determines whether or not a peak is detected in the reference vibration waveform after the vibration forward position R1 of the target block reaches the target position (step S130). That is, the control calculation unit 40 determines whether or not a peak in the reference vibration waveform overlaps with the vibration forward position R1. In other words, the control calculation unit 40 determines whether or not the position of the tool reaches the vibration forward position R1 after the vibration forward position R1 of the target block reaches the target position.
- control calculation unit 40 does not detect a peak in the reference vibration waveform after the vibration forward position R1 of the target block reaches the target position (step S130, No), it continues the process of determining whether or not a peak has been detected in the reference vibration waveform (step S130).
- the vibration path generation unit 482 After the vibration forward position R1 of the target block reaches the target position, if the control calculation unit 40 detects a peak in the reference vibration waveform (step S130, Yes), the vibration path generation unit 482 generates a vibration retreat position R2 based on the vibration conditions (step S140).
- the machining condition generation unit 481 calculates the vibration frequency and vibration acceleration based on the machining condition command and the vibration command, and generates machining conditions so that they are within the set vibration frequency threshold and vibration acceleration threshold. That is, the machining condition generation unit 481 changes the vibration conditions to the vibration conditions of the next block at the detection timing (time t3) when the peak is detected in the reference vibration waveform, changes the machining conditions to the machining conditions of the next block, and generates the vibration retreat position R2. In other words, the machining condition generation unit 481 recalculates the vibration conditions, machining conditions, and vibration retreat position R2 at the detection timing (time t3) when the peak is detected in the reference vibration waveform.
- the control calculation unit 40 determines whether the vibration backward position R2 has reached the target position of the target block (step S150). If the vibration backward position R2 has not reached the target position of the target block after the vibration forward position R1 has reached the target position (step S150, No), the control calculation unit 40 continues the process of determining whether the vibration backward position R2 has reached the target position of the target block (step S150).
- the control calculation unit 40 After the vibration forward position R1 reaches the target position, a specific time Tw2 elapses and the vibration backward position R2 reaches the target position of the target block (step S150, Yes), the control calculation unit 40 also executes the processing of the next block at the vibration backward position R2 (step S160). That is, the control calculation unit 40 calculates the vibration backward position R2 that corresponds to the next command for the next block.
- the numerical control device of the comparative example in vibration cutting, which breaks chips by vibrating the tool and the workpiece relatively in the machining feed direction, vibration conditions such as vibration frequency and vibration amplitude may be changed during machining such as external diameter machining and taper machining.
- vibration amplitude required to break chips varies depending on the taper angle and the tip angle of the tool.
- the numerical control device of the comparative example converges vibration between command blocks when changing vibration conditions such as vibration amplitude.
- the vibration amplitude becomes smaller when the vibration converges, extending the machining time, and the machining surface accuracy deteriorates due to the acceleration and deceleration of the tool when the vibration converges.
- the numerical control device 1 of this embodiment does not converge the vibration even when the vibration conditions are changed between command blocks, so it is possible to prevent the machining time from being extended and the machining surface accuracy from being deteriorated.
- the numerical control device 1 of this embodiment does not change the vibration conditions and machining conditions after the vibration forward position R1 reaches the target position until it detects a peak in the reference vibration waveform, and changes the vibration conditions and machining conditions at the timing when it detects a peak in the reference vibration waveform. This allows the numerical control device 1 to suppress acceleration and deceleration of the tool when changing vibration conditions between command blocks, thereby preventing deterioration of the machining surface accuracy between command blocks.
- the vibration frequency changes, and when the vibration amplitude is changed, the vibration acceleration changes.
- the machining conditions such as the tool feed speed and spindle rotation speed in the machining program.
- the machining conditions are changed in the machining program, so that the vibration frequency and vibration amplitude are controlled to fall within the ranges of their respective thresholds.
- the machining program changes the machining conditions after converging the vibrations, which increases the machining time.
- the numerical control device 1 of this embodiment controls the timing of changing the vibration conditions to dynamically switch the vibration conditions, and also changes the machining conditions so that the vibration frequency and vibration acceleration fall within the ranges of their respective thresholds. This allows the numerical control device 1 to prevent excessive loads from being applied and enables machining under a wide range of conditions, and since there is no need to change the vibration conditions using the machining program 432, it is possible to prevent the machining time from becoming longer.
- the tool is moved and vibrated in the X-axis and Z-axis directions, but the tool may be moved and vibrated in a single axis direction.
- the vibration path generating unit 482 calculates the vibration forward position, which is the forward position of the vibration associated with vibration cutting in the next vibration command, and the vibration backward position, which is the backward position of the vibration associated with vibration cutting, so that the vibration associated with vibration cutting does not converge at the timing when a change in the vibration conditions is detected between the current vibration command and the next vibration command that is the vibration command that is scheduled to be executed next during vibration cutting, but this is not limited to this.
- the changed vibration conditions may be set in the vibration command that is scheduled to be executed next.
- the vibration path generating unit 482 may calculate the vibration forward position, which is the forward position of the vibration associated with vibration cutting in the next vibration command, and the vibration backward position, which is the backward position of the vibration associated with vibration cutting, so that the vibration associated with vibration cutting does not converge at the timing when a change is detected between the current vibration command and the next vibration command that is the vibration command that is scheduled to be executed next during vibration cutting.
- the vibration conditions are changed during machining when, for example, an external PLC requests a change in the vibration conditions due to a change in the machining situation, or when a vibration condition change process is executed due to a preset threshold being exceeded.
- the notification of the change in machining conditions may be received by, for example, the vibration command analysis unit 472.
- the vibration path generating unit 482 calculates the vibration forward position, which is the forward position of the vibration of the tool relative to the workpiece in the next vibration command, so that the vibration does not converge, during vibration cutting, but this is not limited to this.
- the vibration path generating unit 482 may calculate the vibration forward position, which is the forward position of the vibration of the tool relative to the workpiece in the next vibration command, so that the vibration does not stop.
- "so that the vibration does not stop” refers to, for example, control in which vibration cutting is performed without a period during which the vibration stops between the current vibration command and the next vibration command.
- FIG. 7 is a diagram showing an example of a hardware configuration for realizing the control and calculation unit according to the embodiment.
- the control and calculation unit 40 can be realized by an input device 300, a processor 100, a memory 200, and an output device 400.
- An example of the processor 100 is a CPU (also called a Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration).
- An example of the memory 200 is a RAM (Random Access Memory) or a ROM (Read Only Memory).
- the control calculation unit 40 is realized by the processor 100 reading and executing a control calculation program (not shown) that is stored in the memory 200 and is executable by a computer, for executing the operation of the control calculation unit 40.
- the control calculation program which is a program for executing the operation of the control calculation unit 40, can also be said to cause a computer to execute the procedure or method of the control calculation unit 40.
- the control calculation program executed by the processor 100 has a modular configuration including a control calculation unit 40, and these components are loaded onto the main memory device and generated on the main memory device.
- the control calculation program executed by the processor 100 has a modular configuration including an input control unit 41, a data setting unit 42, a memory unit 43, a screen processing unit 44, a machine control signal processing unit 45, a PLC circuit unit 46, an analysis processing unit 47, an interpolation processing unit 48, a spindle processing unit 49, an acceleration/deceleration processing unit 50, and an axis data output unit 51, and these components are loaded onto the main memory device and generated on the main memory device.
- the input device 300 accepts input information from the input control unit 41 and sends it to the processor 100.
- the memory 200 stores a control calculation program, parameters 431, a processing program 432, screen display data 433, and the like.
- the memory 200 is also used as a shared area 434 (not shown), which is a temporary memory when the processor 100 executes various processes.
- the output device 400 outputs screen display data 433 to the display unit 30.
- the output device 400 also outputs movement commands per unit time to the servo control unit 13 and the spindle control unit 16.
- the control calculation program and machining program 432 may be provided as a computer program product in the form of an installable or executable file stored on a computer-readable storage medium.
- the control calculation program and machining program 432 may also be provided to the control calculation unit 40 via a network such as the Internet.
- Some of the functions of the control calculation unit 40 may be realized by dedicated hardware such as a dedicated circuit, and some may be realized by software or firmware.
- Some of the hardware configurations of the functions provided by the control calculation unit 40 may be the hardware configuration shown in FIG. 7.
- the numerical control device 1 of the embodiment does not converge the vibration when it detects a change in the vibration command between the command blocks between the target block (previous block), which is the previous command block, and the next block during vibration cutting processing control. Then, when the numerical control device 1 detects a change in the vibration command between command blocks, it calculates the vibration forward position R1 of the next block, calculates the vibration backward position R2 of the next block at the detection timing when the vibration forward position R1 in the reference vibration waveform is detected, and generates the reference vibration waveform for the next block at this detection timing. This allows the numerical control device 1 to prevent deterioration of the machining surface accuracy even when there are vibration command blocks with different vibration conditions between the command blocks.
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
Description
本開示は、振動切削によって加工対象を切削加工する工作機械を制御する数値制御装置および数値制御方法に関する。 This disclosure relates to a numerical control device and a numerical control method for controlling a machine tool that cuts a workpiece using vibration cutting.
振動切削によって加工対象を切削加工する工作機械は、数値制御装置によって制御される。数値制御装置は、切削工具を加工対象に対して送り動作させながら、切削工具を低周波振動させることで、工作機械に振動切削を実行させる。この数値制御装置は、指令ブロック毎に、加工対象に対する切削工具の送り動作量を変化させながら工作機械に振動切削を実行させることができる。 Machine tools that use vibration cutting to cut a workpiece are controlled by a numerical control device. The numerical control device causes the machine tool to perform vibration cutting by vibrating the cutting tool at a low frequency while feeding the cutting tool relative to the workpiece. This numerical control device can cause the machine tool to perform vibration cutting while changing the amount of feed of the cutting tool relative to the workpiece for each command block.
例えば、特許文献1に記載の数値制御装置は、切削対象となる指令ブロックでの第1移動経路と、切削対象となる次の指令ブロックでの第2移動経路とが振動を伴う加工である場合に、第1移動経路と第2移動経路との間で振動が継続するように指令ブロック間の振動継続経路を生成している。 For example, the numerical control device described in Patent Document 1 generates a vibration continuation path between command blocks so that vibration continues between the first and second movement paths when a first movement path in a command block to be cut and a second movement path in the next command block to be cut are machining steps that involve vibration.
しかしながら、上記特許文献1の技術では、切削対象となる指令ブロックの次の指令ブロックが切削送り指令でない場合は、指令ブロック間の振動を収束させる必要がある。すなわち、上記特許文献1の技術では、指令ブロック間が振動条件の異なる振動指令ブロックである場合は、指令ブロック間で振動を収束させる必要がある。これにより、加工対象に対する切削工具の収束時の加減速が原因で加工対象の加工面精度が悪くなる。 However, with the technology of Patent Document 1, if the command block following the command block to be cut is not a cutting feed command, it is necessary to converge the vibration between the command blocks. In other words, with the technology of Patent Document 1, if the command blocks are vibration command blocks with different vibration conditions, it is necessary to converge the vibration between the command blocks. This causes the machining surface accuracy of the object to deteriorate due to acceleration and deceleration when the cutting tool converges on the object to be machined.
本開示は、上記に鑑みてなされたものであって、振動切削において、互いに異なる振動条件を含む複数の振動指令が連続して実行される場合であっても、加工面精度が悪くなることを防止できる数値制御装置を得ることを目的とする。 The present disclosure has been made in consideration of the above, and aims to provide a numerical control device that can prevent deterioration of the machining surface accuracy even when multiple vibration commands including mutually different vibration conditions are executed consecutively during vibration cutting.
上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、振動切削を工作機械に実行させる数値制御装置であって、工具と加工対象とを相対的に振動させる振動指令を解析することで工具と加工対象とを相対的に振動させるための条件である振動条件を生成する振動指令解析部を備えている。また、本開示の数値制御装置は、振動切削中に現在の振動指令と次に実行される予定の振動指令である次振動指令との間で振動条件の変化が検出された場合、振動切削に伴う振動が収束しないように、次振動指令における振動切削に伴う振動の前進位置である振動前進位置および振動切削に伴う振動の後退位置である振動後退位置を算出する振動経路生成部を備えている。 In order to solve the above-mentioned problems and achieve the object, the numerical control device disclosed herein is a numerical control device that causes a machine tool to perform vibration cutting, and includes a vibration command analysis unit that generates vibration conditions, which are conditions for vibrating the tool and the workpiece relatively, by analyzing a vibration command that vibrates the tool and the workpiece relatively. In addition, the numerical control device disclosed herein includes a vibration path generation unit that calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration backward position, which is the backward position of the vibration associated with the vibration cutting, in the next vibration command, so that the vibration associated with the vibration cutting does not converge when a change in vibration conditions is detected during vibration cutting between the current vibration command and the next vibration command that is the vibration command to be executed next.
本開示にかかる数値制御装置は、振動切削において、互いに異なる振動条件を含む複数の振動指令が連続して実行される場合であっても、加工面精度が悪くなることを防止できるという効果を奏する。 The numerical control device disclosed herein has the effect of preventing deterioration of the machining surface accuracy even when multiple vibration commands including mutually different vibration conditions are executed consecutively during vibration cutting.
以下に、本開示の実施の形態にかかる数値制御装置および数値制御方法を図面に基づいて詳細に説明する。 The numerical control device and numerical control method according to the embodiments of the present disclosure are described in detail below with reference to the drawings.
実施の形態.
図1は、実施の形態にかかる数値制御装置の構成の一例を示すブロック図である。数値制御(NC:Numerical Control)装置1は、工作機械(図示せず)に対して、工具(切削工具)を振動させながらの加工である低周波振動切削の制御を実行するコンピュータである。以下の説明では低周波振動を単に振動という。工作機械は、工具を振動させながら加工対象(図示せず)を切削加工する機械である。
Embodiment
1 is a block diagram showing an example of the configuration of a numerical control device according to an embodiment. The numerical control (NC) device 1 is a computer that controls low-frequency vibration cutting, which is machining while vibrating a tool (cutting tool), for a machine tool (not shown). In the following description, low-frequency vibration is simply referred to as vibration. The machine tool is a machine that cuts a workpiece (not shown) while vibrating a tool.
数値制御装置1は、駆動部10と、入力操作部20と、表示部30と、制御演算部40とを有する。駆動部10は、加工ワークである加工対象および工具の何れか一方または両方を少なくとも2軸方向に駆動する駆動機構である。駆動部10は、主軸モータ14と、主軸制御部16と、検出器15とを備えている。
The numerical control device 1 has a
また、駆動部10は、サーボモータと、サーボ制御部と、検出器12とを備えている。サーボモータは、例えば、X軸サーボモータ11XおよびZ軸サーボモータ11Zである。また、サーボ制御部は、例えば、X軸サーボ制御部13XおよびZ軸サーボ制御部13Zである。X軸サーボ制御部13Xは、X軸サーボモータ11Xを制御し、Z軸サーボ制御部13Zは、Z軸サーボモータ11Zを制御する。
The
なお、駆動部10は、サーボモータとして、Y軸サーボモータを備えていてもよい。また、駆動部10は、サーボ制御部として、Y軸サーボ制御部を備えていてもよい。Y軸サーボ制御部は、Y軸サーボモータを制御する。
The
なお、以下では、駆動軸の方向を区別する必要がない場合には、X軸サーボモータ11XおよびZ軸サーボモータ11Zを、単にサーボモータ11と表記する。また、駆動軸の方向を区別する必要がない場合には、X軸サーボ制御部13XおよびZ軸サーボ制御部13Zを、単にサーボ制御部13と表記する。
In the following, when it is not necessary to distinguish the direction of the drive axis, the
サーボモータ11は、数値制御装置1上で規定された各軸方向に加工対象および工具の少なくとも一方を移動させる。すなわち、X軸サーボモータ11Xは、数値制御装置1上で規定されたX軸方向に加工対象および工具の少なくとも一方を移動させる。また、Z軸サーボモータ11Zは、数値制御装置1上で規定されたZ軸方向に加工対象および工具の少なくとも一方を移動させる。
The servo motor 11 moves at least one of the workpiece and the tool in each axis direction defined on the numerical control device 1. That is, the
検出器12は、各サーボモータ11に配置されており、各サーボモータ11の位置および速度を検出する。すなわち、X軸サーボモータ11Xに配置された検出器12は、X軸サーボモータ11Xの位置および速度を検出する。また、Z軸サーボモータ11Zに配置された検出器12はZ軸サーボモータ11Zの位置および速度を検出する。
A detector 12 is disposed on each servo motor 11, and detects the position and speed of each servo motor 11. That is, the detector 12 disposed on the
サーボ制御部13は、数値制御装置1からの指令に基づいて、サーボモータ11を制御する。また、サーボ制御部13は、検出器12が検出した位置および速度に基づいて、加工対象および工具の少なくとも一方の位置または速度のフィードバック制御を行う。 The servo control unit 13 controls the servo motor 11 based on commands from the numerical control device 1. The servo control unit 13 also performs feedback control of the position or speed of at least one of the workpiece and the tool based on the position and speed detected by the detector 12.
主軸モータ14は、加工対象に設けられた主軸を回転させる。検出器15は、主軸モータ14に配置されており、主軸モータ14の位置および回転数を検出する。主軸制御部16は、数値制御装置1からの指令に基づいて、主軸モータ14を制御する。また、主軸制御部16は、検出器15が検出した位置および回転数に基づいて、加工対象に設けられた主軸の回転をフィードバック制御する。
The
駆動部10は、工作機械が備える刃物台および加工対象を駆動する。駆動部10は、加工対象を回転させながら工具を駆動する。主軸の回転速度が主軸回転速度である。主軸回転速度は、単位時間当たり(例えば、1分間当たり)の主軸の回転数に対応している。
The
入力操作部20は、制御演算部40に情報を入力する手段である。入力操作部20は、キーボード、ボタン、またはマウスなどの入力手段によって構成され、ユーザによる数値制御装置1に対するコマンドなどの入力、または加工プログラム432もしくはパラメータ431などを受け付けて制御演算部40に入力する。表示部30は、液晶表示装置などの表示手段によって構成され、制御演算部40によって処理された情報を表示する。
The
制御演算部40は、入力制御部41と、データ設定部42と、記憶部43と、画面処理部44と、機械制御信号処理部45と、PLC(Programmable Logic Controller)回路部46と、解析処理部47と、補間処理部48と、主軸処理部49と、加減速処理部50と、軸データ出力部51とを備えている。なお、PLC回路部46は、制御演算部40の外部に配置されてもよい。
The
入力制御部41は、入力操作部20から入力される情報を受け付ける。データ設定部42は、入力制御部41で受け付けられた情報を記憶部43に記憶させる。すなわち、入力操作部20が受け付けた入力情報は、入力制御部41およびデータ設定部42を介して記憶部43に書き込まれる。例えば、入力操作部20に入力された内容が加工プログラム432の編集の場合には、データ設定部42は、記憶部43に記憶されている加工プログラム432に編集された内容を反映させ、パラメータ431が入力された場合には記憶部43のパラメータ431の記憶領域に記憶させる。
The input control unit 41 accepts information input from the
記憶部43は、制御演算部40の処理で使用されるパラメータ431、実行される加工プログラム432、表示部30に表示させる画面表示データ433などの情報を記憶する。実施の形態の加工プログラム432は、工具を振動させる指令である振動指令と、工具を移動させる指令である移動指令とを含んでいる。また、記憶部43には、パラメータ431、加工プログラム432以外の一時的に使用されるデータを記憶する共有エリア434が設けられている。画面処理部44は、記憶部43の画面表示データ433を表示部30に表示させる制御を行う。
The
機械制御信号処理部45は、記憶部43およびPLC回路部46に接続されている。機械制御信号処理部45は、工作機械を動作させる指令としての補助指令を記憶部43から読み込んだ場合に、補助指令が指令されたことをPLC回路部46に通知する。具体的には、機械制御信号処理部45は、解析処理部47によって共有エリア434に補助指令が出力されると、この補助指令を共有エリア434から読み出してPLC回路部46に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。
The machine control
また、機械制御信号処理部45は、PLC回路部46から、工作機械を動作させるリレーなどの信号情報を受け付ける。機械制御信号処理部45は、受け付けた信号情報を、記憶部43の共有エリア434に書き込む。
The machine control
PLC回路部46は、機械動作が記述されたラダープログラムを格納している。PLC回路部46は、機械制御信号処理部45から補助指令が指令されたことの通知を受けると、その補助指令に対応する処理を実行する。すなわち、PLC回路部46は、補助指令を受け付けると、ラダープログラムに従って補助指令に対応する処理を工作機械に実行する。PLC回路部46は、補助指令に対応する処理を実行した後、加工プログラム432の次のブロックを実行させるために、機械制御が完了したことを示す完了信号を機械制御信号処理部45に送る。
The
解析処理部47は、移動指令生成部471と、振動指令解析部472とを有する。移動指令生成部471は、1以上の指令ブロックを含む加工プログラム432を読み込む。解析処理部47は、読み込んだ加工プログラム432を指令ブロック毎に解析し、主軸回転速度の指令と、加工対象および工具の少なくとも一方の送り速度の指令とを含む加工条件指令(加工条件に対応する指令)と、1ブロックで加工対象および工具の少なくとも一方を移動させる移動指令とを生成する。移動指令生成部471が生成する移動指令は、工具と加工対象とを相対的に移動経路上で移動させる移動指令である。移動指令生成部471は、生成した加工条件指令および移動指令を、共有エリア434を介して補間処理部48に送る。
The analysis processing unit 47 has a movement command generation unit 471 and a vibration command analysis unit 472. The movement command generation unit 471 reads the
振動指令解析部472は、例えば、加工プログラム432を参照し、加工プログラム432に振動指令が含まれているかを解析し、振動指令が含まれている場合には、振動指令を解析し、振動指令に対応する振動回数、振動周波数、振動振幅などの振動条件を生成する。振動条件は、振動切削加工で用いられる振動の条件である。また、振動指令解析部472は、振動切削制御中に振動指令の変化を検出した場合、振動指令を解析し、振動指令に対応する振動回数、振動振幅などの振動条件を生成する。このように、振動指令解析部472は、振動指令を解析することで、振動指令に対応する振動条件を生成する。振動指令解析部472が生成する振動条件は、工具と加工対象とを相対的に振動させる条件である。振動指令解析部472は、生成した振動条件を、共有エリア434を介して補間処理部48に送る。
The vibration command analysis unit 472, for example, refers to the
補間処理部48は、加工条件生成部481と、振動経路生成部482と、振動波形生成部483と、振動移動量生成部484と、移動量合成部485とを有する。
The
加工条件生成部481は、解析処理部47から共有エリア434を介して加工条件指令および振動指令を取得する。加工条件生成部481は、加工条件指令および振動指令に基づいて、振動周波数および振動加速度を算出し、振動周波数および振動加速度が、設定された振動周波数の閾値および振動加速度の閾値の範囲内となるように加工条件を生成する。加工条件は、振動切削加工で用いられる加工の条件である。加工条件生成部481が生成する加工条件は、主軸回転速度、加工対象および工具の少なくとも一方の送り速度などである。
The machining
なお、加工条件生成部481は、解析処理部47が振動切削制御中に振動指令を変更した場合には、工具または加工対象を振動させるための基準となる振動波形(以下、基準振動波形という)における山(振動前進位置と振動位置の頂上とが重なる箇所)を検出した検出タイミングで加工条件を生成する。振動前進位置は、加工対象に対する工具の移動経路上の位置に対応している。振動後退位置は、加工対象に対する工具の移動経路上の位置から、振動波形に示される振動振幅に相当する距離だけ後退した位置である。振動切削の際には、工具が振動前進位置と振動後退位置との間を往復することで、加工対象に対して工具が振動する。なお、加工対象が工具に対して振動してもよい。基準振動波形では、振動波形の山(頂上)が振動前進位置に重なり、振動波形の谷(谷底)が振動後退位置に重なる。
When the analysis processing unit 47 changes the vibration command during vibration cutting control, the machining
振動経路生成部482は、解析処理部47からの移動指令が振動切削制御の対象となる指令ブロック(以下、対象ブロックという場合がある)である場合、解析処理部47から共有エリア434を介して振動条件(振動回数、振動振幅など)を取得し、単位時間(補間周期)での各軸方向の移動経路(振動経路)を生成する。ここでは、振動経路生成部482は、対象ブロックに基づく時間に対する移動経路(振動前進位置)と、振動前進位置から振動振幅を減算した振動後退位置とを求める。すなわち、振動経路生成部482は、移動経路を振動前進位置に設定し、振動前進位置から振動振幅を減算することで振動後退位置を求める。
When the movement command from the analysis processing unit 47 is a command block (hereinafter sometimes referred to as a target block) that is the target of vibration cutting control, the vibration
振動波形生成部483は、解析処理部47から共有エリア434を介して取得した振動条件から、工具または加工対象を振動させるための基準振動波形を生成する。すなわち、振動波形生成部483は、振動条件の振動回数から移動経路に重畳させる後述の振動移動量の生成に用いられる基準の振動波形(基準振動波形)を生成する。基準振動波形は、時間に対する各軸方向の位置を示す波形である。振動波形生成部483は、基準振動波形として、任意の波形を用いることができるが、ここでは振動波形は三角波であるとする。この三角波は、振動振幅が1.0であり、周期は振動指令で指定される値を有する。
The vibration
振動移動量生成部484は、各時間における振動前進位置と振動後退位置との差(以下、前後位置差という場合がある)を求め、この差に基準振動波形を掛け合わせた振動移動量を各軸に対して算出する。振動移動量は、振動後退位置における振動の移動量である。
The vibration movement
移動量合成部485は、振動経路生成部482で生成された振動後退位置と、振動移動量生成部484で生成された振動移動量とを加算して、単位時間(補間周期)での各軸の合成移動量を算出する。
The movement
主軸処理部49は、主軸回転指令作成部491を有する。主軸回転指令作成部491は、加工条件に基づいて回転速度指令を算出する。
The
加減速処理部50は、補間処理部48から出力された各駆動軸の合成移動量を、予め指定された加減速パターンに従って加減速を考慮した単位時間当たりの移動指令に変換する。軸データ出力部51は、加減速処理部50で処理された単位時間当たりの移動指令を、各駆動軸を制御するサーボ制御部13および主軸制御部16に出力する。
The acceleration/
数値制御装置1は、工具または加工対象を振動させながら加工を行う際には、加工対象と工具とを相対的に移動させる。工作機械は、例えば、加工対象を固定し、工具のみをX軸方向およびZ軸方向に移動させる。また、工作機械は、加工対象をZ軸方向に移動させ、工具をX軸方向に移動させてもよいし、加工対象をX軸方向に移動させ、工具をZ軸方向に移動させてもよい。以下では、工作機械が、加工対象を固定し、工具のみをX軸方向およびZ軸方向に移動させる場合について説明する。また、以下の説明では、補間処理部48と解析処理部47との間の情報の書き込み、および読み出しを説明する際に記憶部43が介されていることを省略する場合がある。
When performing machining while vibrating the tool or the workpiece, the numerical control device 1 moves the workpiece and the tool relative to one another. The machine tool, for example, fixes the workpiece and moves only the tool in the X-axis and Z-axis directions. The machine tool may also move the workpiece in the Z-axis direction and move the tool in the X-axis direction, or move the workpiece in the X-axis direction and move the tool in the Z-axis direction. The following describes a case where the machine tool fixes the workpiece and moves only the tool in the X-axis and Z-axis directions. In the following description, the intermediation of the
次に、数値制御装置1による数値制御方法について、具体例を挙げながら説明する。解析処理部47の移動指令生成部471は、加工プログラム432の指令ブロックに基づいて、加工条件指令と、始点および終点を含む工具への移動指令とを生成し、補間処理部48に出力する。また、振動指令解析部472は、加工プログラム432に含まれる振動指令に基づいて生成した振動条件を補間処理部48に出力する。
Next, the numerical control method using the numerical control device 1 will be explained with a concrete example. The movement command generation unit 471 of the analysis processing unit 47 generates machining condition commands and movement commands for the tool including a start point and an end point based on the command blocks of the
ついで、補間処理部48の加工条件生成部481は、加工条件指令および振動指令に基づいて振動周波数および振動加速度を算出する。加工条件生成部481は、算出した振動周波数が予め設定された振動周波数の閾値の範囲内であるか否かを判定し、算出した振動加速度が予め設定された振動加速度の閾値の範囲内であるか否かを判定する。
Then, the machining
加工条件生成部481は、算出した振動周波数または振動加速度が閾値の範囲を超える場合には、設定された振動周波数および振動加速度が、それぞれの閾値の範囲内となるような加工条件を生成する。
If the calculated vibration frequency or vibration acceleration exceeds the threshold range, the processing
例えば、振動周波数は、主軸の1回転当たりの振動の回数として規定されているので、加工条件生成部481は、加工条件のうちの主軸回転速度を変更することで、振動周波数を変化させることができる。また、加工条件生成部481は、加工条件のうちの工具の送り速度および主軸回転速度を変更することで、振動加速度を変化させることができる。
For example, since the vibration frequency is defined as the number of vibrations per rotation of the spindle, the machining
加工条件生成部481は、振動周波数および振動加速度が、それぞれの許容範囲内となる加工条件を生成する。例えば、振動切削制御中に振動回数が変更されると、振動周波数が閾値の範囲外になる場合がある。この場合、加工条件生成部481は、加工条件として主軸回転数を変更することで振動周波数を閾値の範囲内に収める。また、振動切削制御中に振動振幅が変更されると、振動加速度が閾値の範囲外になる場合がある。この場合、加工条件生成部481は、加工条件として工具の送り速度および主軸回転速度を変更することで振動加速度を閾値の範囲内に収める。
The machining
ここで、振動切削制御の際に生成される振動経路について説明する。図2は、実施の形態にかかる数値制御装置が用いる加工プログラムの一例を示す図である。図3は、図2の加工プログラムが実行された場合の工具のX軸方向の位置とZ軸方向の位置との関係を示す図である。図2では移動経路に対して振動を生じさせる加工プログラム432の一例を示しており、図3では、加工プログラム432から得られるZX平面内での工具の移動経路の一例を示している。図3に示すグラフの横軸はZ軸方向の位置であり、縦軸はX軸方向の位置である。図3で示される工具の位置が加工プログラム432に対して生成される移動経路に対応している。
Here, we will explain the vibration path generated during vibration cutting control. FIG. 2 is a diagram showing an example of a machining program used by a numerical control device according to an embodiment. FIG. 3 is a diagram showing the relationship between the X-axis position and the Z-axis position of the tool when the machining program of FIG. 2 is executed. FIG. 2 shows an example of a
数値制御装置1は、加工プログラム432を行(ブロック)毎に読み込み、行毎に実行していく。加工プログラム432には、例えば、行401~行407が含まれている。加工プログラム432内の行401の「S1000 M03;」は主軸への回転指令(主軸回転指令)であり、行402の「G00 X0.0 Z0.0;」は位置決め指令である。また、加工プログラム432内の行404の「G01 X10.0 Z10.0 F0.2;」、および行406の「G01 X20.0 Z20.0 F0.2;」は直線補間の切削送り指令である。
The numerical control device 1 reads the
また、加工プログラム432内の行403,405の「G8.5 P2」は振動切削制御モードの開始を意味する。なお、行405の「G8.5 P2」は、行403の「G8.5 P2」が終了する前に実行されるので、振動切削制御モードの変更を意味する。すなわち、行405の「G8.5 P2」は、振動指令の変更を意味する。振動切削制御モードでは、任意の振動指令が可能である。加工プログラム432内の行403の「I0.5 K1.0;」は、振動回数が0.5であり、振動振幅が1.0であることを意味し、行405の「I1.5 K1.5;」は、振動回数が1.5であり、振動振幅が1.5であることを意味する。また、加工プログラム432内の行407の「G8.5 P0;」は振動切削制御モードの終了を意味する。
Also, "G8.5 P2" on
行402の「X0.0 Z0.0」、行404の「X10.0 Z10.0」、行406の「X20.0 Z20.0」は、それぞれ、座標(0,0)、座標(10.0,10.0)、座標(20.0,20.0)を示すので、図3に示すように工具も座標(0,0)、座標(10,10)、座標(20,20)を通り、且つ直線補間によって座標(0,0)~(10,10)と、座標(10,10)~(20,20)とが直線に沿った点群で近似される。
"X0.0 Z0.0" on
このように、数値制御装置1が図2に示す加工プログラム432を用いる場合、工作機械は、工具を(X,Z)=(0.0,0.0)から(X,Z)=(10.0,10.0)まで図3に示した経路に沿って振動させながら切削し、(X,Z)=(10.0,10.0)からさらに工具を(X,Z)=(20.0,20.0)まで図3に示した経路に沿って振動させながら切削する。
In this way, when the numerical control device 1 uses the
ここで、振動を伴うテーパ加工の移動経路の算出方法の手順について説明する。図4は、実施の形態にかかる数値制御装置が図2の加工プログラムを実行した場合の振動を伴う工具の移動経路を説明するための図である。図4では、グラフG1~G5を含んだグラフ群を図示している。グラフG1は、工具の振動前進位置R1および振動後退位置R2を示すグラフであり、グラフG2は、工具の基準振動波形を示すグラフであり、グラフG3は、振動前進位置R1と振動後退位置R2との差(前後位置差)を示すグラフである。また、グラフG4は、グラフG3にグラフG2を乗算した振動移動量を示すグラフであり、グラフG5は、グラフG1の振動後退位置R2とグラフG4の振動移動量とを重畳(加算)したグラフである。数値制御装置1は、振動切削制御時の工具の位置がグラフG5に示す位置となるように工作機械を制御する。 Here, the procedure of the method for calculating the movement path of the taper machining accompanied by vibration will be described. FIG. 4 is a diagram for explaining the movement path of the tool accompanied by vibration when the numerical control device according to the embodiment executes the machining program of FIG. 2. FIG. 4 illustrates a group of graphs including graphs G1 to G5. Graph G1 is a graph showing the vibration forward position R1 and the vibration backward position R2 of the tool, graph G2 is a graph showing the reference vibration waveform of the tool, and graph G3 is a graph showing the difference (front-to-back position difference) between the vibration forward position R1 and the vibration backward position R2. Graph G4 is a graph showing the vibration movement amount obtained by multiplying graph G3 by graph G2, and graph G5 is a graph obtained by superimposing (adding) the vibration backward position R2 of graph G1 and the vibration movement amount of graph G4. The numerical control device 1 controls the machine tool so that the position of the tool during vibration cutting control becomes the position shown in graph G5.
図4に示すグラフG1~G5の横軸は時間である。また、グラフG1,G5の縦軸は工具のX軸方向の位置およびZ軸方向の位置であり、グラフG2の縦軸は振動振幅であり、グラフG3,G4の縦軸は前後位置差である。 The horizontal axis of graphs G1 to G5 shown in Figure 4 is time. The vertical axis of graphs G1 and G5 is the tool's position in the X-axis direction and Z-axis direction, the vertical axis of graph G2 is vibration amplitude, and the vertical axis of graphs G3 and G4 is the front-rear position difference.
補間処理部48は、振動切削制御の対象となる対象ブロックに対する指令(以下、対象指令という場合がある)と、対象ブロックの次の指令ブロック(以下、次ブロックという場合がある)に対する指令(以下、次指令という場合がある)とを生成する。対象ブロックおよび次ブロックは、何れも振動切削制御の指令ブロックである。
The
対象ブロックと次ブロックとでは、振動条件が異なる。ここでは、対象ブロック(前ブロック)での振動振幅と、次ブロックでの振動振幅とが異なり、対象ブロックでの振動周波数(振動回数)と、次ブロックでの振動周波数(振動回数)とが異なる場合について説明する。なお、対象ブロックと次ブロックとでは、振動振幅および振動周波数の何れか一方のみが異なっていてもよい。 The vibration conditions are different between the target block and the next block. Here, we explain a case where the vibration amplitude in the target block (previous block) is different from the vibration amplitude in the next block, and the vibration frequency (number of vibrations) in the target block is different from the vibration frequency (number of vibrations) in the next block. Note that only either the vibration amplitude or the vibration frequency may be different between the target block and the next block.
補間処理部48が補間処理を実行する指令ブロックが、振動切削制御の対象となる対象ブロックである場合、振動経路生成部482は、解析処理部47の振動指令解析部472から取得した振動条件の振動振幅を用いて、時間に対する工具の移動経路(振動前進位置R1)と、振動前進位置R1から振動振幅を減算した振動後退位置R2とを生成する。
If the command block for which the
すなわち、振動経路生成部482は、対象指令および次指令から、各軸方向での時間に対する移動経路を生成する。また、振動経路生成部482は、加工の種類が振動切削の場合には、解析処理部47の振動指令解析部472から取得した振動条件を用いて、振動前進位置R1と振動後退位置R2との2種類の経路を生成する。
In other words, the vibration
具体的には、振動経路生成部482が生成する振動前進位置R1の移動指令の開始タイミングは、前の指令ブロックでの経路の振動前進位置R1の移動完了後のタイミングとなる。すなわち、振動経路生成部482は、前の指令ブロックにおいて規定された振動前進位置R1の終点まで工具の移動を完了させた後に、次ブロックにおける振動前進位置R1への移動指令を開始する。具体的には、振動経路生成部482は、対象ブロックにおいて規定された振動前進位置R1の終点まで工具の移動を完了させた後に、次ブロックにおける振動前進位置R1への移動指令を開始する。
Specifically, the start timing of the movement command for the vibration forward position R1 generated by the vibration
ここでは、補間処理部48が、振動切削制御対象となる指令ブロック間で振動指令の変更を行うが、振動後退位置R2への工具の移動の完了を待たず、振動前進位置R1までの工具の移動が完了した後に、次の移動指令を開始することができる。すなわち、振動経路生成部482は、前の指令ブロックにおいて規定された振動前進位置R1の終点まで工具の移動を完了させると、前の指令ブロックにおいて規定された振動後退位置R2の終点まで工具の移動を完了させる前に、次ブロックにおける振動前進位置R1への移動指令を開始する。
Here, the
なお、振動前進位置R1が目標位置に到達して振動前進位置R1の移動指令が完了した後、次の指令が振動を収束させる指令の場合には、補間処理部48は、振動後退位置R2の移動が完了する(目標位置に到達する)まで振動前進位置R1の振動を停止させる。
In addition, after the vibration forward position R1 reaches the target position and the movement command for the vibration forward position R1 is completed, if the next command is to converge the vibration, the
補間処理部48は、振動前進位置R1の移動を開始した後、特定時間Tw1だけ待ってから振動後退位置R2の移動を開始する指令を生成する。特定時間Tw1は、例えば、加工プログラム432またはパラメータ431で設定される。
After starting the movement of the vibration forward position R1, the
なお、補間処理部48が、特定時間Tw1を算出してもよい。主軸1回転当たりの所要時間T、特定時間Tw1、振動振幅A、および工具の移動量(主軸の1回転毎の送り量)Fには、A/Tw1=F/Tの関係がある。補間処理部48は、この関係に基づいて特定時間Tw1を算出する。このように、補間処理部48は、振動条件中の振動振幅Aと、主軸1回転当たりの所要時間Tと、工具の移動量Fとの比に基づいて特定時間Tw1を算出する。
The
補間処理部48は、目標位置に到達するまでは、振動前進位置R1および振動後退位置R2を対象指令の移動指令に対応する位置とする。補間処理部48は、振動前進位置R1が目標位置に到達した後は、振動前進位置R1を次指令の移動指令に対応する位置とする。補間処理部48は、振動前進位置R1が目標位置に到達しても、振動後退位置R2が目標位置に到達するまでは、振動後退位置R2を対象指令の移動指令に対応する位置とする。
Until the target position is reached, the
補間処理部48は、振動切削制御中に振動条件中の振動振幅を変更した場合、基準振動波形における山の位置(振動前進位置R1)を検出するまでは、対象ブロックの振動後退位置R2を用いる。補間処理部48は、振動切削制御中に振動条件中の振動振幅を変更した場合は、基準振動波形における山の位置を検出した検出タイミング(時刻t3)で振動後退位置R2を再生成する。すなわち、補間処理部48は、振動振幅を変更した後(時刻t1の後)、最初に山の位置を検出した検出タイミング(時刻t3)で振動後退位置R2を再生成する。ここで生成される振動後退位置R2は、対象指令の移動指令および変更後の振動振幅に対応する位置である。したがって、ここで生成される振動後退位置R2は、対象ブロックの振動前進位置R1から特定時間Tw1だけ遅延している。
When the vibration amplitude in the vibration conditions is changed during vibration cutting control, the
対象ブロックと次ブロックとでは、振動振幅および振動周波数が異なる。このため、最初に山の位置が検出された時刻t3での振動後退位置R2と、最初に山の位置を検出した時刻t3で生成される次ブロックの振動後退位置R2とは異なる位置となる。 The vibration amplitude and vibration frequency are different between the target block and the next block. Therefore, the vibration retreat position R2 at time t3 when the position of the peak is first detected will be different from the vibration retreat position R2 of the next block generated at time t3 when the position of the peak is first detected.
このように、補間処理部48は、時刻t1から特定時間Tw2が経過し、時刻t2で振動後退位置R2が目標位置(X=10.0,Z=10.0)に到達するまでは、振動後退位置R2を対象指令に対応する位置とする。すなわち、補間処理部48は、時刻t1から時刻t2までは振動後退位置R2を、対象指令の移動指令に対応する位置とする。換言すると、補間処理部48は、時刻t2までは対象指令の振動前進位置R1に対して特定時間Tw1が遅れた振動後退位置R2を生成する。このように、時刻t2までの振動後退位置R2は、対象指令の振動前進位置R1に対して特定時間Tw1だけ遅れている。
In this way, the
補間処理部48は、その後、時刻t2で振動後退位置R2が目標位置に到達すると、この目標位置から次指令による振動後退位置R2を生成する。すなわち、補間処理部48は、時刻t2からは、振動後退位置R2を、次指令の移動指令に対応する位置とする。したがって、時刻t2以降の振動後退位置R2は、次指令の振動前進位置R1に対して特定時間Tw2だけ遅れている。
Then, when the vibration retreat position R2 reaches the target position at time t2, the
特定時間Tw2は、特定時間Tw1と同様に、例えば、加工プログラム432またはパラメータ431で設定される。なお、補間処理部48は、特定時間Tw1と同様に、振動条件中の振動振幅Aと、主軸1回転当たりの所要時間Tと、工具の移動量Fとの比に基づいて特定時間Tw2を算出してもよい。
The specific time Tw2, like the specific time Tw1, is set, for example, by the
このような規則に従って生成された振動前進位置R1と振動後退位置R2とが、グラフG1として示されている。グラフG1に示されるように、補間処理部48は、対象指令による振動前進位置R1が時刻t1で目標位置(X=10.0,Z=10.0)に到達すると、この目標位置から次指令による振動前進位置R1を生成する。グラフG1では、時刻t3において振動後退位置R2にずれが生じている。これは、時刻t3時点での振動後退位置R2と、時刻t3で再生成される振動後退位置R2とは異なる位置となるからである。
The vibration forward position R1 and vibration backward position R2 generated according to such rules are shown as graph G1. As shown in graph G1, when the vibration forward position R1 based on the target command reaches the target position (X = 10.0, Z = 10.0) at time t1, the
このグラフG1に示される振動経路では、時刻t1から時刻t2で示されるように、対象指令による振動後退位置R2の移動と、次指令による振動前進位置R1の移動とが、オーバラップすることになる。 In the vibration path shown in graph G1, as shown from time t1 to time t2, the movement of vibration backward position R2 due to the target command and the movement of vibration forward position R1 due to the next command overlap.
次に、振動波形生成部483は、移動経路に重畳させる振動移動量の生成に用いられる基準振動波形を、振動指令解析部472からの振動条件を用いて生成する。具体的には、振動波形生成部483は、振動条件中の振動回数を有し、且つ谷から山までの高さ(振動振幅)が1.0の振動波形を生成する。このとき、振動波形は予め定められた波形(例えば、三角波)が用いられる。なお、振動波形生成部483は、振動切削制御中に振動条件中の振動回数を変更した場合は、基準振動波形における山(振動前進位置R1)を検出した検出タイミング(時刻t3)で基準振動波形を生成する。このような規則によって生成された基準振動波形がグラフG2として示されている。このグラフG2の基準振動波形は、時間の関数となっている。グラフG2に示す時刻t3までの基準振動波形が、対象ブロックの振動指令C1に対応し、時刻t3以降の基準振動波形が、次ブロックの振動指令C2に対応している。
Next, the vibration
その後、振動移動量生成部484は、各時間における振動前進位置R1と振動後退位置R2との差を求める。振動前進位置R1と振動後退位置R2との差がグラフG3として示されている。さらに、振動移動量生成部484は、振動前進位置R1と振動後退位置R2との差に、振動波形生成部483が生成した基準振動波形を乗算することで、振動移動量を算出する。このようにして算出された振動移動量がグラフG4として示されている。グラフG3,G4に示す時刻t3までの波形が、対象ブロックの振動指令C1に対応し、時刻t3以降の波形が、次ブロックの振動指令C2に対応している。
Then, the vibration movement
そして、移動量合成部485は、振動経路生成部482が生成した振動後退位置R2と、振動移動量生成部484が生成した振動移動量とを重畳(加算)することで、振動を重畳した振動移動経路R3,R4を生成する。このようにして生成された振動移動経路R3,R4と、振動前進位置R1と、振動後退位置R2とが、グラフG5として示されている。振動移動経路R3は、時刻0から時刻t3までの移動経路であり、振動移動経路R4は、時刻t3以降の移動経路である。
Then, the movement
グラフG5に示されるように、振動前進位置R1が目標位置である(X,Z)=(10.0,10.0)に到達すると、移動経路の振動後退位置R2が目標位置である(X,Z)=(10.0,10.0)に到達しない状態でも、次指令の振動前進位置R1への移動が開始される。その後、移動経路の振動後退位置R2が目標位置である(X,Z)=(20.0,20.0)に到達するまでの間は、次指令の移動経路の振動前進位置R1と対象指令の移動経路の振動後退位置R2との間で振動が行われる。そして、移動経路の振動後退位置R2が目標位置である(X,Z)=(20.0,20.0)に到達すると、振動後退位置R2でも次指令の移動が実行されることになる。すなわち、数値制御装置1は、目標位置に到達しても振動は収束させず、そのまま次指令の振動前進位置R1に従って振動を開始させる。数値制御装置1は、時刻t3で基準振動波形における山を検出すると、振動条件を、次指令での移動経路上での振動条件へと動的に切り替える。また、数値制御装置1は、時刻t3で基準振動波形における山を検出すると、加工条件を、次指令での加工条件へと動的に切り替える。 As shown in graph G5, when the vibration forward position R1 reaches the target position (X, Z) = (10.0, 10.0), movement to the vibration forward position R1 of the next command is started even if the vibration retreat position R2 of the movement path has not yet reached the target position (X, Z) = (10.0, 10.0). After that, vibration is performed between the vibration forward position R1 of the movement path of the next command and the vibration retreat position R2 of the movement path of the target command until the vibration retreat position R2 of the movement path reaches the target position (X, Z) = (20.0, 20.0). Then, when the vibration retreat position R2 of the movement path reaches the target position (X, Z) = (20.0, 20.0), the movement of the next command is also executed at the vibration retreat position R2. In other words, the numerical control device 1 does not converge the vibration even when the target position is reached, but starts vibration according to the vibration forward position R1 of the next command. When the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the vibration conditions to the vibration conditions on the movement path in the next command. Also, when the numerical control device 1 detects a peak in the reference vibration waveform at time t3, it dynamically switches the machining conditions to the machining conditions in the next command.
なお、上述した説明では、計算方法を分かり易く説明するために、数値制御装置1が、加工プログラム432の1ブロック単位で波形を計算する場合について説明したが、実際には補間処理部48で単位時間(補間周期)毎に波形の計算が行われる。
In the above explanation, in order to easily explain the calculation method, the numerical control device 1 calculates the waveform for each block of the
図5は、実施の形態にかかる数値制御装置が実行する処理の処理手順を示すフローチャートである。図5では、制御演算部40が、加工プログラム432に基づいて各軸の合成移動量を算出する処理の処理手順について説明する。
FIG. 5 is a flowchart showing the procedure of the process executed by the numerical control device according to the embodiment. In FIG. 5, the process procedure of the process in which the
解析処理部47は、加工条件指令および移動指令を生成する(ステップS10)。具体的には、解析処理部47の移動指令生成部471が、加工プログラム432を読み込み、読み込んだ加工プログラム432を1ブロック毎に解析することで、主軸回転速度および工具の送り速度を含む加工条件指令と、1ブロックで工具が移動する移動指令とを生成する。また、解析処理部47は、振動条件を生成する(ステップS20)。具体的には、振動指令解析部472は、振動指令を解析し、振動回数、振動振幅などの振動条件を生成する。
The analysis processing unit 47 generates machining condition commands and movement commands (step S10). Specifically, the movement command generation unit 471 of the analysis processing unit 47 reads the
補間処理部48の加工条件生成部481は、解析処理部47から加工条件指令および移動指令を取得し、振動周波数および振動加速度を算出する(ステップS30)。加工条件生成部481は、振動周波数および振動加速度が、それぞれ設定された閾値の範囲内となるように加工条件を生成する(ステップS40)。
The machining
振動経路生成部482は、振動指令解析部472から取得した振動条件を用いて、振動前進位置R1と振動後退位置R2とを生成する(ステップS50)。そして、振動波形生成部483は、振動前進位置R1と振動後退位置R2とで規定された工具の移動経路に重畳させる振動移動量の基準振動波形を、振動指令解析部472からの振動条件を用いて生成する(ステップS60)。
The vibration
その後、振動移動量生成部484は、各時間における振動前進位置R1と振動後退位置R2との差を算出する(ステップS70)。さらに、振動移動量生成部484は、振動前進位置R1と振動後退位置R2との差に、振動波形生成部483が生成した基準振動波形を乗算することで、振動移動量を算出する(ステップS80)。そして、移動量合成部485は、振動経路生成部482が生成した振動後退位置R2と、振動移動量生成部484が生成した振動移動量とを重畳することで、振動を重畳した合成移動量を算出する(ステップS90)。
Then, the vibration movement
図6は、実施の形態にかかる数値制御装置がブロック間で振動指令を変更する際に実行する処理の処理手順を示すフローチャートである。制御演算部40は、振動切削制御の実行中に、対象ブロックの振動前進位置R1が対象ブロックの目標位置に到達したか否かを判定する(ステップS110)。
FIG. 6 is a flowchart showing the procedure of the process executed when the numerical control device according to the embodiment changes the vibration command between blocks. The
制御演算部40は、対象ブロックの振動前進位置R1が対象ブロックの目標位置に到達していない場合(ステップS110、No)、対象ブロックの振動前進位置R1が対象ブロックの目標位置に到達したか否かの判定処理を継続する(ステップS110)。
If the vibration forward position R1 of the target block has not reached the target position of the target block (step S110, No), the
対象ブロックの振動前進位置R1が対象ブロックの目標位置に到達すると(ステップS110、Yes)、振動経路生成部482は、次ブロックの振動条件を用いて、次ブロックの振動前進位置R1を生成する(ステップS120)。
When the vibration forward position R1 of the target block reaches the target position of the target block (step S110, Yes), the
制御演算部40は、対象ブロックの振動前進位置R1が目標位置に到達した後、基準振動波形における山を検出したか否かを判定する(ステップS130)。すなわち、制御演算部40は、基準振動波形における山が、振動前進位置R1に重なったか否かを判定する。換言すると、制御演算部40は、対象ブロックの振動前進位置R1が目標位置に到達した後に工具の位置が振動前進位置R1に到達したか否かを判定する。
The
制御演算部40は、対象ブロックの振動前進位置R1が目標位置に到達した後、基準振動波形における山を検出していない場合(ステップS130、No)、基準振動波形における山を検出したか否かの判定処理を継続する(ステップS130)。
If the
対象ブロックの振動前進位置R1が目標位置に到達した後、制御演算部40が、基準振動波形における山を検出した場合(ステップS130、Yes)、振動経路生成部482は、振動条件に基づいて、振動後退位置R2を生成する(ステップS140)。また、加工条件生成部481は、加工条件指令および振動指令に基づいて、振動周波数および振動加速度を算出し、設定された振動周波数の閾値および振動加速度の閾値の範囲内となるように加工条件を生成する。すなわち、加工条件生成部481は、基準振動波形における山を検出した検出タイミング(時刻t3)で、振動条件を次ブロックの振動条件に変更し、加工条件を次ブロックの加工条件に変更し、振動後退位置R2を生成する。換言すると、加工条件生成部481は、基準振動波形における山を検出した検出タイミング(時刻t3)で、振動条件と、加工条件と、振動後退位置R2とを再算出する。
After the vibration forward position R1 of the target block reaches the target position, if the
制御演算部40は、振動前進位置R1が目標位置に到達した後、振動後退位置R2が対象ブロックの目標位置に到達したか否かを判定する(ステップS150)。制御演算部40は、振動前進位置R1が目標位置に到達した後、振動後退位置R2が対象ブロックの目標位置に到達していない場合(ステップS150、No)、振動後退位置R2が対象ブロックの目標位置に到達したか否かの判定処理を継続する(ステップS150)。
After the vibration forward position R1 reaches the target position, the
振動前進位置R1が目標位置に到達した後、特定時間Tw2が経過し、振動後退位置R2が対象ブロックの目標位置に到達すると(ステップS150、Yes)、制御演算部40は、振動後退位置R2でも次ブロックの処理を実行する(ステップS160)。すなわち、制御演算部40は、次ブロックの次指令に対応する振動後退位置R2を算出する。
After the vibration forward position R1 reaches the target position, a specific time Tw2 elapses and the vibration backward position R2 reaches the target position of the target block (step S150, Yes), the
ここで、比較例の数値制御装置について説明する。比較例の数値制御装置および本実施の形態の数値制御装置1は、加工送り方向に工具と加工対象とを相対的に振動させて切屑を分断する振動切削において、外径加工、テーパ加工などの加工の際に振動周波数、振動振幅などの振動条件を変更する場合がある。例えば、振動切削によってテーパ加工が制御される場合、テーパ角度および工具のチップ角度によって切屑を分断するために必要な振動振幅が異なる。このような場合において、比較例の数値制御装置は、振動振幅などの振動条件を変更する際に、指令ブロック間で振動を収束させている。これにより、比較例の数値制御装置では、振動の収束時に振動振幅が小さくなって加工時間が延びるとともに、振動の収束時の工具の加減速によって加工面精度が悪くなる。 Here, the numerical control device of the comparative example will be described. In the numerical control device of the comparative example and the numerical control device 1 of this embodiment, in vibration cutting, which breaks chips by vibrating the tool and the workpiece relatively in the machining feed direction, vibration conditions such as vibration frequency and vibration amplitude may be changed during machining such as external diameter machining and taper machining. For example, when taper machining is controlled by vibration cutting, the vibration amplitude required to break chips varies depending on the taper angle and the tip angle of the tool. In such a case, the numerical control device of the comparative example converges vibration between command blocks when changing vibration conditions such as vibration amplitude. As a result, in the numerical control device of the comparative example, the vibration amplitude becomes smaller when the vibration converges, extending the machining time, and the machining surface accuracy deteriorates due to the acceleration and deceleration of the tool when the vibration converges.
一方、本実施の形態の数値制御装置1は、指令ブロック間で振動条件を変更する場合であっても、振動を収束させないので、加工時間が延びることを防止できるとともに、加工面精度が悪くなることを防止できる。 On the other hand, the numerical control device 1 of this embodiment does not converge the vibration even when the vibration conditions are changed between command blocks, so it is possible to prevent the machining time from being extended and the machining surface accuracy from being deteriorated.
また、本実施の形態の数値制御装置1は、振動前進位置R1が目標位置に到達した後、基準振動波形における山を検出するまで振動条件および加工条件を変更せず、基準振動波形における山を検出したタイミングで振動条件および加工条件を変更している。これにより、数値制御装置1は、指令ブロック間で振動条件を変更する際の工具の加減速を抑制できるので、指令ブロック間で加工面精度が悪くなることを防止できる。 In addition, the numerical control device 1 of this embodiment does not change the vibration conditions and machining conditions after the vibration forward position R1 reaches the target position until it detects a peak in the reference vibration waveform, and changes the vibration conditions and machining conditions at the timing when it detects a peak in the reference vibration waveform. This allows the numerical control device 1 to suppress acceleration and deceleration of the tool when changing vibration conditions between command blocks, thereby preventing deterioration of the machining surface accuracy between command blocks.
また、指令ブロック間で振動回数が変更されると振動周波数が変化し、振動振幅が変更されると振動加速度が変化する。これらの場合、比較例の数値制御装置では、工作機械の部品(ボールねじ等)、サーボモータ、工具などに過度な負荷が与えられるので、振動条件によっては、工具の送り速度、主軸回転速度などの加工条件の変更が加工プログラム上で必要になる。すなわち、比較例の数値制御装置では、加工プログラム上で加工条件を変更することで、振動周波数および振動振幅がそれぞれの閾値の範囲内に収まるように制御している。この場合、加工プログラムでは、振動を収束させてから加工条件を変更するので、加工時間が長くなる。 Furthermore, when the number of vibrations is changed between command blocks, the vibration frequency changes, and when the vibration amplitude is changed, the vibration acceleration changes. In these cases, in the numerical control device of the comparative example, excessive loads are applied to the machine tool parts (ball screws, etc.), servo motors, tools, etc., and depending on the vibration conditions, it becomes necessary to change the machining conditions such as the tool feed speed and spindle rotation speed in the machining program. In other words, in the numerical control device of the comparative example, the machining conditions are changed in the machining program, so that the vibration frequency and vibration amplitude are controlled to fall within the ranges of their respective thresholds. In this case, the machining program changes the machining conditions after converging the vibrations, which increases the machining time.
このように、比較例の数値制御装置では、ブロック間で振動条件が変更されると、工作機械の部品などに過度な負荷が与えられ、過度な負荷が与えられることを防止するためには、加工プログラム432上で加工条件を変更する必要がある。
In this way, in the numerical control device of the comparative example, when vibration conditions are changed between blocks, excessive loads are applied to machine tool parts, etc., and in order to prevent excessive loads from being applied, it is necessary to change the machining conditions in the
一方、本実施の形態の数値制御装置1は、振動条件を変更する場合においても、振動条件を変更するタイミングを制御して、振動条件を動的に切り替えることに加え、振動周波数および振動加速度がそれぞれの閾値の範囲内に収まるように加工条件を変更している。これにより、数値制御装置1は、過度な負荷が与えられることを防止して幅広い条件での加工が可能になるとともに、加工プログラム432によって振動条件を変更する必要がないので、加工時間が長くなることを抑制できる。
On the other hand, even when changing vibration conditions, the numerical control device 1 of this embodiment controls the timing of changing the vibration conditions to dynamically switch the vibration conditions, and also changes the machining conditions so that the vibration frequency and vibration acceleration fall within the ranges of their respective thresholds. This allows the numerical control device 1 to prevent excessive loads from being applied and enables machining under a wide range of conditions, and since there is no need to change the vibration conditions using the
なお、実施の形態では、工具をX軸方向およびZ軸方向に移動および振動させる場合について説明したが、工具の移動および振動は、1軸方向であってもよい。 In the embodiment, the tool is moved and vibrated in the X-axis and Z-axis directions, but the tool may be moved and vibrated in a single axis direction.
また、本実施の形態では、振動経路生成部482は、指令ブロック間の振動条件が異なる場合に、振動切削中において、現在の振動指令と次に実行される予定の振動指令である次振動指令との間で振動条件の変化が検出されたタイミングで、振動切削に伴う振動が収束しないように、次振動指令における振動切削に伴う振動の前進位置である振動前進位置および振動切削に伴う振動の後退位置である振動後退位置を算出していたが、これに限られない。例えば、工作機械が、加工中に振動条件が変更されるような振動切削を実行している場合、次に実行される予定の振動指令に変更後の振動条件が設定される場合がある。この場合、振動経路生成部482は、現在の振動指令と次に実行される予定の振動指令の振動条件とが異なる場合には、振動切削中において、現在の振動指令と次に実行される予定の振動指令である次振動指令との間で変化が検出されたタイミングで、振動切削に伴う振動が収束しないように、次振動指令における振動切削に伴う振動の前進位置である振動前進位置および振動切削に伴う振動の後退位置である振動後退位置を算出してもよい。なお、加工中に振動条件が変更される場合とは、例えば、加工状況の変化等により、外部のPLCから振動条件の変更が要求される場合、予め設定された閾値を超えるなどして振動条件の変更処理が実行される場合等である。このとき、加工条件の変更の通知は、例えば、振動指令解析部472が受信するようにしてもよい。
In addition, in this embodiment, when the vibration conditions between command blocks are different, the vibration
また、本実施の形態では、振動経路生成部482は、振動切削中において、現在の振動指令と次の振動指令である次振動指令との間で変化が検出された場合、振動が収束しないように、次振動指令における加工対象に対する工具の振動の前進位置である振動前進位置を算出していたが、これに限られない。例えば、振動経路生成部482は、振動切削中において、現在の振動指令と次の振動指令である次振動指令との間で変化が検出された場合、振動が停止しないように、次振動指令における加工対象に対する工具の振動の前進位置である振動前進位置を算出してもよい。このとき、「振動が停止しないように」とは、例えば、現在の振動指令と次振動指令との間で振動が停止する期間がなく振動切削が実行される制御を示している。
In addition, in this embodiment, when a change is detected between the current vibration command and the next vibration command, the vibration
ここで、制御演算部40のハードウェア構成について説明する。図7は、実施の形態にかかる制御演算部を実現するハードウェア構成例を示す図である。制御演算部40は、入力装置300、プロセッサ100、メモリ200、および出力装置400により実現することができる。プロセッサ100の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ200の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
Here, the hardware configuration of the control and
制御演算部40は、プロセッサ100が、メモリ200で記憶されている制御演算部40の動作を実行するための、コンピュータで実行可能な、制御演算プログラム(図示せず)を読み出して実行することにより実現される。制御演算部40の動作を実行するためのプログラムである制御演算プログラムは、制御演算部40の手順または方法をコンピュータに実行させるものであるともいえる。
The
プロセッサ100が実行する制御演算プログラムは、制御演算部40を含むモジュール構成となっており、これらの構成要素が主記憶装置上にロードされ主記憶装置上に生成される。具体的には、プロセッサ100が実行する制御演算プログラムは、入力制御部41と、データ設定部42と、記憶部43と、画面処理部44と、機械制御信号処理部45と、PLC回路部46と、解析処理部47と、補間処理部48と、主軸処理部49と、加減速処理部50と、軸データ出力部51とを含むモジュール構成となっており、これらの構成要素が主記憶装置上にロードされ主記憶装置上に生成される。
The control calculation program executed by the processor 100 has a modular configuration including a
入力装置300は、入力制御部41から入力情報を受け付けてプロセッサ100に送る。メモリ200は、制御演算プログラム、パラメータ431、加工プログラム432、画面表示データ433などを記憶する。また、メモリ200は、プロセッサ100が各種処理を実行する際の一時メモリである共有エリア434(図示せず)に使用される。
The input device 300 accepts input information from the input control unit 41 and sends it to the processor 100. The memory 200 stores a control calculation program,
出力装置400は、表示部30に画面表示データ433を出力する。また、出力装置400は、単位時間当たりの移動指令を、サーボ制御部13および主軸制御部16に出力する。
The
制御演算プログラムおよび加工プログラム432は、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、制御演算プログラムおよび加工プログラム432は、インターネットなどのネットワーク経由で制御演算部40に提供されてもよい。なお、制御演算部40の機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。なお、制御演算部40が備える機能の一部のハードウェア構成を、図7に示したハードウェア構成としてもよい。
The control calculation program and
このように実施の形態の数値制御装置1は、振動切削加工の制御中に前の指令ブロックである対象ブロック(前ブロック)と次ブロックとの間の指令ブロック間で振動指令の変化を検出した場合、振動を収束させない。そして、数値制御装置1は、指令ブロック間で振動指令の変化を検出した場合に、次ブロックの振動前進位置R1を算出し、基準振動波形における振動前進位置R1が検出された検出タイミングで、次ブロックの振動後退位置R2を算出し、この検出タイミングで、次ブロックの基準振動波形を生成している。これにより、数値制御装置1は、指令ブロック間に振動条件の異なる振動指令ブロックがある場合であっても、加工面精度が悪くなることを防止できる。 In this way, the numerical control device 1 of the embodiment does not converge the vibration when it detects a change in the vibration command between the command blocks between the target block (previous block), which is the previous command block, and the next block during vibration cutting processing control. Then, when the numerical control device 1 detects a change in the vibration command between command blocks, it calculates the vibration forward position R1 of the next block, calculates the vibration backward position R2 of the next block at the detection timing when the vibration forward position R1 in the reference vibration waveform is detected, and generates the reference vibration waveform for the next block at this detection timing. This allows the numerical control device 1 to prevent deterioration of the machining surface accuracy even when there are vibration command blocks with different vibration conditions between the command blocks.
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies. Parts of the configurations may be omitted or modified without departing from the spirit of the invention.
1 数値制御装置、10 駆動部、11 サーボモータ、11X X軸サーボモータ、11Z Z軸サーボモータ、12,15 検出器、13 サーボ制御部、13X X軸サーボ制御部、13Z Z軸サーボ制御部、14 主軸モータ、16 主軸制御部、20 入力操作部、30 表示部、40 制御演算部、41 入力制御部、42 データ設定部、43 記憶部、44 画面処理部、45 機械制御信号処理部、46 PLC回路部、47 解析処理部、48 補間処理部、49 主軸処理部、50 加減速処理部、51 軸データ出力部、100 プロセッサ、200 メモリ、300 入力装置、400 出力装置、401~407 行、431 パラメータ、432 加工プログラム、433 画面表示データ、434 共有エリア、471 移動指令生成部、472 振動指令解析部、481 加工条件生成部、482 振動経路生成部、483 振動波形生成部、484 振動移動量生成部、485 移動量合成部、491 主軸回転指令作成部、C1,C2 振動指令、G1~G5 グラフ、R1 振動前進位置、R2 振動後退位置、R3,R4 振動移動経路、Tw1,Tw2 特定時間、t1~t3 時刻。 1 Numerical control device, 10 Drive unit, 11 Servo motor, 11X X-axis servo motor, 11Z Z-axis servo motor, 12, 15 Detector, 13 Servo control unit, 13X X-axis servo control unit, 13Z Z-axis servo control unit, 14 Spindle motor, 16 Spindle control unit, 20 Input operation unit, 30 Display unit, 40 Control calculation unit, 41 Input control unit, 42 Data setting unit, 43 Memory unit, 44 Screen processing unit, 45 Machine control signal processing unit, 46 PLC circuit unit, 47 Analysis processing unit, 48 Interpolation processing unit, 49 Spindle processing unit, 50 Acceleration/deceleration processing unit, 51 Axis data output unit, 100 Processor , 200 memory, 300 input device, 400 output device, 401-407 lines, 431 parameters, 432 machining program, 433 screen display data, 434 shared area, 471 movement command generation unit, 472 vibration command analysis unit, 481 machining condition generation unit, 482 vibration path generation unit, 483 vibration waveform generation unit, 484 vibration movement amount generation unit, 485 movement amount synthesis unit, 491 spindle rotation command creation unit, C1, C2 vibration command, G1-G5 graph, R1 vibration forward position, R2 vibration backward position, R3, R4 vibration movement path, Tw1, Tw2 specific time, t1-t3 time.
Claims (8)
工具と加工対象とを相対的に振動させる振動指令を解析することで前記工具と前記加工対象とを相対的に振動させるための条件である振動条件を生成する振動指令解析部と、
前記振動切削中に現在の前記振動指令と次に実行される予定の前記振動指令である次振動指令との間で前記振動条件の変化が検出された場合、前記振動切削に伴う振動が収束しないように、前記次振動指令における前記振動切削に伴う振動の前進位置である振動前進位置および前記振動切削に伴う振動の後退位置である振動後退位置を算出する振動経路生成部と、
を備えている数値制御装置。 A numerical control device that causes a machine tool to perform vibration cutting,
a vibration command analysis unit that analyzes a vibration command for relatively vibrating the tool and the workpiece to generate vibration conditions that are conditions for relatively vibrating the tool and the workpiece;
a vibration path generating unit which calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration backward position, which is the backward position of the vibration associated with the vibration cutting, in the next vibration command, so that the vibration associated with the vibration cutting does not converge when a change in the vibration condition is detected between the current vibration command and a next vibration command which is the vibration command to be executed next during the vibration cutting;
A numerical control device comprising:
前記振動前進位置と前記振動後退位置との差に前記基準振動波形を乗算することで、前記振動後退位置における振動の移動量である振動移動量を算出する振動移動量生成部と、
前記振動後退位置に前記振動移動量を加算した合成移動量を生成する移動量合成部と、
をさらに備えている請求項1に記載の数値制御装置。 a vibration waveform generating unit that generates a reference vibration waveform that is a reference vibration waveform for vibrating the tool or the object to be processed;
a vibration movement amount generating unit that calculates a vibration movement amount, which is a movement amount of the vibration at the vibration retreat position, by multiplying the difference between the vibration advance position and the vibration retreat position by the reference vibration waveform;
a movement amount synthesis unit that generates a synthetic movement amount by adding the vibration movement amount to the vibration retreat position;
The numerical control device according to claim 1 , further comprising:
前記加工条件生成部は、前記加工条件に対応する指令である加工条件指令および前記振動指令に基づいて、前記振動切削の振動周波数および振動加速度を算出し、前記振動周波数および前記振動加速度がそれぞれの閾値を超えない範囲内の前記加工条件を生成する、
請求項1または2に記載の数値制御装置。 A machining condition generating unit that generates machining conditions for the vibration cutting is further provided.
The machining condition generation unit calculates a vibration frequency and a vibration acceleration of the vibration cutting based on a machining condition command, which is a command corresponding to the machining condition, and the vibration command, and generates the machining conditions within a range in which the vibration frequency and the vibration acceleration do not exceed their respective threshold values.
The numerical control device according to claim 1 or 2.
前記加工条件生成部は、前記振動前進位置が前記振動切削の制御中に前の指令ブロックである前ブロックの目標位置に到達した後、前記基準振動波形における前記振動前進位置が検出されたタイミングで、前記振動切削の制御中に次の指令ブロックである次ブロックの前記加工条件を生成する、
請求項2に記載の数値制御装置。 A machining condition generating unit that generates machining conditions for the vibration cutting is further provided.
the machining condition generating unit generates the machining conditions for a next block, which is a next command block, during control of the vibration cutting at a timing when the vibration forward position in the reference vibration waveform is detected after the vibration forward position reaches a target position of a previous block, which is a previous command block, during control of the vibration cutting.
The numerical control device according to claim 2.
請求項4に記載の数値制御装置。 When the vibration command analysis unit detects a change in vibration amplitude of the vibration command between the command blocks during control of the vibration cutting, the timing for changing the vibration retreat position is delayed.
The numerical control device according to claim 4.
請求項4に記載の数値制御装置。 When the vibration command analysis unit detects a change in the number of vibrations included in the vibration conditions between the command blocks during control of the vibration cutting, the timing of changing the vibration retreat position is delayed.
The numerical control device according to claim 4.
前記数値制御装置が、前記振動切削中に現在の前記振動指令と次に実行される予定の前記振動指令である次振動指令との間で前記振動条件の変化が検出された場合、前記振動切削に伴う振動が収束しないように、前記次振動指令における前記振動切削に伴う振動の前進位置である振動前進位置および前記振動切削に伴う振動の後退位置である振動後退位置を算出する振動経路生成ステップと、
を含んでいる数値制御方法。 a vibration command analysis step in which a numerical control device that causes a machine tool to perform vibration cutting analyzes a vibration command that relatively vibrates a tool and a workpiece to generate vibration conditions that are conditions for relatively vibrating the tool and the workpiece;
a vibration path generating step of calculating a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration backward position, which is the backward position of the vibration associated with the vibration cutting in the next vibration command, so that the vibration associated with the vibration cutting does not converge when the numerical control device detects a change in the vibration condition between the current vibration command and a next vibration command that is the vibration command to be executed next during the vibration cutting;
A numerical control method comprising:
工具と加工対象とを相対的に振動させる振動指令を解析することで前記工具と前記加工対象とを相対的に振動させるための条件である振動条件を生成する振動指令解析部と、
前記振動切削中に現在の前記振動指令と次に実行される予定の前記振動指令である次振動指令との間で前記振動条件の変化が検出された場合、前記振動切削に伴う振動が停止しないように、前記次振動指令における前記振動切削に伴う振動の前進位置である振動前進位置および前記振動切削に伴う振動の後退位置である振動後退位置を算出する振動経路生成部と、
を備えている数値制御装置。 A numerical control device that causes a machine tool to perform vibration cutting,
a vibration command analysis unit that analyzes a vibration command for relatively vibrating the tool and the workpiece to generate vibration conditions that are conditions for relatively vibrating the tool and the workpiece;
a vibration path generating unit which calculates a vibration forward position, which is the forward position of the vibration associated with the vibration cutting in the next vibration command, and a vibration backward position, which is the backward position of the vibration associated with the vibration cutting, in the next vibration command, so that the vibration associated with the vibration cutting does not stop when a change in the vibration conditions is detected between the current vibration command and a next vibration command which is the vibration command to be executed next during the vibration cutting;
A numerical control device comprising:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2023/028016 WO2025027767A1 (en) | 2023-07-31 | 2023-07-31 | Numerical control device and numerical control method |
JP2023573669A JP7433570B1 (en) | 2023-07-31 | 2023-07-31 | Numerical control device and numerical control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2023/028016 WO2025027767A1 (en) | 2023-07-31 | 2023-07-31 | Numerical control device and numerical control method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2025027767A1 true WO2025027767A1 (en) | 2025-02-06 |
Family
ID=89904356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/028016 WO2025027767A1 (en) | 2023-07-31 | 2023-07-31 | Numerical control device and numerical control method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7433570B1 (en) |
WO (1) | WO2025027767A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020085451A1 (en) * | 2018-10-26 | 2020-04-30 | シチズン時計株式会社 | Machine tool and control device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115884847B (en) * | 2020-10-21 | 2024-03-19 | 三菱电机株式会社 | Numerical control device and numerical control method |
-
2023
- 2023-07-31 JP JP2023573669A patent/JP7433570B1/en active Active
- 2023-07-31 WO PCT/JP2023/028016 patent/WO2025027767A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020085451A1 (en) * | 2018-10-26 | 2020-04-30 | シチズン時計株式会社 | Machine tool and control device |
Also Published As
Publication number | Publication date |
---|---|
JP7433570B1 (en) | 2024-02-19 |
JPWO2025027767A1 (en) | 2025-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5781241B1 (en) | Numerical controller | |
JP6984790B1 (en) | Numerical control device and numerical control method | |
JP5745710B1 (en) | Numerical controller | |
TWI512417B (en) | Apparatus for creating processing program, numerical control apparatus, processing system, method for creating processing program, and numerical control method | |
JP6843314B1 (en) | Numerical control device, numerical control method and machine learning device | |
JP5826444B1 (en) | Numerical controller | |
WO2016038687A1 (en) | Numerical control apparatus | |
CN113168155B (en) | Numerical control device and numerical control method | |
JP5813058B2 (en) | Numerical controller with a function for shortening the starting point path of a complex fixed cycle | |
JP6898530B2 (en) | Numerical control device and numerical control method | |
WO2020084771A1 (en) | Numerical control device, machine tool, and numerical control method | |
WO2025027767A1 (en) | Numerical control device and numerical control method | |
JP7599594B1 (en) | Numerical control device and numerical control method | |
CN112008485B (en) | Numerical controller and machine tool | |
JP2014026430A (en) | Numerical control device having function to display differences in status at suspension and at restart of machining | |
JP7682419B1 (en) | Numerical control device and numerical control method | |
JP4112433B2 (en) | Numerical control device for machine tool and numerical control method for machine tool | |
JP7638441B1 (en) | Numerical control device and numerical control method | |
JP7573790B1 (en) | Numerical control device, numerical control method, and numerical control program | |
JPH07303979A (en) | Laser beam machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2023573669 Country of ref document: JP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23947565 Country of ref document: EP Kind code of ref document: A1 |