WO2020084771A1 - 数値制御装置、工作機械および数値制御方法 - Google Patents

数値制御装置、工作機械および数値制御方法 Download PDF

Info

Publication number
WO2020084771A1
WO2020084771A1 PCT/JP2018/039905 JP2018039905W WO2020084771A1 WO 2020084771 A1 WO2020084771 A1 WO 2020084771A1 JP 2018039905 W JP2018039905 W JP 2018039905W WO 2020084771 A1 WO2020084771 A1 WO 2020084771A1
Authority
WO
WIPO (PCT)
Prior art keywords
vibration
tool
phase difference
turret
waveform
Prior art date
Application number
PCT/JP2018/039905
Other languages
English (en)
French (fr)
Inventor
正一 嵯峨▲崎▼
山田 喜範
悠貴 平田
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2019541208A priority Critical patent/JPWO2020084771A1/ja
Priority to PCT/JP2018/039905 priority patent/WO2020084771A1/ja
Publication of WO2020084771A1 publication Critical patent/WO2020084771A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, 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
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/013Control or regulation of feed movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/4093Numerical 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

  • the present invention relates to a numerical control device, a machine tool and a numerical control method for controlling vibration cutting while vibrating a tool.
  • the numerical control device controls the operation of the tool according to a machining program for machining the machining target, and thereby causes the tool to machine the machining target.
  • Some of the numerical control devices vibrate and cut a workpiece while vibrating the tool at a specific frequency along the tool path.
  • the numerical control device described in Patent Document 1 calculates a command movement amount per unit time from a movement command to a tool, calculates a vibration movement amount per unit time from a vibration condition, and calculates a command movement amount and a vibration movement amount. Are combined to calculate a combined movement amount, and vibration cutting is controlled based on the combined movement amount.
  • the present invention has been made in view of the above, and an object thereof is to obtain a numerical control device capable of dividing chips while increasing the processing speed of an object to be processed.
  • the present invention provides a main shaft that is a rotation axis of a workpiece and n pieces (n is an integer of 2 or more) for vibration cutting the workpiece.
  • a waveform calculation unit that calculates the vibration waveform of the tool based on the result of the phase calculation unit so that the phase difference between the vibration waveforms of the n drive shafts with respect to the rotation angle of the main shaft becomes a specific phase difference.
  • the numerical control device has the effect of cutting chips while increasing the processing speed of the object to be processed.
  • FIG. 3 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the first embodiment.
  • FIG. 3 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the first embodiment.
  • FIG. 3 is a diagram showing a hardware configuration example of a control calculation unit according to the first embodiment.
  • FIG. 3 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the second embodiment.
  • FIG. 6 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the second embodiment
  • FIG. 6 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the third embodiment.
  • FIG. 6 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the third embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a numerical control device according to the first embodiment.
  • FIG. 2 is a diagram showing the configuration of the machine tool according to the first embodiment.
  • the horizontal direction of the paper surface is the Z-axis direction
  • the vertical direction of the paper surface is the X-axis direction.
  • the X1 axis and the X2 axis are axes parallel to the X axis
  • the Y1 axis and the Y2 axis are axes parallel to the Y axis
  • the Z1 axis and the Z2 axis are axes parallel to the Z axis.
  • the numerical control (NC: Numerical Control) device 1X is a computer that executes control of low-frequency vibration cutting, which is machining while vibrating the tools 66A and 66B, for a machine tool 110 that performs lathe machining.
  • the low frequency vibration may be simply referred to as vibration.
  • the numerical controller 1X relatively moves the first tool and the workpiece 70 to be machined by one or more drive shafts including the first drive shaft, and further includes a second drive shaft.
  • the machining of the machining workpiece 70 is controlled while the second tool and the machining workpiece 70 are relatively moved by one or more drive shafts. That is, the numerical controller 1X has a first drive shaft that moves the first tool or the work piece 70 and a second drive shaft that moves the second tool or the work piece 70.
  • the workpiece 70 is simultaneously vibration-cut by the first tool and the second tool.
  • the numerical controller 1X vibrates each drive shaft or processes the work so that the work 70 is processed by the first tool and the second tool while cutting the chips of the work 70 into small pieces. Control the rotation of 70.
  • the numerical controller 1X includes one spindle 60 that is a rotation axis of the workpiece 70, a first shaft 61A that moves a tool 66A that is a first tool, and a second shaft 66B that moves a tool 66B that is a second tool.
  • the machine tool 110 including the shaft 61B is controlled.
  • the workpiece 70, which is a workpiece, is a workpiece that is machined by the machine tool 110.
  • the center line of the main shaft 60 is shown as the main shaft 60.
  • the numerical controller 1X includes a control operation unit 2X, an input operation unit 3, a display unit 4, and a PLC operation unit 5 such as a machine operation panel for operating a PLC (Programmable Logic Controller) 36.
  • a control operation unit 2X controls the input operation unit 3 and a display unit 4.
  • a PLC operation unit 5 such as a machine operation panel for operating a PLC (Programmable Logic Controller) 36.
  • FIG. 1 shows a drive unit 90 that is a component of the machine tool 110.
  • the drive unit 90 drives the first tool post 65A of the first system, the second tool post 65B of the second system, and the like included in the machine tool 110.
  • the first turret 65A or the second turret 65B may be referred to as a turret.
  • the drive unit 90 is a drive mechanism that drives the two tools 66A and 66B while rotating the workpiece 70.
  • the drive unit 90 moves the tool 66A along the X1 axis direction and the Z1 axis direction which is the axial direction of the first shaft 61A, and moves the tool 66B along the X2 axis direction and the Z2 axis which is the axial direction of the second shaft 61B. Move along the direction.
  • the vibration direction of the tool 66A is the axial direction of the first shaft 61A and the vibration direction of the tool 66B is the axial direction of the second shaft 61B will be described. Since the axial direction depends on the device configuration, the axial direction is not limited to the above direction.
  • the drive unit 90 includes servomotors 901 to 904 that move the tools 66A and 66B in the respective axial directions defined on the numerical controller 1X, and detectors 97 to 100 that detect the positions and speeds of the servomotors 901 to 904. Is equipped with. Further, the drive unit 90 includes servo control units for the respective axis directions that control the servo motors 901 to 904 based on a command from the numerical control device 1X. The servo control unit for each axis performs feedback control to the servo motors 901 to 904 based on the position and speed from the detectors 97 to 100.
  • the X1 axis servo control section 91 of the servo control section controls the operation of the tool 66A in the X1 axis direction by controlling the servo motor 901.
  • the Z1 axis servo control unit 92 controls the operation of the tool 66A in the Z1 axis direction by controlling the servo motor 902.
  • the X2-axis servo control unit 93 controls the operation of the tool 66B in the X2-axis direction by controlling the servo motor 903.
  • the Z2-axis servo control unit 94 controls the operation of the tool 66B in the Z2-axis direction by controlling the servo motor 904.
  • the drive unit 90 further controls the X3 axis servo control unit that controls the operation in the X3 axis direction parallel to the X axis direction, and the Z3 axis direction parallel to the Z axis direction.
  • a Z3 axis servo control unit for controlling the operation of In this case, the X3 axis servo control unit controls one servo motor having a detector, and the Z3 axis servo control unit controls one servo motor having a detector.
  • the drive unit 90 also includes a spindle motor 911 that rotates the spindle 60 for rotating the workpiece 70, and a detector 211 that detects the position and rotation speed of the spindle motor 911.
  • the rotation speed detected by the detector 211 corresponds to the rotation speed of the spindle motor 911.
  • the drive unit 90 also includes a spindle servo control unit 200 that controls the spindle motor 911 based on a command from the numerical controller 1X.
  • the spindle servo control unit 200 performs feedback control to the spindle motor 911 based on the position and speed from the detector 211.
  • the rotation speed of the spindle 60 per unit time is called the spindle rotation speed.
  • the spindle rotation speed is, for example, the rotation speed of the spindle 60 per minute. That is, the spindle rotation speed corresponds to the spindle rotation speed.
  • the drive unit 90 includes two sets of a spindle motor 911, a detector 211, and a spindle servo control unit 200.
  • the input operation unit 3 is a means for inputting information to the control calculation unit 2X.
  • the input operation unit 3 is composed of an input means such as a keyboard, a button, or a mouse, and receives an input of a command or the like by the user to the numerical controller 1X, or a machining program or a parameter, and inputs them to the control calculation unit 2X.
  • the display unit 4 is configured by a display unit such as a liquid crystal display device, and displays the information processed by the control calculation unit 2X on the display screen.
  • the PLC operation unit 5 accepts an operation by the user and sends an instruction corresponding to the operation to the PLC 36.
  • the control calculation unit 2X which is a control unit, includes an input control unit 32, a data setting unit 33, a storage unit 34, a screen processing unit 31, an analysis processing unit 37, a control signal processing unit 35, a PLC 36, and an interpolation unit. It has a processing unit 38X, an acceleration / deceleration processing unit 39, and an axis data output unit 40.
  • the PLC 36 may be arranged outside the control calculation unit 2X.
  • the storage unit 34 has a parameter storage area 341, a machining program storage area 343, a display data storage area 344, and a shared area 345.
  • the parameter storage area 341 parameters and the like used in the processing of the control calculation unit 2X are stored.
  • the parameter storage area 341 stores control parameters, servo parameters, and tool data for operating the numerical controller 1X.
  • the machining program storage area 343 stores a machining program used for machining the machining workpiece 70.
  • the machining program according to the first embodiment includes a vibration command that is a command to vibrate the tools 66A and 66B and a movement command that is a command to move the tools 66A and 66B.
  • the screen display data displayed on the display unit 4 is stored in the display data storage area 344.
  • the screen display data is data for displaying information on the display unit 4.
  • the storage unit 34 is provided with a shared area 345 for storing temporarily used data.
  • the screen processing unit 31 controls the screen display data stored in the display data storage area 344 to be displayed on the display unit 4.
  • the input control unit 32 receives information input from the input operation unit 3.
  • the data setting unit 33 causes the storage unit 34 to store the information received by the input control unit 32. That is, the input information received by the input operation unit 3 is written in the storage unit 34 via the input control unit 32 and the data setting unit 33.
  • the control signal processing unit 35 is connected to the PLC 36, and receives from the PLC 36 signal information such as a relay that operates the machine tool 110.
  • the control signal processing unit 35 writes the received signal information in the shared area 345 of the storage unit 34.
  • the interpolation processing unit 38X refers to these pieces of signal information during processing.
  • the analysis processing unit 37 outputs an auxiliary instruction to the shared area 345
  • the control signal processing unit 35 reads the auxiliary instruction from the shared area 345 and sends it to the PLC 36.
  • the auxiliary command is a command other than a command for operating the drive axis which is the numerical control axis.
  • An example of the auxiliary instruction is an M code or a T code described later.
  • the PLC 36 executes the operation according to this operation.
  • the PLC 36 stores a ladder program in which machine operations are described.
  • the PLC 36 executes the processing corresponding to the auxiliary instruction to the machine tool 110 according to the ladder program.
  • the PLC 36 sends a completion signal indicating that the machine control is completed to the control signal processing unit 35 in order to execute the next block of the machining program.
  • control calculation unit 2X the control signal processing unit 35, the analysis processing unit 37, and the interpolation processing unit 38X are connected via the storage unit 34, and writing and reading of information via the storage unit 34 are performed. To do. In the following description, a case where the storage unit 34 is omitted when describing writing and reading of information among the control signal processing unit 35, the analysis processing unit 37, and the interpolation processing unit 38X is omitted. There is.
  • the user selects a machining program by inputting the machining program number on the input operation unit 3.
  • This machining program number is written in the shared area 345 via the input control unit 32 and the data setting unit 33.
  • the analysis processing unit 37 reads the machining program corresponding to the selected machining program number in the shared area 345 from the machining program storage area 343, and each block (each row) of the machining program. ) Is analyzed.
  • the analysis processing unit 37 analyzes, for example, a G code (command regarding axis movement etc.), a T code (tool replacement command etc.), an S code (spindle motor rotation speed command), and an M code (machine operation command).
  • the analysis processing unit 37 sends the analysis result to the PLC 36 via the shared area 345 and the control signal processing unit 35 when the analyzed line includes the M code or the T code. Further, when the analyzed line includes the M code, the analysis processing unit 37 sends the M code to the PLC 36 via the control signal processing unit 35.
  • the PLC 36 executes the machine control corresponding to the M code. When the execution is completed, the result indicating the completion of the M code is written in the storage unit 34 via the control signal processing unit 35.
  • the interpolation processing unit 38X refers to the execution result written in the storage unit 34.
  • the analysis processing unit 37 sends the analysis result to the interpolation processing unit 38X via the shared area 345. Specifically, the analysis processing unit 37 sends the spindle rotational speed designated by the S code to the interpolation processing unit 38X.
  • the analysis processing unit 37 also generates a movement condition corresponding to the G code and sends it to the interpolation processing unit 38X.
  • the moving condition is a condition of the tool feed for the tools 66A and 66B to move the machining position, and the moving speed of the first tool rest 65A and the second tool rest 65B, the first tool rest 65A and the second tool rest. It is indicated by the position to move the platform 65B. For example, the tool feed of the tool 66A advances the tool 66A in the axial direction of the first shaft 61A, and the tool feed of the tool 66B advances the tool 66B in the axial direction of the second shaft 61B.
  • the analysis processing unit 37 also includes vibration command analysis units 11A and 11B and movement command analysis units 12A and 12B.
  • the vibration command analysis unit 11A is a unit that analyzes the vibration command to the first shaft 61A
  • the vibration command analysis unit 11B is a unit that analyzes the vibration command to the second shaft 61B.
  • the vibration command analysis unit 11A analyzes a vibration command included in a machining program for the first axis 61A (such as a machining program 810A described later) to generate a vibration condition for the first axis 61A, and generates it via the shared area 345.
  • the generated vibration condition is sent to the interpolation processing unit 38X.
  • the vibration command analysis unit 11B analyzes a vibration command included in a machining program for the second axis 61B (such as a machining program 810B described later) to generate a vibration condition for the second axis 61B, and generates it via the shared area 345.
  • the generated vibration condition is sent to the interpolation processing unit 38X.
  • the movement command analysis unit 12A analyzes the movement command included in the machining program for the first axis 61A to generate the movement condition of the first axis 61A, and the movement condition generated via the shared area 345 is used as the interpolation processing unit 38X. Send to.
  • the movement command analysis unit 12B analyzes the movement command included in the machining program for the second axis 61B to generate the movement condition for the second axis 61B, and the movement condition generated via the shared area 345 is used as the interpolation processing unit 38X. Send to.
  • the movement command analysis units 12A and 12B generate movement conditions corresponding to the G code and send them to the interpolation processing unit 38X.
  • Examples of the moving condition are the moving speed of the tool rest, the position to move the tool rest, and the like.
  • the vibration command to the first shaft 61A is a command to vibrate the first shaft 61A in the Z1 axis direction which is the axial direction of the first shaft 61A
  • the vibration command to the second shaft 61B is the X2 command for the second shaft 61B.
  • This is a command to vibrate in the axial direction and the Z2 axis direction which is the axial direction of the second shaft 61B.
  • the vibration condition is a vibration condition when performing vibration cutting.
  • the vibration condition in the first embodiment is the number of vibrations during vibration cutting.
  • the number of vibrations of the first shaft 61A is the number of vibrations of the first shaft 61A during one rotation of the main shaft 60
  • the number of vibrations of the second shaft 61B is the number of vibrations of the second shaft 61B during one rotation of the main shaft 60.
  • the number of vibrations of the first shaft 61A and the number of vibrations of the second shaft 61B respectively correspond to the frequency of vibration based on the time for the main shaft 60 to make one rotation. Therefore, it can be said that the vibration condition in the first embodiment is the frequency of vibration during vibration cutting.
  • the vibration frequency of the first shaft 61A corresponds to the vibration frequency of the tool 66A on the first shaft 61A side.
  • the number of vibrations of the second shaft 61B corresponds to the number of vibrations of the tool 66B on the second shaft 61B side.
  • the number of vibrations of the first shaft 61A is the first number of vibrations
  • the number of vibrations of the second shaft 61B is the second number of vibrations.
  • the interpolation processing unit 38X includes command movement amount calculation units 21A and 21B, vibration movement amount calculation units 22A and 22B, a phase calculation unit 23, a waveform calculation unit 24, and a synthetic waveform generation unit 27.
  • the waveform calculator 24 changes the phase of the waveform of the vibration of at least one of the tools 66A and 66B so that the chips of the work 70 are divided by the tools 66A and 66B. However, as will be described later, it is not necessary to change any phase depending on the mounting position of the tool.
  • the interpolation processing unit 38X reads out the spindle rotation speed, the movement condition, and the vibration condition from the shared area 345.
  • the vibration condition includes the number of vibrations of the first shaft 61A and the number of vibrations of the second shaft 61B.
  • the command movement amount calculation units 21A and 21B receive the movement condition which is the analysis result from the analysis processing unit 37, perform the interpolation process on the movement condition, and generate the combined waveform of the command movement amount per unit time corresponding to the result of the interpolation process. Send to section 27. Specifically, the command movement amount calculation unit 21A calculates and combines the command movement amount for moving the first tool rest 65A in a unit time based on the movement condition of the first shaft 61A analyzed by the analysis processing unit 37. It is sent to the waveform generator 27. Further, the command movement amount calculation unit 21B calculates the command movement amount for moving the second tool rest 65B in a unit time based on the movement condition of the second shaft 61B analyzed by the analysis processing unit 37, and the combined waveform generation unit. Send to 27.
  • the vibration movement amount calculation unit 22A calculates the vibration movement amount of the first shaft 61A based on the number of vibrations of the first shaft 61A.
  • the vibration movement amount of the first shaft 61A is the movement amount per unit time for vibrating the tool 66A.
  • the vibration movement amount calculation unit 22A sends the calculated vibration movement amount of the first shaft 61A to the combined waveform generation unit 27.
  • the vibration movement amount calculation unit 22B calculates the vibration movement amount of the second shaft 61B based on the number of vibrations of the second shaft 61B.
  • the vibration movement amount of the second shaft 61B is the movement amount per unit time for vibrating the tool 66B.
  • the vibration movement amount calculation unit 22B sends the calculated vibration movement amount of the second shaft 61B to the combined waveform generation unit 27.
  • the interpolation processing unit 38X adjusts the vibration condition or the movement condition such that the vibration of both the tools 66A and 66B is synchronized with the spindle rotation speed. For example, the interpolation processing unit 38X corrects the vibration condition or the movement condition so that the tools 66A and 66B have the same movement when the movement of the tool 66A and the movement of the tool 66B are misaligned.
  • the vibration condition or the movement condition is corrected by any of the command movement amount calculation units 21A and 21B and the vibration movement amount calculation units 22A and 22B.
  • the process of synchronizing the vibration of the first shaft 61A and the main shaft rotation speed is performed so that the number of vibrations of the first shaft 61A during one rotation of the main shaft 60 becomes a constant number of vibrations or the main shaft 61A. This is the process of adjusting the rotation speed. Further, the process of synchronizing the vibration of the second shaft 61B and the main shaft rotation speed is performed so that the number of vibrations of the second shaft 61B during one revolution of the main shaft 60 becomes a constant number of vibrations. Alternatively, it is a process for adjusting the spindle rotation speed.
  • the process of synchronizing the vibration of the first shaft 61A with the main shaft rotation speed is the process of synchronizing the vibration frequency (frequency) of the first shaft 61A with the main shaft rotation speed, and with the vibration of the second shaft 61B.
  • the process of synchronizing the main shaft rotation speed is a process of synchronizing the vibration frequency of the second shaft 61B and the main shaft rotation speed.
  • the constant number of vibrations of the first shaft 61A is variable, and the number of times of vibration cutting by the first shaft 61A and the second shaft 61B can be selected.
  • the constant number of vibrations of the second shaft 61B is variable, and the number of times of vibration cutting by the first shaft 61A and the second shaft 61B can be selected.
  • the phase calculation unit 23 determines the phase difference of the vibration waveform caused by the mounting position between the first turret 65A and the second turret 65B based on the set values of the parameters stored in the parameter storage area 341. calculate.
  • the set value of this parameter stores the phase difference between the tools 66A and 66B, which is the phase difference between the tool rests, that is, information indicating the positional relationship between the tools 66A and 66B.
  • the first turret 65A and the second turret 65B are arranged around the workpiece 70, and the phase difference between the turrets is the spindle 60 and the first shaft 61A when viewed from the axial direction of the spindle 60. It corresponds to the angle formed by the line connecting to and the line connecting the main shaft 60 and the second shaft 61B.
  • the phase difference from the reference set in the first turret 65A and the reference set in the second turret 65B is set.
  • the origin of the spindle 60 may be set.
  • the phase calculator 23 may calculate the phase difference caused by the mounting position between the tools 66A and 66B based on the phase difference from the reference described in the low frequency vibration command in the machining program. In this case, the phase calculator 23 determines the tool 66A based on the difference between the phase difference from the reference set in the first tool post 65A and the phase difference from the reference set in the second tool post 65B. , 66B is calculated.
  • the phase calculator 23 sends the calculated phase difference to the waveform calculator 24.
  • the phase difference between the first tool rest 65A and the second tool rest 65B with respect to the rotation angle of the spindle 60, which is calculated by the phase calculator 23, due to the tool attachment position is called a position phase difference.
  • the movement of the tools 66A and 66B is the sum of the movement for vibration cutting and the movement in the direction (cutting direction) for advancing the machining with respect to the machining workpiece 70.
  • the cutting direction is the Z-axis direction in FIG. Therefore, the waveform calculation unit 24 adds the vibration movement amount for vibration cutting and the movement amount in the cutting direction for advancing the machining of the workpiece 70.
  • the waveform calculator 24 determines the vibration of the first turret 65A based on the command movement amount of the first turret 65A, the vibration movement amount of the first turret 65A, and the positional phase difference between the turrets. Calculate the waveform. At this time, the waveform calculation unit 24 generates a waveform that combines the command movement amount of the first turret 65A and the vibration movement amount of the first turret 65A, and the waveform corresponds to the position phase difference between the turrets. The vibration waveform of the first tool post 65A is calculated by adding the phase.
  • the waveform calculation unit 24 calculates the vibration waveform of the second turret 65B based on the command movement amount of the second turret 65B, the vibration movement amount of the second turret 65B, and the positional phase difference between the turrets. To do. At this time, the waveform calculation unit 24 generates a waveform that combines the command movement amount of the second turret 65B and the vibration movement amount of the second turret 65B, and this waveform corresponds to the position phase difference between the turrets. The vibration waveform of the second tool rest 65B is calculated by adding the phase.
  • the vibration waveform of the first turret 65A and the vibration waveform of the second turret 65B are shown by, for example, a waveform on a graph in which the horizontal axis represents the rotation angle of the main shaft 60 and the vertical axis represents the position in the cutting direction.
  • the vibration waveform calculated by the waveform calculation unit 24 an arbitrary one such as a sine wave can be used, but the case where the vibration waveform is a triangular wave will be described below.
  • the waveform calculator 24 sends the vibration waveform of the first tool rest 65A and the vibration waveform of the second tool rest 65B to the composite waveform generator 27.
  • the composite waveform generation unit 27 generates a composite vibration waveform by combining the vibration waveform of the first turret 65A and the vibration waveform of the second turret 65B.
  • the composite waveform generation unit 27 sends the composite vibration waveform to the acceleration / deceleration processing unit 39.
  • the interpolation processing unit 38X also sends the spindle rotation speed to the acceleration / deceleration processing unit 39.
  • the acceleration / deceleration processing unit 39 performs acceleration / deceleration processing for smoothly changing the acceleration on the result of the interpolation processing supplied from the interpolation processing unit 38X.
  • the acceleration / deceleration processing unit 39 performs acceleration / deceleration processing when starting and stopping the movement. Specifically, the acceleration / deceleration processing unit 39 generates a movement command to the first axis 61A and a movement command to the second axis 61B based on the combined vibration movement amount.
  • the position command processed by the acceleration / deceleration processing unit 39 is a speed command per unit time.
  • the acceleration / deceleration processing unit 39 generates an acceleration / deceleration command for the X1, X2, Z1 and Z2 axes.
  • the acceleration / deceleration processing unit 39 sends a speed command, which is the processing result of the acceleration / deceleration processing, to the axis data output unit 40.
  • the acceleration / deceleration processing unit 39 does not perform acceleration / deceleration processing on the spindle rotational speed.
  • the acceleration / deceleration processing unit 39 sends a rotation speed command corresponding to the rotation speed of the spindle to the axis data output unit 40.
  • the rotation speed command generated by the acceleration / deceleration processing unit 39 is a step command.
  • Axis data output unit 40 outputs a speed command to drive unit 90. Specifically, the axis data output unit 40 outputs a speed command for the X1 axis to the X1 axis servo control unit 91, and outputs a speed command for the Z1 axis to the Z1 axis servo control unit 92. The axis data output unit 40 also outputs a speed command for the X2 axis to the X2 axis servo control unit 93 and a speed command for the Z2 axis to the Z2 axis servo control unit 94. Further, the axis data output unit 40 outputs a rotation speed command to the spindle 60 to the spindle servo control unit 200.
  • the X1 axis servo control unit 91, the Z1 axis servo control unit 92, the X2 axis servo control unit 93, the Z2 axis servo control unit 94, and the spindle servo control unit 200 operate the tool 66A in the X1 axis direction and the Z1 axis direction. And the operation of the tool 66B in the X2-axis direction and the Z2-axis direction, and the rotating operation of the spindle 60.
  • the PLC 36 When machining by the machine tool 110 is started, the PLC 36 outputs a cycle start signal to the control signal processing unit 35, and the control signal processing unit 35 outputs the cycle start signal to the interpolation processing unit 38X. As a result, the interpolation processing unit 38X activates the analysis processing unit 37.
  • the analysis processing unit 37 reads the machining program for each block and analyzes the machining program, and stores the vibration conditions, the movement conditions, and the spindle rotation speed, which are the analysis results, in the shared area 345. Then, the interpolation processing unit 38X calculates the composite vibration waveform based on the analysis result of the analysis processing unit 37 and sends it to the acceleration / deceleration processing unit 39.
  • the acceleration / deceleration processing unit 39 generates a movement command to each axis based on the combined vibration waveform from the interpolation processing unit 38X.
  • This speed command is output from the axis data output unit 40 to the drive unit 90, and the drive unit 90 controls the operation of each axis according to the movement command.
  • the machine tool 110 is a lathe with one spindle and two turrets, in which a first turret 65A has a first shaft 61A and a second turret 65B has a second shaft 61B.
  • a lathe with one spindle and two turrets is a lathe equipped with one spindle and two turrets.
  • the first turret 65A and the second turret 65B are also called turrets.
  • An example of the machine tool 110 is a turret lathe.
  • the machine tool 110 has a headstock equipped with a first spindle 75.
  • the first spindle 75 rotates with the work 70 attached, and thereby rotates the work 70.
  • the rotation axis of the workpiece 70 by the first spindle 75 is the spindle 60 provided on the headstock.
  • the machine tool 110 includes a first turret 65A that is a first turret and a second turret 65B that is a second turret, and a first shaft 61A is provided on the first turret 65A.
  • a second shaft 61B is provided on the second tool rest 65B.
  • the first turret 65A is movable in the X1 axis direction and the Z1 axis direction
  • the second turret 65B is movable in the X2 axis direction and the Z2 axis direction.
  • the Z1 axis is the first axis 61A
  • the Z2 axis is the second axis 61B.
  • the first turret 65A is a turret on the first shaft 61A side
  • the second turret 65B is a turret on the second shaft 61B side.
  • the first turret 65A and the second turret 65B are swivel turrets.
  • a plurality of tools 66A can be attached to the first tool rest 65A, and the tools 66A to be used are switched by rotating the tools 66A.
  • a plurality of tools 66B can be attached to the second turret 65B, and the tools 66B to be used are switched by turning the tools 66B.
  • the first tool post 65A vibrates in the Z1 axis direction to perform the vibration cutting of the work 70 with the tool 66A.
  • the second tool rest 65B vibrates in the Z2 axis direction to perform the vibration cutting of the work 70 with the tool 66B.
  • the vibration of the first tool rest 65A may be described as the vibration of the tool 66A.
  • the vibration of the second tool rest 65B may be described as the vibration of the tool 66B.
  • the vibration conditions of the machine tool 110 according to the first embodiment are set to the following (L1-1) to (L1-2). It should be noted that this vibration condition is an ideal condition for achieving good finishing accuracy of the object to be machined and for further finely cutting chips.
  • (L1-1) The number of vibrations of the tools 66A and 66B during one revolution of the main shaft 60 is the same on the first shaft 61A side and the second shaft 61B side. It should be noted that both the first shaft 61A side and the second shaft 61B side operate at the number of vibrations synchronized with the main shaft rotation speed during vibration cutting.
  • the amplitude of vibration is the same on the first shaft 61A side and the second shaft 61B side.
  • FIG. 3 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the first embodiment.
  • the horizontal direction of the paper surface is the Y-axis direction
  • the vertical direction of the paper surface is the X-axis direction. That is, FIG. 3 shows the relationship of the arrangement positions of the first turret 65A and the second turret 65B when viewed from the axial direction of the main shaft 60.
  • the first turret 65A and the second turret 65B are arranged on a concentric circle centered on the spindle 60. Specifically, the first turret 65A and the second turret 65B are arranged concentrically along the surface of the workpiece 70 to be machined. That is, the tools 66A and 66B have the same axial position of the main shaft 60. Further, when the first turret 65A and the second turret 65B are viewed from the axial direction of the spindle 60, the line connecting the spindle 60 and the first turret 65A and the spindle 60 and the second turret 65B are connected. The angle formed by the line is 180 degrees. That is, the first turret 65A and the second turret 65B are out of phase with each other by 1 ⁇ 2 rotation.
  • FIG. 4 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the first embodiment.
  • the vibration of the first tool rest 65A and the vibration of the second tool rest 65B have the same vibration frequency and the same amplitude will be described.
  • the phase difference between the vibration waveforms of the tool 66A and the tool 66B during machining with respect to the rotation angle of the spindle 60 be a specific phase difference. That is, regarding the two tools at a certain machining moment, the vibration waveform of the rotation angle of the spindle 60 is considered in consideration of both the vibration phase difference of the vibration itself that does not take the tool position into consideration and the position phase difference caused by the tool position.
  • the phase difference being a specific phase difference leads to efficient division of chips in vibration cutting.
  • the phase difference of the vibration waveform of each tool with respect to the actual rotation angle of the spindle 60 is the sum of the vibration phase difference due to the vibration command and the virtual position phase difference due to the tool positional relationship.
  • the efficient division of the chips described here means to shorten the chips on average.
  • the specific phase difference is 180 degrees. That is, in order to realize the specific phase difference only by the position phase difference, the cutting position by the first tool rest 65A and the cutting position by the second tool rest 65B are one half of one revolution of the spindle 60. It is desirable that they are offset by the amount of rotation.
  • the waveform calculator 24 calculates the vibration waveform of the first tool rest 65A.
  • the vibration command does not adjust the phase of the vibration waveform.
  • the waveform calculation unit 24 does not adjust the phase of the vibration waveform when calculating the vibration waveform of the second tool rest 65B.
  • the vibration waveform graphs 101A to 101C show vibration waveforms when the number of vibrations of the tools 66A and 66B is one while the main shaft 60 makes one rotation.
  • the horizontal axis represents the rotation angle of the spindle 60, that is, the position of the tool within one rotation of the spindle 60
  • the vertical axis represents the position in the cutting direction.
  • the graph 101A shows the vibration waveform of the tool 66A of the first turret 65A
  • the graph 101B shows the vibration waveform of the tool 66B of the second turret 65B.
  • a graph 101C shows a combined vibration waveform in which the vibration waveform of the graph 101A and the vibration waveform of the graph 101B are combined.
  • the tool 66A when the tool 66A starts cutting from the position where the rotation angle of the main shaft 60 is 0 degree, the tool 66A repeats the progress in the cutting direction and the progress in the direction opposite to the cutting direction due to vibration. In this case, the tool 66A advances the vibration cutting on the work 70 while moving in the cutting direction. Therefore, the tool 66A has advanced in the cutting direction by the specific distance when the vibration during the one rotation of the main shaft 60 ends.
  • the specific distance here corresponds to the command movement amount to the first tool rest 65A.
  • the tool 66B when the tool 66B starts cutting from the position where the rotation angle of the main shaft 60 is 180 degrees, the tool 66B repeats the progress in the cutting direction and the progress in the direction opposite to the cutting direction due to vibration.
  • the tool 66B performs the same vibration cutting as the tool 66A.
  • the vibration waveform of the tool 66A and the vibration waveform of the tool 66B overlap in the rotation angle region including 0 degrees and the rotation angle region including 180 degrees.
  • the regions 71A and 71B where the vibration waveforms overlap are the idle regions where the tool 66A or the tool 66B does not come into contact with the workpiece 70.
  • the position already machined by the rotation of the tool 66A is machined again by the tool 66B.
  • the position already machined by the rotation of the tool 66A is the region where the machined work 70 has already been machined, and the fact that this position is machined again by the tool 66B indicates that the chips are divided.
  • the position already machined by the rotation of the tool 66B is machined again by the tool 66A.
  • the position already machined by the rotation of the tool 66B is a region in which the machined work 70 has already been machined, and the fact that this position is machined again by the tool 66A indicates that the chips are divided. Therefore, the areas 71A and 71B are areas where the chips are divided.
  • the tool 66B does not contact the machining work 70, and thus the chips of the machining work 70 Will be divided. Further, in the region 71B that includes 0 degree in the rotation angle region where the vibration waveform of the tool 66A and the vibration waveform of the tool 66B overlap, the tool 66A does not contact the machining work 70, so the chips of the machining work 70 are divided. Will be done. As a result, the chips of the work 70 can be discharged finely.
  • the chips of the workpiece 70 can be divided by setting the number of vibrations of the tool 66A per revolution of the spindle 60 to an appropriate number. can do.
  • the vibration waveform of the Nth point (N is a natural number) by the tool 66A and the vibration waveform of the (N + 1) th point must overlap.
  • the numerical control device 1X performs vibration cutting with the two tools 66A and 66B, and the positional phase between the vibration waveform of the tool 66A and the vibration waveform of the tool 66B is shifted by 180 degrees. Even if it is desired to increase the spindle rotation speed while realizing the above, the vibration frequency of the tool 66A can be suppressed to be low. That is, since the numerical control device 1X of the first embodiment can superimpose the vibration waveform of the tool 66A and the vibration waveform of the tool 66B, it is necessary to increase the spindle rotational speed more than when performing vibration cutting with one tool 66A. You can In this way, the numerical control device 1X can increase the spindle rotation speed while maintaining the vibration frequency.
  • FIG. 5 is a diagram showing the relationship between the vibration frequency and the spindle rotation speed applicable to the machine tool according to the first embodiment.
  • FIG. 5 shows the correspondence relationship between the vibration frequency applicable to the machine tool 110 according to the first embodiment and the spindle rotation speed per unit time.
  • the spindle rotation speed described in parentheses at the spindle rotation speed is a spindle rotation speed applicable when the vibration waveform is executed by only one tool 66A.
  • the numerical controller 1X executes the vibration cutting using the tools 66A and 66B, thereby applying the spindle rotational speed 1.5 times that in the case where the vibration cutting using one tool 66A is executed.
  • FIG. 6 is a diagram showing an example of a machining program used by the numerical control device according to the first embodiment.
  • the machining program 81P is used when the numerical controller 1X controls the machine tool 110. Therefore, the machining program 81P includes a machining program 810A for the first turret 65A and a machining program 810B for the second turret 65B.
  • the spindle rotation speed command M3 S1 in the machining program 81P is a spindle rotation speed command to the spindle 60.
  • M3 S1 2000 is a command to rotate the spindle 60 2000 times per minute.
  • G0 is a positioning command
  • G165 is a low frequency vibration command
  • G1 is a movement command.
  • A” defined by G165 is the amplitude of vibration
  • D is the number of vibrations during one rotation of the main shaft 60
  • C is the phase difference from the reference.
  • G0 in the machining program 810A positions the tool 66A
  • G0 in the machining program 810B positions the tool 66B.
  • the tool 66A When G165 is used in the machining program 810A for the first axis 61A, the tool 66A is vibrated in the Z1 axis direction with the amplitude, the number of vibrations and the phase difference specified by G165.
  • the amplitude is 0.2 mm
  • the number of vibrations during one rotation of the main shaft 60 is 1.0
  • the phase difference is 0 is shown.
  • the tool 66B is vibrated with the amplitude and the number of vibrations designated by G165.
  • the amplitude is 0.2 mm
  • the number of vibrations during one rotation of the main shaft 60 is 1.0
  • the phase difference is 180 degrees.
  • the phase difference from the reference of the machining program 810D for the second axis 61B is in the vicinity of 180 degrees, the same effect as in the case of 180 degrees can be obtained. That is, there may be a phase shift of about 10 degrees. More ideally, the deviation from 180 degrees is about 5 degrees. If it deviates greatly from 180 degrees, there arise problems such as variations in the length of the chips and the inability to divide the chips.
  • the vibration of the first shaft 61A and the vibration of the second shaft 61B are assumed to be in synchronization with the spindle rotation speed.
  • the numerical controller 1X calculates the vibration waveform of the first turret 65A based on the machining program 810A, and calculates the vibration waveform of the second turret 65B based on the machining program 810B.
  • the machine tool 110 performs vibration cutting using the two tools 66A the number of vibrations during one rotation of the main shaft 60 is 1.0. Therefore, as described above, when performing the vibration cutting using the two tools 66A and 66B, it is possible to apply the spindle rotational speed that is 1.5 times as high as that when performing the vibration cutting using the one tool 66A. it can.
  • FIG. 7 is a flowchart of a processing procedure of the numerical control device according to the first embodiment.
  • FIG. 7 shows a control processing procedure for the machine tool 110 by the numerical controller 1X.
  • the numerical control device 1X executes machining control by one turret.
  • the waveform calculation unit 24 calculates the vibration waveform without considering the positional phase difference caused by the mounting position of the tool rest.
  • the analysis processing unit 37 analyzes the machining program to determine whether the machining program is a vibration cutting command (step S20). When the machining program is not the vibration cutting command (step S20, No), the numerical controller 1X executes machining control without vibration of the tools 66A and 66B. When the machining program is a vibration cutting command (step S20, Yes), the analysis processing unit 37 stores the spindle rotation speed, the movement condition, and the vibration frequency in the shared area 345.
  • the interpolation processing unit 38X determines whether or not one machining workpiece 70 is machined by a plurality of tool rests based on the spindle rotational speed, the moving condition, and the number of vibrations (step S30). When the machining is performed by one tool post on one machining workpiece 70 (No in step S30), the numerical control device 1X executes the machining control by one tool post. In this case, the interpolation processing unit 38X calculates the vibration waveform without considering the positional phase difference between the tool rests.
  • the interpolation processing unit 38X acquires the movement condition and the number of vibrations for each turret (step S40).
  • the interpolation processing unit 38X also acquires the spindle rotation speed. Specifically, the interpolation processing unit 38X reads from the shared area 345 the spindle rotation speed, the movement condition, and the vibration frequency that have been analyzed based on the machining program.
  • the movement condition here includes the movement condition of the first shaft 61A and the movement condition of the second shaft 61B.
  • the vibration movement amount calculation unit 22A calculates the vibration movement amount of the first shaft 61A based on the number of vibrations of the first shaft 61A, and the vibration movement amount calculation unit 22B calculates the vibration movement amount of the second shaft 61B. The amount of vibration movement of the second shaft 61B is calculated.
  • command movement amount calculation unit 21A calculates the command movement amount of the first axis 61A based on the movement condition from the analysis processing unit 37, and the command movement amount calculation unit 21B calculates the movement condition from the analysis processing unit 37.
  • the command movement amount of the second axis 61B is calculated based on
  • the waveform calculation unit 24 calculates the vibration waveform of the first tool rest 65A based on the vibration movement amount and the command movement amount of the first shaft 61A, and based on the vibration movement amount and the command movement amount of the second shaft 61B, The vibration waveform of the second tool rest 65B is calculated (step S50).
  • the phase calculator 23 acquires the mounting angle between the first tool rest 65A and the second tool rest 65B with respect to the rotation angle of the spindle 60, that is, the position phase difference (step S60). At this time, the phase calculation unit 23 may calculate the positional phase difference between the tool rests based on the set values of the parameters stored in the parameter storage area 341, or may use any of the instructions in the machining program. The positional phase difference between the tool rests may be calculated based on the phase difference from the described reference.
  • the waveform calculation unit 24 calculates the vibration waveform of the first tool rest 65A considering the position phase difference and the second tool rest 65B considering the position phase difference based on the position phase difference between the tool rests acquired in step S60. And the vibration waveform. Furthermore, the synthetic waveform generation unit 27 synthesizes a vibration waveform of the first tool rest 65A calculated by the waveform calculation unit 24 and a vibration waveform of the second tool rest 65B calculated by the waveform calculation unit 24 to generate a synthetic vibration waveform. To generate. In this way, the synthetic waveform generation unit 27 synthesizes the vibration waveforms of the first turret 65A and the second turret 65B calculated based on the positional phase difference between the turrets (step S70). After that, the control calculator 2X controls the first shaft 61A and the second shaft 61B using the combined vibration waveform.
  • FIG. 8 is a diagram illustrating a hardware configuration example of the control calculation unit according to the first embodiment.
  • the control calculation unit 2X can be realized by the control circuit 300 shown in FIG. 8, that is, the processor 301 and the memory 302.
  • the processor 301 are a CPU (Central Processing Unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, and a DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration).
  • the memory 302 is RAM (Random Access Memory) or ROM (Read Only Memory).
  • the control operation unit 2X is realized by the processor 301 reading out and executing a program stored in the memory 302 for executing the operation of the control operation unit 2X. It can also be said that this program causes a computer to execute the procedure or method of the control calculation unit 2X.
  • the memory 302 is also used as a temporary memory when the processor 301 executes various processes.
  • the program executed by the processor 301 may be a computer program product having a computer-readable, non-transitory recording medium including a plurality of instructions for performing data processing, which is computer-executable. .
  • the program executed by the processor 301 causes a computer to execute data processing by a plurality of instructions.
  • control calculation unit 2X may be realized by dedicated hardware. Further, the functions of the control calculation unit 2X may be partially implemented by dedicated hardware and partially implemented by software or firmware.
  • the chips of the machining work 70 cut by the tool 66A are divided by the tool 66B, and the chips of the machining work 70 cut by the tool 66B are divided by the tool 66A.
  • the workpieces 70 are formed on the tools 66A and 66B by using the vibration waveform of the first turret 65A and the vibration waveform of the second turret 65B in which the phase difference between the vibration waveforms is 180 degrees. Since the vibration cutting is performed on the workpiece 70, the vibration cutting on the workpiece 70 can be performed with a small vibration frequency even when the spindle rotational speed is increased. This makes it possible to divide the chips while increasing the processing speed of the work 70.
  • Embodiment 2 Next, a second embodiment of the present invention will be described with reference to FIGS. 9 to 11.
  • the first shaft 61A and the second shaft 61B are controlled using the synthetic vibration waveform.
  • FIG. 9 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the second embodiment.
  • FIG. 9 shows the relationship of the arrangement positions of the tool rests when viewed from the axial direction of the spindle 60.
  • an axis obtained by rotating the X1 axis by 90 degrees counterclockwise about the main axis 60 is an X3 axis
  • an axis obtained by rotating the Y1 axis by 90 degrees counterclockwise about the main axis 60 is Y3.
  • the Z3 axis is an axis that is obtained by rotating the Z1 axis 90 degrees counterclockwise about the main axis 60.
  • the machine tool 110 includes a second tool post 65C instead of the second tool post 65B.
  • the second turret 65C is a swivel turret.
  • the second tool rest 65C can be attached with a plurality of tools 66C, and the tools 66C to be used are switched by rotating the tools 66C.
  • the drive unit 90 moves the tool 66A along the axial direction of the first shaft 61A, and moves the tool 66C along the axial direction of the second shaft 61C.
  • the second shaft 61C is an axis parallel to the main shaft 60.
  • the vibration of the first tool rest 65A may be described as the vibration of the tool 66A
  • the vibration of the second tool rest 65C may be described as the vibration of the tool 66C.
  • the first turret 65A and the second turret 65C are arranged on a concentric circle centered on the spindle 60. Specifically, the first turret 65A and the second turret 65C are arranged concentrically along the surface of the workpiece 70 to be machined. That is, the tools 66A and 66C have the same axial position of the spindle 60. Further, when the first turret 65A and the second turret 65C are viewed from the axial direction of the spindle 60, a line connecting the spindle 60 and the first turret 65A and a line connecting the spindle 60 and the second turret 65C. The angle formed by and is 90 degrees. That is, the first turret 65A and the second turret 65C are out of phase with each other by a quarter rotation (90 degrees).
  • FIG. 10 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the second embodiment.
  • the vibration of the first tool rest 65A and the vibration of the second tool rest 65C have the same vibration frequency and the same amplitude will be described.
  • the cutting position by the first turret 65A and the cutting position by the second turret 65C are one half of one revolution of the main spindle 60. It is desirable that they are deviated from each other, that is, the phase difference between the n tools with respect to the rotation angle of the spindle 60 is (360 / n) degrees.
  • n is an integer of 2 or more.
  • this phase difference that is, the specific phase difference is 180 degrees.
  • the specific phase difference is (360 / n) degrees, but includes a case where the chips are deviated by about 10 degrees within a range where chips can be divided. At this time, if the deviation is about 5 degrees, the chips can be divided more efficiently.
  • the waveform calculation unit 24 When calculating the vibration waveform of the first tool rest 65A, the vibration phase is adjusted with respect to the vibration waveform. Specifically, the waveform calculation unit 24 further adds a vibration phase difference of 90 degrees to the vibration waveform of the first tool rest 65A so that the vibration waveform between the tool 66A and the tool 66C with respect to the rotation angle of the spindle 60 is increased.
  • the total phase difference should be 180 degrees.
  • the vibration waveform graphs 102A to 102C show vibration waveforms when the number of vibrations of the tools 66A and 66C is one during one rotation of the spindle 60.
  • the horizontal axis indicates the rotation angle of the main shaft 60, that is, the position of the tool within one rotation of the main shaft 60
  • the vertical axis indicates the position in the cutting direction.
  • the graph 102A shows the vibration waveform of the tool 66A of the first turret 65A
  • the graph 102B shows the vibration waveform of the tool 66C of the second turret 65C.
  • the graph 102C shows a combined vibration waveform in which the vibration waveform of the graph 102A and the vibration waveform of the graph 102B are combined.
  • the tool 66A does not start cutting from the origin, but starts cutting at a position where the phase of the vibration waveform advances by 90 degrees, and due to vibration, the progress in the cutting direction and the cutting direction are opposite. Repeat in the direction.
  • the tool 66C since the tool 66C has a position phase of 90 degrees, the tool 66C starts cutting at a position delayed by 90 degrees, and due to vibration, progress in the cutting direction and a direction opposite to the cutting direction occur. Repeat the process to.
  • the tool 66C performs vibration cutting having the same vibration cycle and vibration amplitude as the tool 66A.
  • the numerical controller 1X may delay the phase of the vibration waveform by 90 degrees with respect to the tool 66C, instead of advancing the phase of the vibration waveform by 90 degrees with respect to the tool 66A. Further, the numerical controller 1X may advance the phase to the tool 66A by X degrees and send the phase to the tool 66C by (90-X) degrees. That is, if the numerical controller 1X adjusts the phase of at least one of the tool 66A and the tool 66C, the substantial phase difference between the vibration waveforms of the tool 66A and the tool 66C with respect to the rotation angle of the spindle 60 is 180 degrees. Good.
  • the vibration waveform of the tool 66A and the vibration waveform of the tool 66C overlap in the rotation angle region including 90 degrees and the rotation angle region including 270 degrees.
  • the tool 66C does not come into contact with the work 70, so the chips of the work 70 are divided. It will be.
  • the region 72B that includes 270 degrees in the rotation angle region where the vibration waveform of the tool 66A and the vibration waveform of the tool 66C overlap the tool 66A does not contact the machining work 70, so the chips of the machining work 70 are divided. Will be done. As a result, the chips of the work 70 can be discharged finely.
  • FIG. 11 is a diagram showing an example of a machining program used by the numerical control device according to the second embodiment.
  • the machining program 81Q is used when the numerical control device 1X controls the machine tool 110 including the first tool rest 65A and the second tool rest 65C. Therefore, the machining program 81Q includes a machining program 811A for the first turret 65A and a machining program 811C for the second turret 65C.
  • the difference between the machining program 81Q of the second embodiment and the machining program 81P of the first embodiment is the point "C" in G165. That is, while the phase difference from the reference of the machining program 810B for the second axis 61B in the first embodiment was 180 degrees, the phase difference from the reference of the machining program 811C for the second axis 61C in the second embodiment was calculated.
  • the phase difference is 90 degrees. This is due to the difference between the arrangement position of the second shaft 61B and the arrangement position of the second shaft 61C. That is, when viewed from the axial direction of the main shaft 60, the angle formed by the line connecting the main shaft 60 and the first shaft 61A and the line connecting the main shaft 60 and the second shaft 61B is 180 degrees. This is because the angle formed by the line connecting the first shaft 61A and the line connecting the main shaft 60 and the second shaft 61C is 90 degrees.
  • the numerical controller 1X calculates the vibration waveforms of the first turret 65A and the second turret 65C based on the 90-degree phase difference. Specifically, the numerical control device 1X has a vibration phase difference of 90 degrees with respect to the vibration waveform of the first tool rest 65A so that the vibration waveform of the tool 66A and the tool 66C becomes 180 degrees with respect to the rotation angle of the spindle 60. Is provided.
  • the phase difference between the vibration waveforms of the tools provided on the two tool rests with respect to the rotation of the main shaft 60 is 180 degrees.
  • rotation of the spindle 60 is made by making the cycle and phase of the vibration command of the tools mounted on each turret the same.
  • the actual phase with respect to will be 180 degrees out of phase.
  • the mounting positions of the two turrets cannot be set to 180 degrees due to restrictions such as the shape and size of the machine tool.
  • the phase of the vibration waveform with respect to the rotation of the spindle 60 can be set to 180 degrees, and the same effect as that of the first embodiment is obtained. Is obtained.
  • the vibration waveform of the first tool post 65A and the second tool post are set so that the phase difference with respect to the rotation of the spindle 60 becomes 180 degrees. At least one of the vibration waveforms of 65C is adjusted. As a result, even when the positions of the first tool rest 65A and the second tool rest 65C are not opposed to each other with the machining work 70 sandwiched therebetween, the spindle rotation speed is increased and the machining work 70 is moved at a small vibration frequency. The vibration cutting of can be performed. Therefore, it becomes possible to divide the chips while increasing the processing speed of the processing workpiece 70.
  • the positional phase difference of the mounting position of the tool post was described as 90 degrees, but it goes without saying that it is not limited to 90 degrees. If the phase difference between the vibration waveforms of the tools provided on the two tool rests with respect to the rotation of the spindle 60 is 180 degrees due to the position phase difference of the attachment position and the vibration phase difference of the vibration command, the same as in the second embodiment. The effect is obtained.
  • Embodiment 3 Next, a third embodiment of the invention will be described with reference to FIGS. 12 to 15.
  • the work 70 is vibrated and cut by using three tool rests.
  • FIG. 12 is a diagram for explaining an arrangement position of a tool rest included in the machine tool according to the third embodiment.
  • FIG. 12 shows the relationship of the arrangement positions of the tool rests when viewed from the axial direction of the spindle 60.
  • an axis obtained by rotating the X1 axis by 120 degrees counterclockwise about the main axis 60 is an X4 axis
  • an axis obtained by rotating the Y1 axis by 120 degrees counterclockwise about the main axis 60 is Y4.
  • the Z4 axis is an axis that is obtained by rotating the Z1 axis 120 degrees counterclockwise about the main axis 60. Further, in FIG.
  • an axis obtained by rotating the X1 axis 120 degrees clockwise around the main axis 60 is an X5 axis
  • an axis obtained by rotating the Y1 axis 120 degrees clockwise around the main axis 60 is a Y5 axis
  • the Z5 axis is the axis that is obtained by rotating the Z1 axis 120 degrees clockwise around the main axis 60.
  • the machine tool 110 includes a first tool post 65A, a second tool post 65D, and a third tool post 65E.
  • the first turret 65A, the second turret 65D, and the third turret 65E may be collectively referred to as three turrets.
  • All three turrets are swivel turrets.
  • a plurality of tools 66D can be attached to the second tool rest 65D, and the tools 66D to be used are switched by rotating the tools 66D.
  • the third tool post 65E can be attached with a plurality of tools 66E, and the tools 66E to be used are switched by rotating the tools 66E.
  • the drive unit 90 moves the tool 66A along the axial direction of the first shaft 61A, moves the tool 66D along the axial direction of the second shaft 61D, and moves the tool 66E along the axial direction of the third shaft 61E.
  • the second shaft 61D and the third shaft 61E are both parallel to the main shaft 60.
  • the vibration of the first turret 65A will be described as the vibration of the tool 66A
  • the vibration of the second turret 65D will be described as the vibration of the tool 66D
  • the vibration of the third turret 65E will be described.
  • the vibration may be described as the vibration of the tool 66E.
  • the three turrets are arranged on a concentric circle centered on the spindle 60.
  • the first turret 65A, the second turret 65D, and the third turret 65E are arranged concentrically along the surface to be machined of the workpiece 70. That is, the tools 66A, 66D, and 66E have the same axial position of the spindle 60.
  • the angle formed by the line connecting the spindle 60 and the first turret 65A and the line connecting the spindle 60 and the second turret 65D is 120 degrees. Is.
  • the angle formed by the line connecting the spindle 60 and the second turret 65D and the line connecting the spindle 60 and the third turret 65E is 120 degrees. Is. That is, the first turret 65A and the second turret 65D are out of phase by one third rotation, and the second turret 65D and the third turret 65E are one-third rotations ( 120 degrees) out of phase. In the third embodiment, since there are three tools, the specific phase difference (360 / n) between the tools is 120 degrees.
  • the composite waveform generation unit 27 generates a composite vibration waveform that combines the vibration waveform of the first turret 65A and the vibration waveform of the second turret 65D. In addition, the composite waveform generation unit 27 generates a composite vibration waveform that combines the vibration waveform of the second turret 65D and the vibration waveform of the third turret 65E.
  • FIG. 13 is a diagram for explaining a synthetic vibration waveform used by the numerical control device according to the third embodiment.
  • the vibrations of the three turrets have the same vibration frequency and the same amplitude will be described.
  • the phase difference between the three turrets be a specific phase difference in order to efficiently divide the chips.
  • the tools for vibration cutting are three tools such as tools 66A, 66D, and 66E
  • the specific phase difference is 120 degrees. That is, when the first tool is arranged at an angle of 0 degree with respect to the reference point, the remaining two tools are arranged at positions of 120 degrees and 240 degrees with respect to the reference point. That is, it is desirable that the cutting positions of the three turrets are offset from each other by one third rotation.
  • the cutting position by the first turret 65A and the cutting position by the second turret 65D are deviated by one third rotation, and the cutting position by the second turret 65D and the third turret 65E are different.
  • the cutting position is offset by one third rotation.
  • the phase difference between the first turret 65A and the second turret 65D is 120 degrees
  • the phase difference between the second turret 65D and the third turret 65E is 120 degrees.
  • the waveform calculation unit 24 adjusts the phase of the vibration waveforms when calculating the vibration waveforms of the three turrets.
  • the waveform calculator 24 adjusts the phase of at least one vibration waveform of the three turrets so that the phase difference between the three turrets is 120 degrees.
  • the vibration waveform graphs 103A to 103E show vibration waveforms when the number of vibrations of the tools 66A, 66D, and 66E during one revolution of the main shaft 60 is 0.75.
  • the horizontal axis indicates the rotation angle of the main shaft 60, that is, the position of the tool within one rotation of the main shaft 60
  • the vertical axis indicates the position in the cutting direction.
  • the graph 103A shows the vibration waveform of the tool 66A of the first turret 65A
  • the graph 103B shows the vibration waveform of the tool 66D of the second turret 65D
  • the graph 103C shows the vibration waveform of the third turret 65E.
  • the vibration waveform of the tool 66E is shown.
  • Graph 103D shows a composite vibration waveform in which the vibration waveform of graph 103A and the vibration waveform of graph 103B are combined.
  • a graph 103E shows a combined vibration waveform in which the vibration waveform of the graph 103B and the vibration waveform of the graph 103C are combined.
  • the tool 66A starts cutting from the position where the rotation angle of the main shaft 60 is 0 degree, and repeats the progress in the cutting direction and the progress in the direction opposite to the cutting direction due to vibration.
  • the tool 66D starts cutting from the position where the rotation angle of the main shaft 60 is 120 degrees
  • the tool 66D causes the movement in the cutting direction and the movement in the direction opposite to the cutting direction due to vibration. repeat.
  • the tool 66E starts cutting from the position where the rotation angle of the main shaft 60 is 240 degrees
  • the tool 66E causes the movement in the cutting direction and the movement in the direction opposite to the cutting direction due to vibration. repeat.
  • the tools 66C and 66D perform the same vibration cutting as the tool 66A.
  • the vibration waveform of the tool 66A and the vibration waveform of the tool 66D overlap in the rotation angle region including 0 degree and the rotation angle region including 240 degrees.
  • the tool 66D does not contact the machining work 70, and thus the chips of the machining work 70 are divided. It will be.
  • the tool 66A or the tool 66D does not come into contact with the machining work 70, so that the machining work 70 The chips will be divided.
  • the vibration waveform of the tool 66D and the vibration waveform of the tool 66E overlap in the rotation angle region including 0 degree and the rotation angle region including 120 degrees. Since the tool 66D or the tool 66E does not contact the machining work 70 in the region 73C that includes 0 degree in the rotation angle region where the vibration waveform of the tool 66D and the vibration waveform of the tool 66E overlap, the chips of the machining work 70 It will be divided. Further, in the region 73D including 120 degrees in the rotation angle region in which the vibration waveform of the tool 66D and the vibration waveform of the tool 66E overlap, the tool 66E does not come into contact with the workpiece 70, so the chips of the workpiece 70 are divided. Will be done.
  • FIG. 14 is a diagram showing the relationship between the vibration frequency and the spindle rotation speed applicable to the machine tool according to the third embodiment.
  • FIG. 14 shows the correspondence between the vibration frequency applicable to the machine tool 110 according to the third embodiment and the spindle rotational speed.
  • the spindle rotation speed described in parentheses at the spindle rotation speed is a spindle rotation speed applicable when the vibration waveform is executed by only one tool 66A.
  • the numerical control device 1X executes the vibration cutting using the tools 66A, 66D, and 66E, thereby applying the spindle rotational speed twice as high as that in the case where the vibration cutting using one tool 66A is executed.
  • FIG. 15 is a diagram showing an example of a machining program used by the numerical control device according to the third embodiment.
  • the machining program 81R is used when the numerical controller 1X controls the machine tool 110 having three tool rests. Therefore, the machining program 81R includes a machining program 812A for the first turret 65A, a machining program 812D for the second turret 65D, and a machining program 812E for the third turret 65E.
  • the difference between the machining program 81R of the third embodiment and the machining program 81P of the first embodiment is the point "C" in G165. That is, while the phase difference from the reference of the machining program 810B for the second axis 61B in the first embodiment is 180 degrees, the phase difference from the reference of the machining program 812D for the second axis 61D in the third embodiment is large.
  • the phase difference is 120 degrees
  • the phase difference from the reference of the machining program 812E for the third axis 61E is 240 degrees. Even if the phase difference from the reference of the machining program 812D for the second axis 61D is in the vicinity of 120 degrees, the same effect as in the case of 120 degrees can be obtained. Further, even if the phase difference from the reference of the machining program 812E for the third axis 61E is around 240 degrees, the same effect as in the case of 240 degrees can be obtained.
  • the machine tool 110 performs vibration cutting using the three tools 66A, 66D, and 66E, the number of vibrations during one rotation of the main shaft 60 is 0.75. Therefore, as described above, when performing the vibration cutting using the three tools 66A, 66D, and 66E, it is possible to apply the spindle rotational speed that is twice as high as when performing the vibration cutting using the one tool 66A. it can.
  • three tool rests for arranging three tools on a concentric circle centered on the main spindle 60 have a phase difference of 120 degrees between the respective tools with respect to the rotation of the main spindle 60. It was arranged so that. As a result, it is possible to obtain the effect that the rotation speed of the main shaft 60 can be increased at a vibration frequency smaller than that in the second embodiment.
  • the tools 66A, 66D, and 66E are caused to perform the vibration cutting on the workpiece 70 by using the vibration waveforms of the three turrets, each phase difference of which is 120 degrees. Therefore, even if the spindle speed is increased, the vibration cutting on the workpiece 70 can be executed with a small vibration frequency. This makes it possible to divide the chips while increasing the processing speed of the work 70.
  • 1X numerical control device 2X control calculation unit, 3 input operation unit, 4 display unit, 5 PLC operation unit, 11A, 11B vibration command analysis unit, 12A, 12B movement command analysis unit, 21A, 21B command movement amount calculation unit, 22A , 22B vibration movement amount calculation unit, 23 phase calculation unit, 24 waveform calculation unit, 27 composite waveform generation unit, 34 storage unit, 37 analysis processing unit, 38X interpolation processing unit, 39 acceleration / deceleration processing unit, 60 spindle, 61A first Axis, 61B-61D Second Axis, 61E Third Axis, 65A First Turret, 65B-65D Second Turret, 65E Third Turret, 66A-66E Tool, 70 Machining Workpiece, 81P-81R Machining Program, 90 Drive unit, 110 machine tools.

Abstract

加工ワーク(70)の回転軸である主軸(60)と、加工ワーク(70)を振動切削加工するためのn個(nは2以上の整数)の工具を駆動するn個の駆動軸と、を制御するための数値制御装置(1X)であって、主軸(60)の回転角に対するn個の駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部(23)と、位相算出部(23)の結果に基づいて、主軸(60)の回転角に対するn個の駆動軸の振動波形の位相の差が特定の位相差となるように、工具の振動波形を算出する波形算出部(24)と、を備える。

Description

数値制御装置、工作機械および数値制御方法
 本発明は、工具を振動させながらの振動切削を制御する数値制御装置、工作機械および数値制御方法に関する。
 旋削加工の分野では、数値制御装置が、加工対象物を加工するための加工プログラムに従って工具の動作を制御し、これにより工具に加工対象物を加工させている。この数値制御装置の中には、工具経路に沿って特定の周波数で工具を振動させながら加工対象物を振動切削させるものがある。
 特許文献1に記載の数値制御装置は、工具への移動指令から単位時間あたりの指令移動量を算出し、振動条件から単位時間あたりの振動移動量を算出し、指令移動量と振動移動量とを合成して合成移動量を算出し、合成移動量に基づいて振動切削を制御している。
特許第5599523号公報
 しかしながら、上記特許文献1の技術では、加工対象物の加工速度を上げるために加工対象物の回転軸である主軸の回転数を大きくするには、工具の振動周波数を高くする必要があった。この場合において、工具の振動周波数が高くなり過ぎると、工作機械の構造的な要因によって工具の動作が振動指令に追従できなくなるので、切屑を分断できなくなる。
 本発明は、上記に鑑みてなされたものであって、加工対象物の加工速度を上げつつ切屑を分断できる数値制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、加工対象物の回転軸である主軸と、加工対象物を振動切削加工するためのn個(nは2以上の整数)の工具を駆動するn個の駆動軸と、を制御するための数値制御装置であって、主軸の回転角に対するn個の駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部と、位相算出部の結果に基づいて、主軸の回転角に対するn個の駆動軸の振動波形の位相の差が特定の位相差となるように、工具の振動波形を算出する波形算出部と、を備える。
 本発明にかかる数値制御装置は、加工対象物の加工速度を上げつつ切屑を分断できるという効果を奏する。
実施の形態1にかかる数値制御装置の構成例を示す図 実施の形態1にかかる工作機械の構成を示す図 実施の形態1にかかる工作機械が備える刃物台の配置位置を説明するための図 実施の形態1にかかる数値制御装置が用いる合成振動波形を説明するための図 実施の形態1にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図 実施の形態1にかかる数値制御装置が用いる加工プログラムの例を示す図 実施の形態1にかかる数値制御装置の処理手順を示すフローチャート 実施の形態1にかかる制御演算部のハードウェア構成例を示す図 実施の形態2にかかる工作機械が備える刃物台の配置位置を説明するための図 実施の形態2にかかる数値制御装置が用いる合成振動波形を説明するための図 実施の形態2にかかる数値制御装置が用いる加工プログラムの例を示す図 実施の形態3にかかる工作機械が備える刃物台の配置位置を説明するための図 実施の形態3にかかる数値制御装置が用いる合成振動波形を説明するための図 実施の形態3にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図 実施の形態3にかかる数値制御装置が用いる加工プログラムの例を示す図
 以下に、本発明の実施の形態にかかる数値制御装置、工作機械および数値制御方法を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、実施の形態1にかかる数値制御装置の構成例を示す図である。図2は、実施の形態1にかかる工作機械の構成を示す図である。図2では、紙面の横方向がZ軸方向であり、紙面の縦方向がX軸方向である。そして、X1軸およびX2軸は、X軸に平行な軸であり、Y1軸およびY2軸は、Y軸に平行な軸であり、Z1軸およびZ2軸は、Z軸に平行な軸である。
 数値制御(NC:Numerical Control)装置1Xは、旋盤加工を行う工作機械110に対して、工具66A,66Bを振動させながらの加工である低周波振動切削の制御を実行するコンピュータである。以下の説明では低周波振動を単に振動という場合がある。
 数値制御装置1Xは、第1の駆動軸を含む1軸以上の駆動軸によって、第1の工具と加工対象物である加工ワーク70とを相対的に移動させ、さらに第2の駆動軸を含む1軸以上の駆動軸によって、第2の工具と加工ワーク70とを相対的に移動させながら、加工ワーク70の加工を制御する。すなわち、数値制御装置1Xは、第1の工具または加工ワーク70を移動させる第1の駆動軸と、第2の工具または加工ワーク70を移動させる第2の駆動軸とを有しており、第1の工具および第2の工具によって同時に加工ワーク70を振動切削する。実施の形態1では、数値制御装置1Xが、第1の工具および第2の工具によって、加工ワーク70の切屑を小さく分断しながら加工ワーク70が加工されるよう、各駆動軸の振動または加工ワーク70の回転を制御する。
 数値制御装置1Xは、加工ワーク70の回転軸である1つの主軸60と、第1の工具である工具66Aを移動させる第1軸61Aと、第2の工具である工具66Bを移動させる第2軸61Bと、を備えた工作機械110を制御する。加工対象物である加工ワーク70は、工作機械110によって加工される被加工物である。なお、図2では、主軸60として主軸60の中心線を図示している。
 数値制御装置1Xは、制御演算部2Xと、入力操作部3と、表示部4と、PLC(Programmable Logic Controller:プログラマブルロジックコントローラ)36を操作するための機械操作盤などのPLC操作部5とを有する。図1には、工作機械110の構成要素である駆動部90が示されている。
 駆動部90は、工作機械110が備える第1系統の第1刃物台65A、第2系統の第2刃物台65Bなどを駆動させる。なお、以下の説明では、第1刃物台65Aと第2刃物台65Bとを区別する必要がない場合には、第1刃物台65Aまたは第2刃物台65Bを刃物台という場合がある。
 駆動部90は、加工ワーク70を回転させながら、2つの工具66A,66Bを駆動する駆動機構である。駆動部90は、工具66AをX1軸方向、および第1軸61Aの軸方向であるZ1軸方向に沿って移動させ、工具66BをX2軸方向、および第2軸61Bの軸方向であるZ2軸方向に沿って移動させる。実施の形態1では、工具66Aの振動方向が第1軸61Aの軸方向であり、工具66Bの振動方向が第2軸61Bの軸方向である場合について説明する。なお、軸方向は装置構成によるので、軸方向は上記方向に限定されない。
 駆動部90は、数値制御装置1X上で規定された各軸方向に工具66A,66Bを移動させるサーボモータ901~904と、サーボモータ901~904の位置および速度を検出する検出器97~100とを備えている。また、駆動部90は、数値制御装置1Xからの指令に基づいて、サーボモータ901~904を制御する各軸方向のサーボ制御部を備えている。各軸方向のサーボ制御部は、検出器97~100からの位置および速度に基づいて、サーボモータ901~904へのフィードバック制御を行う。
 サーボ制御部のうちの、X1軸サーボ制御部91は、サーボモータ901を制御することによって工具66AのX1軸方向の動作を制御する。Z1軸サーボ制御部92は、サーボモータ902を制御することによって工具66AのZ1軸方向の動作を制御する。X2軸サーボ制御部93は、サーボモータ903を制御することによって工具66BのX2軸方向の動作を制御する。Z2軸サーボ制御部94は、サーボモータ904を制御することによって工具66BのZ2軸方向の動作を制御する。なお、工作機械110が3つの刃物台を備える場合、駆動部90は、さらにX軸方向に平行なX3軸方向の動作を制御するX3軸サーボ制御部、およびZ軸方向に平行なZ3軸方向の動作を制御するZ3軸サーボ制御部を備える。この場合、X3軸サーボ制御部は、検出器を備えた1つのサーボモータを制御し、Z3軸サーボ制御部は、検出器を備えた1つのサーボモータを制御する。
 また、駆動部90は、加工ワーク70を回転させるための主軸60を回転させる主軸モータ911と、主軸モータ911の位置および回転数を検出する検出器211とを備えている。検出器211が検出する回転数は、主軸モータ911の回転数に対応している。
 また、駆動部90は、数値制御装置1Xからの指令に基づいて、主軸モータ911を制御する主軸サーボ制御部200を備えている。主軸サーボ制御部200は、検出器211からの位置および速度に基づいて、主軸モータ911へのフィードバック制御を行う。実施の形態1では、単位時間あたりの主軸60の回転数を主軸回転数という。主軸回転数は、例えば、1分間あたりの主軸60の回転数である。すなわち、主軸回転数は主軸回転速度に対応している。
 なお、工作機械110が2つの加工ワーク70を同時に加工する場合には、駆動部90は、主軸モータ911と、検出器211と、主軸サーボ制御部200とを2組備える。
 入力操作部3は、制御演算部2Xに情報を入力する手段である。入力操作部3は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置1Xに対するコマンドなどの入力、または加工プログラムもしくはパラメータなどを受付けて制御演算部2Xに入力する。表示部4は、液晶表示装置などの表示手段によって構成され、制御演算部2Xによって処理された情報を表示画面に表示する。PLC操作部5は、ユーザによる操作を受付けて、操作に対応する指示をPLC36に送る。
 制御部である制御演算部2Xは、入力制御部32と、データ設定部33と、記憶部34と、画面処理部31と、解析処理部37と、制御信号処理部35と、PLC36と、補間処理部38Xと、加減速処理部39と、軸データ出力部40と、を有する。なお、PLC36は、制御演算部2Xの外部に配置されてもよい。
 記憶部34は、パラメータ記憶エリア341、加工プログラム記憶エリア343、表示データ記憶エリア344、および共有エリア345を有している。パラメータ記憶エリア341内には、制御演算部2Xの処理で使用されるパラメータ等が格納される。具体的には、パラメータ記憶エリア341内には、数値制御装置1Xを動作させるための制御パラメータ、サーボパラメータおよび工具データが格納される。加工プログラム記憶エリア343内には、加工ワーク70の加工に用いられる加工プログラムが格納される。実施の形態1の加工プログラムは、工具66A,66Bを振動させる指令である振動指令と、工具66A,66Bを移動させる指令である移動指令とを含んでいる。
 表示データ記憶エリア344内には、表示部4で表示される画面表示データが格納される。画面表示データは、表示部4に情報を表示するためのデータである。また、記憶部34には、一時的に使用されるデータを記憶する共有エリア345が設けられている。
 画面処理部31は、表示データ記憶エリア344に格納された画面表示データを表示部4に表示させる制御を行う。入力制御部32は、入力操作部3から入力される情報を受付ける。データ設定部33は、入力制御部32で受付けられた情報を記憶部34に記憶させる。すなわち、入力操作部3が受付けた入力情報は、入力制御部32およびデータ設定部33を介して記憶部34に書き込まれる。
 制御信号処理部35は、PLC36に接続されており、PLC36から、工作機械110の機械を動作させるリレーなどの信号情報を受付ける。制御信号処理部35は、受付けた信号情報を、記憶部34の共有エリア345に書き込む。これらの信号情報は、加工処理時に補間処理部38Xが参照する。また、制御信号処理部35は、解析処理部37によって共有エリア345に補助指令が出力されると、この補助指令を共有エリア345から読み出してPLC36に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、後述するMコードまたはTコードである。
 PLC36は、PLC操作部5に対して操作が行われると、この操作に応じた動作を実行する。PLC36は、機械動作が記述されたラダープログラムを格納している。PLC36は、補助指令であるTコードまたはMコードを受付けると、ラダープログラムに従って補助指令に対応する処理を工作機械110に実行する。PLC36は、補助指令に対応する処理を実行した後、加工プログラムの次のブロックを実行させるために、機械制御が完了したことを示す完了信号を制御信号処理部35に送る。
 制御演算部2Xでは、制御信号処理部35と、解析処理部37と、補間処理部38Xとは、記憶部34を介して接続されており、記憶部34を介して情報の書き込み、および読み出しを行う。以下の説明では、制御信号処理部35と、解析処理部37と、補間処理部38Xとの間の情報の書き込み、および読み出しを説明する際に記憶部34が介されていることを省略する場合がある。
 加工プログラムの選択は、ユーザが入力操作部3で加工プログラム番号を入力することによって行われる。この加工プログラム番号は、入力制御部32およびデータ設定部33を介して共有エリア345に書き込まれる。機械操作盤等のサイクルスタートをトリガとして解析処理部37は、共有エリア345内の選択された加工プログラム番号に対応する加工プログラムを加工プログラム記憶エリア343内から読み出して、加工プログラムの各ブロック(各行)に対して解析処理を行う。解析処理部37は、例えば、Gコード(軸移動等に関する指令)、Tコード(工具交換指令など)、Sコード(主軸モータ回転数指令)、およびMコード(機械動作指令)を解析する。
 解析処理部37は、解析した行にMコードまたはTコードが含まれている場合には、解析結果を共有エリア345および制御信号処理部35を介してPLC36に送る。また、解析処理部37は、解析した行にMコードが含まれている場合には、Mコードを、制御信号処理部35を介してPLC36に送る。PLC36はMコードに対応する機械制御を実行する。実行が完了した場合、制御信号処理部35を介してMコードの完了を示す結果が記憶部34に書き込まれる。補間処理部38Xは記憶部34に書き込まれた実行結果を参照する。
 また、解析処理部37は、Gコードが含まれている場合には、共有エリア345を介して解析結果を補間処理部38Xに送る。具体的には、解析処理部37は、Sコードで指定された主軸回転数を補間処理部38Xに送る。また、解析処理部37は、Gコードに対応する移動条件を生成して補間処理部38Xに送る。移動条件は、工具66A,66Bが加工位置を移動させていくための工具送りの条件であり、第1刃物台65Aおよび第2刃物台65Bを移動させる速度、第1刃物台65Aおよび第2刃物台65Bを移動させる位置などで示される。例えば、工具66Aの工具送りは、工具66Aを第1軸61Aの軸方向に進ませ、工具66Bの工具送りは、工具66Bを第2軸61Bの軸方向に進ませる。
 また、解析処理部37は、振動指令解析部11A,11Bと、移動指令解析部12A,12Bと、を有している。振動指令解析部11Aは、第1軸61Aへの振動指令を解析する手段であり、振動指令解析部11Bは、第2軸61Bへの振動指令を解析する手段である。
 振動指令解析部11Aは、第1軸61A用の加工プログラム(後述の加工プログラム810Aなど)に含まれる振動指令を解析して第1軸61Aの振動条件を生成し、共有エリア345を介して生成した振動条件を補間処理部38Xに送る。
 振動指令解析部11Bは、第2軸61B用の加工プログラム(後述の加工プログラム810Bなど)に含まれる振動指令を解析して第2軸61Bの振動条件を生成し、共有エリア345を介して生成した振動条件を補間処理部38Xに送る。
 移動指令解析部12Aは、第1軸61A用の加工プログラムに含まれる移動指令を解析して第1軸61Aの移動条件を生成し、共有エリア345を介して生成した移動条件を補間処理部38Xに送る。
 移動指令解析部12Bは、第2軸61B用の加工プログラムに含まれる移動指令を解析して第2軸61Bの移動条件を生成し、共有エリア345を介して生成した移動条件を補間処理部38Xに送る。
 すなわち、移動指令解析部12A,12Bは、Gコードに対応する移動条件を生成して補間処理部38Xに送る。移動条件の例は、刃物台の移動速度、刃物台を移動させる位置などである。
 第1軸61Aへの振動指令は、第1軸61Aを第1軸61Aの軸方向であるZ1軸方向に振動させる指令であり、第2軸61Bへの振動指令は、第2軸61BをX2軸方向、および第2軸61Bの軸方向であるZ2軸方向に振動させる指令である。振動条件は、振動切削を実行する際の振動の条件である。実施の形態1での振動条件は、振動切削の際の振動回数である。第1軸61Aの振動回数は、主軸60が1回転する間の第1軸61Aの振動回数であり、第2軸61Bの振動回数は、主軸60が1回転する間の第2軸61Bの振動回数である。換言すると、第1軸61Aの振動回数および第2軸61Bの振動回数は、それぞれ、主軸60が1回転する時間を基準とした振動の周波数に対応している。したがって、実施の形態1での振動条件は、振動切削の際の振動の周波数であるともいえる。
 工作機械110では、第1軸61Aが振動するので、第1軸61Aの振動回数は第1軸61A側の工具66Aの振動回数に対応する。また、工作機械110では、第2軸61Bが振動するので、第2軸61Bの振動回数は第2軸61B側の工具66Bの振動回数に対応する。工作機械110では、第1軸61Aの振動回数が第1の振動回数であり、第2軸61Bの振動回数が第2の振動回数である。
 補間処理部38Xは、指令移動量算出部21A,21Bと、振動移動量算出部22A,22Bと、位相算出部23と、波形算出部24と、合成波形生成部27とを備えている。波形算出部24は、加工ワーク70の切屑が工具66A,66Bによって分断されるよう、工具66A,66Bの少なくとも一方の振動の波形の位相を変更する。ただし、後述するように、工具の取付位置によってはいずれの位相も変更する必要はない。補間処理部38Xは、主軸回転数、移動条件および振動条件を共有エリア345から読み出す。振動条件には、第1軸61Aの振動回数、および第2軸61Bの振動回数が含まれている。
 指令移動量算出部21A,21Bは、解析処理部37から解析結果である移動条件を受け取り、移動条件に対する補間処理を行い、補間処理の結果に対応する単位時間当たりの指令移動量を合成波形生成部27に送る。具体的には、指令移動量算出部21Aは、解析処理部37が解析した第1軸61Aの移動条件に基づいて、第1刃物台65Aを単位時間で移動させる指令移動量を算出して合成波形生成部27に送る。また、指令移動量算出部21Bは、解析処理部37が解析した第2軸61Bの移動条件に基づいて、第2刃物台65Bを単位時間で移動させる指令移動量を算出して合成波形生成部27に送る。
 振動移動量算出部22Aは、第1軸61Aの振動回数に基づいて、第1軸61Aの振動移動量を算出する。第1軸61Aの振動移動量は、工具66Aを振動させるための単位時間での移動量である。振動移動量算出部22Aは、算出した第1軸61Aの振動移動量を合成波形生成部27に送る。
 振動移動量算出部22Bは、第2軸61Bの振動回数に基づいて、第2軸61Bの振動移動量を算出する。第2軸61Bの振動移動量は、工具66Bを振動させるための単位時間での移動量である。振動移動量算出部22Bは、算出した第2軸61Bの振動移動量を合成波形生成部27に送る。
 補間処理部38Xは、工具66A,66Bの両方において振動が主軸回転数に同期するよう、振動条件または移動条件を調整する。たとえば、補間処理部38Xは、工具66Aの動作と工具66Bの動作とにずれが生じるような場合には、工具66A,66Bが同じ動きとなるよう、振動条件または移動条件を補正する。振動条件または移動条件の補正は、指令移動量算出部21A,21B、振動移動量算出部22A,22Bの何れかで行われる。
 第1軸61Aの振動と主軸回転数とを同期させる処理は、主軸60が1回転する間の第1軸61Aの振動回数が一定の振動回数になるよう、第1軸61Aの振動回数または主軸回転数を調整する処理である。また、第2軸61Bの振動と主軸回転数とを同期させる処理は、主軸60が1回転する間の第2軸61Bの振動回数が一定の振動回数になるよう、第2軸61Bの振動回数または主軸回転数を調整する処理である。換言すると、第1軸61Aの振動と主軸回転数とを同期させる処理は、第1軸61Aの振動周波数(振動数)と主軸回転数とを同期させる処理であり、第2軸61Bの振動と主軸回転数とを同期させる処理は、第2軸61Bの振動周波数と主軸回転数とを同期させる処理である。なお、第1軸61Aにおける一定の振動回数は、可変であり、第1軸61Aおよび第2軸61Bによる振動切削に応じた回数を選択することができる。また、第2軸61Bにおける一定の振動回数は、可変であり、第1軸61Aおよび第2軸61Bによる振動切削に応じた回数を選択することができる。
 位相算出部23は、第1刃物台65Aと第2刃物台65Bとの間の取付位置に起因する振動波形の位相差を、パラメータ記憶エリア341内に格納されているパラメータの設定値に基づいて算出する。このパラメータの設定値には、刃物台間の位相差である工具66A,66B間の位相差、すなわち工具66A,66B間の位置関係を示す情報が格納されている。第1刃物台65Aおよび第2刃物台65Bは、加工ワーク70の周囲に配置されており、刃物台間の位相差は、主軸60の軸方向から見た場合の、主軸60と第1軸61Aとを結ぶ線と、主軸60と第2軸61Bとを結ぶ線とがなす角度に対応している。
 加工プログラム内の低周波振動指令には、刃物台間の位置関係を示す情報として、第1刃物台65Aに設定されている基準からの位相差、および第2刃物台65Bに設定されている基準からの位相差が設定されている。ここで、基準としては例えば、主軸60の原点に合わせてもよい。位相算出部23は、加工プログラム内の低周波振動指令に記載されている基準からの位相差に基づいて、工具66A,66B間の取付位置に起因する位相差を算出してもよい。この場合、位相算出部23は、第1刃物台65Aに設定されている基準からの位相差と、第2刃物台65Bに設定されている基準からの位相差との差分に基づいて、工具66A,66B間の位相差を算出する。位相算出部23は、算出した位相差を波形算出部24に送る。ここで、位相算出部23によって算出された、工具取付位置に起因する主軸60の回転角度に対する第1刃物台65Aと第2刃物台65B間の位相差を位置位相差と呼ぶ。
 工具66A,66Bの移動は、振動切削のための移動と、加工ワーク70に対して加工を進める方向(切削方向)への移動と、を足し合わせたものである。実施の形態1では、切削方向は図2におけるZ軸方向である。したがって、波形算出部24は、振動切削のための振動移動量と、加工ワーク70に対して加工を進めるための切削方向への移動量とを足し合わせる。
 具体的には、波形算出部24は、第1刃物台65Aの指令移動量、第1刃物台65Aの振動移動量、および刃物台間の位置位相差に基づいて、第1刃物台65Aの振動波形を算出する。このとき、波形算出部24は、第1刃物台65Aの指令移動量と第1刃物台65Aの振動移動量とを合成した波形を生成し、この波形に刃物台間の位置位相差に対応する位相を加味することによって第1刃物台65Aの振動波形を算出する。
 また、波形算出部24は、第2刃物台65Bの指令移動量、第2刃物台65Bの振動移動量、および刃物台間の位置位相差に基づいて、第2刃物台65Bの振動波形を算出する。このとき、波形算出部24は、第2刃物台65Bの指令移動量と第2刃物台65Bの振動移動量とを合成した波形を生成し、この波形に刃物台間の位置位相差に対応する位相を加味することによって第2刃物台65Bの振動波形を算出する。
 第1刃物台65Aの振動波形および第2刃物台65Bの振動波形は、例えば、横軸を主軸60の回転角度とし、縦軸を切削方向の位置としたグラフ上の波形で示される。波形算出部24が算出する振動波形としては、正弦波などの任意のものを用いることができるが、以下では振動波形が三角波である場合について説明する。波形算出部24は、第1刃物台65Aの振動波形および第2刃物台65Bの振動波形を合成波形生成部27に送る。
 合成波形生成部27は、第1刃物台65Aの振動波形と、第2刃物台65Bの振動波形とを合成した、合成振動波形を生成する。合成波形生成部27は、合成振動波形を加減速処理部39に送る。また、補間処理部38Xは、主軸回転数を加減速処理部39に送る。
 加減速処理部39は、補間処理部38Xから供給された補間処理の結果に対して、加速度をなめらかに変化させるための加減速処理を行う。加減速処理部39は、移動の開始および停止の際の加減速処理を行う。具体的には、加減速処理部39は、合成振動移動量に基づいて、第1軸61Aへの移動指令と、第2軸61Bへの移動指令とを生成する。加減速処理部39が処理する位置指令は、単位時間あたりの速度指令である。加減速処理部39は、X1軸、X2軸、Z1軸およびZ2軸に対して加減速指令を生成する。
 加減速処理部39は、加減速処理の処理結果である速度指令を軸データ出力部40に送る。なお、加減速処理部39は、主軸回転数に対しては加減速処理を行わない。加減速処理部39は、主軸回転数に対応する回転数指令を軸データ出力部40に送る。加減速処理部39が生成する回転数指令は、ステップ指令である。
 軸データ出力部40は、速度指令を駆動部90に出力する。具体的には、軸データ出力部40は、X1軸への速度指令をX1軸サーボ制御部91に出力し、Z1軸への速度指令をZ1軸サーボ制御部92に出力する。また、軸データ出力部40は、X2軸への速度指令をX2軸サーボ制御部93に出力し、Z2軸への速度指令をZ2軸サーボ制御部94に出力する。また、軸データ出力部40は、主軸60への回転数指令を主軸サーボ制御部200に出力する。これにより、X1軸サーボ制御部91、Z1軸サーボ制御部92、X2軸サーボ制御部93、Z2軸サーボ制御部94、主軸サーボ制御部200は、工具66AのX1軸方向およびZ1軸方向の動作と、工具66BのX2軸方向およびZ2軸方向の動作と、主軸60の回転動作とを制御する。
 ここで、数値制御装置1Xによる加工制御の動作手順の概略について説明する。工作機械110による加工が開始される際には、PLC36が制御信号処理部35へサイクルスタート信号を出力し、制御信号処理部35が、サイクルスタート信号を補間処理部38Xに出力する。これにより、補間処理部38Xが、解析処理部37を起動する。
 この後、解析処理部37が加工プログラムを1ブロック毎に読み込んで解析し、解析結果である振動条件、移動条件および主軸回転数を共有エリア345に格納する。そして、補間処理部38Xが、解析処理部37の解析結果に基づいて、合成振動波形を算出して加減速処理部39に送る。
 これにより、加減速処理部39は、補間処理部38Xからの合成振動波形に基づいて、各軸への移動指令を生成する。この速度指令は、軸データ出力部40から駆動部90に出力され、駆動部90が移動指令に従って各軸の動作を制御する。
 図2に示すように、実施の形態1にかかる工作機械110は、第1刃物台65Aに第1軸61Aがあり、第2刃物台65Bに第2軸61Bがある1スピンドル2刃物台の旋盤である。1スピンドル2刃物台の旋盤は、1つの主軸と2つの刃物台を具備した旋盤である。第1刃物台65Aおよび第2刃物台65Bは、タレットともよばれる。工作機械110の一例は、タレット旋盤である。
 工作機械110は、第1スピンドル75を備えた主軸台を有している。第1スピンドル75は、加工ワーク70が取り付けられた状態で回転し、これにより加工ワーク70を回転させる。第1スピンドル75による加工ワーク70の回転軸が、主軸台に設けられた主軸60である。
 工作機械110は、第1の刃物台である第1刃物台65Aと第2の刃物台である第2刃物台65Bとを備えており、第1刃物台65Aに第1軸61Aが設けられ、第2刃物台65Bに第2軸61Bが設けられている。第1刃物台65Aは、X1軸方向およびZ1軸方向に移動可能となっており、第2刃物台65Bは、X2軸方向およびZ2軸方向に移動可能となっている。工作機械110では、Z1軸が第1軸61Aであり、Z2軸が第2軸61Bである。
 第1刃物台65Aは、第1軸61A側の刃物台であり、第2刃物台65Bは、第2軸61B側の刃物台である。第1刃物台65Aおよび第2刃物台65Bは、旋回式の刃物台である。第1刃物台65Aは、複数の工具66Aを取り付け可能となっており、工具66Aを旋回させることで使用する工具66Aを切り替える。同様に、第2刃物台65Bは、複数の工具66Bを取り付け可能となっており、工具66Bを旋回させることで使用する工具66Bを切り替える。
 第1刃物台65Aは、Z1軸方向に振動させられることによって工具66Aで加工ワーク70の振動切削加工を行う。第2刃物台65Bは、Z2軸方向に振動させられることによって工具66Bで加工ワーク70の振動切削加工を行う。なお、実施の形態1では、説明の便宜上、第1刃物台65Aの振動を工具66Aの振動として説明する場合がある。また、第2刃物台65Bの振動を工具66Bの振動として説明する場合がある。
 実施の形態1における工作機械110の振動条件は、以下の(L1-1)から(L1-2)とする。尚、この振動条件は、加工対象物の加工仕上がり精度がよく、さらに切屑を細かく分断するための理想的な条件である。
(L1-1)主軸60が1回転する間の工具66A,66Bの振動回数は、第1軸61A側と第2軸61B側とで同じとする。尚、第1軸61A側と第2軸61B側とは、ともに振動切削中の主軸回転数に同期した振動回数で動作する。
(L1-2)振動の振幅は、第1軸61A側と第2軸61B側とで同じとする。
 ここで、第1刃物台65Aと第2刃物台65Bとの配置位置の関係について説明する。図3は、実施の形態1にかかる工作機械が備える刃物台の配置位置を説明するための図である。図3では、紙面の横方向がY軸方向であり、紙面の縦方向がX軸方向である。すなわち、図3では、主軸60の軸方向から見た場合の、第1刃物台65Aと第2刃物台65Bとの配置位置の関係を示している。
 第1刃物台65Aと第2刃物台65Bとは、主軸60を中心とした同心円上に配置されている。具体的には、第1刃物台65Aと第2刃物台65Bとは、加工ワーク70の被加工面に沿って同心円上に配置されている。すなわち、工具66A,66Bは、主軸60の軸方向の位置が同じである。また、第1刃物台65Aおよび第2刃物台65Bを主軸60の軸方向から見た場合、主軸60と第1刃物台65Aとを結ぶ線と、主軸60と第2刃物台65Bと、を結ぶ線とがなす角度は、180度である。すなわち、第1刃物台65Aと第2刃物台65Bとは、2分の1回転分だけ位置位相がずれている。
 図4は、実施の形態1にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、第1刃物台65Aによる振動と、第2刃物台65Bによる振動とが、同じ振動周波数で同じ振幅である場合について説明する。
 振動切削において切屑を効率良く分断するには、加工時における工具66Aと工具66Bの、主軸60の回転角に対する振動波形の位相差が特定の位相差であることが望ましい。すなわち、ある加工の瞬間における2つの工具に関して、工具位置を加味しない振動そのものの振動位相差と、工具位置に起因する位置位相差と、の両方を考慮した、主軸60の回転角に対する振動波形の位相差が、特定の位相差であることが、振動切削における切屑の効率的分断につながる。つまり、実際の主軸60の回転角に対する各工具の振動波形の位相差は、振動指令による振動位相差と、工具位置関係による仮想的な位置位相差の合計となる。また、ここで述べる切屑の効率的な分断とは、切屑を平均的に短くすることをいう。
 振動切削を行う工具が工具66A,66Bのように2つの工具である場合、特定の位相差は、180度である。すなわち、位置位相差のみによって特定の位相差を実現するためには、第1刃物台65Aによる切削位置と第2刃物台65Bによる切削位置とが、主軸60の1回転のうちの2分の1回転分ずれていることが望ましい。
 実施の形態1の工作機械110では、第1刃物台65Aと第2刃物台65Bとの間の位置位相差が180度であるので、波形算出部24は、第1刃物台65Aの振動波形を算出する際に振動指令としては、振動波形の位相の調整を行わない。同様に、波形算出部24は、第2刃物台65Bの振動波形を算出する際に振動波形の位相の調整を行わない。
 振動波形のグラフ101A~101Cは、主軸60が1回転する間の工具66A,66Bの振動回数が1回である場合の振動波形を示している。振動波形のグラフ101A~101Cは、横軸が主軸60の回転角度、すなわち主軸60の1回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ101Aは、第1刃物台65Aの工具66Aの振動波形を示しており、グラフ101Bは、第2刃物台65Bの工具66Bの振動波形を示している。グラフ101Cは、グラフ101Aの振動波形と、グラフ101Bの振動波形とが合成された合成振動波形を示している。
 グラフ101Aに示すように、工具66Aは、主軸60の回転角度が0度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。この場合において、工具66Aは、切削方向に移動しながら加工ワーク70への振動切削を進めていく。したがって、工具66Aは、主軸60が1回転する間における振動が終わった時点で、切削方向に特定距離だけ進んでいる。ここでの特定距離が、第1刃物台65Aへの指令移動量に対応している。
 グラフ101Bに示すように、工具66Bは、主軸60の回転角度が180度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具66Bは、工具66Aと同様の振動切削を行う。
 グラフ101Cに示すように、0度を含む回転角度領域および180度を含む回転角度領域において、工具66Aの振動波形と工具66Bの振動波形とが重なっている。振動波形が重なっている領域71A,71Bは、工具66Aまたは工具66Bが、加工ワーク70に接触しない空振り領域である。
 領域71Aでは、工具66Aの回転で既に加工された位置が、工具66Bによって再度加工される。工具66Aの回転で既に加工された位置は、加工ワーク70が既に加工されている領域であり、この位置が工具66Bで再度加工されることは、切屑が分断されることを示している。同様に、領域71Bでは、工具66Bの回転で既に加工された位置が、工具66Aによって再度加工される。工具66Bの回転で既に加工された位置は、加工ワーク70が既に加工されている領域であり、この位置が工具66Aで再度加工されることは、切屑が分断されることを示している。したがって、領域71A,71Bが、切屑が分断される領域である。
 このように、工具66Aの振動波形と工具66Bの振動波形とが重なっている回転角度領域のうち、180度を含む領域71Aでは、工具66Bが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。また、工具66Aの振動波形と工具66Bの振動波形とが重なっている回転角度領域のうち、0度を含む領域71Bでは、工具66Aが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。この結果、加工ワーク70の切屑を細かく排出することができる。
 ここで、工具66Bを用いず、1つの工具66Aのみで加工ワーク70への振動切削を行う従来の場合を考える。1つの工具66Aのみで加工ワーク70への振動切削を行う場合であっても、主軸60の1回転あたりの工具66Aの振動回数を適切な回数に設定することによって、加工ワーク70の切屑を分断することができる。この場合において、加工ワーク70の切屑を分断するためには、工具66AによるN回点目(Nは自然数)の振動波形と(N+1)回点目の振動波形とが重なる必要がある。
 この場合、切屑の分断効果を同程度に維持しつつ主軸回転数を大きくするには、工具66Aの振動周波数を高くする必要がある。工具66Aの振動周波数が高くなり過ぎると、工作機械110の構造的な要因によって工具66Aの動作が振動指令に追従できなくなる。この結果、工具66Aの振動波形がなまるので、すなわち振動指令に従った理想的な振動波形が実現できなくなるので、工具66AによるN回点目の振動波形と(N+1)回点目の振動波形とが重ならなくなる。したがって、主軸回転数を大きくし過ぎると、加工ワーク70の切屑を分断できなくなる。
 一方、実施の形態1の数値制御装置1Xは、2つの工具66A,66Bで振動切削し、且つ工具66Aの振動波形と工具66Bの振動波形との位置位相が180度ずれているので、振動切削を実現しつつ主軸回転数を大きくしたい場合であっても、工具66Aの振動周波数を低く抑えることができる。すなわち、実施の形態1の数値制御装置1Xは、工具66Aの振動波形と工具66Bの振動波形とを重ねることができるので、1つの工具66Aで振動切削する場合よりも主軸回転数を大きくすることができる。このように、数値制御装置1Xは、振動周波数を維持したまま、主軸回転数を大きくすることができる。
 図5は、実施の形態1にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図である。図5では、実施の形態1にかかる工作機械110に適用可能な振動周波数と、単位時間当たりの主軸回転数との対応関係を示している。なお、主軸回転数の箇所にかっこ書きで記載している主軸回転数は、1つの工具66Aのみで振動波形を実行する場合に適用可能な主軸回転数である。
 例えば、工具66A,66Bへの振動周波数として100Hzが適用される場合、6000回転の主軸回転数を適用可能である。一方、従来の1つの工具66Aによる振動切削を行う場合、機械装置のイナーシャ等の特性により振動指令に追随できる工具の振動周波数が100Hzである場合には、4000回転以下の主軸回転数しか適用できない。換言すると、数値制御装置1Xが、工具66A,66Bを用いた振動切削を実行することによって、1つの工具66Aを用いた振動切削を実行する場合の1.5倍の主軸回転数を適用することができる。
 図6は、実施の形態1にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム81Pは、数値制御装置1Xが工作機械110を制御する際に用いられる。このため、加工プログラム81Pは、第1刃物台65A用の加工プログラム810Aと、第2刃物台65B用の加工プログラム810Bとを含んでいる。
 加工プログラム81P内の主軸回転数指令であるM3 S1は、主軸60への主軸回転数の指令である。M3 S1=2000は、主軸60を1分間あたり2000回転させる指令である。また、G0は位置決め指令であり、G165は低周波振動指令であり、G1は移動指令である。G165で規定される「A」は振動の振幅であり、「D」は主軸60が1回転する間の振動回数であり、「C」は基準からの位相差である。
 加工プログラム81Pでは、加工プログラム810AにおけるG0によって工具66Aの位置決めが行われ、加工プログラム810BにおけるG0によって工具66Bの位置決めが行われる。
 また、第1軸61A用の加工プログラム810Aにおいて、G165が用いられる場合、G165で指定された振幅、振動回数および位相差で工具66AがZ1軸方向に振動させられる。ここでは、工具66Aに対し、振幅が0.2mm、主軸60が1回転する間の振動回数が1.0回、位相差が0である場合を示している。
 また、第2軸61B用の加工プログラム810Bにおいて、G165が用いられる場合、G165で指定された振幅および振動回数で工具66Bが振動させられる。ここでは、工具66Bに対し、振幅が0.2mm、主軸60が1回転する間の振動回数が1.0回、位相差が180度である場合を示している。なお、第2軸61B用の加工プログラム810Dの基準からの位相差が、180度の近辺であっても、180度の場合と同様の効果を得ることができる。すなわち、10度程度の位相ずれがあっても構わない。より理想的には、180度からのずれが5度程度である。尚、180度から大きくずれると、切屑の長さにばらつきが生じたり、切屑が分断できなかったりする等の問題が生じる。
 加工プログラム81Pにおいて、第1軸61Aの振動および第2軸61Bの振動は、主軸回転数に同期しているものとする。数値制御装置1Xは、加工プログラム810Aに基づいて、第1刃物台65Aの振動波形を算出し、加工プログラム810Bに基づいて、第2刃物台65Bの振動波形を算出する。
 工作機械110が、1つの工具66Aを用いて振動切削を実行する場合、主軸60が1回転する間の振動回数は1.5回である。すなわち、加工プログラムにおいて、「D」=1.5が設定される。一方、工作機械110が、2つの工具66Aを用いて振動切削を実行する場合、主軸60が1回転する間の振動回数は1.0回である。したがって、前述したように、2つの工具66A,66Bを用いて振動切削を実行する場合、1つの工具66Aを用いて振動切削を実行する場合の1.5倍の主軸回転数を適用することができる。
 つぎに、工作機械110を制御する際の処理手順について説明する。図7は、実施の形態1にかかる数値制御装置の処理手順を示すフローチャートである。図7は、数値制御装置1Xによる工作機械110への制御処理手順を示している。
 加工ワーク70を加工する刃物台の台数が1台である場合には、数値制御装置1Xは、1つの刃物台による加工制御を実行する。この場合、波形算出部24は、刃物台の取付位置に起因する位置位相差を考慮することなく、振動波形を算出する。
 解析処理部37は、加工プログラムを解析することによって、加工プログラムが振動切削指令であるか否かを判定する(ステップS20)。加工プログラムが振動切削指令でない場合(ステップS20、No)、数値制御装置1Xは、工具66A,66Bの振動を伴わない加工制御を実行する。加工プログラムが振動切削指令である場合(ステップS20、Yes)、解析処理部37は、主軸回転数、移動条件および振動回数を共有エリア345に格納する。
 補間処理部38Xは、主軸回転数、移動条件および振動回数に基づいて、1つの加工ワーク70に対する複数の刃物台による加工であるか否かを判定する(ステップS30)。1つの加工ワーク70に対する1つの刃物台による加工である場合(ステップS30、No)、数値制御装置1Xは、1つの刃物台による加工制御を実行する。この場合、補間処理部38Xは、刃物台間の位置位相差を考慮することなく、振動波形を算出する。
 1つの加工ワーク70に対する複数の刃物台による加工である場合(ステップS30、Yes)、補間処理部38Xは、各刃物台に対する、移動条件および振動回数を取得する(ステップS40)。また、補間処理部38Xは、主軸回転数を取得する。具体的には、補間処理部38Xは、加工プログラムに基づいて解析された、主軸回転数、移動条件および振動回数を共有エリア345から読み出す。ここでの移動条件には、第1軸61Aの移動条件および第2軸61Bの移動条件が含まれている。
 振動移動量算出部22Aは、第1軸61Aの振動回数に基づいて、第1軸61Aの振動移動量を算出し、振動移動量算出部22Bは、第2軸61Bの振動回数に基づいて、第2軸61Bの振動移動量を算出する。
 また、指令移動量算出部21Aは、解析処理部37からの移動条件に基づいて、第1軸61Aの指令移動量を算出し、指令移動量算出部21Bは、解析処理部37からの移動条件に基づいて、第2軸61Bの指令移動量を算出する。
 波形算出部24は、第1軸61Aの振動移動量および指令移動量に基づいて、第1刃物台65Aの振動波形を算出し、第2軸61Bの振動移動量および指令移動量に基づいて、第2刃物台65Bの振動波形を算出する(ステップS50)。
 位相算出部23は、主軸60の回転角に対する第1刃物台65Aと第2刃物台65Bとの間の取付角度、すなわち位置位相差を取得する(ステップS60)。このとき、位相算出部23は、パラメータ記憶エリア341内に格納されているパラメータの設定値に基づいて刃物台間の位置位相差を算出してもよいし、加工プログラム内の何れかの指令に記載されている基準からの位相差に基づいて、刃物台間の位置位相差を算出してもよい。
 波形算出部24は、ステップS60で取得した刃物台間の位置位相差に基づいて、位置位相差を考慮した第1刃物台65Aの振動波形と、位置位相差を考慮した第2刃物台65Bの振動波形とを算出する。さらに、合成波形生成部27は、波形算出部24が算出した第1刃物台65Aの振動波形と、波形算出部24が算出した第2刃物台65Bの振動波形とを合成した、合成振動波形を生成する。このように、合成波形生成部27は、刃物台間の位置位相差に基づいて算出された、第1刃物台65Aおよび第2刃物台65Bの振動波形を合成する(ステップS70)。この後、制御演算部2Xは、合成振動波形を用いて第1軸61Aおよび第2軸61Bを制御する。
 ここで、数値制御装置1Xが備える制御演算部2Xのハードウェア構成について説明する。図8は、実施の形態1にかかる制御演算部のハードウェア構成例を示す図である。
 制御演算部2Xは、図8に示した制御回路300、すなわちプロセッサ301、メモリ302により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)またはROM(Read Only Memory)である。
 制御演算部2Xは、プロセッサ301が、メモリ302で記憶されている、制御演算部2Xの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御演算部2Xの手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。
 プロセッサ301が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な(non-transitory)記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ301が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
 また、制御演算部2Xを専用のハードウェアで実現してもよい。また、制御演算部2Xの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
 実施の形態1によれば、主軸60が1回転する間に、工具66Aによって切削された加工ワーク70の切屑を工具66Bによって分断し、工具66Bによって切削された加工ワーク70の切屑を工具66Aによって分断することができる。その結果、1つの工具で振動切削する場合と比べて主軸回転数を高くした場合にも、工具66A,66Bの振動周波数を低くしたままで切屑を細かく分断する効果が得られる。
 このように、実施の形態1によれば、振動波形の位相差が180度である第1刃物台65Aの振動波形および第2刃物台65Bの振動波形を用いて工具66A,66Bに加工ワーク70への振動切削を行わせるので、主軸回転数を高くした場合であっても小さな振動周波数で加工ワーク70への振動切削を実行できる。これにより、加工ワーク70の加工速度を上げつつ切屑を分断することが可能となる。
実施の形態2.
 つぎに、図9から図11を用いてこの発明の実施の形態2について説明する。実施の形態2では、第1刃物台65Aと第2刃物台65Bの取付位置が90度ずれている場合に、合成振動波形を用いて第1軸61Aおよび第2軸61Bを制御する。
 図9は、実施の形態2にかかる工作機械が備える刃物台の配置位置を説明するための図である。図9では、主軸60の軸方向から見た場合の、刃物台の配置位置の関係を示している。図9において、X1軸を、主軸60を中心として半時計回りに90度回転させた軸がX3軸であり、Y1軸を、主軸60を中心として半時計回りに90度回転させた軸がY3軸であり、Z1軸を、主軸60を中心として半時計回りに90度回転させた軸がZ3軸である。実施の形態2では、工作機械110が、第2刃物台65Bの代わりに第2刃物台65Cを備えている。
 第2刃物台65Cは、旋回式の刃物台である。第2刃物台65Cは、複数の工具66Cを取り付け可能となっており、工具66Cを旋回させることで使用する工具66Cを切り替える。駆動部90は、工具66Aを第1軸61Aの軸方向に沿って移動させ、工具66Cを第2軸61Cの軸方向に沿って移動させる。第2軸61Cは、主軸60に平行な軸である。なお、実施の形態2では、説明の便宜上、第1刃物台65Aの振動を工具66Aの振動として説明し、第2刃物台65Cの振動を工具66Cの振動として説明する場合がある。
 第1刃物台65Aと第2刃物台65Cとは、主軸60を中心とした同心円上に配置されている。具体的には、第1刃物台65Aと第2刃物台65Cとは、加工ワーク70の被加工面に沿って同心円上に配置されている。すなわち、工具66A,66Cは、主軸60の軸方向の位置が同じである。また、第1刃物台65Aおよび第2刃物台65Cを主軸60の軸方向から見た場合、主軸60と第1刃物台65Aとを結ぶ線と、主軸60と第2刃物台65Cとを結ぶ線とがなす角度は、90度である。すなわち、第1刃物台65Aと第2刃物台65Cとは、4分の1回転分(90度)だけ位置位相がずれている。
 図10は、実施の形態2にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、第1刃物台65Aによる振動と、第2刃物台65Cによる振動とが、同じ振動周波数で同じ振幅である場合について説明する。
 前述したように、振動切削において切屑を効率良く分断するには、第1刃物台65Aによる切削位置と第2刃物台65Cによる切削位置とが、主軸60の1回転のうちの2分の1回転分ずれていること、すなわち主軸60の回転角に対するn個の工具の位相差が(360/n)度であることが望ましい。ここで、nは2以上の整数である。実施の形態1及び2では、2個の工具であるため、この位相差、つまり特定の位相差が180度であることが望ましい。なお、特定の位相差は(360/n)度であるが、切屑が分断できる範囲内で、10度前後ずれている場合も含む。このとき、5度前後のずれであれば切屑がより効率的に分断できる。
 第1刃物台65Aおよび第2刃物台65Cを備えた工作機械110では、第1刃物台65Aと第2刃物台65Cとの間の位置位相差が90度であるので、波形算出部24は、第1刃物台65Aの振動波形を算出する際に振動波形に対して振動位相の調整を行う。具体的には、波形算出部24は、第1刃物台65Aの振動波形に対してさらに90度の振動位相差を加えることによって、主軸60の回転角に対する工具66Aと工具66Cの振動波形間の位相差が合計で180度となるようにする。
 振動波形のグラフ102A~102Cは、主軸60が1回転する間の工具66A,66Cの振動回数が1回である場合の振動波形を示している。振動波形のグラフ102A~102Cは、横軸が主軸60の回転角度、すなわち主軸60の1回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ102Aは、第1刃物台65Aの工具66Aの振動波形を示しており、グラフ102Bは、第2刃物台65Cの工具66Cの振動波形を示している。グラフ102Cは、グラフ102Aの振動波形と、グラフ102Bの振動波形とが合成された合成振動波形を示している。
 グラフ102Aに示すように、工具66Aは、原点からの切削の開始ではなく、振動波形の位相が90度進んだ位置から切削を開始し、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。グラフ102Bに示すように、工具66Cは、位置位相が90度であることから、90度遅れた位置から切削を開始することになり、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具66Cは、工具66Aと同様の振動周期、振動振幅を有する振動切削を行う。なお、数値制御装置1Xは、工具66Aに対して振動波形の位相を90度進める代わりに、工具66Cに対して振動波形の位相を90度遅らせてもよい。また、数値制御装置1Xは、工具66Aに対して位相をX度進めるとともに、工具66Cに対して位相を(90-X)度送らせてもよい。すなわち、数値制御装置1Xは、工具66Aおよび工具66Cの少なくとも一方の位相を調整することによって、主軸60の回転角に対する実質的な工具66Aと工具66Cの振動波形の位相差を180度とすればよい。
 グラフ102Cに示すように、90度を含む回転角度領域および270度を含む回転角度領域において、工具66Aの振動波形と工具66Cの振動波形とが重なっている。工具66Aの振動波形と工具66Cの振動波形とが重なっている回転角度領域のうち、90度を含む領域72Aでは、工具66Cが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。また、工具66Aの振動波形と工具66Cの振動波形とが重なっている回転角度領域のうち、270度を含む領域72Bでは、工具66Aが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。この結果、加工ワーク70の切屑を細かく排出することができる。
 図11は、実施の形態2にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム81Qは、数値制御装置1Xが、第1刃物台65Aおよび第2刃物台65Cを備えた工作機械110を制御する際に用いられる。このため、加工プログラム81Qは、第1刃物台65A用の加工プログラム811Aと、第2刃物台65C用の加工プログラム811Cとを含んでいる。
 実施の形態2の加工プログラム81Qと、実施の形態1の加工プログラム81Pとの相違点は、G165における「C」の箇所である。すなわち、実施の形態1における第2軸61B用の加工プログラム810Bの基準からの位相差が180度であったのに対し、実施の形態2における第2軸61C用の加工プログラム811Cの基準からの位相差は90度である。これは、第2軸61Bの配置位置と、第2軸61Cの配置位置との違いによるものである。すなわち、主軸60の軸方向から見た場合の、主軸60と第1軸61Aとを結ぶ線と、主軸60と第2軸61Bとを結ぶ線とがなす角度が180度であり、主軸60と第1軸61Aとを結ぶ線と、主軸60と第2軸61Cとを結ぶ線とがなす角度が90度だからである。
 数値制御装置1Xは、90度の位置位相差に基づいて、第1刃物台65Aおよび第2刃物台65Cの振動波形を算出する。具体的には、数値制御装置1Xは、主軸60の回転角に対する工具66Aと工具66Cの振動波形の180度となるよう、第1刃物台65Aの振動波形に対して、90度の振動位相差を設けておく。
 実施の形態1で述べたように、刃物台が2台である場合、主軸60の回転に対する2台の刃物台に設けられた工具の振動波形の位相差は180度であることが望ましい。刃物台の取付位置が、主軸60を中心とする同心円上において180度ずれている場合は、各刃物台に取り付けられた工具の振動指令の周期及び位相を同じにすることで、主軸60の回転に対する実際の位相が180度ずれることになる。
 一方で、実施の形態2のように、例えば工作機械の形状やサイズ等の制約により、2台の刃物台の取付位置を180度にできない場合がある。このような場合に、各刃物台に取り付けられた工具の振動指令の位相を調整することで、主軸60の回転に対する振動波形の位相を180度にすることができ、実施の形態1と同じ効果が得られる。
 このように、実施の形態2では、工具66A,66Cの位置関係を示す情報に基づいて、主軸60の回転に対する位相差が180度となるよう第1刃物台65Aの振動波形および第2刃物台65Cの振動波形の少なくとも一方を調整する。これにより、第1刃物台65Aと第2刃物台65Cとの配置位置が加工ワーク70を挟んで対向する位置でない場合であっても、主軸回転数を高くしつつ小さな振動周波数で加工ワーク70への振動切削を実行できる。したがって、加工ワーク70の加工速度を上げつつ切屑を分断することが可能となる。
 なお、実施の形態2では刃物台の取付位置の位置位相差を90度として説明したが、90度に限られないことは言うまでもない。取付位置の位置位相差と、振動指令の振動位相差によって、主軸60の回転に対する2台の刃物台に設けられた工具の振動波形の位相差が180度であれば、実施の形態2と同じ効果が得られる。
実施の形態3.
 つぎに、図12から図15を用いてこの発明の実施の形態3について説明する。実施の形態3では、3つの刃物台を用いて加工ワーク70を振動切削する。
 図12は、実施の形態3にかかる工作機械が備える刃物台の配置位置を説明するための図である。図12では、主軸60の軸方向から見た場合の、刃物台の配置位置の関係を示している。図12において、X1軸を、主軸60を中心として半時計回りに120度回転させた軸がX4軸であり、Y1軸を、主軸60を中心として半時計回りに120度回転させた軸がY4軸であり、Z1軸を、主軸60を中心として半時計回りに120度回転させた軸がZ4軸である。また、図12において、X1軸を、主軸60を中心として時計回りに120度回転させた軸がX5軸であり、Y1軸を、主軸60を中心として時計回りに120度回転させた軸がY5軸であり、Z1軸を、主軸60を中心として時計回りに120度回転させた軸がZ5軸である。実施の形態3では、工作機械110が、第1刃物台65Aと、第2刃物台65Dと、第3刃物台65Eとを備えている。なお、以下の説明では、第1刃物台65A、第2刃物台65D、および第3刃物台65Eをまとめて3つの刃物台という場合がある。
 3つの刃物台は、何れも旋回式の刃物台である。第2刃物台65Dは、複数の工具66Dを取り付け可能となっており、工具66Dを旋回させることで使用する工具66Dを切り替える。また、第3刃物台65Eは、複数の工具66Eを取り付け可能となっており、工具66Eを旋回させることで使用する工具66Eを切り替える。
 駆動部90は、工具66Aを第1軸61Aの軸方向に沿って移動させ、工具66Dを第2軸61Dの軸方向に沿って移動させ、工具66Eを第3軸61Eの軸方向に沿って移動させる。第2軸61Dおよび第3軸61Eは、何れも主軸60に平行な軸である。なお、実施の形態3では、説明の便宜上、第1刃物台65Aの振動を工具66Aの振動として説明し、第2刃物台65Dの振動を工具66Dの振動として説明し、第3刃物台65Eの振動を工具66Eの振動として説明する場合がある。
 3つの刃物台は、主軸60を中心とした同心円上に配置されている。具体的には、第1刃物台65Aと第2刃物台65Dと第3刃物台65Eとは、加工ワーク70の被加工面に沿って同心円上に配置されている。すなわち、工具66A,66D,66Eは、主軸60の軸方向の位置が同じである。また、3つの刃物台を主軸60の軸方向から見た場合、主軸60と第1刃物台65Aとを結ぶ線と、主軸60と第2刃物台65Dとを結ぶ線とがなす角度は120度である。また、3つの刃物台を主軸60の軸方向から見た場合、主軸60と第2刃物台65Dとを結ぶ線と、主軸60と第3刃物台65Eとを結ぶ線とがなす角度は120度である。すなわち、第1刃物台65Aと第2刃物台65Dとは、3分の1回転分だけ位相がずれており、第2刃物台65Dと第3刃物台65Eとは、3分の1回転分(120度)だけ位相がずれている。実施の形態3では、工具が3つであるため、工具間の特定の位相差(360/n)は120度となる。
 実施の形態3では、合成波形生成部27が、第1刃物台65Aの振動波形と、第2刃物台65Dの振動波形とを合成した合成振動波形を生成する。また、合成波形生成部27が、第2刃物台65Dの振動波形と、第3刃物台65Eの振動波形とを合成した合成振動波形を生成する。
 図13は、実施の形態3にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、3つの刃物台による振動が、同じ振動周波数で同じ振幅である場合について説明する。
 3つの刃物台で振動切削を行う場合、切屑を効率良く分断するには、3つの刃物台間の位相差が特定の位相差であることが望ましい。振動切削を行う工具が工具66A,66D,66Eのように3つの工具である場合、特定の位相差は、120度である。すなわち、1つ目の工具が基準点に対し0度の角度に配置されている場合、残りの2つの工具は基準点に対し120度、240度の位置に配置されている。つまり、3つの刃物台の刃物台間の切削位置が、それぞれ3分の1回転ずれていることが望ましい。
 実施の形態3では、第1刃物台65Aによる切削位置と第2刃物台65Dによる切削位置とが、3分の1回転ずれており、第2刃物台65Dによる切削位置と第3刃物台65Eによる切削位置とが、3分の1回転ずれている。換言すると、第1刃物台65Aと第2刃物台65Dとの間の位相差が120度であり、第2刃物台65Dと第3刃物台65Eとの間の位相差が120度である。
 3つの刃物台間の位相差がそれぞれ120度ずつでない場合、波形算出部24は、3つの刃物台の振動波形を算出する際に振動波形に対して位相の調整を行う。波形算出部24は、3つの刃物台の少なくとも1つの振動波形の位相を調整することによって、3つの刃物台間の位相差がそれぞれ120度ずつとなるようにする。
 振動波形のグラフ103A~103Eは、主軸60が1回転する間の工具66A,66D,66Eの振動回数が0.75回である場合の振動波形を示している。振動波形のグラフ103A~103Eは、横軸が主軸60の回転角度、すなわち主軸60の1回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ103Aは、第1刃物台65Aの工具66Aの振動波形を示しており、グラフ103Bは、第2刃物台65Dの工具66Dの振動波形を示しており、グラフ103Cは、第3刃物台65Eの工具66Eの振動波形を示している。
 グラフ103Dは、グラフ103Aの振動波形と、グラフ103Bの振動波形とが合成された合成振動波形を示している。グラフ103Eは、グラフ103Bの振動波形と、グラフ103Cの振動波形とが合成された合成振動波形を示している。
 グラフ103Aに示すように、工具66Aは、主軸60の回転角度が0度の位置から切削を開始し、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。また、グラフ103Bに示すように、工具66Dは、主軸60の回転角度が120度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。また、グラフ103Cに示すように、工具66Eは、主軸60の回転角度が240度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具66C,66Dは、工具66Aと同様の振動切削を行う。
 グラフ103Dに示すように、0度を含む回転角度領域および240度を含む回転角度領域において、工具66Aの振動波形と工具66Dの振動波形とが重なっている。工具66Aの振動波形と工具66Dの振動波形とが重なっている回転角度領域のうち、240度を含む領域73Aでは、工具66Dが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。また、工具66Aの振動波形と工具66Dの振動波形とが重なっている回転角度領域のうち、0度を含む領域73Bでは、工具66Aまたは工具66Dが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。
 また、グラフ103Eに示すように、0度を含む回転角度領域および120度を含む回転角度領域において、工具66Dの振動波形と工具66Eの振動波形とが重なっている。工具66Dの振動波形と工具66Eの振動波形とが重なっている回転角度領域のうち、0度を含む領域73Cでは、工具66Dまたは工具66Eが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。また、工具66Dの振動波形と工具66Eの振動波形とが重なっている回転角度領域のうち、120度を含む領域73Dでは、工具66Eが加工ワーク70に接触しないので、加工ワーク70の切屑が分断されることとなる。
 図14は、実施の形態3にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図である。図14では、実施の形態3にかかる工作機械110に適用可能な振動周波数と、主軸回転数との対応関係を示している。なお、主軸回転数の箇所にかっこ書きで記載している主軸回転数は、1つの工具66Aのみで振動波形を実行する場合に適用可能な主軸回転数である。
 例えば、工具66A,66D,66Eへの振動周波数として75(Hz)が適用される場合、6000回転の主軸回転数を適用可能である。一方、1つの工具66Aへの振動周波数として75(Hz)が適用される場合、3000回転以下の主軸回転数しか適用できない。換言すると、数値制御装置1Xが、工具66A,66D,66Eを用いた振動切削を実行することによって、1つの工具66Aを用いた振動切削を実行する場合の2倍の主軸回転数を適用することができる。
 図15は、実施の形態3にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム81Rは、数値制御装置1Xが、3つの刃物台を備えた工作機械110を制御する際に用いられる。このため、加工プログラム81Rは、第1刃物台65A用の加工プログラム812Aと、第2刃物台65D用の加工プログラム812Dと、第3刃物台65E用の加工プログラム812Eとを含んでいる。
 実施の形態3の加工プログラム81Rと、実施の形態1の加工プログラム81Pとの相違点は、G165における「C」の箇所である。すなわち、実施の形態1における第2軸61B用の加工プログラム810Bの基準からの位相差が180度であるのに対し、実施の形態3における第2軸61D用の加工プログラム812Dの基準からの位相差が120度であり、第3軸61E用の加工プログラム812Eの基準からの位相差が240度である。なお、第2軸61D用の加工プログラム812Dの基準からの位相差が、120度の近辺であっても、120度の場合と同様の効果を得ることができる。また、第3軸61E用の加工プログラム812Eの基準からの位相差が、240度の近辺であっても、240度の場合と同様の効果を得ることができる。
 工作機械110が、1つの工具66Aを用いて振動切削を実行する場合、主軸60が1回転する間の振動回数は1.5回である。すなわち、加工プログラムにおいて、「D」=1.5が設定される。一方、工作機械110が、3つの工具66A,66D,66Eを用いて振動切削を実行する場合、主軸60が1回転する間の振動回数は0.75回である。したがって、前述したように、3つの工具66A,66D,66Eを用いて振動切削を実行する場合、1つの工具66Aを用いて振動切削を実行する場合の2倍の主軸回転数を適用することができる。
 実施の形態3によれば、主軸60を中心とする同心円上に3つの工具を配置するための三台の刃物台を、主軸60の回転に対しての各工具間の位相差が120度となるように配置した。その結果、実施の形態2よりもさらに小さな振動周波数で主軸60の回転数を高くできるという効果が得られる。
 このように、実施の形態3によれば、振動波形の各位相差が120度ずつである3つの刃物台の振動波形を用いて工具66A,66D,66Eに加工ワーク70への振動切削を行わせるので、主軸回転数を高くした場合であっても小さな振動周波数で加工ワーク70への振動切削を実行できる。これにより、加工ワーク70の加工速度を上げつつ切屑を分断することが可能となる。
 実施の形態1から3では、1つの主軸に対する工具が2つあるいは3つの場合を説明したが、4つ以上あっても良いことは言うまでもない。
 1X 数値制御装置、2X 制御演算部、3 入力操作部、4 表示部、5 PLC操作部、11A,11B 振動指令解析部、12A,12B 移動指令解析部、21A,21B 指令移動量算出部、22A,22B 振動移動量算出部、23 位相算出部、24 波形算出部、27 合成波形生成部、34 記憶部、37 解析処理部、38X 補間処理部、39 加減速処理部、60 主軸、61A 第1軸、61B~61D 第2軸、61E 第3軸、65A 第1刃物台、65B~65D 第2刃物台、65E 第3刃物台、66A~66E 工具、70 加工ワーク、81P~81R 加工プログラム、90 駆動部、110 工作機械。

Claims (7)

  1.  加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのn個(nは2以上の整数)の工具を駆動するn個の駆動軸と、を制御するための数値制御装置であって、
     前記主軸の回転角に対するn個の前記駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部と、
     前記位相算出部の結果に基づいて、前記主軸の回転角に対するn個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出部と、
     を備えた数値制御装置。
  2.  前記特定の位相差は、(360/n)度である、
     請求項1に記載の数値制御装置。
  3.  加工対象物の回転軸である主軸と、
     前記加工対象物を加工するn個(nは2以上の整数)の工具を移動および振動させるn個の駆動軸と、
     を備え、
     n個の前記駆動軸は、前記主軸を中心とした同心円上に配置されている、
     工作機械。
  4.  n個の前記駆動軸は、(360/n)度の位置位相差となる位置に配置されている、
     請求項3に記載の工作機械。
  5.  前記工具及び前記駆動軸は2個である、
     請求項3または4に記載の工作機械。
  6.  前記工具及び前記駆動軸は3個である、
     請求項3または4に記載の工作機械。
  7.  加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのn個(nは2以上の整数)の工具を駆動するn個の駆動軸と、を制御するための数値制御方法であって、
     前記主軸の回転角に対するn個の前記駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出ステップと、
     前記位置位相差の算出結果に基づいて、前記主軸の回転角に対するn個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出ステップと、
     を含む数値制御方法。
PCT/JP2018/039905 2018-10-26 2018-10-26 数値制御装置、工作機械および数値制御方法 WO2020084771A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019541208A JPWO2020084771A1 (ja) 2018-10-26 2018-10-26 数値制御装置および数値制御方法
PCT/JP2018/039905 WO2020084771A1 (ja) 2018-10-26 2018-10-26 数値制御装置、工作機械および数値制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/039905 WO2020084771A1 (ja) 2018-10-26 2018-10-26 数値制御装置、工作機械および数値制御方法

Publications (1)

Publication Number Publication Date
WO2020084771A1 true WO2020084771A1 (ja) 2020-04-30

Family

ID=70331379

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/039905 WO2020084771A1 (ja) 2018-10-26 2018-10-26 数値制御装置、工作機械および数値制御方法

Country Status (2)

Country Link
JP (1) JPWO2020084771A1 (ja)
WO (1) WO2020084771A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149436A (ja) * 2019-03-14 2020-09-17 ファナック株式会社 数値制御装置及び工作機械
JP2020170365A (ja) * 2019-04-03 2020-10-15 ファナック株式会社 数値制御装置
JP7433572B1 (ja) 2023-07-31 2024-02-19 三菱電機株式会社 数値制御装置および数値制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05212653A (ja) * 1992-02-03 1993-08-24 Jatco Corp Nc旋盤
US20100138047A1 (en) * 2008-11-26 2010-06-03 Siemens Aktiengesellschaft Controlling a slave drive with dynamic determination of the dynamics of the master axis
WO2018181447A1 (ja) * 2017-03-29 2018-10-04 シチズン時計株式会社 工作機械の制御装置および工作機械

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3224964B2 (ja) * 1995-02-24 2001-11-05 オークマ株式会社 Nc旋盤

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05212653A (ja) * 1992-02-03 1993-08-24 Jatco Corp Nc旋盤
US20100138047A1 (en) * 2008-11-26 2010-06-03 Siemens Aktiengesellschaft Controlling a slave drive with dynamic determination of the dynamics of the master axis
WO2018181447A1 (ja) * 2017-03-29 2018-10-04 シチズン時計株式会社 工作機械の制御装置および工作機械

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020149436A (ja) * 2019-03-14 2020-09-17 ファナック株式会社 数値制御装置及び工作機械
US11378933B2 (en) 2019-03-14 2022-07-05 Fanuc Corporation Numerical control device and machine tool for controlling at least two oscillating drive axes
JP2020170365A (ja) * 2019-04-03 2020-10-15 ファナック株式会社 数値制御装置
JP7433572B1 (ja) 2023-07-31 2024-02-19 三菱電機株式会社 数値制御装置および数値制御方法

Also Published As

Publication number Publication date
JPWO2020084771A1 (ja) 2021-02-15

Similar Documents

Publication Publication Date Title
US9886022B2 (en) Numerical control device
JP6416217B2 (ja) 工作機械の制御装置及びこの制御装置を備えた工作機械
CN108693835B (zh) 进行摆动切削的机床的控制装置
JP5901871B1 (ja) 数値制御装置
WO2020084771A1 (ja) 数値制御装置、工作機械および数値制御方法
WO2017051745A1 (ja) 工作機械の制御装置及びこの制御装置を備えた工作機械
JP5826444B1 (ja) 数値制御装置
JP6246915B2 (ja) 数値制御装置
JP5823082B1 (ja) 数値制御装置
WO2020084772A1 (ja) 数値制御装置および数値制御方法
JP7044734B2 (ja) サーボ制御装置
JP2011150648A (ja) 工作機械の制御装置
US11163296B2 (en) Numerical control device and numerical control method
JP2016194860A (ja) 振動切削加工装置および振動切削加工方法
KR101560529B1 (ko) 수치 제어 장치
WO2022264260A1 (ja) 情報処理装置、工作機械の制御装置、及びコンピュータプログラム
WO2021177449A1 (ja) 工作機械の制御装置、制御方法
JP6975192B2 (ja) 数値制御装置及び工作機械
WO2023007602A1 (ja) 工作機械の制御装置
WO2021177450A1 (ja) 工作機械の制御装置、制御方法
WO2022269751A1 (ja) 工作機械の制御装置
WO2023139743A1 (ja) 情報処理装置、工作機械の制御装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019541208

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18937794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18937794

Country of ref document: EP

Kind code of ref document: A1