WO2015140905A1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
WO2015140905A1
WO2015140905A1 PCT/JP2014/057150 JP2014057150W WO2015140905A1 WO 2015140905 A1 WO2015140905 A1 WO 2015140905A1 JP 2014057150 W JP2014057150 W JP 2014057150W WO 2015140905 A1 WO2015140905 A1 WO 2015140905A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
movement amount
vibration
command
correction
Prior art date
Application number
PCT/JP2014/057150
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 DE112014000229.1T priority Critical patent/DE112014000229B4/de
Priority to PCT/JP2014/057150 priority patent/WO2015140905A1/ja
Priority to JP2014528781A priority patent/JP5606658B1/ja
Priority to CN201480003102.7A priority patent/CN105122161B/zh
Publication of WO2015140905A1 publication Critical patent/WO2015140905A1/ja

Links

Images

Classifications

    • 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/404Numerical 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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37435Vibration of machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49166Compensation for measured deviation of tool path, as function of lenght of path

Definitions

  • the present invention relates to a numerical control device.
  • the cutting tool feed mechanism that feeds the cutting tool to the workpiece in at least two axial directions
  • the cutting tool feed drive motor is controlled by causing the cutting tool to vibrate at a low frequency in the at least two axial directions.
  • a numerical control device having a control mechanism is proposed (for example, see Patent Documents 1 to 3).
  • the control mechanism moves the cutting tool in at least two axial directions according to the operating means for performing various settings, and the workpiece rotation speed set by the operating means or the cutting tool feed amount per cutting tool rotation.
  • the advance amount, the retract amount, the advance speed, and the retract speed of the cutting tool feed mechanism according to mechanical characteristics such as inertia or motor characteristics of the feed shaft Is stored in a table in advance, and motor control means for controlling the cutting tool feed drive motor based on the data stored in the vibration cutting information storage means. ing.
  • low frequency vibration is generated by repeating forward and backward movements along the interpolation path.
  • the present invention has been made in view of the above, and for the actual tool path corrected or generated by the numerical controller based on the path specified by the program, the tool vibrates at a predetermined frequency with respect to the processing target.
  • An object of the present invention is to obtain a numerical control device that can be processed.
  • a numerical controller is configured to relatively move the tool and the processing target by two or more drive shafts provided on at least one of the tool and the processing target.
  • a numerical control device that performs machining on the machining target, and generates a correction path that corrects the movement path on the machining program with a correction distance so that the movement path on the machining program is formed on the machining target.
  • Vibration command analysis means for acquiring a vibration condition for relatively vibrating along the correction path, and a command movement amount that is a movement amount by the movement command in a unit time.
  • Command movement amount calculation means, and correction path vibration movement amount calculation means for calculating a vibration movement amount on the correction path, which is a movement amount due to vibration in the unit time at the time corresponding to the movement command, using the vibration condition.
  • the command movement amount and the vibration movement amount on the correction path are combined to calculate a combined movement amount, and the position moved by the combined movement amount from the position serving as the calculation reference of the combined movement amount is on the correction path. It is provided with the movement amount synthetic
  • the vibration along the correction path is given to the correction path obtained by correcting the movement path on the program with the correction distance.
  • the tool can be processed while being relatively vibrated at a predetermined frequency.
  • FIG. 1 is a block diagram showing an example of the configuration of the numerical control apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of the correction path.
  • FIG. 3 is a diagram schematically showing the configuration of the shaft of the numerical control apparatus according to Embodiment 1 that performs turning.
  • FIG. 4 is a diagram schematically showing the processing method according to the first embodiment.
  • FIG. 5 is a diagram showing an example of a machining program according to the first embodiment.
  • FIG. 6 is a flowchart illustrating an example of interpolation processing with vibration according to the first embodiment.
  • FIG. 7 is a diagram illustrating command positions of the X axis and the Z axis when the correction path is arcuate.
  • FIG. 1 is a block diagram showing an example of the configuration of the numerical control apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of the correction path.
  • FIG. 3 is a diagram schematically showing the configuration of the shaft of the numerical control apparatus according to
  • FIG. 8 is a block diagram showing an example of the configuration of the numerical controller according to the second embodiment.
  • FIG. 9 is a flowchart illustrating an example of interpolation processing with vibration according to the second embodiment.
  • FIG. 10 is a diagram schematically showing a processing method according to the second embodiment.
  • FIG. 11 is a block diagram showing an example of the configuration of the numerical control apparatus according to the third embodiment.
  • FIG. 12 is a diagram illustrating an example of insertion of a new route.
  • FIG. 13 is a flowchart illustrating an example of interpolation processing with vibration according to the third embodiment.
  • FIG. 14 is a diagram schematically showing a processing method according to the third embodiment.
  • FIG. 1 is a block diagram showing an example of the configuration of the numerical control apparatus according to the first embodiment.
  • the numerical control device 1 includes a drive unit 10, an input operation unit 20, a display unit 30, and a control calculation unit 40.
  • the drive unit 10 is a mechanism that drives one or both of the machining target and the tool in at least two axial directions.
  • a servo motor 11 that moves a workpiece and / or a tool in each axial direction defined on the numerical control device 1
  • a detector 12 that detects the position / speed of the servo motor 11
  • Each axis servo control unit 13 (X-axis servo control unit 13X, Z-axis servo control unit 13Z,...) That controls the position and speed of the machining target and / or tool based on the position / speed.
  • a servo control unit 13 that controls the position and speed of the machining target and / or tool based on the position / speed.
  • a spindle motor 14 that rotates a spindle provided on the machining target
  • a detector 15 that detects the position / rotation speed of the spindle motor 14, and a position / rotation speed from the detector 15 are provided on the machining object.
  • a spindle control unit 16 for controlling the rotation of the spindle.
  • the input operation unit 20 is configured by input means such as a keyboard, a button, or a mouse, and a user inputs a command or the like to the numerical control device 1 or inputs a machining program or a parameter.
  • the display unit 30 is configured by display means such as a liquid crystal display device, and displays information processed by the control calculation unit 40.
  • the control calculation unit 40 includes an input control unit 41, a data setting unit 42, a storage unit 43, a screen processing unit 44, an analysis processing unit 45, a machine control signal processing unit 46, and a PLC (Programmable Logic Controller) circuit.
  • the input control unit 41 receives information input from the input operation unit 20.
  • the data setting unit 42 stores the information received by the input control unit 41 in the storage unit 43. For example, when the input content is an edit of the machining program 432, the edited content is reflected in the machining program 432 stored in the storage unit 43, and when a parameter is input, the parameter 431 in the storage unit 43 is reflected. Is stored in the storage area.
  • the storage unit 43 stores information such as the parameters 431 used in the processing of the control calculation unit 40, the machining program 432 to be executed, the screen display data 433 to be displayed on the display unit 30, and the like.
  • the parameter 431 include a diameter (radius) for each tool, a correction distance that is an amount to be offset from a movement path on a machining program (hereinafter referred to as a program path) to an actual tool movement path when performing machining. Can do.
  • Examples of the correction include tool length correction, wear correction, nose R correction, other rotation direction correction, three-dimensional correction, and mechanical error correction.
  • the storage unit 43 is provided with a shared area 434 for storing temporarily used data other than the parameters 431 and the machining program 432.
  • the screen processing unit 44 performs control to display the screen display data in the storage unit 43 on the display unit 30.
  • the analysis processing unit 45 reads a machining program including one or more blocks, analyzes the read machining program for each block, generates a movement route in one block, and a vibration command to the machining program. Is generated by a vibration command analysis unit 452 that generates vibration information such as frequency and amplitude included in the vibration command and a movement path generation unit 451 when a vibration command is included.
  • a correction path generation unit 453 that generates a correction path that is an actual tool path from a movement path in one block, and a movement command generation unit 454 that generates a movement command from the correction path in one block.
  • the amplitude of the vibration command included in the machining program is preferably 1 micron or more and 300 microns or less.
  • the frequency is preferably 10 Hz or more and 300 Hz or less. This is because if the frequency is lower than 10 Hz, the effect of vibration cutting cannot be obtained, and if it is higher than 300 Hz, the servo system cannot respond.
  • the movement path generated by the movement path generation unit 451 generally indicates the locus of the contour of the processing target after being processed by the command.
  • the tool is cut with a tool.
  • the trajectory of the reference position of the tool (for example, the center position of the tool) when moving the tool with respect to the object to be processed is the above movement path. Is different. This is because the reference position of the tool and the position of the cutting edge do not match. Therefore, in actual machining, the correction path, which is the movement path of the tool reference position, using the correction distance that is the difference between the reference position of the tool and the position of the blade edge as the movement path of the machining program that is the contour to be machined. The control is performed using this correction path.
  • the correction route generation unit 453 performs processing for correcting this movement route to a correction route.
  • a correction path is formed by connecting points separated from each point on the movement path by a correction distance in the vertical direction.
  • the correction path generation unit 453 acquires a tool used for processing from the processing program, acquires a correction distance such as the diameter of the tool from the parameter 431 of the storage unit 43, and generates a correction path.
  • FIG. 2 is a diagram illustrating an example of a correction path.
  • a correction path P12 is formed by connecting points that have moved vertically by a correction distance d from each point on the program path P11.
  • the correction path P12 becomes the actual movement path of the tool, and the machining target has an outline indicated by the program path P11.
  • the program path P11 includes a curve or the program path P11 includes a corner
  • the program path P11 and the correction path P12 may have different lengths.
  • a correction path P12 may be obtained by simply translating the program path P11 by the correction distance d. In this case, the lengths of the program path P11 and the correction path P12 are equal.
  • the correction path is not generated when there is a distance between the reference position of the tool and the cutting edge.
  • the cutting edge is sharp, but wears with use,
  • the correction path may be generated even when the position is different from the new state.
  • the machine control signal processing unit 46 confirms that the auxiliary command is instructed when the analysis processing unit 45 reads an auxiliary command as a command for operating a machine other than the command for operating the numerical control axis (drive axis). Notify the PLC circuit unit 47.
  • the PLC circuit unit 47 receives a notification from the machine control signal processing unit 46 that an auxiliary command has been issued, the PLC circuit unit 47 executes processing corresponding to the auxiliary command.
  • the interpolation processing unit 48 uses a correction path analyzed by the analysis processing unit 45, a command movement amount calculation unit 481 that calculates a command movement amount that is a movement amount that moves in unit time (interpolation period), and a vibration command analysis unit 452.
  • a correction path vibration movement amount calculation unit 482 that calculates a movement amount on the correction path that is a movement amount in a unit time for vibrating the tool or the workpiece on the correction path based on the vibration information from
  • a movement amount combining unit 483 that calculates a combined movement amount by combining the command movement amount per hit and the vibration movement amount on the correction path, and a movement amount of each drive shaft from the combined movement amount per unit time so as to pass through the correction path
  • a combined movement amount decomposing unit 484 for calculating.
  • the acceleration / deceleration processing unit 49 converts the combined movement amount of each drive axis output from the interpolation processing unit 48 into a movement command per unit time considering acceleration / deceleration in accordance with a previously specified acceleration / deceleration pattern.
  • the axis data output unit 50 outputs the movement command per unit time processed by the acceleration / deceleration processing unit 49 to the servo control units 13X, 13Z,... That control each drive axis.
  • FIG. 3 is a diagram schematically showing the configuration of the shaft of the numerical control apparatus according to Embodiment 1 that performs turning.
  • a Z axis and an X axis that are orthogonal to each other in the drawing are provided.
  • FIG. 3A shows a case where only the tool 62, which is a turning tool for performing turning, for example, is moved in the Z-axis and X-axis directions while the workpiece 61 is fixed, and FIG.
  • This is a case where the object 61 is moved in the Z-axis direction and the tool 62 is moved in the X-axis direction.
  • the processing described below can be performed.
  • FIG. 4 is a diagram schematically showing the processing method according to the first embodiment. Here, a case is shown in which Z-axis and X-axis that are orthogonal to each other in the plane of the paper are provided, and machining is performed while relatively moving the tool 62 and the machining target along the movement path in the ZX plane.
  • the movement route P11 indicates a program route.
  • the center position 62a which is the reference position
  • the cutting edge position 62b (the position of the tool in contact with the machining target) for turning the contour of the machining target are separated by a correction distance d. Therefore, the correction path P12 is set at a position shifted in the negative direction of the X axis by the correction distance d with respect to the program path P11.
  • FIG. 5 is a diagram showing an example of a machining program according to the first embodiment.
  • the machining program is read and executed for each row (block).
  • “G00 X20.0 Z0.0;” in line 402 is a positioning command
  • “G01 X20.0 Z30.0;” in line 403 is a linear interpolation command. This is a command used in the control device.
  • “G200 F50 A0.03;” in row 401 and “G201;” in row 404 are commands for vibration cutting in the first embodiment, which are newly provided commands.
  • the command “G200” means the start of vibration cutting
  • the command “G201” means the end of vibration cutting.
  • “F” and the subsequent numerical value mean the frequency (Hz) to be vibrated
  • “A” and the numerical value subsequent to it mean the amplitude (for example, mm) to vibrate. Note that this is an example, and the symbols indicating the start and end of vibration cutting, the frequency and amplitude to be vibrated may be other things, and the frequency and amplitude command values may be arbitrary numerical values.
  • a small vibration (amplitude is several hundred micrometers or less and frequency is several hundred Hz or less) Command.
  • the vibration condition is specified in the machining program.
  • the vibration condition may not be specified in the machining program.
  • FIG. 6 is a flowchart illustrating an example of interpolation processing with vibration according to the first embodiment.
  • a program path including the position and speed of a tool and / or a machining target is generated from the machining program by the movement path generation unit 451 of the analysis processing unit 45, and an actual tool reference is calculated using parameters by the correction path generation unit 453.
  • a correction path is generated by correcting the program path according to the position.
  • a movement command having a correction path is generated by the movement command generation unit 454 and output to the interpolation processing unit 48. This correction is performed based on, for example, a correction distance between the reference position of the tool and the cutting edge, or a correction distance in consideration of the amount of positional deviation caused by wear of the cutting edge.
  • the vibration command analysis unit 452 outputs a vibration condition including the frequency and amplitude included in the machining program to the interpolation processing unit 48.
  • the interpolation processing unit 48 acquires the movement command and the vibration condition output from the analysis processing unit 45 (step S11).
  • the command movement amount calculation unit 481 of the interpolation processing unit 48 calculates a command movement amount (a movement amount by the movement command) per unit time (interpolation cycle) from the movement command generated based on the correction path (Ste S12). This is obtained by a predetermined method depending on the type such as linear interpolation or circular interpolation.
  • the correction path vibration movement amount calculation unit 482 calculates a correction path vibration movement amount that is a movement amount due to vibration per unit time (step S13). Assuming the basic vibration waveform of the acquired vibration conditions (frequency, amplitude) as the vibration movement amount on the correction path, the position on the basic vibration waveform corresponding to the current interpolation time is obtained, and as the difference from the position at the previous interpolation time This time, the vibration movement amount on the correction path corresponding to the interpolation time is obtained. Examples of the fundamental vibration waveform include a sine wave or a rectangular wave.
  • the movement amount combining unit 483 calculates a combined movement amount obtained by combining the command movement amount and the vibration movement amount on the correction path (step S14).
  • the vibration movement amount on the correction path is added to the command movement amount.
  • the combined movement amount decomposing unit 484 calculates an axis movement amount obtained by decomposing the combined movement amount per unit time into components of each drive shaft so as to pass through the correction path (step S15).
  • the calculated axis movement amount is output to the servo control unit 13 of each drive axis via the axis data output unit 50 (step S16).
  • step S14 when the position of the end point of the combined movement amount is positioned on the opposite side of the processing direction from the processing start position, or when the end point of the combined movement amount passes the processing direction side from the processing end position. Is processed to an unintended region. Therefore, if the position of the end point of the combined movement amount is located on the opposite side of the processing direction from the processing start position, the end position of the combined movement amount is set to the processing start point, and the combined movement amount When the end point passes the processing direction side from the processing end position, the combined movement amount may be corrected so that the end point of the combined movement amount reaches the processing end point.
  • the command movement amount calculation unit 481 determines whether the total value of the commanded command movement amount so far is less than the target movement amount (step S17). If the sum of the command movement amounts is less than the target movement amount (Yes in step S17), the process returns to step S12, and the above-described processes are repeatedly executed. On the other hand, when the total value of the command movement amounts has reached the target movement amount (in the case of No in step S17), the processing is completed because the machining has proceeded to the target position.
  • FIG. 7 is a diagram showing command positions of the X axis and the Z axis when the correction path is circular.
  • the Z axis and the X axis are taken in the plane of the paper, and the tool 62 or the machining target is drawn so that the tool 62 draws an arc-shaped correction path with respect to the machining target in the ZX plane.
  • Move the position During this processing, a vibration is applied such that the position of the vibration draws a sine wave with respect to time.
  • the movement direction of the tool 62 with respect to the machining target at the machining start point P0 is the Z-axis direction
  • the movement direction of the tool 62 with respect to the machining target at the machining end point P1 is the X-axis direction. Therefore, at the start of machining, the vibration is only in the Z-axis direction and has no X-axis direction component.
  • the vibration component in each drive axis direction gradually decreases in the Z-axis direction and gradually increases in the X-axis direction.
  • the vibration is only in the X-axis direction and there is no component in the Z-axis direction.
  • FIG.7 (b) and (c) a mode that a vibration angle changes according to the moving direction of the tool 62 is shown by FIG.7 (b) and (c).
  • a command for performing vibration cutting that defines the frequency and amplitude of vibration applied along the movement path during machining is provided in the machining program, and correction information is obtained from the program path based on the movement command in the machining program.
  • a correction path that is a locus of the reference position of the tool 62 with respect to the processing target is generated, and vibration along the correction path is applied to the machining on the correction path.
  • by making the vibration along the correction path a low-frequency vibration having an amplitude of several hundred micrometers or less and a frequency of several hundred Hz or less, chips generated by cutting can be finely divided by the vibration.
  • the combined movement amount is corrected so that the end point of the combined movement amount reaches the machining start point, and the combined movement amount is processed.
  • the processing direction side is passed from the end position, the combined movement amount is corrected so that the end point of the combined movement amount reaches the processing end point.
  • vibration is added during interpolation processing processing is performed by generating vibration at a higher frequency than when vibration is added in processing (for example, program analysis processing) that is executed at a cycle longer than interpolation processing. It has the effect that can be performed.
  • FIG. FIG. 8 is a block diagram showing an example of the configuration of the numerical controller according to the second embodiment. This numerical control device 1 is different from the first embodiment in the configuration of an analysis processing unit 45 and an interpolation processing unit 48.
  • the analysis processing unit 45 does not include the movement route generation unit 451 and the correction route generation unit 453 of the first embodiment, and instructs the numerical control device 1 to automatically generate a route in one read block (hereinafter referred to as a route). And an additional command generation unit 455 for generating an additional command in accordance with the route generation instruction when the route generation instruction is included. Further, the movement command generation unit 454 reads a machining program including one or more blocks, analyzes the read machining program for each block, and generates a movement command for movement by one block.
  • the interpolation processing unit 48 does not include the vibration movement amount calculation unit 482 on the correction path of the first embodiment, and based on the vibration information from the vibration command analysis unit 452, the tool in the program path specified by the movement command generation unit 454 Or based on the vibration information from the normal path vibration movement amount calculation unit 485 that calculates the normal path vibration movement amount that is the movement amount per unit time for vibrating the workpiece, and the vibration information from the vibration command analysis unit 452
  • An additional on-path vibration movement amount calculation unit 486 that calculates an additional path vibration movement amount that is a movement amount per unit time for vibrating the tool or processing target on the additional path defined by the command generation unit 455. Further prepare.
  • the movement amount combining unit 483 includes the command movement amount calculated by the command movement amount calculation unit 481, the normal path vibration movement amount calculated by the normal path vibration movement amount calculation unit 485, and the additional path vibration movement.
  • the combined movement amount is calculated using the vibration movement amount on the additional route calculated by the amount calculation unit 486.
  • the command movement amount corresponding to the program route defined by the movement command generation unit 454 is synthesized with the vibration movement amount on the normal route, and corresponds to the additional route defined by the additional command generation unit 455.
  • the command movement amount to be performed is synthesized with the vibration movement amount on the additional path.
  • symbol is attached
  • FIG. 9 is a flowchart illustrating an example of interpolation processing with vibration according to the second embodiment.
  • the movement command generation unit 454 of the analysis processing unit 45 outputs a movement command having a program path including the position and speed of the tool and / or the processing target from the machining program to the interpolation processing unit 48, and the additional command generation unit 455 also outputs the movement command.
  • An additional command having an additional path including the position and speed of the tool and / or machining target is output to the interpolation processing unit 48.
  • the addition command is a command in which the additional command generation unit 455 passes the route generation instruction to the interpolation processing unit 48 when there is a block including the route generation instruction in the machining program.
  • the vibration command analysis unit 452 outputs a vibration condition including the frequency and amplitude included in the machining program to the interpolation processing unit 48. Thereby, the interpolation processing unit 48 acquires the movement command and the vibration condition output from the analysis processing unit 45 (step S51).
  • the command movement amount calculation unit 481 of the interpolation processing unit 48 calculates a command movement amount per unit time (interpolation period) from the movement command and the additional command (which is a movement amount based on the movement command and the additional command) (step). S52). This is obtained by a predetermined method depending on the type such as linear interpolation or circular interpolation.
  • the vibration movement amount calculation unit 485 on the normal path calculates a vibration movement amount on the normal path that is a movement amount due to vibration per unit time for the program path obtained from the movement command, and the vibration movement amount on the additional path.
  • the calculating unit 486 calculates a vibration movement amount on the additional route, which is a movement amount due to vibration per unit time, with respect to the additional route obtained from the addition command (step S53).
  • the amount of vibration movement on the normal path and the amount of vibration movement on the additional path assume a sine wave of the acquired vibration conditions (frequency, amplitude), find the position on the sine wave corresponding to the current interpolation time, and at the time of the previous interpolation time The vibration movement amount corresponding to the current interpolation time is obtained as a difference from the position.
  • the movement amount combining unit 483 calculates a combined movement amount obtained by combining the command movement amount, the vibration movement amount on the normal route, and the vibration movement amount on the additional route (step S54).
  • the vibration movement amount on the normal route is added to the command movement amount on the program route included in the movement command
  • the vibration movement amount on the additional route is added to the command movement amount on the additional route included in the additional command.
  • the combined movement amount decomposing unit 484 calculates an axis movement amount obtained by decomposing the combined movement amount per unit time into components of each drive axis so as to pass through a movement path obtained by connecting the program path and the additional path. (Step S55).
  • the calculated axis movement amount is output to the servo control unit 13 of each drive axis via the axis data output unit 50 (step S56).
  • step S54 when the end position of the combined movement amount is positioned on the opposite side of the processing direction from the processing start position, or when the end point of the combined movement amount passes the processing direction side from the processing end position. Is processed to an unintended region. Therefore, if the position of the end point of the combined movement amount is located on the opposite side of the processing direction from the processing start position, the end position of the combined movement amount is set to the processing start point, and the combined movement amount When the end point passes the processing direction side from the processing end position, the combined movement amount may be corrected so that the end point of the combined movement amount reaches the processing end point.
  • the command movement amount calculation unit 481 determines whether the total value of the commanded command movement amount so far is less than the target movement amount (step S57). If the total value of the command movement amounts is less than the target movement amount (Yes in step S57), the process returns to step S52, and the above-described processes are repeatedly executed. On the other hand, when the total value of the command movement amounts has reached the target movement amount (in the case of No in step S57), the processing is completed because the machining has proceeded to the target position.
  • FIG. 10 is a diagram schematically showing a machining method according to the second embodiment
  • (a) is a diagram showing an example of a machining program
  • (b) is a movement when the machining program of (a) is executed. It is a figure which shows a path
  • (c) is a figure which shows the vibration state in each axis when the machining program of (a) is executed.
  • the processing is to apply vibration during movement.
  • the movement route in FIG. 10 (a) is shown in FIG. 10 (b).
  • Pa1 and Pa3 are normal program paths specified in the commands in the machining program of FIG.
  • Pa2 is not shown in the machining program of FIG. 10A, but is an additional route generated by the additional command generated by the additional command generation unit 455 based on the route generation instruction “C”.
  • machining is performed while applying vibration along the program path in the program paths Pa1 and Pa3, and machining is performed while applying vibration along the additional path in the additional path Pa2.
  • This state is shown in FIG. Since the program path Pa1 is machining along the Z axis, it vibrates only in the X axis direction. In the additional path Pa2, vibration is performed in both the Z-axis direction and the X-axis direction. Since the program path Pa3 is machining along the X axis, it vibrates only in the Z axis direction. In this way, it is possible to add vibration to an additional route that is not explicitly shown in the machining program and is based on the additional command generated by the additional command generation unit 455.
  • vibration is also generated for an additional route generated according to the route generation instruction.
  • Embodiment 3 In the first embodiment, a correction path that is a trajectory of the reference position of the tool with respect to the machining target is created from the movement path specified by the machining program in consideration of the correction distance such as the diameter of the tool. The case where vibration is applied has been described.
  • a route generation instruction when included in the machining program, an additional command based on the route generation command is generated and vibration is applied to the additional route based on the additional command.
  • a correction route is created from a program route specified by a movement command, there is a case where a new route must be inserted between the correction routes.
  • processing with vibration is performed on the correction path corrected with respect to the path defined by the movement command or the additional command and the insertion path inserted between the correction paths.
  • a numerical control device that can be used will be described.
  • FIG. 11 is a block diagram showing an example of the configuration of the numerical control apparatus according to the third embodiment. This numerical control device is different from the first embodiment in the configuration of an analysis processing unit 45 and an interpolation processing unit 48.
  • the analysis processing unit 45 analyzes whether the configuration of the first embodiment includes a route generation instruction in one read block. If the route generation instruction is included, the analysis processing unit 45 adds an additional command according to the route generation instruction. And an additional route generation unit 456 that generates an additional route that is a movement route in accordance with the additional command.
  • the correction route generation unit 453 generates a correction route using the correction distance d based on the program route and the additional route. Further, the correction path generation unit 453 analyzes whether the machining program includes a mode for inserting a path not defined in the machining program such as nose R correction (hereinafter referred to as a path insertion mode), and inserts the path. When the mode is included, a new insertion path that is not defined in the machining program is generated based on the path insertion mode, and a process of generating a correction path is performed.
  • a path insertion mode for inserting a path not defined in the machining program such as nose R correction
  • FIG. 12 is a diagram showing an example of insertion of a new route.
  • a case is shown in which nose R correction is performed at a point where the direction of the route in the program route P11 changes.
  • the program path P11 is corrected with the correction distance d to generate paths Pa1, Pa3, and Pa5.
  • the end portion A1 of the route Pa1 and the end portion A2 of the route Pa3 and the end portion A3 of the route Pa3 and the end portion A4 of the route Pa5 are connected. Absent.
  • the path Pa2 is inserted between the end A1 and the end A2 by nose R correction
  • the path Pa4 is inserted between the end A3 and the end A4.
  • a correction route P12 including the routes Pa1 to Pa5 is generated.
  • the interpolation processing unit 48 is a movement amount per unit time for vibrating the tool or the processing target on the correction route corresponding to the additional route specified by the additional command.
  • An additional on-route vibration movement amount calculation unit 486 is further provided for calculating a certain on-route vibration movement amount.
  • the vibration movement amount calculation unit 482 on the correction path is based on the vibration information from the vibration command analysis unit 452, and the tool or the machining is performed on the path not corresponding to the additional path among the correction paths generated by the correction path generation unit 453.
  • An additional path vibration movement amount that is a movement amount per unit time for vibrating the object is calculated.
  • the route that does not correspond to the additional route among the correction routes includes a route obtained by correcting the program route with the correction distance and an insertion route generated based on the route insertion mode.
  • the movement amount combining unit 483 calculates the command movement amount calculated by the command movement amount calculation unit 481, the vibration movement amount on correction path calculated by the vibration movement amount calculation unit 482 on correction path, and the vibration movement amount addition on the additional path.
  • the combined movement amount is calculated using the additional path vibration movement amount calculated by the unit 486. Specifically, the command movement amount for the route that does not correspond to the additional route in the correction route is combined with the vibration movement amount on the correction route, and the command movement amount for the route that corresponds to the additional route in the correction route. Is synthesized with the amount of vibration movement on the additional path.
  • symbol is attached
  • FIG. 13 is a flowchart illustrating an example of interpolation processing with vibration according to the third embodiment.
  • a program path including the position and speed of the tool and / or the machining target is generated from the machining program by the movement path generation unit 451 of the analysis processing unit 45.
  • the additional command generation unit 455 generates an additional command including the position and speed of the tool and / or the machining target, and from this, an additional route that is a movement route on the program is generated.
  • the correction path generation unit 453 generates a correction path by correcting the program path and the additional path in accordance with the actual tool reference position using the parameters. At this time, if the path insertion mode is in the machining program, a new insertion path is inserted into the correction path.
  • the movement command generation unit 454 generates a movement command related to the correction route and outputs it to the interpolation processing unit 48.
  • the vibration command analysis unit 452 outputs a vibration condition including the frequency and amplitude included in the machining program to the interpolation processing unit 48.
  • the interpolation processing unit 48 acquires the movement command and the vibration condition output from the analysis processing unit 45 (step S71).
  • the command movement amount calculation unit 481 of the interpolation processing unit 48 calculates a command movement amount (a movement amount by the movement command) per unit time (interpolation cycle) from the movement command generated based on the correction path (Ste S72). This is obtained by a predetermined method depending on the type such as linear interpolation or circular interpolation.
  • the vibration movement amount calculation unit 482 on the correction path calculates a vibration movement amount on the correction path, which is a movement amount due to vibration per unit time, for a path that does not correspond to the additional path in the correction path.
  • the vibration movement amount calculation unit 486 calculates the vibration movement amount on the additional route, which is the movement amount due to vibration per unit time, for the route corresponding to the additional route in the correction route (step S73).
  • the amount of vibration movement on the correction path and the amount of vibration movement on the additional path assume a sine wave of the acquired vibration condition (frequency, amplitude), find the position on the sine wave corresponding to the current interpolation time, and The vibration movement amount corresponding to the current interpolation time is obtained as a difference from the position.
  • the movement amount combining unit 483 calculates a combined movement amount obtained by combining the command movement amount, the vibration movement amount on the correction route, and the vibration movement amount on the additional route (step S74).
  • the vibration movement amount on the correction route is added to the command movement amount on the route not corresponding to the additional route in the correction route
  • the vibration movement on the additional route is added to the command movement amount on the route corresponding to the additional route in the correction route. Add the amount.
  • the combined movement amount decomposing unit 484 calculates an axis movement amount obtained by decomposing the combined movement amount per unit time into components of each drive shaft so as to pass through the correction path (step S75).
  • the calculated axis movement amount is output to the servo control unit 13 of each drive axis via the axis data output unit 50 (step S76).
  • step S74 when the position of the end point of the combined movement amount is positioned on the opposite side of the processing direction from the processing start position, or when the end point of the combined movement amount passes the processing direction side from the processing end position. Is processed to an unintended region. Therefore, if the position of the end point of the combined movement amount is located on the opposite side of the processing direction from the processing start position, the end position of the combined movement amount is set to the processing start point, and the combined movement amount When the end point passes the processing direction side from the processing end position, the combined movement amount may be corrected so that the end point of the combined movement amount reaches the processing end point.
  • the command movement amount calculation unit 481 determines whether the total value of the commanded command movement amount so far is less than the target movement amount (step S77). If the sum of the command movement amounts is less than the target movement amount (Yes in step S77), the process returns to step S72, and the above-described processes are repeatedly executed. On the other hand, when the total value of the command movement amounts has reached the target movement amount (in the case of No in step S77), the processing is completed because the machining has proceeded to the target position.
  • FIG. 14 is a diagram schematically showing a machining method according to the third embodiment, (a) is a diagram showing an example of a machining program, and (b) is a movement when the machining program of (a) is executed. It is a figure which shows a path
  • the processing is to apply vibration during movement.
  • the program path and the correction path in FIG. 14 (a) are shown in FIG. 14 (b).
  • the program path P11 is calculated. Specifically, paths Pa01 and Pa03 are generated from the machining program. Further, since the machining program includes a chamfering instruction, the additional command generation unit 455 generates a chamfering additional command. Then, an additional route Pa02 generated by a chamfering addition command is generated by the additional route generation unit 456. Therefore, the program path P11 is composed of Pa1, Pa2, and Pa3.
  • a correction path P12 is generated from the program path P11. Specifically, the program path P11 is corrected with the correction distance d, and paths Pa1, Pa3, Pa5 corresponding to the paths Pa01, Pa02, Pa03 are created. In this state, there is no path between the end A1 of the path Pa1 and the end A2 of the path Pa3, and between the end A3 of the path Pa3 and the end A4 of the path Pa5. Thereafter, the path Pa2 is inserted between the end A1 and the end A2 by nose R correction, and the path Pa4 is inserted between the end A3 and the end A4. As a result, a correction route P12 including the routes Pa1 to Pa5 is generated.
  • the correction path vibration movement amount calculation unit 482 calculates the correction path vibration movement amount for the paths Pa1, Pa2, Pa4, and Pa5 that do not correspond to the addition path Pa02, and the addition path vibration movement amount calculation unit 486 adds the correction path vibration movement amount calculation unit 486.
  • the amount of vibration movement on the additional path is calculated for the path Pa3 corresponding to the path Pa02. These are combined with the command movement amount.
  • a path insertion mode when included in the machining program, an insertion path that connects between ends of the corrected path is generated, and an insertion path is inserted between the corrected paths to generate a correction path. Also, vibration is generated for this correction path.
  • vibration is also generated for the additional route generated according to the route generation instruction.
  • the first to third embodiments described above can also be applied to drilling.
  • the numerical control device is suitable for numerical control of a machine tool using a machining program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)
  • Turning (AREA)

Abstract

 加工プログラム上の移動経路が加工対象に形成されるように、補正距離で加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成部(453)と、加工対象に対して工具の基準位置を補正経路上で相対的に移動させる移動指令を生成する移動指令生成部(454)と、加工対象に対して工具の基準位置を補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析部(452)と、指令移動量算出部(481)と、単位時間での振動による移動量である補正経路上振動移動量を算出する補正経路上振動移動量算出部(482)と、指令移動量と補正経路上振動移動量とを合成して合成移動量を算出する移動量合成部(483)と、を備える。

Description

数値制御装置
 本発明は、数値制御装置に関するものである。
 従来では、旋削加工において、切削工具をワークに対して、少なくとも2軸方向に送り動作させる切削工具送り機構と、上記少なくとも2軸方向に切削工具を低周波振動させて切削工具送り駆動モータを制御する制御機構と、を有する数値制御装置が提案されている(たとえば、特許文献1~3参照)。この数値制御装置では制御機構は、各種設定を行う操作手段と、操作手段によって設定されたワークの回転数または切削工具1回転当たりの切削工具の送り量に応じて、切削工具を少なくとも2軸方向に同期させて送り動作させる25Hz以上の低周波で動作可能なデータとして、送り軸のイナーシャまたはモータ特性等の機械特性に応じた少なくとも切削工具送り機構の前進量、後退量、前進速度、後退速度が予め表にされて格納されている振動切削情報格納手段と、振動切削情報格納手段に格納されている当該データに基づいて切削工具送り駆動モータを制御してなるモータ制御手段と、を有している。これによって、補間経路に沿って前進、後退動作を繰り返すことによって、低周波振動を生成している。
特許第5033929号公報 特許第5139591号公報 特許第5139592号公報
 しかしながら、上記特許文献1~3では、プログラムで指令した経路そのものに対して振動条件を決定し、同経路上を振動しながら移動することが前提となっている。そのため、プログラムで指定した経路ではなく、数値制御装置が経路を補正または生成した場合の低周波振動切削については対応することができない。
 本発明は、上記に鑑みてなされたもので、プログラムで指定した経路に基づいて数値制御装置が補正または生成した実際の工具の経路についても加工対象に対して工具が所定の周波数で振動しながら加工することができる数値制御装置を得ることを目的とする。
 上記目的を達成するため、この発明にかかる数値制御装置は、工具および加工対象の少なくともいずれか一方に設けられた2以上の駆動軸によって、前記工具と前記加工対象とを相対的に移動させながら前記加工対象の加工を行う数値制御装置であって、加工プログラム上の移動経路が前記加工対象に形成されるように、補正距離で前記加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成手段と、前記加工対象に対して前記工具の基準位置を前記補正経路上で相対的に移動させる移動指令を生成する移動指令生成手段と、前記加工対象に対して前記工具の基準位置を前記補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析手段と、単位時間での前記移動指令による移動量である指令移動量を算出する指令移動量算出手段と、前記移動指令に対応する時刻における前記単位時間での振動による移動量である補正経路上振動移動量を、前記振動条件を用いて算出する補正経路上振動移動量算出手段と、前記指令移動量と前記補正経路上振動移動量とを合成して合成移動量を算出し、前記合成移動量の算出基準となる位置から前記合成移動量だけ移動した位置が前記補正経路上に位置するように、前記単位時間内の移動量を求める移動量合成手段と、を備えることを特徴とする。
 本発明によれば、プログラム上の移動経路を補正距離で補正した補正経路に対して補正経路に沿った振動を与えるようにしたので、プログラムで指定されていない補正経路についても、加工対象に対して工具が所定の周波数で相対的に振動しながら加工することができるという効果を有する。
図1は、実施の形態1による数値制御装置の構成の一例を示すブロック図である。 図2は、補正経路の一例を示す図である。 図3は、旋削加工を行う実施の形態1による数値制御装置の軸の構成を模式的に示す図である。 図4は、実施の形態1による加工方法を模式的に示す図である。 図5は、実施の形態1による加工プログラムの一例を示す図である。 図6は、実施の形態1による振動を伴う補間処理の一例を示すフローチャートである。 図7は、補正経路が円弧状の場合のX軸とZ軸の指令位置を示す図である。 図8は、実施の形態2による数値制御装置の構成の一例を示すブロック図である。 図9は、実施の形態2による振動を伴う補間処理の一例を示すフローチャートである。 図10は、実施の形態2による加工方法を模式的に示す図である。 図11は、実施の形態3による数値制御装置の構成の一例を示すブロック図である。 図12は、新たな経路の挿入の一例を示す図である。 図13は、実施の形態3による振動を伴う補間処理の一例を示すフローチャートである。 図14は、実施の形態3による加工方法を模式的に示す図である。
 以下に添付図面を参照して、本発明の実施の形態にかかる数値制御装置を詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
実施の形態1.
 図1は、実施の形態1による数値制御装置の構成の一例を示すブロック図である。数値制御装置1は、駆動部10と、入力操作部20と、表示部30と、制御演算部40と、を有する。
 駆動部10は、加工対象および工具のいずれか一方または両方を少なくとも2軸方向に駆動する機構である。ここでは、数値制御装置1上で規定された各軸方向に加工対象および/または工具を移動させるサーボモータ11と、サーボモータ11の位置・速度を検出する検出器12と、検出器12からの位置・速度に基づいて、加工対象および/または工具の位置や速度の制御を行う各軸方向のサーボ制御部13(X軸サーボ制御部13X,Z軸サーボ制御部13Z,・・・。なお、以下では、駆動軸の方向を区別する必要がない場合には、単にサーボ制御部13と表記する)と、を有する。また、加工対象に設けられた主軸を回転させる主軸モータ14と、主軸モータ14の位置・回転数を検出する検出器15と、検出器15からの位置・回転数に基づいて、加工対象に設けられた主軸の回転を制御する主軸制御部16と、を有する。
 入力操作部20は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置1に対するコマンドなどの入力、または加工プログラムもしくはパラメータなどの入力が行われる。表示部30は、液晶表示装置などの表示手段によって構成され、制御演算部40によって処理された情報が表示される。
 制御演算部40は、入力制御部41と、データ設定部42と、記憶部43と、画面処理部44と、解析処理部45と、機械制御信号処理部46と、PLC(Programmable Logic Controller)回路部47と、補間処理部48と、加減速処理部49と、軸データ出力部50と、を有する。
 入力制御部41は、入力操作部20から入力される情報を受け付ける。データ設定部42は、入力制御部41で受け付けられた情報を記憶部43に記憶する。たとえば入力された内容が加工プログラム432の編集の場合には、記憶部43に記憶されている加工プログラム432に編集された内容を反映させ、パラメータが入力された場合には記憶部43のパラメータ431の記憶領域に記憶する。
 記憶部43は、制御演算部40の処理で使用されるパラメータ431、実行される加工プログラム432、表示部30に表示させる画面表示データ433などの情報を記憶する。パラメータ431として、たとえば工具ごとの径(半径)、加工を行うに当たって加工プログラム上の移動経路(以下、プログラム経路という)から実際の工具の移動経路にオフセットさせる量である補正距離などを例示することができる。補正として、工具長補正、摩耗補正、ノーズR補正、その他回転方向の補正、あるいは3次元的な補正、機械誤差の補正などを例示することができる。また、記憶部43には、パラメータ431、加工プログラム432以外の一時的に使用されるデータを記憶する共有エリア434が設けられている。画面処理部44は、記憶部43の画面表示データを表示部30に表示させる制御を行う。
 解析処理部45は、1以上のブロックを含む加工プログラムを読み込み、読み込んだ加工プログラムを1ブロック毎に解析し、1ブロックでの移動経路を生成する移動経路生成部451と、加工プログラムに振動指令が含まれているかを解析し、振動指令が含まれている場合に、振動指令に含まれる周波数と振幅などの振動情報を生成する振動指令解析部452と、移動経路生成部451で生成された1ブロックでの移動経路から、実際の工具の経路である補正経路を生成する補正経路生成部453と、1ブロックでの補正経路から移動指令を生成する移動指令生成部454と、を有する。なお、この明細書においては、加工プログラムに含まれる振動指令の振幅は1ミクロン以上300ミクロン以下であることが望ましい。これは、振幅が1ミクロンより小さいと、切削効率が悪くなり、またサーボ系が応答できなくなるからであり、振幅が300ミクロンより大きいと、機械振動につながる虞があるからである。また、周波数は10Hz以上300Hz以下であることが望ましい。これは、周波数が10Hzより小さいと振動切削の効果が得られなくなるからであり、300Hzよりも大きいとサーボ系が応答できなくなるからである。
 移動経路生成部451で生成される移動経路は、一般的にその命令によって加工された後の加工対象の輪郭の軌跡を示すものである。そのような加工対象の輪郭を得るために、工具で切削するのであるが、加工対象に対して工具を移動させる際の工具の基準位置(たとえば工具の中心位置)の軌跡は、上記移動経路とは異なる。それは、工具の基準位置と刃先の位置とが一致していないためである。そこで、実際の加工では、加工対象の輪郭となる加工プログラムの移動経路を、工具の基準位置と刃先の位置との差である補正距離を用いて、工具の基準位置の移動経路である補正経路に補正し、この補正経路を用いて制御を行う。補正経路生成部453では、この移動経路を補正経路に補正する処理を行う。たとえば、移動経路上の各点から垂直な方向に補正距離だけ離れた点を連ねたものを補正経路とする。この際、補正経路生成部453では、加工プログラムから加工に用いられる工具を取得し、その工具の径などの補正距離を記憶部43のパラメータ431から取得して、補正経路を生成する。
 図2は、補正経路の一例を示す図である。図2(a)に示されるように、プログラム経路P11上の各点から垂直に補正距離dだけ移動した点を結んだものが補正経路P12となる。この補正経路P12が工具の実際の移動経路となり、これによって加工対象はプログラム経路P11で示される輪郭を有することになる。プログラム経路P11に曲線が含まれたり、あるいはプログラム経路P11にコーナが含まれたりなどする場合には、プログラム経路P11と、補正経路P12の長さは異なる場合がある。また、図2(b)に示されるように、プログラム経路P11を補正距離dだけ単純に平行移動したものが補正経路P12となる場合もある。この場合には、プログラム経路P11と補正経路P12の長さは等しくなる。なお、実施の形態1では、工具の基準位置と刃先との間に距離がある場合に補正経路を生成するのではなく、たとえば新品状態の工具では刃先は鋭利であるが、使用につれて摩耗し、その位置が新品状態とは違ってくるような場合などにも補正経路を生成してもよい。
 機械制御信号処理部46は、解析処理部45によって、数値制御軸(駆動軸)を動作させる指令以外の機械を動作させる指令としての補助指令を読み込んだ場合に、補助指令が指令されたことをPLC回路部47に通知する。PLC回路部47は、機械制御信号処理部46から補助指令が指令されたことの通知を受けると、その補助指令に対応する処理を実行する。
 補間処理部48は、解析処理部45が解析した補正経路を用い、単位時間(補間周期)で移動する移動量である指令移動量を算出する指令移動量算出部481と、振動指令解析部452からの振動情報に基づいて補正経路上で工具または加工対象を振動させるための単位時間での移動量である補正経路上振動移動量を算出する補正経路上振動移動量算出部482と、単位時間当たりの指令移動量と補正経路上振動移動量とを合成した合成移動量を算出する移動量合成部483と、補正経路内を通るように単位時間当たりの合成移動量から各駆動軸の移動量を算出する合成移動量分解部484と、を有する。
 加減速処理部49は、補間処理部48から出力された各駆動軸の合成移動量を、予め指定された加減速パターンに従って加減速を考慮した単位時間当たりの移動指令に変換する。軸データ出力部50は、加減速処理部49で処理された単位時間当たりの移動指令を、各駆動軸を制御するサーボ制御部13X,13Z,・・・に出力する。
 工具または加工対象を振動させながら加工を行うためには、上記したように、加工を行う際に、加工対象と工具とを相対的に移動させればよい。図3は、旋削加工を行う実施の形態1による数値制御装置の軸の構成を模式的に示す図である。この図では、紙面内に直交するZ軸とX軸を設けている。図3(a)は、加工対象61を固定し、たとえば旋削加工を行う旋削加工用工具である工具62のみをZ軸とX軸方向に移動させる場合であり、図3(b)は、加工対象61をZ軸方向に移動させ、工具62をX軸方向に移動させる場合である。これらのいずれの場合でも、移動させる対象(加工対象61および/または工具62)にサーボモータ11を設けることで、以下に説明する処理を行うことが可能となる。
 図4は、実施の形態1による加工方法を模式的に示す図である。ここでは、紙面内に直交するZ軸とX軸が設けられ、このZX面内の移動経路に沿って工具62と加工対象とを相対的に移動させながら加工を行う場合が示されている。
 移動経路P11は、プログラム経路を示している。工具62では、基準位置である中心位置62aと、加工対象の輪郭を旋削するための刃先位置62b(加工対象と接する工具の位置)と、の間が補正距離dだけ離れている。そのため、補正経路P12は、プログラム経路P11に対して補正距離dだけX軸の負方向にずらした位置に設定される。
 そして、補正経路P12に沿って工具62の中心位置62aを加工対象に対して相対的に移動させる際に、補正経路P12をなぞるように工具62を振動させるようにしている。これによって、プログラム経路P11の位置を輪郭とする加工を行うことができる。なお、工具62を振動させるという記載は、工具62の加工対象61に対する相対的な運動であり、実際には図3に示したように、工具62と加工対象61のいずれを動かしてもよい。以下の説明も同様である。
 図5は、実施の形態1による加工プログラムの一例を示す図である。加工プログラムは、行(ブロック)ごとに読み込まれ、実行されていく。この加工プログラム中の行402の「G00 X20.0 Z0.0;」は位置決めの指令であり、行403の「G01 X20.0 Z30.0;」は直線補間の指令であり、一般的な数値制御装置で使用される指令である。
 一方、行401の「G200 F50 A0.03;」と行404の「G201;」は、この実施の形態1の振動切削を指令するものであり、新たに設けられる指令である。ここでは、指令「G200」は振動切削の開始を意味するものであり、指令「G201」は振動切削の終了を意味するものである。また、「F」とそれに続く数値は振動させる周波数(Hz)を意味するものであり、「A」とそれに続く数値は振動させる振幅(たとえばmm)を意味するものである。なお、これは一例であり、振動切削の開始と終了、振動させる周波数と振幅を意味する記号は、他のものであってもよく、周波数と振幅の指令値についても任意の数値で構わないが、曲線経路上で精度良く振動させるため、また、切削により発生する切屑を振動により細かく分断するために、微小な振動(振幅が数百マイクロメートル以下かつ周波数が数百Hz以下)を一般的に指令する。なお、この例では、振動条件が加工プログラム中で指定される場合を示しているが、振動条件が加工プログラム中で指定されていなくてもよい。
 つぎに、実施の形態1の数値制御装置による加工方法について説明する。図6は、実施の形態1による振動を伴う補間処理の一例を示すフローチャートである。
 まず、解析処理部45の移動経路生成部451によって加工プログラムから工具および/または加工対象の位置と速度を含むプログラム経路が生成され、補正経路生成部453によって、パラメータを用いて実際の工具の基準位置に合わせてプログラム経路を補正した補正経路が生成される。そして、移動指令生成部454によって補正経路を有する移動指令が生成され、補間処理部48に出力される。この補正は、たとえば工具の基準位置と刃先との間の補正距離、または刃先の摩耗によって生じる位置ずれ量を考慮した補正距離に基づいて行われる。また、振動指令解析部452によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部48に出力される。これによって、補間処理部48は、解析処理部45から出力される移動指令と振動条件を取得する(ステップS11)。
 ついで、補間処理部48の指令移動量算出部481は、補正経路に基づいて生成された移動指令から単位時間(補間周期)当たりの指令移動量(移動指令による移動量である)を算出する(ステップS12)。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
 その後、補正経路上振動移動量算出部482は、単位時間当たりの振動による移動量である補正経路上振動移動量を算出する(ステップS13)。補正経路上振動移動量は取得した振動条件(周波数、振幅)の基本振動波形を想定し、今回の補間時刻に対応する基本振動波形上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する補正経路上振動移動量を求める。基本振動波形として、正弦波または矩形波などを例示することができる。
 ついで、移動量合成部483は、指令移動量と補正経路上振動移動量とを合成した合成移動量を算出する(ステップS14)。ここでは、指令移動量に補正経路上振動移動量を加算するものとする。
 その後、合成移動量分解部484は、補正経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する(ステップS15)。そして、算出した軸移動量は、軸データ出力部50を介して各駆動軸のサーボ制御部13に出力される(ステップS16)。
 なお、ステップS14で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
 その後、指令移動量算出部481は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する(ステップS17)。指令移動量の合算値が目標移動量未満である場合(ステップS17でYesの場合)には、ステップS12へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合(ステップS17でNoの場合)には、加工が目標位置まで進行したので、処理が終了する。
 図7は、補正経路が円弧状の場合のX軸とZ軸の指令位置を示す図である。図7(a)に示されるように、紙面内にZ軸とX軸を取り、ZX平面内で加工対象に対して工具62が円弧状の補正経路を描くように、工具62または加工対象の位置を移動させていく。この加工の最中には、振動の位置が時間に対して正弦波を描くような振動を加える。加工開始点P0における工具62の加工対象に対する移動方向はZ軸方向となっており、加工終了点P1における工具62の加工対象に対する移動方向はX軸方向となっている。そのため、加工開始では振動はZ軸方向の成分のみでX軸方向の成分はない。工具62が補正経路上を進行するにつれて、振動の各駆動軸方向の成分は、Z軸方向で徐々に減少し、X軸方向で徐々に増大するようになる。そして、加工終了では、振動はX軸方向のみでZ軸方向の成分はない。このように、工具62の移動方向に応じて振動角度が変化する様子が、図7(b)と(c)に示されている。
 この実施の形態1では、加工中に移動経路に沿って加える振動の周波数と振幅とを規定した振動切削を行う指令を加工プログラムに設け、加工プログラム中の移動指令に基づくプログラム経路から、補正情報に基づいて加工対象に対する工具62の基準位置の軌跡である補正経路を生成し、この補正経路での加工に対して、補正経路に沿った振動を加えるようにした。これによって、補正経路以外の位置を削ったり、加工対象を削りすぎたりすることを防ぐことができる。このとき、補正経路に沿った振動を、振幅が数百マイクロメートル以下かつ周波数が数百Hz以下の低周波振動とすることで、切削により発生する切屑を振動により細かく分断することができる。
 また、合成移動量が加工開始位置から加工方向の反対側になってしまう場合には、合成移動量の終点が加工開始点までとなるように合成移動量を補正し、また合成移動量が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正するようにした。これによって、加工開始位置と加工終了位置をはみ出した加工を行うことがないという効果も有する。
 さらに、加工プログラムに振動切削を行う指令を記述するようにしたので、加工時に加える振動に関する表を制御演算部40が保持する必要がなく、また表に振動に関する加工条件を入力する手間を省くことができるという効果も有する。また、補間処理時に振動を付加するので、補間処理よりも大きい周期で実行される処理(たとえばプログラムの解析処理)で振動を付加する場合に比して、より高い周波数の振動を発生させて加工を行うことができるという効果を有する。
実施の形態2.
 図8は、実施の形態2による数値制御装置の構成の一例を示すブロック図である。この数値制御装置1は、実施の形態1と解析処理部45と補間処理部48の構成が異なる。
 解析処理部45は、実施の形態1の移動経路生成部451と補正経路生成部453とを含まず、読み込んだ1ブロック中に数値制御装置1で自動的に経路を生成する指示(以下、経路生成指示という)が含まれるかを解析し、経路生成指示が含まれている場合に、その経路生成指示にしたがって追加指令を生成する追加指令生成部455をさらに有する。また、移動指令生成部454は、1以上のブロックを含む加工プログラムを読み込み、読み込んだ加工プログラムを1ブロック毎に解析し、1ブロックで移動する移動指令を生成する。
 補間処理部48は、実施の形態1の補正経路上振動移動量算出部482を含まず、振動指令解析部452からの振動情報に基づいて、移動指令生成部454で規定されるプログラム経路における工具または加工対象を振動させるための単位時間での移動量である通常経路上振動移動量を算出する通常経路上振動移動量算出部485と、振動指令解析部452からの振動情報に基づいて、追加指令生成部455で規定される追加経路上における工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する追加経路上振動移動量算出部486と、をさらに備える。
 また、移動量合成部483は、指令移動量算出部481で算出された指令移動量と、通常経路上振動移動量算出部485で算出された通常経路上振動移動量と、追加経路上振動移動量算出部486で算出された追加経路上振動移動量と、を用いて合成移動量を算出する。具体的には、移動指令生成部454で規定されるプログラム経路に対応する指令移動量に対しては通常経路上振動移動量で合成を行い、追加指令生成部455で規定される追加経路に対応する指令移動量に対しては追加経路上振動移動量で合成を行う。なお、実施の形態1と同一の構成要素には、同一の符号を付してその説明を省略する。
 つぎに、実施の形態2の数値制御装置による加工方法について説明する。図9は、実施の形態2による振動を伴う補間処理の一例を示すフローチャートである。
 まず、解析処理部45の移動指令生成部454によって加工プログラムから工具および/または加工対象の位置と速度を含むプログラム経路を有する移動指令が補間処理部48に出力され、また追加指令生成部455によって工具および/または加工対象の位置と速度を含む追加経路を有する追加指令が補間処理部48に出力される。追加指令は、加工プログラム中で経路生成指示を含むブロックがある場合に、追加指令生成部455が経路生成指示を補間処理部48に渡す形式に指令化したものである。また、振動指令解析部452によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部48に出力される。これによって、補間処理部48は、解析処理部45から出力される移動指令と振動条件を取得する(ステップS51)。
 ついで、補間処理部48の指令移動量算出部481は、移動指令と追加指令とから単位時間(補間周期)当たりの指令移動量(移動指令と追加指令による移動量である)を算出する(ステップS52)。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
 その後、通常経路上振動移動量算出部485は、移動指令から得られるプログラム経路に対して、単位時間当たりの振動による移動量である通常経路上振動移動量を算出し、追加経路上振動移動量算出部486は、追加指令から得られる追加経路に対して、単位時間当たりの振動による移動量である追加経路上振動移動量を算出する(ステップS53)。通常経路上振動移動量と追加経路上振動移動量は取得した振動条件(周波数、振幅)の正弦波を想定し、今回の補間時刻に対応する正弦波上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する振動移動量を求める。
 ついで、移動量合成部483は、指令移動量と、通常経路上振動移動量および追加経路上振動移動量とを合成した合成移動量を算出する(ステップS54)。ここでは、移動指令に含まれるプログラム経路での指令移動量に通常経路上振動移動量を加算し、追加指令に含まれる追加経路での指令移動量に追加経路上振動移動量を加算する。
 その後、合成移動量分解部484は、プログラム経路と追加経路とをつなぎ合わせた移動経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する(ステップS55)。そして、算出した軸移動量は、軸データ出力部50を介して各駆動軸のサーボ制御部13に出力される(ステップS56)。
 なお、ステップS54で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
 その後、指令移動量算出部481は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する(ステップS57)。指令移動量の合算値が目標移動量未満である場合(ステップS57でYesの場合)には、ステップS52へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合(ステップS57でNoの場合)には、加工が目標位置まで進行したので、処理が終了する。
 図10は、実施の形態2による加工方法を模式的に示す図であり、(a)は加工プログラムの一例を示す図であり、(b)は(a)の加工プログラムを実行した場合の移動経路を示す図であり、(c)は(a)の加工プログラムを実行したときの各軸での振動状態を示す図である。図10(a)に示される加工プログラムでは、X=xb,Z=0からX=xb,Z=zbまで切削し、そこからX=0,Z=zbまで切削する移動経路において、コーナ部分(X=xb,Z=zb付近)を面取りすることを示している。また、実施の形態1と同様に、移動に際して振動を加える加工であることが規定されている。
 図10(a)での移動経路が図10(b)に示されている。図10(a)の加工プログラムでは、X=xb,Z=zb付近で、面取り加工を行うことが指示されている。そのため、移動経路はPa1,Pa2,Pa3で示される。このうち、Pa1,Pa3は図10(a)の加工プログラム中の指令に明示される通常のプログラム経路である。一方、Pa2は、図10(a)の加工プログラムに示されておらず、経路生成指示「C」に基づいて追加指令生成部455で生成された追加指令によって生成される追加経路である。
 実施の形態2では、プログラム経路Pa1,Pa3でプログラム経路に沿った振動を加えながら加工を行うようにするとともに、追加経路Pa2でも追加経路に沿った振動を加えながら加工を行うようにしている。この状態が図10(c)に示されている。プログラム経路Pa1は、Z軸に沿った加工であるので、X軸方向のみ振動している。追加経路Pa2では、Z軸方向とX軸方向の両方で振動が行われている。そして、プログラム経路Pa3は、X軸に沿った加工であるので、Z軸方向のみ振動している。このように、加工プログラム中では明示されず、追加指令生成部455で生成される追加指令に基づく追加経路に対しても振動を付加することが可能になる。
 実施の形態2では、加工プログラム中に経路生成指示が存在する場合に、その経路生成指示にしたがって生成した追加経路に対しても振動を生成するようにした。これによって、加工プログラムにユーザによって指定された経路以外の経路が存在する場合でも振動を伴う加工を行うことができるという効果を有する。
実施の形態3.
 実施の形態1では、加工プログラムで規定された移動経路から、工具の径などの補正距離を考慮して加工対象に対する工具の基準位置の軌跡である補正経路を作成し、この補正経路に対して振動を加える場合を説明した。また、実施の形態2では、加工プログラムに経路生成指示が含まれている場合に、経路生成指示に基づいた追加指令を生成し、この追加指令による追加経路に対して振動を加える場合を説明した。一方、現実の加工においては、移動指令で規定されるプログラム経路から補正経路を作成した際に、補正経路間に新たな経路を挿入しなければならない場合も存在する。実施の形態3では、移動指令または追加指令で規定される経路に対して補正された補正経路と、それらの補正経路間に挿入される挿入経路と、に対して振動を伴う加工を行うことができる数値制御装置について説明する。
 図11は、実施の形態3による数値制御装置の構成の一例を示すブロック図である。この数値制御装置は、実施の形態1とは解析処理部45と補間処理部48の構成が異なる。
 解析処理部45は、実施の形態1の構成に、読み込んだ1ブロック中に経路生成指示が含まれるかを解析し、経路生成指示が含まれている場合に、その経路生成指示にしたがって追加指令を生成する追加指令生成部455と、追加指令での移動経路である追加経路を生成する追加経路生成部456と、をさらに有する。
 また、補正経路生成部453は、プログラム経路と追加経路とに基づいて補正距離dを用いて補正経路を生成する。さらに、補正経路生成部453は、加工プログラム中にノーズR補正などの加工プログラムには規定されていない経路を挿入するモード(以下、経路挿入モードという)が含まれているかを解析し、経路挿入モードが含まれている場合には、経路挿入モードに基づいて加工プログラムには規定されていない新たな挿入経路を生成して、補正経路を生成する処理を行う。
 図12は、新たな経路の挿入の一例を示す図である。ここでは、プログラム経路P11中の経路の向きが変わる点に対してノーズR補正を行う場合を示している。具体的には、プログラム経路P11に対して、補正距離dで補正を行い、経路Pa1,Pa3,Pa5を作成している。しかし、この補正経路の作成処理だけでは、経路Pa1の端部A1と経路Pa3の端部A2との間と、経路Pa3の端部A3と経路Pa5の端部A4との間と、は結ばれない。ここでは、ノーズR補正によって端部A1と端部A2との間に経路Pa2が挿入され、端部A3と端部A4との間に経路Pa4が挿入される。その結果、経路Pa1~Pa5からなる補正経路P12が生成される。
 補間処理部48は、振動指令解析部452からの振動情報に基づいて、追加指令で規定される追加経路に対応する補正経路上で工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する追加経路上振動移動量算出部486をさらに備える。
 また、補正経路上振動移動量算出部482は、振動指令解析部452からの振動情報に基づいて、補正経路生成部453で生成された補正経路のうち追加経路に対応しない経路上で工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する。ここで、補正経路のうち追加経路に対応しない経路には、プログラム経路を補正距離で補正した経路と、経路挿入モードに基づいて生成された挿入経路と、を含む。
 移動量合成部483は、指令移動量算出部481で算出された指令移動量と、補正経路上振動移動量算出部482で算出された補正経路上振動移動量と、追加経路上振動移動量算出部486で算出された追加経路上振動移動量と、を用いて合成移動量を算出する。具体的には、補正経路中の追加経路に対応しない経路についての指令移動量に対しては補正経路上振動移動量で合成を行い、補正経路中の追加経路に対応する経路についての指令移動量に対しては追加経路上振動移動量で合成を行う。なお、実施の形態1と同一の構成要素には、同一の符号を付してその説明を省略する。
 つぎに、実施の形態3の数値制御装置による加工方法について説明する。図13は、実施の形態3による振動を伴う補間処理の一例を示すフローチャートである。
 まず、解析処理部45の移動経路生成部451によって加工プログラムから工具および/または加工対象の位置と速度を含むプログラム経路が生成される。また、追加指令生成部455によって工具および/または加工対象の位置と速度を含む追加指令が生成され、これからプログラム上の移動経路である追加経路が生成される。さらに、補正経路生成部453によって、パラメータを用いて実際の工具の基準位置に合わせてプログラム経路と追加経路とを補正した補正経路が生成される。このとき、経路挿入モードが加工プログラム中にある場合には新たな挿入経路が補正経路に挿入される。そして、移動指令生成部454によって補正経路に関する移動指令が生成され、補間処理部48に出力される。また、振動指令解析部452によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部48に出力される。これによって、補間処理部48は、解析処理部45から出力される移動指令と振動条件を取得する(ステップS71)。
 ついで、補間処理部48の指令移動量算出部481は、補正経路に基づいて生成された移動指令から単位時間(補間周期)当たりの指令移動量(移動指令による移動量である)を算出する(ステップS72)。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
 その後、補正経路上振動移動量算出部482は、補正経路中の追加経路に対応しない経路に対して、単位時間当たりの振動による移動量である補正経路上振動移動量を算出し、追加経路上振動移動量算出部486は、補正経路中の追加経路に対応する経路に対して、単位時間当たりの振動による移動量である追加経路上振動移動量を算出する(ステップS73)。補正経路上振動移動量と追加経路上振動移動量は取得した振動条件(周波数、振幅)の正弦波を想定し、今回の補間時刻に対応する正弦波上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する振動移動量を求める。
 ついで、移動量合成部483は、指令移動量と、補正経路上振動移動量および追加経路上振動移動量とを合成した合成移動量を算出する(ステップS74)。ここでは、補正経路中の追加経路に対応しない経路での指令移動量に補正経路上振動移動量を加算し、補正経路中の追加経路に対応する経路での指令移動量に追加経路上振動移動量を加算する。
 その後、合成移動量分解部484は、補正経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する(ステップS75)。そして、算出した軸移動量は、軸データ出力部50を介して各駆動軸のサーボ制御部13に出力される(ステップS76)。
 なお、ステップS74で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
 その後、指令移動量算出部481は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する(ステップS77)。指令移動量の合算値が目標移動量未満である場合(ステップS77でYesの場合)には、ステップS72へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合(ステップS77でNoの場合)には、加工が目標位置まで進行したので、処理が終了する。
 図14は、実施の形態3による加工方法を模式的に示す図であり、(a)は加工プログラムの一例を示す図であり、(b)は(a)の加工プログラムを実行した場合の移動経路を示す図である。図14(a)に示される加工プログラムでは、X=xa,Z=0からX=xa,Z=zaまで切削し、そこからX=xb,Z=zaまで切削する経路において、コーナ部分(X=xa,Z=za付近)を面取りし、さらに面取りした部分の両端部付近でノーズR補正を行うことを示している。また、実施の形態1と同様に、移動に際して振動を加える加工であることが規定されている。
 図14(a)でのプログラム経路および補正経路が図14(b)に示されている。まず、プログラム経路P11が算出される。具体的には、加工プログラムから経路Pa01,Pa03が生成される。また、加工プログラムには面取り指示が含まれるため、追加指令生成部455によって面取りの追加指令が生成される。そして、追加経路生成部456によって面取りの追加指令によって生成される追加経路Pa02が生成される。そのため、プログラム経路P11はPa1,Pa2,Pa3によって構成されることになる。
 つぎに、プログラム経路P11から補正経路P12が生成される。具体的には、プログラム経路P11に対して、補正距離dで補正を行い、経路Pa01,Pa02,Pa03に対応する経路Pa1,Pa3,Pa5を作成する。この状態では、経路Pa1の端部A1と経路Pa3の端部A2との間と、経路Pa3の端部A3と経路Pa5の端部A4との間に経路はない。その後、ノーズR補正によって端部A1と端部A2との間に経路Pa2が挿入され、端部A3と端部A4との間に経路Pa4が挿入される。その結果、経路Pa1~Pa5からなる補正経路P12が生成される。
 そして、補正経路上振動移動量算出部482は追加経路Pa02に対応しない経路Pa1,Pa2,Pa4,Pa5に対して補正経路上振動移動量を算出し、追加経路上振動移動量算出部486は追加経路Pa02に対応する経路Pa3に対して追加経路上振動移動量を算出する。そして、これらが指令移動量と合成される。
 実施の形態3では、加工プログラム中に経路挿入モードが含まれる場合に、補正した経路の端部間を結ぶ挿入経路を生成し、補正した経路間に挿入経路を挿入して補正経路を生成し、この補正経路に対しても振動を生成するようにした。また、加工プログラム中に経路生成指示がさらに含まれる場合に、その経路生成指示にしたがって生成した追加経路に対しても振動を生成するようにした。これによって、加工プログラムでユーザによって指定された経路以外の経路が補正経路上に存在する場合でも、補正経路全体にわたって振動を伴う加工を行うことができるという効果を有する。
 なお、上記した実施の形態1~3は、ドリル加工に対しても適用することができる。
 以上のように、本発明にかかる数値制御装置は、加工プログラムを用いた工作機械の数値制御に適している。
 1 数値制御装置、10 駆動部、11 サーボモータ、12 検出器、13 サーボ制御部、13X X軸サーボ制御部、13Z Z軸サーボ制御部、14 主軸モータ、15 検出器、16 主軸制御部、20 入力操作部、30 表示部、40 制御演算部、41 入力制御部、42 データ設定部、43 記憶部、44 画面処理部、45 解析処理部、46 機械制御信号処理部、47 PLC回路部、48 補間処理部、49 加減速処理部、50 軸データ出力部、61 加工対象、62 工具、62a 中心位置、62b 刃先位置、431 パラメータ、432 加工プログラム、433 画面表示データ、434 共有エリア、451 移動経路生成部、452 振動指令解析部、453 補正経路生成部、454 移動指令生成部、455 追加指令生成部、456 追加経路生成部、481 指令移動量算出部、482 補正経路上振動移動量算出部、483 移動量合成部、484 合成移動量分解部、485 通常経路上振動移動量算出部、486 追加経路上振動移動量算出部。

Claims (4)

  1.  工具および加工対象の少なくともいずれか一方に設けられた2以上の駆動軸によって、前記工具と前記加工対象とを相対的に移動させながら前記加工対象の加工を行う数値制御装置であって、
     加工プログラム上の移動経路が前記加工対象に形成されるように、補正距離で前記加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成手段と、
     前記加工対象に対して前記工具の基準位置を前記補正経路上で相対的に移動させる移動指令を生成する移動指令生成手段と、
     前記加工対象に対して前記工具の基準位置を前記補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析手段と、
     単位時間での前記移動指令による移動量である指令移動量を算出する指令移動量算出手段と、
     前記移動指令に対応する時刻における前記単位時間での振動による移動量である補正経路上振動移動量を、前記振動条件を用いて算出する補正経路上振動移動量算出手段と、
     前記指令移動量と前記補正経路上振動移動量とを合成して合成移動量を算出し、前記合成移動量の算出基準となる位置から前記合成移動量だけ移動した位置が前記補正経路上に位置するように、前記単位時間内の移動量を求める移動量合成手段と、
     を備えることを特徴とする数値制御装置。
  2.  前記加工プログラムに追加経路を生成する経路生成指示が含まれる場合に、前記経路生成指示に基づいた追加指令を生成する追加指令生成手段と、
     前記追加指令に対応する時刻における前記単位時間での振動による移動量である追加経路上振動移動量を、前記振動条件を用いて算出する追加経路上振動移動量算出手段と、
     をさらに備えることを特徴とする請求項1に記載の数値制御装置。
  3.  前記追加指令から前記追加経路を生成する追加経路生成手段をさらに備え、
     前記補正経路生成手段は、前記追加経路生成手段で前記追加経路が生成されると、前記追加経路を前記補正距離で補正する機能をさらに備え、
     前記移動量合成手段は、前記補正された追加経路に対応する経路では、前記指令移動量と前記追加経路上振動移動量とを合成し、前記補正された追加経路以外の経路では、前記指令移動量と前記補正経路上振動移動量とを合成して前記合成移動量を算出することを特徴とする請求項2に記載の数値制御装置。
  4.  前記補正経路生成手段は、前記加工プログラムには規定されていない経路を挿入する経路挿入モードが含まれているかを解析し、前記経路挿入モードが含まれている場合には、前記補正経路の生成時に挿入経路を生成し、
     前記補正経路上振動移動量算出手段は、前記挿入経路を含む前記補正経路に対する前記移動指令について、前記補正経路上振動移動量を算出し、
     前記移動量合成手段は、前記挿入経路を含む前記補正経路で、前記指令移動量と前記補正経路上振動移動量とを合成することを特徴とする請求項1に記載の数値制御装置。
PCT/JP2014/057150 2014-03-17 2014-03-17 数値制御装置 WO2015140905A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112014000229.1T DE112014000229B4 (de) 2014-03-17 2014-03-17 Numerische Steuervorrichtung
PCT/JP2014/057150 WO2015140905A1 (ja) 2014-03-17 2014-03-17 数値制御装置
JP2014528781A JP5606658B1 (ja) 2014-03-17 2014-03-17 数値制御装置
CN201480003102.7A CN105122161B (zh) 2014-03-17 2014-03-17 数控装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/057150 WO2015140905A1 (ja) 2014-03-17 2014-03-17 数値制御装置

Publications (1)

Publication Number Publication Date
WO2015140905A1 true WO2015140905A1 (ja) 2015-09-24

Family

ID=51840512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/057150 WO2015140905A1 (ja) 2014-03-17 2014-03-17 数値制御装置

Country Status (4)

Country Link
JP (1) JP5606658B1 (ja)
CN (1) CN105122161B (ja)
DE (1) DE112014000229B4 (ja)
WO (1) WO2015140905A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170285608A1 (en) * 2016-03-29 2017-10-05 Fanuc Corporation Servo controller, control method, and computer-readable recording medium for machine tool used for oscillating cutting
CN108732999A (zh) * 2017-04-14 2018-11-02 发那科株式会社 进行摆动切削的机床的控制装置
US10379519B2 (en) * 2016-05-16 2019-08-13 Fanuc Corporation Servo controller, control method, and non-transitory computer-readable recording medium for machine tool used for oscillating cutting

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6180688B1 (ja) * 2016-12-08 2017-08-16 三菱電機株式会社 数値制御装置
JP6503001B2 (ja) 2017-04-18 2019-04-17 ファナック株式会社 揺動切削を行う工作機械の制御装置
JP6636998B2 (ja) 2017-08-22 2020-01-29 ファナック株式会社 数値制御装置
JP6916234B2 (ja) * 2018-03-30 2021-08-11 ファナック株式会社 プログラム作成装置
JP6784717B2 (ja) * 2018-04-09 2020-11-11 ファナック株式会社 工作機械の制御装置
JP7044734B2 (ja) 2019-03-28 2022-03-30 ファナック株式会社 サーボ制御装置
JP7022096B2 (ja) 2019-03-28 2022-02-17 ファナック株式会社 サーボ制御装置
CN113678073B (zh) * 2019-04-12 2022-07-29 三菱电机株式会社 数控装置
JP2020074214A (ja) * 2020-01-29 2020-05-14 ファナック株式会社 複数軸を備えた工作機械の制御装置
KR20210106042A (ko) * 2020-02-19 2021-08-30 두산공작기계 주식회사 Nc공작기계의 공작물 연마를 위한 진동제어 방법
US20240027988A1 (en) * 2020-09-09 2024-01-25 Fanuc Corporation Tool path correction device
WO2022249317A1 (ja) * 2021-05-26 2022-12-01 ファナック株式会社 工作機械の制御装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728517A (ja) * 1993-06-17 1995-01-31 Fanuc Ltd Cncの表示制御方式
JP2978763B2 (ja) * 1996-06-11 1999-11-15 日本電気ロボットエンジニアリング株式会社 数値制御装置
JP2009262275A (ja) * 2008-04-25 2009-11-12 Daihen Corp ロボット制御装置
JP5033929B1 (ja) * 2011-11-10 2012-09-26 ハリキ精工株式会社 工作機械
JP5139591B1 (ja) * 2012-09-12 2013-02-06 ハリキ精工株式会社 工作機械
JP5139592B1 (ja) * 2012-09-12 2013-02-06 ハリキ精工株式会社 工作機械

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3610485B2 (ja) 1999-09-20 2005-01-12 株式会社日立製作所 数値制御曲面加工装置
JP3587363B2 (ja) 2000-03-09 2004-11-10 三菱電機株式会社 数値制御装置及び数値制御方法
US8256590B2 (en) * 2007-05-24 2012-09-04 Okuma Corporation Vibration suppressing device and vibration suppressing method for machine tool
JP5202735B2 (ja) * 2009-06-03 2013-06-05 三菱電機株式会社 数値制御装置
US20120330456A1 (en) * 2010-03-08 2012-12-27 Mitsubishi Electric Corporation Numerical control device and control method of numerical control device
JP5406166B2 (ja) 2010-10-29 2014-02-05 株式会社日立製作所 工具経路生成装置、工具経路生成方法およびそのためのプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728517A (ja) * 1993-06-17 1995-01-31 Fanuc Ltd Cncの表示制御方式
JP2978763B2 (ja) * 1996-06-11 1999-11-15 日本電気ロボットエンジニアリング株式会社 数値制御装置
JP2009262275A (ja) * 2008-04-25 2009-11-12 Daihen Corp ロボット制御装置
JP5033929B1 (ja) * 2011-11-10 2012-09-26 ハリキ精工株式会社 工作機械
JP5139591B1 (ja) * 2012-09-12 2013-02-06 ハリキ精工株式会社 工作機械
JP5139592B1 (ja) * 2012-09-12 2013-02-06 ハリキ精工株式会社 工作機械

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170285608A1 (en) * 2016-03-29 2017-10-05 Fanuc Corporation Servo controller, control method, and computer-readable recording medium for machine tool used for oscillating cutting
JP2017182336A (ja) * 2016-03-29 2017-10-05 ファナック株式会社 揺動切削を行う工作機械のサーボ制御装置、制御方法及びコンピュータプログラム
US10353374B2 (en) 2016-03-29 2019-07-16 Fanuc Corporation Servo controller, control method, and computer-readable recording medium for machine tool used for oscillating cutting
US10379519B2 (en) * 2016-05-16 2019-08-13 Fanuc Corporation Servo controller, control method, and non-transitory computer-readable recording medium for machine tool used for oscillating cutting
CN108732999A (zh) * 2017-04-14 2018-11-02 发那科株式会社 进行摆动切削的机床的控制装置
JP2018180990A (ja) * 2017-04-14 2018-11-15 ファナック株式会社 揺動切削を行う工作機械の制御装置
US10503140B2 (en) 2017-04-14 2019-12-10 Fanuc Corporation Control device for machine tool performing oscillation cutting

Also Published As

Publication number Publication date
CN105122161B (zh) 2017-10-20
JPWO2015140905A1 (ja) 2017-04-06
DE112014000229B4 (de) 2019-06-13
JP5606658B1 (ja) 2014-10-15
DE112014000229T5 (de) 2016-11-03
CN105122161A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
JP5606658B1 (ja) 数値制御装置
JP5745710B1 (ja) 数値制御装置
CN107797515B (zh) 机床的控制装置、控制方法以及计算机可读介质
KR101583202B1 (ko) 수치 제어 장치
JP5781241B1 (ja) 数値制御装置
US10353374B2 (en) Servo controller, control method, and computer-readable recording medium for machine tool used for oscillating cutting
JP6457432B2 (ja) 揺動切削を行う工作機械のサーボ制御装置、制御方法及びコンピュータプログラム
KR101863019B1 (ko) 수치 제어 장치
JP5826444B1 (ja) 数値制御装置
JP5823082B1 (ja) 数値制御装置
JP6740483B1 (ja) 数値制御装置および数値制御方法
US20230072167A1 (en) Machine tool control device
JP2019185355A (ja) 工作機械の制御装置
KR101560529B1 (ko) 수치 제어 장치
JPWO2020084771A1 (ja) 数値制御装置および数値制御方法
US20240061400A1 (en) Servo control device
JP6972404B1 (ja) プログラム、clデータ編集装置及び工作機械
JP2010039993A (ja) Nc旋盤の制御方法及び制御装置
JP2019008665A (ja) 制御装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2014528781

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 112014000229

Country of ref document: DE

Ref document number: 1120140002291

Country of ref document: DE

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

Ref document number: 14886291

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 14886291

Country of ref document: EP

Kind code of ref document: A1