Numerical control device and numerical control method

The numerical control device addresses the issue of machining defects in vibration cutting by determining a vibration direction vector and generating a waveform to ensure the vibration region is on the tool side, thereby reducing machine tool load and preventing cutting into the workpiece.

JP7829757B2Active Publication Date: 2026-03-13MITSUBISHI ELECTRIC CORP
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-02-06
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Existing vibration cutting methods that reduce machine tool load by vibrating in a direction different from the machining direction cannot avoid cutting into the workpiece, leading to machining defects such as reworking and discarding of the workpiece, especially in cases of downward tapered or curved shapes.

Method used

A numerical control device that determines the positional relationship between the workpiece and tool, generates a vibration direction vector different from the movement direction vector, and creates a vibration waveform to perform vibratory cutting, ensuring the vibration region is on the tool side rather than the workpiece side.

Benefits of technology

Enables vibration cutting that reduces machine tool load without causing machining defects, regardless of the machining shape.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007829757000001
    Figure 0007829757000001
  • Figure 0007829757000002
    Figure 0007829757000002
  • Figure 0007829757000003
    Figure 0007829757000003
Patent Text Reader

Abstract

To provide a numerical controller for realizing vibration cutting that allows reduction of loads on a machine tool without causing processing failure regardless of a processed shape.SOLUTION: A numerical controller 1a includes: a vibration direction determination part 8 which determines a positional relation between a work and a tool based on a moving direction vector 10 that represents a moving direction of the tool before vibration is added, a cutting edge vector 11 that represents a direction of a cutting edge of the tool, and vibration end selection information 13 that indicates whether a command position as a moving route of the tool before the vibration addition is an upper end or a lower end, and based on results of the determination, determines a vibration direction vector 12 that indicates a vibration direction as a direction different from that of the moving direction vector 10 so that a vibration region of the vibration cutting becomes a space on a tool side from the command position; and a vibration waveform generation part 6 which generates a vibration waveform for performing the vibration cutting based on the vibration direction vector 12.SELECTED DRAWING: Figure 22
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a numerical control device and a numerical control method which are control devices for machine tools.

Background Art

[0002] In cutting, a vibration cutting function is known in which chips are finely segmented by relatively vibrating a cutting tool and a workpiece in the machining direction. During machining using the vibration cutting function, cutting is performed while alternately repeating a forward movement in the same direction as the machining direction and a backward movement in the direction opposite to the machining direction. Since the relative movement speed, which is the relative movement speed between the cutting tool and the workpiece during the forward movement, is higher than the relative movement speed during non-vibration machining, which is normal machining without vibration cutting, even when performing a backward movement, it is possible to make the average relative movement speed obtained by adding the forward and backward movements equal to the relative movement speed during non-vibration machining. As a result, vibration cutting can be applied without changing the machining time, that is, productivity.

[0003] In vibration cutting, as described above, since the forward and backward movements are repeated at a high relative movement speed, the machine tool is vibrated. Therefore, in Patent Document 1, in order to reduce the load on the machine tool, the swing amplitude required for finely cutting the chips is calculated based on the cutting angle of the tool, the swing direction is determined according to the calculated swing amplitude, and vibration is performed in a direction different from the machining direction.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the technology described in Patent Document 1 has a problem in that if the machine is vibrated in a direction different from the machining direction to reduce the load on the machine, it is impossible to avoid cutting into the workpiece in the case of downward tapered or curved shapes. Cutting into the workpiece refers to cutting too much into the desired shape. When cutting into the workpiece occurs, it results in machining defects, leading to problems such as reworking and the discarding of the workpiece.

[0006] This disclosure has been made in view of the above, and aims to provide a numerical control device that enables vibration cutting that reduces the load on the machine tool without causing machining defects regardless of the machining shape. [Means for solving the problem]

[0007] To solve the above-mentioned problems and achieve the objective, the numerical control device of this disclosure performs vibratory cutting of a workpiece using a tool. The numerical control device includes a vibration direction determination unit that determines the positional relationship between the workpiece and the tool based on a movement direction vector representing the direction of movement of the tool before vibration is applied, a cutting edge vector representing the direction of the cutting edge of the tool, and vibration end selection information indicating whether the command position, which is the movement path of the tool before vibration is applied, is the upper or lower end of the vibration, and determines a vibration direction vector that indicates a vibration direction different from the movement direction vector so that the vibration region of vibratory cutting is the space from the command position to the tool side based on the determination result, and a vibration waveform generation unit that generates a vibration waveform for performing vibratory cutting based on the vibration direction vector. [Effects of the Invention]

[0008] The numerical control device described herein has the effect of enabling vibration cutting that reduces the load on the machine tool without causing machining defects, regardless of the machining shape. [Brief explanation of the drawing]

[0009] [Figure 1] Block diagram showing the configuration of the numerical control device according to Embodiment 1 [Figure 2]This figure shows the positional relationship between the cutting edge vector and the workpiece used in the numerical control device according to Embodiment 1. [Figure 3] This figure shows an example of a cutting edge vector used in the numerical control device according to Embodiment 1. [Figure 4] Diagram illustrating the method for deriving inflection points used in the numerical control device according to Embodiment 1. [Figure 5] Diagram illustrating another method for deriving inflection points used in the numerical control device according to Embodiment 1. [Figure 6] Diagram illustrating another method for deriving inflection points used in the numerical control device according to Embodiment 1. [Figure 7] Time chart illustrating the operation of the vibration waveform generation unit of the numerical control device according to Embodiment 1 [Figure 8] Another time chart illustrating the operation of the vibration waveform generation unit of the numerical control device according to Embodiment 1 [Figure 9] This figure shows the relationship between the direction of movement and the direction of vibration in the numerical control device according to Embodiment 1. [Figure 10] This figure shows the relationship between the direction of movement and the direction of vibration in the numerical control device according to Embodiment 1. [Figure 11] Another time chart illustrating the operation of the vibration waveform generation unit of the numerical control device according to Embodiment 1 [Figure 12] Another time chart illustrating the operation of the vibration waveform generation unit of the numerical control device according to Embodiment 1 [Figure 13] This figure shows the vibration amplitude when the upper end is selected in the numerical control device according to Embodiment 1. [Figure 14] This figure shows the vibration amplitude when the lower end is selected in the numerical control device according to Embodiment 1. [Figure 15] A time chart illustrating the calculation procedure for other vibration waveforms in the numerical control device according to Embodiment 1. [Figure 16] A diagram illustrating the operation of the vibration end determination unit of the numerical control device according to Embodiment 1. [Figure 17]Another diagram for explaining the operation of the vibration end determination unit of the numerical control device according to Embodiment 1 [Figure 18] In the numerical control device according to Embodiment 1, a diagram showing the positional relationship between the tool and the workpiece [Figure 19] In the numerical control device according to Embodiment 1, a diagram showing another positional relationship between the tool and the workpiece [Figure 20] In the numerical control device according to Embodiment 1, a diagram showing the correspondence relationship between the moving direction of the X-axis, the moving direction of the Z-axis, the vibration direction, and the position of the vibration region [Figure 21] A diagram for explaining the operation of the path division unit of the numerical control device according to Embodiment 1 [Figure 22] A block diagram showing the configuration of the numerical control device according to Embodiment 2 [Figure 23] In the numerical control device according to Embodiment 2, a diagram for explaining the method of determining the vibration direction vector [Figure 24] A block diagram showing the configuration of the numerical control device according to Embodiment 3 [Figure 25] A diagram for explaining the waveform switching region used in the switching notification unit of the numerical control device according to Embodiment 3 [Figure 26] Another diagram for explaining the waveform switching region used in the switching notification unit of the numerical control device according to Embodiment 3 [Figure 27] A diagram showing a hardware configuration example of the numerical control devices of Embodiments 1 to 3

Embodiments for Carrying Out the Invention

[0010] Hereinafter, the numerical control device and the numerical control method according to the embodiments will be described in detail based on the drawings.

[0011] Embodiment 1. FIG. 1 is a block diagram showing the configuration of a numerical control device 1 according to Embodiment 1. The numerical control device 1 includes a program analysis unit 2, a path division unit 3, a vibration end determination unit 4, an operation command generation unit 5, a vibration waveform generation unit 6, and an operation command output unit 7.

[0012] The program analysis unit 2 analyzes the machining program and creates the information necessary for the motion command generation unit 5 to generate motion commands. The information necessary for generating motion commands includes the coordinate values ​​of the start and end points (start and end points) that define the relative movement path between the tool and the workpiece, the interpolation method for the movement path connecting the start and end points (linear interpolation, circular interpolation, etc.), the feed rate during movement, the spindle speed, and the spindle rotation direction. Furthermore, it may also include information specifying whether or not vibratory cutting is effective, or information specifying the shape of the vibration waveform. Information specifying the shape of the vibration waveform includes the vibration frequency, vibration amplitude, number of vibrations per unit rotation, and vibration waveform shape. Note that it is not necessary to specify all of this information specifying the shape of the vibration waveform, and some may be omitted.

[0013] Furthermore, the program analysis unit 2 calculates the movement direction vector 10. The movement direction vector 10 is a vector that represents the direction of the tool's movement path before vibration is superimposed. More specifically, in a line (hereinafter referred to as a block) written in the machining program, the movement direction vector 10 is the vector connecting the start and end points of the movement block that describes the movement of the tool. The movement direction vector 10 may simply be a vector pointing from the start to the end point of the movement block, or it may be a vector whose magnitude is normalized to 1 for comparison with other vectors. The machining program may be, for example, a string in EIA (Electronic Industries Alliance) / ISO (International Organization for Standardization) format, or it may be a program with a configuration that includes information such as the shape of the workpiece, the machining shape, and the machining dimensions, which is called an interactive program.

[0014] The motion command generation unit 5 generates motion commands necessary to cause the machine tool to perform the desired operation, based on the information created by the program analysis unit 2. The motion commands include movement commands for the drive shafts of the machine tool and rotation commands for the spindle, which are used to realize the commanded position, which is the relative movement path between the workpiece and the tool. Note that vibration components in vibratory cutting are not added to the movement commands. The movement commands are commands for the movement path to realize the desired shape described in the machining program.

[0015] The motion command output unit 7 outputs the motion commands generated by the motion command generation unit 5 to the servo motor and spindle motor of the machine tool being controlled. This allows the machine tool to perform the desired operations described in the machining program. A servo amplifier for controlling the servo motor and a spindle amplifier for controlling the spindle motor may be interposed between the motion command output unit 7 and the machine tool; in this case, the motion command output unit 7 outputs motion commands to these amplifiers.

[0016] The above describes the general roles of the components of the numerical control device 1, regardless of whether or not vibration cutting is performed. Next, the vibration end determination unit 4, the vibration waveform generation unit 6, and the path division unit 3 will be explained in order.

[0017] The vibration end determination unit 4 generates vibration end selection information 13 in the vibration waveform based on the movement direction vector 10, the cutting edge vector 11, and the vibration direction vector 12. The vibration end selection information 13 indicates whether the command position, which is the movement path of the tool before vibration is applied, is the upper end (top dead center) or the lower end (bottom dead center) of the vibration. The definitions of the upper and lower ends of the vibration will be described later. The vibration end determination unit 4 determines the vibration end selection information 13 so that the vibration region of the vibration cutting is the space from the command position to the tool side.

[0018] The cutting edge vector 11 is a vector that represents the direction in which the cutting edge of the tool is pointing. Figure 2 is a diagram showing the positional relationship between the cutting edge vector 11 and the workpiece W used in the numerical control device 1 according to Embodiment 1. Figure 3 is a diagram showing an example of the cutting edge vector 11 used in the numerical control device 1 according to Embodiment 1. Figure 2 shows an example of the positional relationship between the tool T, the cutting edge vector 11, and the workpiece W. Figure 3 shows an example in which the direction of the cutting edge vector 11 is represented as eight vector directions V1 to V8. Details of the vector directions V1 to V8 will be described later. The cutting edge vector 11 can also be represented as a continuous numerical angle or vector information. The cutting edge vector 11 may be set as part of the information of the tool T, or it may be calculated and selected according to the angle of the drive shaft that holds the tool T.

[0019] The vibration direction vector 12 is a vector that represents the direction in space of the relative vibration motion between the workpiece W and the tool T due to vibratory cutting. While it is easiest to use the direction along the drive axis of the machine tool as the reference axis for the vector, any coordinate system in space can be used. For the sake of clarity, we will consider a Cartesian machine coordinate system along the three basic drive axes of the machine tool: the X, Y, and Z axes. We will define the X-axis direction as the vertical direction and the Z-axis direction as the horizontal direction.

[0020] The vibration direction vector 12 may be determined, for example, according to the contents of the machining program. Specifically, the vibration direction vector 12 may be determined by referring to settings such as parameters in the machining program, or by rotating it by a specific angle with respect to the direction of movement. In the aforementioned settings such as parameters, the axis used for vibration in vibratory cutting is specified in the machining program, so the vibration direction vector 12 is determined as the direction along that axis. Alternatively, the vibration direction vector 12 may be determined by referring to parameters according to the operation content of the machining program, or the vibration direction vector 12 may be changed according to the acceleration or the load on the drive axis.

[0021] Next, the vibration waveform generation unit 6 will be described. The vibration waveform generation unit 6 has a generation unit 16 and a superposition unit 17. The generation unit 16 generates the waveform of the movement path and the vibration waveform based on the information created by the program analysis unit 2 and the operation commands generated by the operation command generation unit 5.

[0022] The superposition unit 17, based on the vibration end selection information 13, superimposes the waveform of the movement path generated by the generation unit 16 with the vibration waveform to generate the final vibration waveform necessary for machining by vibration cutting, and outputs it as an operation command to the operation command output unit 7. Details of the method for generating the vibration waveform will be described later.

[0023] The path division unit 3, when the movement path analyzed by the program analysis unit 2 includes an inflection point α, divides the movement path by the inflection point α and calculates a movement direction vector 10 for each of the divided paths.

[0024] Figure 4 is an explanatory diagram of the method for deriving the inflection point α used in the numerical control device 1 according to Embodiment 1. The inflection point α will be explained using Figure 4. An inflection point α is a point in the operation of a single movement block where the direction of movement of one or more axes included in the movement reverses. Inflection points α do not occur in linear movement, but they can occur in movement along curved paths, including circular arcs. At an inflection point α, the direction of movement of the target axis reverses, so a zero-cross occurs where the axis velocity passes through 0 and becomes a velocity with the opposite sign, allowing the inflection point α to be detected.

[0025] Figure 4, Figure 1 shows the relative movement paths G of the tool T in the X-axis and Z-axis directions relative to the workpiece W. In this specification, "Figure n" refers to the nth figure from the top. The horizontal axis from Figure 4, Figure 2 onwards, represents time. The vertical axes from Figure 4, Figure 4, Figure 2 onwards, from top to bottom, represent the position of the tool T in the Z-axis direction, the velocity of the tool T in the Z-axis direction, the position of the tool T in the X-axis direction, and the velocity of the tool T in the X-axis direction. In the movement path G in Figure 4, there is an inflection point α where the velocity in the X-axis crosses zero.

[0026] Furthermore, the inflection point α can also be detected by comparing the tangent vector at the starting point and the tangent vector at the ending point along the curved movement path G. Figure 5 is an explanatory diagram of another method for deriving the inflection point α used in the numerical control device 1 according to Embodiment 1. Figure 6 is an explanatory diagram of another method for deriving the inflection point α used in the numerical control device 1 according to Embodiment 1. Figure 5 shows a movement path G that includes the inflection point α, and Figure 6 shows a movement path G that does not include the inflection point α. In this method, the components in each axis direction of the tangent vector Sv at the starting point S and the components in each axis direction of the tangent vector Ev at the ending point E are compared. If the signs of the two coincide, it is determined that the axis does not include the inflection point α in this movement path G. Conversely, if the signs of the two do not coincide, it is determined that the axis includes the inflection point α in this movement path G.

[0027] In Figure 5, the sign of the X-axis component of the tangent vector Sv at the starting point S is positive, and the sign of the Z-axis component is negative. The sign of the X-axis component of the tangent vector Ev at the ending point E is negative, and the sign of the Z-axis component is also negative. In Figure 5, the sign of the X-axis component of the tangent vector Sv at the starting point S is reversed from the sign of the X-axis component of the tangent vector Ev at the ending point E, so it can be determined that the inflection point α is included. In Figure 6, the sign of the X-axis component of the tangent vector Sv at the starting point S is positive, and the sign of the Z-axis component is positive. The sign of the X-axis component of the tangent vector Ev at the ending point E is positive, and the sign of the Z-axis component is also positive. In Figure 6, the signs of the axial components of the tangent vector Sv at the starting point S are the same as the signs of the axial components of the tangent vector Ev at the ending point E, so it can be determined that the inflection point α is not included.

[0028] Next, the method for generating vibration waveforms performed by the vibration waveform generation unit 6 will be explained. As mentioned above, the elements that determine the shape of the vibration waveform are vibration amplitude, vibration frequency, and vibration waveform shape.

[0029] The vibration amplitude represents the interval between the upper and lower ends of the vibration waveform. For example, the vibration amplitude itself can be specified by directly writing it as a string in the machining program, or it can be specified by writing a constant ratio of the tool T's feed rate (called the feed amplitude ratio) in the machining program or setting it as a parameter, so that the vibration amplitude is determined according to the feed rate.

[0030] The vibration frequency represents how many times the tool vibrates per unit time. For example, the vibration frequency itself can be specified directly as a string in the machining program, or it can be determined according to the spindle speed or the feed rate of the tool T. Alternatively, the vibration frequency can be determined according to the spindle speed by specifying the number of vibrations during one rotation of the spindle, or conversely, the number of spindle rotations per vibration can be specified. These values ​​can be specified directly as strings in the machining program, or they can be selected from parameters according to the machining conditions.

[0031] The vibration waveform shape represents the type of vibration waveform, such as a triangular wave, sine wave, cosine wave, or square wave. The vibration waveform shape can be specified directly as a string in the processing program, or it can be set using a parameter value. Regarding vibration amplitude, vibration frequency, and vibration waveform shape, it is sufficient that these elements are determined; there are no particular restrictions on how they are determined.

[0032] The following explains the specific calculation procedure for vibration waveforms. First, we will explain the case of a triangular wave.

[0033] Figure 7 is a time chart illustrating the operation of the vibration waveform generation unit 6 of the numerical control device 1 according to Embodiment 1. Figure 7 shows a movement path in which only the Z axis moves. Figure 7 shows a movement path including two movement blocks B1 and B2. The horizontal axis in each figure of Figure 7 represents time. The vertical axis in each figure of Figure 7, from top to bottom, shows the Z-axis position for the forward and backward positions of the movement path, the difference between the forward and backward positions, the amplitude of the reference vibration waveform, the amount of movement of the vibration waveform with only the vibration component, and the final Z-axis position of the vibration waveform.

[0034] As shown in Figure 7, the vibration waveform generation unit 6's generation unit 16 generates two movement paths, an advanced position and a retracted position, using the movement commands and vibration amplitudes of each axis included in the movement blocks B1 and B2 to be calculated. The retracted position is a path that lags behind the advanced position by a time corresponding to the vibration amplitude, or by a spindle rotation speed corresponding to the vibration amplitude, in order to ensure the specified vibration amplitude is maintained. Here, we consider the time axis as an example, but the vibration waveform can be obtained using the same calculation method even when the spindle rotation speed is considered as the reference axis.

[0035] Next, the generation unit 16 generates a reference vibration waveform using the vibration frequency and vibration waveform shape, as shown in Figure 3 of Figure 7. The amplitude of the reference vibration waveform is 1, and by multiplying this reference vibration waveform by the difference between the forward position and the backward position shown in Figure 2 of Figure 7, a vibration waveform consisting only of vibration components is generated, as shown in Figure 4 of Figure 7.

[0036] Next, the superposition unit 17 generates the final vibration waveform shown in Figure 7, Figure 7, Figure 5 by superimposing the vibration waveform containing only vibration components, as shown in Figure 7, Figure 4, onto the movement path, which includes forward and backward positions that do not contain vibration components, as shown in Figure 7, Figure 1.

[0037] Figure 8 is another time chart illustrating the operation of the vibration waveform generation unit 6 of the numerical control device 1 according to Embodiment 1. In Figure 8, the X and Z axes show the movement paths in which they operate. In Figure 8, vibration paths corresponding to two moving blocks, including moving block B1 and moving block B2, are shown. The horizontal axis in each figure of Figure 8 represents time. The vertical axis in each figure of Figure 8, from top to bottom, shows the Z-axis position for the forward and backward positions of the movement path, the amount of movement of the vibration waveform consisting only of vibration components, the Z-axis position of the final vibration waveform, the X-axis position for the forward and backward positions of the movement path, the amount of movement of the vibration waveform consisting only of vibration components, and the X-axis position of the final vibration waveform.

[0038] As shown in Figure 8, even when the movement path includes multiple axes, the vibration waveform generation unit 6 can generate vibration waveforms by performing similar calculations for the multiple axes. In Figure 8, only the Z axis moves in movement block B1, while both the Z and X axes move in movement block B2.

[0039] First, as shown in Figure 8, the generation unit 16 generates two movement paths for the Z-axis, an advance position and a retraction position, using the Z-axis movement commands and vibration amplitudes included in the movement blocks B1 and B2 to be calculated. Next, as shown in Figure 8, the generation unit 16 generates a Z-axis vibration waveform consisting only of vibration components by multiplying the Z-axis reference vibration waveform generated using the vibration frequency and vibration waveform shape by the difference between the advance position and the retraction position for the Z-axis. Next, as shown in Figure 8, the superposition unit 17 generates the final Z-axis vibration waveform by superimposing the Z-axis vibration waveform consisting only of vibration components, as shown in Figure 8, Figure 2, onto the Z-axis movement path, which includes the advance position and retraction position and does not contain vibration components, as shown in Figure 8, Figure 1.

[0040] Similarly, as shown in Figure 8, the generation unit 16 generates two movement paths for the X-axis, an advanced position and a retracted position, using the X-axis movement command and vibration amplitude. Next, as shown in Figure 8, the generation unit 16 generates an X-axis vibration waveform consisting only of vibration components by multiplying the X-axis reference vibration waveform generated using the vibration frequency and vibration waveform shape by the difference between the advanced position and the retracted position for the X-axis. Next, as shown in Figure 8, the superposition unit 17 generates the final X-axis vibration waveform by superimposing the X-axis vibration waveform consisting only of vibration components onto the X-axis movement path, which includes the advanced and retracted positions and does not contain vibration components.

[0041] In Embodiment 1, the load on the machine tool is reduced by making the vibration direction different from the movement direction. By changing the ratio of vibration amplitudes between multiple axes relative to the ratio between multiple axes in the movement path, the vibration direction can be changed relative to the movement direction. Figure 9 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device 1 according to Embodiment 1. Figure 10 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device 1 according to Embodiment 1. In Figures 9 and 10, the vertical axis shows the X-axis position, and the horizontal axis shows the Z-axis position. In Figure 9, in the moving block B2, the ratio of vibration amplitude in the X-axis direction to vibration amplitude in the Z-axis direction is matched to the ratio of the X-axis component to the Z-axis component in the movement path, so the vibration direction and the movement direction are the same. In Figure 10, in the moving block B2, the ratio of vibration amplitude in the X-axis direction to vibration amplitude in the Z-axis direction is different from the ratio of the X-axis component to the Z-axis component in the movement path, so the vibration direction and the movement direction are not the same. In Figure 10, the vibration amplitude in the Z-axis direction is increased and the vibration amplitude in the X-axis direction is decreased, resulting in a Z-axis bias. Conversely, when the vibration amplitude in the Z-axis direction is decreased and the vibration amplitude in the X-axis direction is increased, it is called an X-axis bias.

[0042] Changing the direction of vibration relative to the direction of movement can also be achieved by vibrating only one of the multiple axes included in the movement path. In that case, the vibration waveform is generated as shown in Figure 11 or Figure 12, for example. In Figures 11 and 12, the Z and X axes are moving in the moving block B2, but only the X axis is vibrated. Figure 11 shows the case where the upper end is selected for X-axis vibration, and Figure 12 shows the case where the lower end is selected for X-axis vibration.

[0043] Figure 11 is another time chart illustrating the operation of the vibration waveform generation unit 6 of the numerical control device 1 according to Embodiment 1. In Figure 11, as in Figure 8, only the Z axis operates in moving block B1, and both the Z axis and X axis operate in moving block B2. The horizontal axis in each figure of Figure 11 represents time. The vertical axis in each figure of Figure 11, from top to bottom, represents the Z-axis position for the forward and backward positions of the movement path, the amount of movement of the vibration waveform consisting only of vibration components in moving block B1, the Z-axis position of the final vibration waveform, the X-axis position for the forward and backward positions of the movement path, the amount of movement of the vibration waveform consisting only of vibration components in moving block B2, and the X-axis position of the final vibration waveform.

[0044] First, as shown in Figure 11, the generation unit 16 generates two movement paths for the Z-axis of the moving block B1, one for the forward position and one for the backward position, using the Z-axis movement command and vibration amplitude included in the moving block B1. The generation unit 16 also generates a movement path for the Z-axis of the moving block B2, but only for the forward position. Next, as shown in Figure 11, the generation unit 16 generates a Z-axis vibration waveform consisting only of the vibration component for the moving block B1, using the vibration frequency and vibration waveform shape, in the same manner as described above. Finally, as shown in Figure 11, the superposition unit 17 generates the final Z-axis vibration waveform by superimposing the Z-axis vibration waveform consisting only of the vibration component onto the Z-axis movement paths for the moving blocks B1 and B2, including the forward and backward positions.

[0045] Similarly, as shown in Figure 4 of Figure 11, the generation unit 16 generates two movement paths for the X-axis of the moving block B2, an advanced position and a retracted position, using the X-axis movement command and vibration amplitude. In this case, the upper end is selected in the X-axis vibration, and the advanced position coincides with the commanded position. The retracted position is a trajectory offset in the direction of time delay from the commanded position. Next, as shown in Figure 5 of Figure 11, the generation unit 16 generates an X-axis vibration waveform consisting only of the vibration component for the moving block B2, using the vibration frequency and vibration waveform shape, in the same manner as described above. Next, as shown in Figure 6 of Figure 11, the superposition unit 17 generates the final X-axis vibration waveform by superimposing the X-axis vibration waveform consisting only of the vibration component onto the X-axis movement path for the moving block B2, including the advanced and retracted positions.

[0046] Figure 12 is another time chart illustrating the operation of the vibration waveform generation unit 6 of the numerical control device 1 according to Embodiment 1. The horizontal and vertical axes in each figure of Figure 12 are the same as those in Figure 11. The operation of the generation unit 16 and the superimposing unit 17 in Figures 1 to 3 of Figure 12 is the same as in Figure 11. As shown in Figure 4 of Figure 12, the generation unit 16 uses the movement command for the X axis and the vibration amplitude to generate two movement paths for the X axis of the moving block B2: an advanced position and a retracted position. In this case, the lower end is selected in the vibration of the X axis, and the retracted position coincides with the command position. The advanced position is a trajectory that is offset in the direction that advances time by the amount of the vibration amplitude from the command position. Next, as shown in Figure 5 of Figure 12, the generation unit 16 uses the vibration frequency and vibration waveform shape to generate an X-axis vibration waveform consisting only of the vibration component for the moving block B2, in the same manner as described above. Next, as shown in Figure 12, the superposition unit 17 generates the final vibration waveform for the X-axis by superimposing an X-axis vibration waveform consisting only of vibration components onto the X-axis movement path of the moving block B2, which includes the forward and backward positions.

[0047] Figure 13 shows the vibration amplitude when the upper end is selected in the numerical control device 1 according to Embodiment 1. Figure 14 shows the vibration amplitude when the lower end is selected in the numerical control device 1 according to Embodiment 1. Figure 13 shows the vibration amplitude in the X-axis direction when the upper end is selected in the case of the vibration waveform shown in Figure 11, that is, in the vibration of the X-axis, with the horizontal axis representing the Z-axis position and the vertical axis representing the X-axis position. Figure 14 shows the vibration amplitude in the X-axis direction when the lower end is selected in the case of the vibration waveform shown in Figure 12, that is, in the vibration of the X-axis, with the horizontal axis representing the Z-axis position and the vertical axis representing the X-axis position.

[0048] As shown in Figure 13, when the upper end is selected for vibration, vibration occurs in the region that returns from the direction of axis travel relative to the commanded position. In other words, the vibration occurs so that the upper end lies on the commanded trajectory. As shown in Figure 14, when the lower end is selected for vibration, vibration occurs in the region that advances from the direction of axis travel relative to the commanded trajectory. In other words, the vibration occurs so that the lower end lies on the commanded trajectory.

[0049] Note that the calculation procedure for vibration waveforms may be other than those described above. Using the case of a cosine wave as an example, the calculation procedure for different vibration waveforms will be explained. Figure 15 is a time chart for explaining the calculation procedure for other vibration waveforms in the numerical control device 1 according to Embodiment 1. The horizontal axis of each figure in Figure 15 represents time. From top to bottom, each figure in Figure 15 shows the positive (+) reference vibration waveform, the negative (-) reference vibration waveform, the position command, the vibration waveform when the lower end is selected, and the vibration waveform when the upper end is selected.

[0050] The vibration waveform generation unit 6 generates a reference vibration waveform based on the vibration frequency and the vibration end selection information 13 determined by the vibration end determination unit 4. At this time, selecting whether to create a waveform that vibrates between 0 and 1, as shown in Figure 15-1, or a waveform that vibrates between -1 and 0, as shown in Figure 15-2, is equivalent to selecting whether to set the command position as the lower end or the upper end.

[0051] After multiplying the reference vibration waveform by the vibration amplitude corresponding to the vibration conditions, the vibration waveform is generated in the superposition section 17 by superimposing the reference vibration waveform multiplied by the vibration amplitude onto the motion command of each axis, similar to the case of the triangular wave described above. For a position command as shown in Figure 15, if the lower end is selected, the vibration waveform shown in Figure 15, Figure 4 is generated, and if the upper end is selected, the vibration waveform shown in Figure 15, Figure 5 is generated.

[0052] Next, the method for selecting the vibration end performed by the vibration end determination unit 4 will be described. In Embodiment 1, in order to solve the problems of the prior art, when the tool T vibrates relative to the workpiece W in vibratory cutting, the vibration region is positioned on the tool T side of the movement path G rather than the workpiece W side. The vibration region is the region sandwiched between the forward position and the backward position of the command position. In other words, the vibration operation is always performed on the tool T side rather than the workpiece W side with respect to the movement path of the tool T described in the machining program. To achieve this, the vibration end determination unit 4 determines the positional relationship between the tool T and the workpiece W based on the cutting edge vector 11 and the movement direction vector 10, and determines the positional relationship between the vibration region and the movement path G based on the vibration direction vector 12 and the movement direction vector 10.

[0053] In the following explanation, for the sake of intuitive understanding, we will use the XZ plane as viewed from the Y-axis + direction. However, there are no restrictions based on viewpoint; the explanation can be applied regardless of viewpoint by appropriately adjusting the interpretation if the viewpoint or coordinate system changes.

[0054] Figure 16 is a diagram illustrating the operation of the vibration end determination unit 4 of the numerical control device 1 according to Embodiment 1. Figure 17 is another diagram illustrating the operation of the vibration end determination unit 4 of the numerical control device 1 according to Embodiment 1. In Figures 16 and 17, the XZ plane is divided into two regions by the movement path G, and these two regions will henceforth be referred to as the upper and lower side, or left and right side, with the movement path G as the boundary. In Figure 16, the workpiece W is generally located on the lower side of the movement path G, and a tool T (not shown) is located on the upper side of the movement path G. In Figure 17, the workpiece W is generally located on the upper side of the movement path G, and a tool T (not shown) is located on the lower side of the movement path G.

[0055] Figure 18 shows the positional relationship between the tool T and the workpiece W in the numerical control device 1 according to Embodiment 1. Figure 19 shows another positional relationship between the tool T and the workpiece W in the numerical control device 1 according to Embodiment 1. Figure 18 corresponds to the positional relationship between the movement path G and the workpiece W as shown in Figure 16. Figure 19 corresponds to the positional relationship between the movement path G and the workpiece W as shown in Figure 17. In the case of Figure 18, the tool T contacts the workpiece W from the +X axis direction and machining is performed, which corresponds to a general machining case. In the case of Figure 19, the tool T contacts the workpiece W from the -X axis direction and machining is performed, which corresponds to a case such as internal diameter machining or machining by the tool T on the lower tool post.

[0056] The cutting edge vector 11 is used to determine the positional relationship between the workpiece W and the tool T. For example, when the cutting edge vector 11 is in the vector directions V3, V4, V8 shown in Figure 3, the cutting edge of the tool T is pointing downwards, so it can be determined that the workpiece W is below and the tool T is above. Conversely, when the cutting edge vector 11 is in the vector directions V1, V2, V6 shown in Figure 3, the opposite is true; the cutting edge of the tool T is pointing upwards, so it can be determined that the workpiece W is above and the tool T is below. Furthermore, when the cutting edge vector 11 is in the vector directions V1, V4, V5, it can be determined that the workpiece W is on the right and the tool T is on the left. When the cutting edge vector 11 is in the vector directions V2, V3, V7, it can be determined that the workpiece W is on the left and the tool T is on the right.

[0057] In this way, the positional relationship between the workpiece W and the tool T can be determined by the cutting edge vector 11. Even if the cutting edge vector 11 is treated as an angle or vector value instead of a number, the positional relationship between the workpiece W and the tool T can be determined using a similar approach. Furthermore, even if the definition of the viewpoint or the cutting edge vector number changes, the same approach can be applied by appropriately reinterpreting it according to the situation.

[0058] Next, we will explain the relationship between the vibration direction vector 12 and the movement direction vector 10. As shown in the example in Figure 9, when vibration occurs in a direction along the movement path, the ratio of the axes of the movement direction vector 10 and the ratio of the axes of the vibration direction vector 12 are the same. If the ratio of the axes of the vibration direction vector 12 is changed, the vibration direction will be in a direction different from the movement path. In this case, as can be seen from the example in Figure 10, the direction of vibration of the vibration direction vector 12 relative to the movement path will be towards the axis with a larger ratio relative to the ratio of the axes of the movement direction vector 10. In the case of Figure 10, the ratio of the axes in the X-axis direction and the Z-axis direction of the movement direction vector 10 are the same, but the vibration amplitude in the Z-axis direction is larger than the vibration amplitude in the X-axis direction, so the vibration direction vector 12 approaches the horizontal axis and becomes closer to the Z-axis.

[0059] As shown in Figure 11 or Figure 12, when the vibration direction is made different from the movement direction by vibrating only one of the multiple axes included in the movement path, the ratio in the Z-axis direction can be considered to be 0 and the ratio in the X-direction direction can be considered to be 100%, indicating that it is biased towards the X-axis.

[0060] In this way, the vibration end determination unit 4 can determine whether the vibration direction is on the upper or lower side of the movement path, or on the right or left side, by comparing the movement direction vector 10 with the vibration direction vector 12.

[0061] Figure 20 is a diagram showing the correspondence between the X-axis movement direction, the Z-axis movement direction, the vibration direction, and the position of the vibration region in the numerical control device 1 according to Embodiment 1. In Figure 20, the correspondence is shown when the upper end is selected as the vibration end in the initial state. The position of the vibration region indicates whether the vibration region is on the upper or lower side of the movement path. The vibration end determination unit 4 has a memory table in which the correspondence shown in Figure 20 is set.

[0062] In Figure 20, for example, if the X-axis movement direction determined from the movement direction vector 10 is positive, the Z-axis movement direction is negative, and the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration region is below the movement path. Also, if the X-axis movement direction determined from the movement direction vector 10 is positive, the Z-axis movement direction is negative, and the vibration direction determined from the vibration direction vector 12 is closer to the Z-axis, it indicates that the vibration region is above the movement path. Also, if the X-axis movement direction determined from the movement direction vector 10 is negative, the Z-axis movement direction is positive, and the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration region is above the movement path. Also, if the X-axis movement direction determined from the movement direction vector 10 is negative, the Z-axis movement direction is positive, and the vibration direction determined from the vibration direction vector 12 is closer to the Z-axis, it indicates that the vibration region is below the movement path.

[0063] The vibration end determination unit 4 uses the movement direction vector 10 and the vibration direction vector 12 and the correspondence shown in Figure 20 to obtain a first determination result that determines whether the vibration direction is above or below the movement path, or to the right or left. The vibration end determination unit 4 also uses the cutting edge vector 11, as described above, to obtain a second determination result that determines the positional relationship between the workpiece W and the tool T, that is, the vertical, horizontal, and vertical positional relationship between the workpiece W and the tool T. The vibration end determination unit 4 compares the first determination result and the second determination result to determine whether the vibration region is on the workpiece W side or the tool T side. By referring to the comparison result, the vibration end determination unit 4 determines that the first determination result (upper, lower, right, or left) is on the tool T side, and selects the upper end corresponding to the correspondence shown in Figure 20 as the vibration end selection information 13. On the other hand, the vibration end determination unit 4, by referring to the comparison result, selects the lower end as the vibration end selection information 13 if the first determination result (upper, lower, right, or left) is determined to be the workpiece W side. In this way, the vibration end determination unit 4 can determine the appropriate vibration end selection information 13.

[0064] Next, the path division operation performed by the path division unit 3 will be explained. When the travel path is a curve containing an inflection point α, the path division unit 3 divides the travel path into multiple parts. In the program analysis unit 2, the position of the curved inflection point α can be calculated by geometrically analyzing the shape of the travel path, so the path division unit 3 only needs to divide the path at the calculated inflection point α. For example, if the curve shape can be expressed mathematically, the point where the slope, i.e., the velocity, becomes 0 can be found by differentiating. Even if it cannot be calculated mathematically, the travel path can be divided into many parts, and the change in position can be sequentially determined, and the point where the change in position reverses can be determined to be the inflection point α, so the path can be divided at the calculated inflection point α.

[0065] However, this method requires a large amount of computation, so when real-time performance is required, it is more effective to use a method that requires less computation. Furthermore, the purpose of dividing the path is to calculate the movement direction vector 10, which, as mentioned above, is used to divide the region on the plane into two and to understand the positional relationship between the tool T and the workpiece W in combination with the cutting edge vector 11, or to determine the vibration region in combination with the vibration direction vector 12. For this reason, it is not always necessary to calculate the inflection point α precisely; it is sufficient to roughly understand the movement direction vector 10 for each part of the divided path.

[0066] Figure 21 is a diagram illustrating the operation of the path division unit 3 of the numerical control device 1 according to Embodiment 1. For example, as shown in Figure 21, the extension of the tangent vector Sv at the starting point S of the movement path G before division is taken as the movement direction vector G1 for the first half after division. The intersection point of the movement path G and the movement direction vector G1 is taken as the inflection point α, and the movement direction vector G2 for the second half after division is taken as the vector moving from the inflection point α to the endpoint E. In the case of a curved path, the direction along the movement path G, that is, the tangent to the path, changes gradually, so in order to precisely grasp the movement direction vector 10, it is necessary to perform sequential calculations or represent the curve mathematically. However, with this method, the movement direction vector 10 can be obtained with a small amount of computation.

[0067] If the movement direction vectors 10 for each divided movement path are obtained for a path containing an inflection point α, then by performing the same processing as described above for each divided movement path, vibration end selection information 13 for each divided movement path can be obtained.

[0068] As described above, according to Embodiment 1, based on the movement direction vector 10, the cutting edge vector 11, and the vibration direction vector 12, vibration end selection information 13 is determined to indicate whether the command position is the upper or lower end of the vibration so that the vibration region is the space from the command position to the tool T side. Based on the vibration end selection information 13, a vibration waveform for performing vibration cutting is generated. Therefore, it is possible to perform vibration cutting that avoids cutting regardless of the machining shape, and vibration cutting that reduces the load on the machine tool without causing machining defects can be realized.

[0069] Embodiment 2. Figure 22 is a block diagram showing the configuration of the numerical control device 1a according to Embodiment 2. In Embodiment 2, the vibration end determination unit 4 of Embodiment 1 is replaced by the vibration direction determination unit 8. The other configurations in Embodiment 2 are the same as in Embodiment 1, and redundant explanations are omitted.

[0070] The vibration direction determination unit 8 determines the vibration direction vector 12 based on the movement direction vector 10, the cutting edge vector 11, and the vibration end selection information 13, and inputs the determined vibration direction vector 12 to the vibration waveform generation unit 6. The vibration direction determination unit 8 has a memory table in which the correspondence relationships shown in Figure 20 are set. The vibration waveform generation unit 6 generates a vibration waveform for realizing machining by vibration cutting by superimposing the waveform of the movement path and the vibration waveform based on the information created by the program analysis unit 2, the operation command generated by the operation command generation unit 5, and the vibration direction vector 12, and outputs it as an operation command to the operation command output unit 7.

[0071] In Embodiment 2, the correspondence shown in Figure 20 is assumed to be set. Therefore, in this case, the upper end is fixedly selected as the vibration end selection information 13. The vibration direction determination unit 8, similar to Embodiment 1, uses the cutting edge vector 11 and the movement direction vector 10 to determine the positional relationship between the workpiece W and the tool T, that is, the up, down, left, and right positional relationship between the workpiece W and the tool T. The vibration direction determination unit 8 also assigns the movement direction vector 10 to the correspondence shown in Figure 20 to select one of the four areas including the vibration direction in Figure 20. Then, the vibration direction determination unit 8 determines whether to select the area closer to the X axis or the area closer to the Z axis within the selected area, using the up, down, left, and right positional relationship between the workpiece W and the tool T determined using the cutting edge vector 11, so that the vibration region is the area on the tool T side.

[0072] For example, if the X-axis movement direction determined from the movement direction vector 10 is negative and the Z-axis movement direction is negative, the vibration direction in the lower right area of ​​Figure 20 (closer to the X-axis: upper, closer to the Z-axis: lower) is selected. In the positional relationship between the workpiece W and the tool T determined using the cutting edge vector 11, if the tool T is on the upper side, the direction closer to the X-axis is selected, and if the tool T is on the lower side, the direction closer to the Z-axis is selected.

[0073] Once it is determined whether the vibration is closer to the X-axis or the Z-axis, the vibration direction determination unit 8 then determines the vibration direction vector 12. As mentioned above, making the vibration direction different from the direction of movement can be achieved by vibrating only one of the multiple axes included in the movement path, or by changing the ratio of vibration amplitudes between multiple axes relative to the ratio between multiple axes in the movement path.

[0074] If you choose the former method, the direction can be automatically determined once you have decided whether to be closer to the X-axis or the Z-axis.

[0075] If the latter method is chosen, for example, the vibration direction vector 12 is determined based on the movement direction vector 10. Figure 23 is a diagram illustrating the method for determining the vibration direction vector 12 in the numerical control device 1a according to Embodiment 2. As shown in Figure 23, the vibration direction vector 12a may be generated by rotating it by a certain angle θ with respect to the machining direction, i.e., the movement direction vector 10. For example, the angle θ of rotation may be specified by directly writing it as a string in the machining program or by setting it as a parameter. Alternatively, vibration direction vectors 12b, 12c, and 12d, in which the vibration region is the same side as the tool T, may be calculated by performing various transformation calculations on the vibration direction vector 12a that was not selected. The vibration direction vector 12b is obtained by transforming the vibration direction vector 12a symmetrically with respect to the movement direction vector 10. The vibration direction vector 12c is obtained by transforming the vibration direction vector 12a symmetrically with respect to a specific axis parallel to the X-axis. The vibration direction vector 12d is obtained by transforming the vibration direction vector 12a symmetrically with respect to a specific axis parallel to the Z-axis.

[0076] Upon receiving the vibration direction vector 12 from the vibration direction determination unit 8, the vibration waveform generation unit 6 calculates the vibration amplitude of each axis based on the vibration amplitude determined based on the information created by the program analysis unit 2 and the motion commands generated by the motion command generation unit 5, and the vibration waveform is generated in the same manner as in the embodiment 1 described above.

[0077] The lower end may be set as the vibration end selection information 13. In this case, a memory table similar to that in Figure 20 should be created and used to correspond to the lower end. In addition, in Embodiment 2, the vibration direction determination unit 8 may determine the vibration direction vector 12 without using the vibration end selection information 13.

[0078] Furthermore, the concept of dividing the movement path including the inflection point α described in Embodiment 1 into multiple paths is also applicable to Embodiment 2. The path division unit 3 calculates a corresponding movement direction vector 10 for each of the divided movement paths. The vibration direction determination unit 8 determines a vibration direction vector 12 based on the aforementioned determination method according to each movement direction vector 10.

[0079] As described above, according to Embodiment 2, the vibration direction vector 12 is determined based on the movement direction vector 10, the cutting edge vector 11, and the vibration end selection information 13 so that the vibration region is the space from the command position to the tool T side, and a vibration waveform for vibratory cutting is generated based on the vibration direction vector 12. Therefore, it is possible to perform vibratory cutting that avoids cutting regardless of the machining shape, and vibratory cutting that reduces the load on the machine tool without causing machining defects can be realized.

[0080] Embodiment 3. Embodiment 3 focuses on the operation when switching vibration waveforms, and a waveform switching region is provided at the boundary between movement paths. The main points of the features of Embodiment 3 will be explained, and the explanation of points that overlap with Embodiments 1 and 2 will be omitted.

[0081] While the methods described in Embodiments 1 and 2 enable vibration cutting that avoids material removal, the vibration waveform may change depending on the movement path. Ideally, the vibration waveform should switch at the moment the movement path changes, but in reality, various factors make it difficult to precisely capture the moment the movement path changes, or the timing of the vibration waveform switch may be off, potentially affecting the machining process using vibration cutting.

[0082] Examples of contributing factors include discretization errors caused by digital processing in software, timing discrepancies or delays in communication between numerical control devices and motor control devices (e.g., servo amplifiers), and superposition processing of movement paths performed for purposes such as speed smoothing between movement paths. Furthermore, in the case of curved paths with inflection points α, precisely detecting inflection points α itself can be difficult from the standpoint of the required computational amount or processing time.

[0083] Therefore, in Embodiment 3, a waveform switching region Ta is provided at the boundary between movement paths, and the transition between vibration waveforms is performed in the waveform switching region Ta, thereby switching the vibration waveform without affecting the processing.

[0084] Figure 24 is a block diagram showing the configuration of the numerical control device 1b according to Embodiment 3. The numerical control device 1b of Embodiment 3 is provided with a switching notification unit 9, a vibration end determination unit 4 of Embodiment 1 and a vibration direction determination unit 8 of Embodiment 2, and priority information 21 for switching between vibration end selection information 13 and vibration direction vector 12.

[0085] First, in order to explain the operation of the switching notification unit 9, the waveform switching region Ta will be described. The waveform switching region Ta is defined as the region within a threshold range for the position or velocity of the axis included in the movement path.

[0086] Figure 25 is a diagram illustrating the waveform switching region Ta used in the switching notification unit 9 of the numerical control device 1b according to Embodiment 3. Figure 1 of Figure 25 shows the movement path along the X and Z axes. The horizontal axis from Figure 2 onwards in Figure 25 represents time. The vertical axis from Figure 2 onwards in Figure 25, from top to bottom, shows the Z-axis position of the movement path, the Z-axis velocity of the movement path, the X-axis position of the movement path, and the X-axis velocity of the movement path.

[0087] Figure 26 is another diagram illustrating the waveform switching region Ta used in the switching notification unit 9 of the numerical control device 1b according to Embodiment 3. Figure 1 of Figure 26 shows the movement path along the X and Z axes. The horizontal axis from Figure 2 onwards in Figure 26 represents time. The vertical axis from Figure 2 onwards in Figure 26 shows, from top to bottom, the Z-axis position of the movement path, the Z-axis velocity of the movement path, the X-axis position of the movement path, and the X-axis velocity of the movement path.

[0088] Figure 25 shows a linear movement path, and Figure 26 shows a curved movement path. In the example shown in Figure 25, thresholds including a lower threshold Th1 and an upper threshold Th2 are set with respect to the X-axis position, and the time from when the X-axis position enters between the lower threshold Th1 and the upper threshold Th2 until it exits is defined as the waveform switching region Ta. In Figure 25, by setting a lower threshold Th1 and an upper threshold Th2 with a fixed amount of value added to both the negative and positive directions at the endpoint of the movement path, the region immediately before the end of the previous movement path and immediately after the start of the next movement path is defined as the waveform switching region Ta.

[0089] In Figure 26, thresholds are set with respect to the X-axis velocity, including a lower threshold Th1 and an upper threshold Th2. In detecting the inflection point α in the curve's movement path, for example, a zero-crossing of one of the axes included in the movement path is detected. In Figure 26, by setting a lower threshold Th1 and an upper threshold Th2 that add a fixed amount of value to both the negative and positive directions for an X-axis velocity of 0, the region before and after the inflection point α is defined as the waveform switching region Ta.

[0090] Setting the waveform switching region Ta based on position is suitable for detecting movement paths where the position changes significantly, as shown in Figure 25. However, in cases of gradual position changes, as shown in Figure 25, the waveform switching region Ta may become excessively large if the threshold is not set appropriately. On the other hand, setting the waveform switching region Ta based on velocity makes it relatively easy to adjust the size of the waveform switching region Ta, even for movement paths with gradual position changes, as shown in Figure 26. Conversely, in cases of movement paths where the velocity changes rapidly, as shown in Figure 25, setting the threshold based on velocity may be difficult, so it is necessary to decide which information to target for setting the threshold according to the characteristics of the movement path. In the case of Figure 25, it is also possible to detect movement by using acceleration as the target.

[0091] The data used to determine the threshold, such as position and velocity, or the threshold value itself, can be specified directly as a string in the processing program, or it can be selected by referencing parameters. Furthermore, as explained above, the selection can be made according to the path, for example, using position for straight paths and velocity for inflection points α in curved paths.

[0092] Furthermore, the position and speed data used to detect the waveform switching region Ta may be command values ​​output from the numerical control device 1b to the amplifier and motor, or feedback values ​​obtained by transmitting values ​​acquired from sensors such as encoders on the motor to the numerical control device 1b may be used. By using feedback values, it is possible to confirm that the motor has actually reached the position and speed relative to the threshold before proceeding to the waveform switching operation.

[0093] Thus, when the switching notification unit 9 detects that the waveform switching region Ta has been entered using the operation command generated by the operation command generation unit 5, it notifies the vibration waveform generation unit 6 of a switching signal, which is a notification of arrival in the waveform switching region Ta. The waveform switching operation performed by the vibration waveform generation unit 6 will be described below. The waveform switching operation can be any operation that switches between two different vibration waveforms, and any waveform switching operation may be performed.

[0094] One example of a waveform switching operation is the cessation of vibration. When the vibration waveform generation unit 6 receives a notification from the switching notification unit 9 that it has reached the waveform switching region Ta, it stops superimposing the vibration waveform on the operation command. In other words, the switching operation is achieved by switching the vibration waveform superimposed on the operation command to the next vibration waveform. By stopping the vibration near the boundary between the two vibration waveforms, vibration cutting is not performed within the waveform switching region Ta, thereby eliminating the impact on machining due to malfunctions in waveform switching.

[0095] Another example of waveform switching operation is gradually increasing or decreasing the amplitude. Ideally, the midpoint of the waveform switching region Ta should be the boundary of the movement path, but this may shift due to the various factors mentioned above. However, if the threshold is set appropriately, a midpoint should exist within the waveform switching region Ta, and it is highly likely that the midpoint is near the center of the waveform switching region Ta. Therefore, for example, the amplitude can be gradually decreased with a slope such that the vibration is completely damped at the center of the waveform switching region Ta, and then gradually increased from the center with a slope such that the amplitude returns to its original value when exiting the waveform switching region Ta. Alternatively, by making the slope of amplitude damping and increase even steeper, it is possible to create a region where the vibration stops near the center of the waveform switching region Ta.

[0096] Next, the selection of vibration in the vibration waveform generation unit 6 will be described. In the vibration end determination unit 4, as described in Embodiment 1, the vibration end in the vibration waveform is determined based on the movement direction vector 10, the cutting edge vector 11, and the vibration direction vector 12, so that the vibration region is the same side as the tool T, and vibration end selection information 13 is generated. In the vibration direction determination unit 8, as described in Embodiment 2, the vibration direction vector 12 is determined based on the movement direction vector 10, the cutting edge vector 11, and the vibration end selection information 13 so that the vibration region is the same side as the tool T.

[0097] Priority information 21 indicates whether to select a vibration end selection priority mode, which uses vibration end selection information 13 output from the vibration end determination unit 4, or a vibration direction vector priority mode, which uses a vibration direction vector 12 output from the vibration direction determination unit 8. Based on the priority information 21, the vibration waveform generation unit 6 selects either the vibration end selection priority mode or the vibration direction vector priority mode and operates according to the selected mode. There are no restrictions on how priority information 21 can be specified; it may be specified as a string in the machining program or as a parameter.

[0098] To achieve vibratory cutting, the tool T must be vibrated relative to the workpiece W. Depending on the structure of the machine tool, the suitability of each drive axis for this excitation motion may differ. Therefore, there are cases where a specific axis should be prioritized as the excitation axis, or conversely, cases where a specific axis should not be used as the excitation axis. Specifically, axes closer to the tip that grips the tool T tend to be lighter in weight, so less energy is required for excitation, which is advantageous. On the other hand, axes that support many axes or the machine structure require more energy for excitation, and this can lead to the excitation of the entire machine, increasing the likelihood of adverse effects associated with vibratory cutting. Priority information 21 is provided to achieve vibration motion that takes these external factors into consideration.

[0099] As described above, according to Embodiment 3, a waveform switching region Ta is provided at the boundary between movement paths to notify a switching signal when the axis position or velocity reaches a threshold. When the switching signal is notified, a waveform switching operation is performed to generate a vibration waveform, thereby preventing wear caused by switching vibration waveforms.

[0100] Here, the hardware configuration of numerical control devices 1, 1a, and 1b will be described. Figure 27 shows examples of the hardware configuration of numerical control devices 1, 1a, and 1b in Embodiments 1 to 3. Numerical control devices 1, 1a, and 1b can be realized by the processor 301, memory 302, and interface circuit 303 shown in Figure 27. An example of the processor 301 is a CPU (Central Processing Unit, also called a microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). An example of the memory 302 is RAM (Random Access Memory) or ROM (Read Only Memory).

[0101] Numerical control units 1, 1a, and 1b are implemented by the processor 301 reading and executing a program stored in memory 302 for performing the operations of numerical control units 1, 1a, and 1b. This program can also be described as instructing the computer to execute the procedures or methods of numerical control units 1, 1a, and 1b. Memory 302 is also used as temporary memory when the processor 301 performs various processes. Furthermore, some functions of numerical control units 1, 1a, and 1b may be implemented using dedicated hardware, while others are implemented using software or firmware.

[0102] The configurations shown in the embodiments described above are merely examples of the content of this disclosure, and can be combined with other known technologies, combined with other embodiments, and some parts of the configuration can be omitted or modified without departing from the gist of this disclosure. [Explanation of symbols]

[0103] 1,1a,1b Numerical control unit, 2 Program analysis unit, 3 Path division unit, 4 Vibration end determination unit, 5 Operation command generation unit, 6 Vibration waveform generation unit, 7 Operation command output unit, 8 Vibration direction determination unit, 9 Switching notification unit, 10,G1,G2 Movement direction vector, 11 Cutting edge vector, 12,12a,12b,12c,12d Vibration direction vector, 13 Vibration end selection information, 16 Generation unit, 17 Superposition unit, 21 Priority information, 301 Processor, 302 Memory, 303 Interface circuit, G Movement path, T Tool, Ta Waveform switching region, W Workpiece.

Claims

1. A numerical control device for vibratory cutting of a workpiece using a tool, A vibration direction determination unit determines the positional relationship between the workpiece and the tool based on a movement direction vector representing the direction of movement of the tool before vibration is applied, a cutting edge vector representing the direction of the cutting edge of the tool, and vibration end selection information indicating whether the command position, which is the movement path of the tool before vibration is applied, is the upper or lower end of the vibration, and determines a vibration direction vector that is in a direction different from the movement direction vector so that the vibration region of the vibration cutting is the space from the command position to the tool side, based on the result of the determination, The system includes a vibration waveform generation unit that generates a vibration waveform for performing vibration cutting based on the vibration direction vector. A numerical control device characterized by the following features.

2. The system further includes a path division unit that divides the aforementioned movement path into a plurality of movement paths by an inflection point. The vibration direction determination unit determines the vibration direction vector corresponding to each of the plurality of divided movement paths based on the movement direction vector in each of the plurality of divided movement paths. The numerical control device according to feature 1.

3. It further includes a switching notification unit that notifies a switching signal for the vibration waveform, The vibration waveform generation unit generates the vibration waveform by performing a waveform switching operation based on the switching signal notified by the switching notification unit. The numerical control device according to claim 1 or 2.

4. The switching notification unit notifies the switching signal when the position or velocity of an axis included in the movement path reaches a threshold. The numerical control device according to claim 3.

5. A numerical control method for performing vibratory cutting of a workpiece using a tool, The steps include: determining the positional relationship between the workpiece and the tool based on a movement direction vector representing the direction of movement of the tool before vibration is applied, a cutting edge vector representing the orientation of the cutting edge of the tool, and vibration end selection information indicating whether the command position, which is the movement path of the tool before vibration is applied, is the upper or lower end of the vibration; and determining a vibration direction vector that is in a direction different from the movement direction vector, based on the result of the determination, such that the vibration region of the vibration cutting is the space from the command position to the tool side; The step includes generating a vibration waveform for performing vibratory cutting based on the vibration direction vector. A numerical control method characterized by the following:

Citation Information

Patent Citations

  • All solid state complementary type electrochromic display element

    JP1982081241A

  • JPP7007531B

  • Numerical control apparatus

    WO2015162739A1

  • Numerical control device, machine learning device, and numerical control method

    WO2020261581A1

  • Machine tool control device

    WO2022269751A1