Numerical control device and numerical control method
Patent Information
- Application Number
- JP2024513234
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-03-03
- Estimated Expiration
- 2043-07-31
AI Technical Summary
【0008】 本開示の数値制御装置によれば、加工形状に関係なく加工不良を発生させずに、工作機械への負荷の低減が可能な振動切削を実現する、という効果を奏する。
Smart Images

Figure 0007638441000001 
Figure 0007638441000002 
Figure 0007638441000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a numerical control device, which is a control device for a machine tool, and a numerical control method. [Background technology]
[0002] In cutting, a vibration cutting function is known that breaks up chips into small pieces by vibrating the cutting tool and the workpiece relatively in the machining direction. During machining using the vibration cutting function, cutting is performed by alternately repeating forward motion in the same direction as the machining direction and backward motion in the opposite direction to the machining direction. The relative movement speed between the cutting tool and the workpiece during forward motion is higher than the relative movement speed during non-vibration machining, which is normal machining that does not involve vibration cutting, so even when a backward motion is performed, the average relative movement speed obtained by summing forward and backward motions can be made equivalent to the relative movement speed during non-vibration machining, and this makes it possible to apply vibration cutting without changing the machining time, i.e., productivity.
[0003] As described above, in vibration cutting, forward and backward movements are repeated at a high relative movement speed, which causes the machine tool to vibrate. Therefore, in order to reduce the load on the machine tool, Patent Document 1 calculates the oscillation amplitude required to chop up the chips based on the cutting angle of the tool, determines the oscillation direction according to the calculated oscillation amplitude, and vibrates in a direction different from the machining direction. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] International Publication No. 2022 / 269751 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the technology of Patent Document 1 has a problem that, when the machine is vibrated in a direction different from the machining direction to reduce the load on the machine, gouging of the workpiece cannot be avoided in a downward tapered or curved shape. Gouging refers to excessive cutting into the workpiece relative to the desired shape. When gouging occurs, it causes machining defects, which can lead to problems such as remachining and the disposal of the workpiece.
[0006] The present disclosure has been made in consideration of the above, and aims to obtain a numerical control device that realizes vibration cutting that can reduce the load on a machine tool without causing machining defects regardless of the machining shape. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the numerical control device of the present disclosure performs vibration cutting of a workpiece using a tool. The numerical control device includes a vibration end determination unit that determines vibration end selection information indicating whether a command position is to be the upper end or the lower end of vibration based on a movement direction vector indicating the movement direction of the tool before vibration is applied, a cutting edge vector indicating the orientation of the cutting edge of the tool, and a vibration direction vector indicating a vibration direction different from the movement direction vector, so that a vibration region of vibration cutting is a space on the tool side from a command position, which is the movement path of the tool before vibration is applied, and a vibration waveform generation unit that generates a vibration waveform for performing vibration cutting based on the vibration end selection information. Effect of the Invention
[0008] According to the numerical control device of the present disclosure, it is possible to realize vibration cutting that can reduce the load on the machine tool without causing machining defects regardless of the machining shape. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing a configuration of a numerical control device according to a first embodiment. [Diagram 2] FIG. 1 is a diagram showing a positional relationship between a cutting edge vector used in the numerical control device according to the first embodiment and a workpiece; [Diagram 3] FIG. 1 is a diagram showing an example of a cutting edge vector used in the numerical control device according to the first embodiment; [Figure 4] FIG. 1 is an explanatory diagram of a method for deriving an inflection point used in a numerical control device according to a first embodiment; [Diagram 5] FIG. 11 is an explanatory diagram of another method for deriving an inflection point used in the numerical control device according to the first embodiment; [Figure 6] FIG. 11 is an explanatory diagram of another method for deriving an inflection point used in the numerical control device according to the first embodiment; [Figure 7] FIG. 1 is a time chart for explaining an operation of a vibration waveform generating unit of a numerical control device according to a first embodiment; [Figure 8] FIG. 11 is another time chart for explaining the operation of the vibration waveform generating unit of the numerical control device according to the first embodiment. [Figure 9] FIG. 4 is a diagram showing a relationship between a moving direction and a vibration direction in the numerical control device according to the first embodiment; [Figure 10] FIG. 4 is a diagram showing a relationship between a moving direction and a vibration direction in the numerical control device according to the first embodiment; [Figure 11] FIG. 11 is another time chart for explaining the operation of the vibration waveform generating unit of the numerical control device according to the first embodiment. [Figure 12] FIG. 11 is another time chart for explaining the operation of the vibration waveform generating unit of the numerical control device according to the first embodiment. [Figure 13] FIG. 13 is a diagram showing vibration amplitude when the upper end is selected in the numerical control device according to the first embodiment; [Figure 14] FIG. 13 is a diagram showing vibration amplitude when the lower end is selected in the numerical control device according to the first embodiment; [Figure 15] FIG. 11 is a time chart for explaining a calculation procedure of another vibration waveform in the numerical control device according to the first embodiment; [Figure 16] FIG. 1 is a diagram for explaining an operation of a vibration end determination unit of the numerical control device according to the first embodiment; [Figure 17] FIG. 11 is another diagram for explaining the operation of the vibration end determination unit of the numerical control device according to the first embodiment. [Figure 18]FIG. 2 is a diagram showing a positional relationship between a tool and a workpiece in the numerical control device according to the first embodiment; [Figure 19] FIG. 11 is a diagram showing another positional relationship between the tool and the workpiece in the numerical control device according to the first embodiment; [Figure 20] FIG. 4 is a diagram showing a correspondence relationship between an X-axis moving direction, a Z-axis moving direction, a vibration direction, and a position of a vibration region in the numerical control device according to the first embodiment; [Figure 21] FIG. 1 is a diagram for explaining an operation of a path division unit of the numerical control device according to the first embodiment; [Figure 22] FIG. 11 is a block diagram showing a configuration of a numerical control device according to a second embodiment. [Figure 23] FIG. 11 is a diagram for explaining a method for determining a vibration direction vector in the numerical control device according to the second embodiment; [Figure 24] FIG. 11 is a block diagram showing a configuration of a numerical control device according to a third embodiment. [Diagram 25] FIG. 13 is a diagram for explaining a waveform switching region used in a switching notification unit of a numerical control device according to a third embodiment; [Figure 26] FIG. 13 is another diagram for explaining the waveform switching region used in the switching notification unit of the numerical control device according to the third embodiment; [Figure 27] FIG. 1 is a diagram showing an example of a hardware configuration of a numerical control device according to first to third embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A numerical control device and a numerical control method according to embodiments will be described below in detail with reference to the drawings.
[0011] Embodiment 1 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, a motion command generation unit 5, a vibration waveform generation unit 6, and a motion command output unit 7.
[0012] The program analysis unit 2 analyzes the machining program and creates information necessary for the motion command generation unit 5 to generate a motion command. The information necessary for generating a motion command includes 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 (linear interpolation, circular interpolation, etc.) of the movement path connecting the start and end points, the feed rate during movement, the number of rotations of the spindle, the rotation direction of the spindle, etc. Furthermore, information specifying whether vibration cutting is effective or not, or information specifying the shape of the vibration waveform may be included. Examples of information specifying the shape of the vibration waveform include vibration frequency, vibration amplitude, the number of vibrations per unit rotation, and vibration waveform shape. Note that it is not necessary to specify all of the information specifying the shape of the vibration waveform, and some of it may be omitted.
[0013] The program analysis unit 2 also calculates a movement direction vector 10. The movement direction vector 10 is a vector that represents the direction of the tool movement path before vibration is superimposed. More specifically, in one line (hereinafter referred to as one block) described in the machining program, a vector that connects the start point and end point of a movement block that describes the movement of the tool is the movement direction vector 10. The movement direction vector 10 may simply be a vector that goes from the start point to the end point of the movement block, or may be a vector whose magnitude is normalized to 1 for comparison with other vectors. The machining program may be, for example, a character string in the EIA (Electronic Industries Alliance) / ISO (International Organization for Standardization) format, or may be a program called an interactive program that includes information such as the shape of the workpiece, the machining shape, and the machining dimensions.
[0014] The motion command generator 5 generates motion commands required to make the machine tool perform the desired motion based on the information created by the program analyzer 2. The motion commands include motion commands for the drive shaft of the machine tool to realize a command position, which is the relative movement path between the workpiece and the tool, and rotation commands for the spindle. Note that the motion commands do not include vibration components in vibration cutting. The motion 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 to be controlled. This causes the machine tool to realize the desired motion described in the machining program. Note that a servo amplifier that controls the servo motor and a spindle amplifier that controls the spindle motor may be interposed between the motion command output unit 7 and the machine tool, in which case the motion command output unit 7 outputs motion commands to these amplifiers.
[0016] The above are general roles of the components of the numerical control device 1, regardless of whether vibration cutting is performed or not. Next, the vibration end determination unit 4, the vibration waveform generation unit 6, and the path division unit 3 will be described in order.
[0017] The vibration end determination unit 4 generates vibration end selection information 13 for the vibration waveform based on the movement direction vector 10, cutting edge vector 11, and vibration direction vector 12. The vibration end selection information 13 is information indicating whether the command position, which is the movement path of the tool before vibration is applied, is to be 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 vibration cutting is the space from the command position to the tool side.
[0018] The cutting edge vector 11 is a vector that indicates the direction in which the cutting edge of the tool faces. FIG. 2 is a diagram showing the positional relationship between the cutting edge vector 11 used in the numerical control device 1 according to the first embodiment and the workpiece W. FIG. 3 is a diagram showing an example of the cutting edge vector 11 used in the numerical control device 1 according to the first embodiment. FIG. 2 shows an example of the positional relationship between the tool T, the cutting edge vector 11, and the workpiece W. FIG. 3 shows an example in which the direction of the cutting edge vector 11 is expressed as eight vector directions V1 to V8. The vector directions V1 to V8 will be described in detail later. The cutting edge vector 11 can also be expressed 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 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 indicates the spatial direction of the relative vibration motion between the workpiece W and the tool T caused by vibration cutting. It is easy to understand that the coordinate system that serves as the reference for the vector is based on the direction along the drive axis of the machine tool, but a coordinate system in any direction in space may be used. For ease of explanation, an orthogonal machine coordinate system is considered here along the X-axis, Y-axis, and Z-axis, which are the three basic drive axes of the machine tool. The following explanation will be given assuming that the X-axis direction is the up-down direction and the Z-axis direction is the left-right 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 the settings of parameters, etc. in the machining program, or may be determined by rotating a specific angle with respect to the moving direction. In the setting by the parameters, etc. described above, the axis used for vibration in vibration cutting is specified in the machining program, so that the vibration direction vector 12 is determined as the direction along that axis. In addition, the vibration direction vector 12 may be determined by referring to parameters, etc. according to the operation contents of the machining program, or the vibration direction vector 12 may be changed according to the acceleration or the load condition of the drive shaft, etc.
[0021] Next, we will explain the vibration waveform generation unit 6. The vibration waveform generation unit 6 has a generation unit 16 and a superposition unit 17. The generation unit 16 generates a waveform of a moving path and a vibration waveform based on the information created by the program analysis unit 2 and the motion command generated by the motion command generation unit 5.
[0022] The superimposing unit 17 superimposes the waveform of the movement path generated by the generating unit 16 and the vibration waveform based on the vibration end selection information 13 to generate a final vibration waveform for realizing machining by vibration cutting, and outputs it as an operation command to the operation command output unit 7. The method of generating the vibration waveform will be described in detail later.
[0023] When the movement path analyzed by the program analysis unit 2 includes an inflection point α, the path division unit 3 divides the movement path at the inflection point α and calculates a movement direction vector 10 for each divided path.
[0024] FIG. 4 is an explanatory diagram of a method for deriving an inflection point α used in the numerical control device 1 according to the first embodiment. The inflection point α will be described with reference to FIG. 4. The inflection point α refers to a point at which the movement direction of one or more axes included in a movement is reversed during the operation of one movement block. The inflection point α does not occur in a linear movement, but the inflection point α may occur in a movement along a curved path such as a circular arc. At the inflection point α, the movement direction of the target axis is reversed, and therefore a zero cross occurs in which the speed of the axis passes through 0 and becomes a speed of the opposite sign, and therefore the inflection point α can be detected.
[0025] In FIG. 4, FIG. 1 shows a relative movement path G of the tool T in the X-axis and Z-axis directions with respect to the workpiece W. In this specification, the nth view refers to the nth view from the top. The horizontal axis of FIG. 4 from FIG. 2 onwards indicates time. The vertical axes of FIG. 4 from FIG. 2 onwards indicate, from the top, the position of the tool T in the Z-axis direction, the speed of the tool T in the Z-axis direction, the position of the tool T in the X-axis direction, and the speed of the tool T in the X-axis direction. In the movement path G in FIG. 4, there is an inflection point α where the speed of the X-axis crosses zero.
[0026] Also, in a curved movement path G, the inflection point α can be detected by comparing the tangent vector of the start point with the tangent vector of the end point. FIG. 5 is an explanatory diagram of another method of deriving the inflection point α used in the numerical control device 1 according to the first embodiment. FIG. 6 is an explanatory diagram of another method of deriving the inflection point α used in the numerical control device 1 according to the first embodiment. FIG. 5 shows a movement path G including the inflection point α, and FIG. 6 shows a movement path G not including the inflection point α. In this method, the components of the tangent vector Sv of the start point S in each axial direction and the components of the tangent vector Ev of the end point E are compared, and if the signs of both are the same, it is determined that the axis does not include the inflection point α in this movement path G, and conversely, if the signs of both are not the same, it is determined that the axis includes the inflection point α in this movement path G.
[0027] In the case of FIG. 5, the sign of the X-axis component of the tangent vector Sv of the starting point S is positive and the sign of the Z-axis component is negative, and the sign of the X-axis component of the tangent vector Ev of the end point E is negative and the sign of the Z-axis component is negative. In the case of FIG. 5, the sign of the X-axis component of the tangent vector Sv of the starting point S and the sign of the X-axis component of the tangent vector Ev of the end point E are reversed, so it can be determined that the inflection point α is included. In the case of FIG. 6, the sign of the X-axis component of the tangent vector Sv of the starting point S is positive and the sign of the Z-axis component is positive, and the sign of the X-axis component of the tangent vector Ev of the end point E is positive and the sign of the Z-axis component is positive. In the case of FIG. 6, the sign of each axial component of the tangent vector Sv of the starting point S and the sign of each axial component of the tangent vector Ev of the end point E match, so it can be determined that the inflection point α is not included.
[0028] Next, there will be described a method for generating a vibration waveform performed by the vibration waveform generating unit 6. As described above, the factors that determine the shape of a vibration waveform are the vibration amplitude, the vibration frequency, and the 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 may be directly written as a character string in the machining program and specified, or a certain ratio to the feed speed of the tool T (called the feed amplitude ratio) may be written in the machining program or set as a parameter, and the vibration amplitude may be determined according to the feed speed.
[0030] The vibration frequency indicates how many times vibration occurs per unit time. For example, the vibration frequency itself may be directly written and specified as a character string in the machining program, or may be determined according to the number of revolutions of the spindle or the feed rate of the tool T. Also, the vibration frequency may be determined according to the number of revolutions of the spindle by specifying the number of vibrations during one revolution of the spindle, or conversely, the number of revolutions of the spindle per vibration may be specified. These values may be directly written as a character string in the machining program, or may be selected from parameters according to the machining conditions.
[0031] The vibration waveform shape indicates the type of vibration waveform, such as a triangular wave, a sine wave, a cosine wave, a square wave, etc. The vibration waveform shape may also be directly specified as a character string in the machining program, or may be set as a parameter value. As long as the vibration amplitude, vibration frequency, and vibration waveform shape are determined, there are no particular limitations on the method of determination.
[0032] A specific calculation procedure for the vibration waveform will be described below. First, the case of a triangular wave will be described.
[0033] FIG. 7 is a time chart for explaining the operation of the vibration waveform generating unit 6 of the numerical control device 1 according to the first embodiment. FIG. 7 shows a movement path in which only the Z axis moves. FIG. 7 shows a movement path including two movement blocks B1 and B2. The horizontal axis of each diagram in FIG. 7 indicates time. The vertical axis of each diagram in FIG. 7 indicates, from the top, the Z axis position for the forward position and the backward position of the movement path, the difference between the forward position and the backward position, the amplitude of the reference vibration waveform, the movement amount of the vibration waveform of only the vibration component, and the Z axis position of the final vibration waveform.
[0034] As shown in FIG. 7, the generation unit 16 of the vibration waveform generation unit 6 generates two movement paths, a forward position and a backward position, using the movement commands and vibration amplitudes of each axis included in the movement blocks B1 and B2 to be calculated. The backward position is a path that is delayed from the forward position by a time corresponding to the vibration amplitude or by the number of spindle revolutions corresponding to the vibration amplitude so that the specified vibration amplitude can be ensured. Here, the time axis is considered as an example, but the vibration waveform can also be obtained using a similar calculation method when the number of spindle revolutions is considered as the reference axis.
[0035] Next, the generating unit 16 generates a reference vibration waveform using the vibration frequency and the vibration waveform shape, as shown in Fig. 7, No. 3. 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 Fig. 7, No. 2, a vibration waveform of only the vibration component is generated, as shown in Fig. 7, No. 4.
[0036] Next, the superimposition unit 17 generates a final vibration waveform as shown in Figure 7, 5, by superimposing a vibration waveform containing only vibration components as shown in Figure 7, 4, on a movement path including forward positions and backward positions not containing vibration components as shown in Figure 7, 1.
[0037] FIG. 8 is another time chart for explaining the operation of the vibration waveform generating unit 6 of the numerical control device 1 according to the first embodiment. FIG. 8 shows a movement path along which the X-axis and Z-axis move. FIG. 8 shows a vibration path corresponding to two movement blocks including a movement block B1 and a movement block B2. The horizontal axis of each diagram in FIG. 8 indicates time. The vertical axes of each diagram in FIG. 8 indicate, from the top, the Z-axis position for the forward and backward positions of the movement path, the movement amount of the vibration waveform of only the vibration component, the Z-axis position of the final vibration waveform, the X-axis position for the forward and backward positions of the movement path, the movement amount of the vibration waveform of only the vibration component, and the X-axis position of the final vibration waveform.
[0038] As shown in Fig. 8, even when the movement path includes multiple axes, a vibration waveform can be generated by performing similar calculations for the multiple axes in the vibration waveform generating unit 6. In Fig. 8, only the Z axis operates in the movement block B1, and the Z axis and the X axis operate in the movement block B2.
[0039] First, as shown in FIG. 8, the generation unit 16 generates two movement paths for the Z axis, a forward position and a backward position, using the Z axis movement command and vibration amplitude included in the movement blocks B1 and B2 to be calculated. Next, as shown in FIG. 8, the generation unit 16 generates a Z axis vibration waveform containing only vibration components by multiplying the reference vibration waveform for the Z axis generated using the vibration frequency and vibration waveform shape by the difference between the forward position and the backward position for the Z axis, as shown in FIG. 8,. Next, the superimposition unit 17 generates a final vibration waveform for the Z axis by superimposing the Z axis vibration waveform containing only vibration components shown in FIG. 8, which is shown in FIG. 8, on the Z axis movement path including the forward position and the backward position not containing vibration components shown in FIG. 8, which is shown in FIG. 8, which is shown in FIG. 8, and is shown in FIG. 8, which is shown in FIG. 8,.
[0040] Similarly, the generation unit 16 generates two movement paths for the X-axis, an advance position and a retreat position, using the X-axis movement command and vibration amplitude, as shown in FIG. 8 4. Next, the generation unit 16 generates an X-axis vibration waveform containing only vibration components by multiplying the reference vibration waveform for the X-axis generated using the vibration frequency and vibration waveform shape by the difference between the advance position and the retreat position for the X-axis, as shown in FIG. 8 5. Next, the superimposition unit 17 generates a final vibration waveform for the X-axis by superimposing the X-axis vibration waveform containing only vibration components on the X-axis movement path including the advance position and the retreat position that does not contain vibration components, as shown in FIG. 8 6.
[0041] Here, in the first embodiment, the load on the machine tool is reduced by making the vibration direction different from the movement direction. The vibration direction can be changed with respect to the movement direction by changing the ratio of the vibration amplitude between the multiple axes with respect to the ratio between the multiple axes in the movement path. FIG. 9 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device 1 according to the first embodiment. FIG. 10 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device 1 according to the first embodiment. In FIGS. 9 and 10, the vertical axis indicates the X-axis position, and the horizontal axis indicates the Z-axis position. In FIG. 9, in the movement block B2, the ratio of the vibration amplitude in the X-axis direction to the vibration amplitude in the Z-axis direction is made to match the ratio of the X-axis component to the Z-axis component in the movement path, and the vibration direction and the movement direction are matched. In FIG. 10, in the movement block B2, the ratio of the vibration amplitude in the X-axis direction to the vibration amplitude in the Z-axis direction is made to be different from the ratio of the X-axis component to the Z-axis component in the movement path, and the vibration direction and the movement direction are not matched. 10, the vibration amplitude in the Z-axis direction is increased and the vibration amplitude in the X-axis direction is decreased, which is closer to the Z-axis. Conversely, when the vibration amplitude in the Z-axis direction is decreased and the vibration amplitude in the X-axis direction is increased, this is called closer to the X-axis.
[0042] Changing the vibration direction relative to the movement direction can also be achieved by vibrating only one of the multiple axes included in the movement path. In that case, a vibration waveform is generated, for example, as shown in FIG. 11 or FIG. 12. In FIG. 11 and FIG. 12, the Z-axis and X-axis are operating in the movement block B2, but only the X-axis is vibrated. FIG. 11 shows the case where the upper end is selected in the vibration of the X-axis, and FIG. 12 shows the case where the lower end is selected in the vibration of the X-axis.
[0043] FIG. 11 is another time chart for explaining the operation of the vibration waveform generating unit 6 of the numerical control device 1 according to the first embodiment. In FIG. 11, as in FIG. 8, only the Z axis operates in the moving block B1, and the Z axis and the X axis operate in the moving block B2. The horizontal axis of each diagram in FIG. 11 indicates time. The vertical axis of each diagram in FIG. 11 indicates, from the top, the Z axis position of the forward and backward positions of the moving path, the movement amount of the vibration waveform of only the vibration component in the moving block B1, the Z axis position of the final vibration waveform, the X axis position of the forward and backward positions of the moving path, the movement amount of the vibration waveform of only the vibration component in the moving block B2, and the X axis position of the final vibration waveform.
[0044] First, as shown in FIG. 11, the generation unit 16 uses the Z-axis movement command and vibration amplitude included in the movement block B1 to generate two movement paths for the Z-axis forward position and the backward position in the movement block B1. In addition, for the movement block B2, the generation unit 16 generates a movement path for the forward position only in the Z-axis. Next, as shown in FIG. 11, the generation unit 16 uses the vibration frequency and the vibration waveform shape to generate a Z-axis vibration waveform for the movement block B1 with only the vibration component in the same manner as described above. Next, as shown in FIG. 11, the superimposition unit 17 superimposes the Z-axis vibration waveform with only the vibration component on the Z-axis movement paths for the movement blocks B1 and B2 including the forward position and the backward position to generate a final vibration waveform for the Z-axis.
[0045] Similarly, the generation unit 16 generates two movement paths for the X-axis in the movement block B2, a forward position and a backward position, using the X-axis movement command and vibration amplitude, as shown in FIG. 11, 4. In this case, the upper end is selected in the X-axis vibration, and the forward position coincides with the command position. The backward position is a trajectory offset in the direction of time delay from the command position. Next, the generation unit 16 generates an X-axis vibration waveform of only the vibration component for the movement block B2 in the same manner as described above, using the vibration frequency and the vibration waveform shape, as shown in FIG. 11, 5. Next, the superimposition unit 17 generates a final vibration waveform for the X-axis by superimposing the X-axis vibration waveform of only the vibration component on the X-axis movement path for the movement block B2 including the forward position and the backward position, as shown in FIG. 11, 6.
[0046] FIG. 12 is another time chart for explaining the operation of the vibration waveform generating unit 6 of the numerical control device 1 according to the first embodiment. The horizontal and vertical axes of each diagram in FIG. 12 are the same as those in FIG. 11. The operation of the generating unit 16 and the superimposing unit 17 in the diagrams 1 to 3 in FIG. 12 is the same as that in FIG. 11. As shown in the diagram 4 in FIG. 12, the generating unit 16 generates two movement paths, a forward position and a backward position, for the X-axis in the movement block B2, using the X-axis movement command and vibration amplitude. In this case, the lower end is selected in the vibration of the X-axis, and the backward position coincides with the command position. The forward position is a trajectory offset in the direction of moving forward in time by the vibration amplitude from the command position. Next, as shown in the diagram 5 in FIG. 12, the generating unit 16 generates the X-axis vibration waveform of only the vibration component for the movement block B2 in the same manner as described above, using the vibration frequency and the vibration waveform shape. Next, the superimposition unit 17 generates a final vibration waveform for the X-axis by superimposing an X-axis vibration waveform consisting only of vibration components on the X-axis movement path for movement block B2, which includes the forward position and the backward position, as shown in FIG. 12, No. 6.
[0047] Fig. 13 is a diagram showing vibration amplitude when the upper end is selected in the numerical control device 1 according to the first embodiment. Fig. 14 is a diagram showing vibration amplitude when the lower end is selected in the numerical control device 1 according to the first embodiment. Fig. 13 shows the vibration amplitude in the X-axis direction in the case of the vibration waveform shown in Fig. 11, i.e., when the upper end is selected in the vibration of the X-axis, with the horizontal axis showing the Z-axis position and the vertical axis showing the X-axis position. Fig. 14 shows the vibration amplitude in the X-axis direction in the case of the vibration waveform shown in Fig. 12, i.e., when the lower end is selected in the vibration of the X-axis, with the horizontal axis showing the Z-axis position and the vertical axis showing the X-axis position.
[0048] As shown in Figure 13, when the upper end of vibration is selected, vibration is performed in the area where the axis moves back from the command position. In other words, vibration occurs so that the upper end of vibration is on the command trajectory. As shown in Figure 14, when the lower end of vibration is selected, vibration is performed in the area where the axis moves forward from the command trajectory. In other words, vibration occurs so that the lower end of vibration is on the command trajectory.
[0049] The calculation procedure of the vibration waveform may be a method other than the above. The calculation procedure of a different vibration waveform will be described using the case of a cosine wave as an example. Fig. 15 is a time chart for explaining the calculation procedure of another vibration waveform in the numerical control device 1 according to the first embodiment. The horizontal axis of each diagram in Fig. 15 indicates time. Each diagram in Fig. 15 indicates, from the top, a positive (+) reference vibration waveform, a negative (-) reference vibration waveform, a position command, a vibration waveform when the lower end is selected, and a vibration waveform when the upper end is selected.
[0050] The vibration waveform generating unit 6 generates a reference vibration waveform based on the vibration frequency and the vibration end selection information 13 determined by the vibration end determining unit 4. At this time, whether to select a waveform that oscillates between 0 and 1 as shown in FIG. 15, or a waveform that oscillates between -1 and 0 as shown in FIG. 15, is synonymous with whether the command position is the lower end or the upper end.
[0051] After multiplying the reference vibration waveform by a vibration amplitude according to the vibration conditions, the reference vibration waveform multiplied by the vibration amplitude is superimposed on the operation command of each axis in the superimposing unit 17 in the same manner as in the case of the above-mentioned triangular wave, to generate a vibration waveform. When the lower end is selected for a position command such as that shown in FIG. 15, ...
[0052] Next, a method of selecting a vibration end performed by the vibration end determination unit 4 will be described. In the first embodiment, in order to solve the problems of the prior art, when the tool T vibrates relative to the workpiece W in vibration cutting, the vibration area is arranged on the tool T side, not on the workpiece W side, of the moving path G. The vibration area is an area 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, not on the workpiece W side, with respect to the moving 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 moving direction vector 10, and determines the positional relationship between the vibration area and the moving path G based on the vibration direction vector 12 and the moving direction vector 10.
[0053] In the following, in order to make the explanation easier to understand intuitively, we will explain using the XZ plane as seen from the Y-axis + direction, but there are no limitations based on the viewpoint, and if the viewpoint or coordinate system changes, the explanation can be applied regardless of the viewpoint by interpreting it appropriately.
[0054] FIG. 16 is a diagram for explaining the operation of the vibration end determination unit 4 of the numerical control device 1 according to the first embodiment. FIG. 17 is another diagram for explaining the operation of the vibration end determination unit 4 of the numerical control device 1 according to the first embodiment. In FIG. 16 and FIG. 17, the XZ plane is divided into two regions by the moving path G, and hereinafter, these two regions are referred to as the upper side and the lower side, or the left side and the right side, with the moving path G as a boundary. In FIG. 16, the workpiece W is generally located below the moving path G, and the tool T (not shown) is located above the moving path G. In FIG. 17, the workpiece W is generally located above the moving path G, and the tool T (not shown) is located below the moving path G.
[0055] FIG. 18 is a diagram showing a positional relationship between the tool T and the workpiece W in the numerical control device 1 according to the first embodiment. FIG. 19 is a diagram showing another positional relationship between the tool T and the workpiece W in the numerical control device 1 according to the first embodiment. FIG. 18 corresponds to the positional relationship between the movement path G and the workpiece W as shown in FIG. 16. FIG. 19 corresponds to the positional relationship between the movement path G and the workpiece W as shown in FIG. 17. In the case of FIG. 18, the tool T comes into contact with the workpiece W from the +X-axis direction to perform machining, which corresponds to a general machining case. In the case of FIG. 19, the tool T comes into contact with the workpiece W from the -X-axis direction to perform machining, which corresponds to, for example, an internal diameter machining or machining by the tool T of the lower tool rest.
[0056] In order to grasp the positional relationship between the workpiece W and the tool T, the cutting edge vector 11 is used. For example, when the cutting edge vector 11 is in the vector directions V3, V4, and V8 shown in FIG. 3, the cutting edge of the tool T faces downward, so it can be determined that the workpiece W is located on the lower side and the tool T is located on the upper side. In addition, when the cutting edge vector 11 is in the vector directions V1, V2, and V6 shown in FIG. 3, the cutting edge of the tool T faces upward, so it can be determined that the workpiece W is located on the upper side and the tool T is located on the lower side. In addition, when the cutting edge vector 11 is in the vector directions V1, V4, and V5, it can be determined that the workpiece W is located on the right side and the tool T is located on the left side. When the cutting edge vector 11 is in the vector directions V2, V3, and V7, it can be determined that the workpiece W is located on the left side and the tool T is located on the right side.
[0057] In this way, it is possible to grasp the positional relationship between the workpiece W and the tool T 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, it is possible to grasp the positional relationship between the workpiece W and the tool T by using a similar concept. Even if the definition of the viewpoint and cutting edge vector number changes, the same concept can be applied by appropriately interpreting it according to the situation.
[0058] Next, the relationship between the vibration direction vector 12 and the movement direction vector 10 will be described. As in the example shown in FIG. 9, when the vibration occurs in a direction along the movement path, the ratio between the axes of the movement direction vector 10 and the ratio between the axes of the vibration direction vector 12 are the same. If the ratio between the axes of the vibration direction vector 12 is changed, the vibration direction becomes a direction different from the movement path. In this case, it can be seen from the example in FIG. 10 that the vibration direction of the vibration direction vector 12 faces toward the axis with a larger ratio than the axis ratio of the movement direction vector 10. In the case of FIG. 10, the axis ratio of the movement direction vector 10 in the X-axis direction and the Z-axis direction is the same, but the vibration amplitude in the Z-axis direction is larger than the vibration amplitude in the X-axis direction, and 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 axis among 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 to be 100%, which is closer to the X-axis.
[0060] In this way, the vibration end determination unit 4 can determine, by comparing the movement direction vector 10 with the vibration direction vector 12, whether the vibration direction is above or below the movement path, or to the right or left.
[0061] FIG. 20 is a diagram showing the correspondence relationship 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 the first embodiment. FIG. 20 shows the correspondence relationship 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 side or the lower side of the movement path. The vibration end determination unit 4 has a storage table in which the correspondence relationship shown in FIG. 20 is set.
[0062] In FIG. 20, for example, when the X-axis movement direction determined from the movement direction vector 10 is +, the Z-axis movement direction is -, and the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration area is on the lower side of the movement path. Also, when the X-axis movement direction determined from the movement direction vector 10 is +, the Z-axis movement direction is -, and the vibration direction determined from the vibration direction vector 12 is closer to the Z-axis, it indicates that the vibration area is on the upper side of the movement path. Also, when the X-axis movement direction determined from the movement direction vector 10 is -, the Z-axis movement direction is +, and the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration area is on the upper side of the movement path. Also, when the X-axis movement direction determined from the movement direction vector 10 is -, the Z-axis movement direction is +, and the vibration direction determined from the vibration direction vector 12 is closer to the Z-axis, it indicates that the vibration area is on the lower side of the movement path.
[0063] The vibration end determination unit 4 obtains a first determination result that determines whether the vibration direction is the upper or lower side of the movement path, or the right or left side, using the movement direction vector 10, the vibration direction vector 12, and the correspondence relationship in FIG. 20. Also, as described above, the vibration end determination unit 4 obtains a second determination result that determines the positional relationship between the workpiece W and the tool T, that is, the up-down and left-right positional relationship between the workpiece W and the tool T, using the cutting edge vector 11. The vibration end determination unit 4 compares the first determination result with the second determination result and determines 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 selects the upper end that corresponds to the correspondence relationship in FIG. 20 as the vibration end selection information 13 when the first determination result (upper, lower, right, or left) is determined to be the tool T side. On the other hand, in the vibration end determination unit 4, when the first judgment result (upper side, lower side, right side, or left side) is judged to be the workpiece W side by referring to the collation result, the vibration end determination unit 4 selects the lower end as the vibration end selection information 13. In this manner, the vibration end determination unit 4 can determine appropriate vibration end selection information 13.
[0064] Next, the route division operation performed by the route division unit 3 will be described. When the moving route is a curve including an inflection point α, the moving route is divided into multiple parts by the route division unit 3. Since the program analysis unit 2 can calculate the position of the curved inflection point α by geometrically analyzing the shape of the moving route, the route division unit 3 can divide the route at the calculated inflection point α. For example, if the shape of the curve can be expressed mathematically, it is sufficient to differentiate and find the slope, that is, the point where the speed becomes 0. Even if it cannot be calculated mathematically, the moving route can be divided finely to find the change in position one by one, and the point where the change in position is reversed can be determined to be the inflection point α, so that the route can be divided at the calculated inflection point α.
[0065] However, this method requires a large amount of calculation, so when real-time performance is required, it is more effective to obtain the results with a smaller amount of calculation. Also, the purpose of dividing the path is to calculate the movement direction vector 10, and as described above, the movement direction vector 10 is used to divide the area on the plane into two and to grasp the positional relationship between the tool T and the workpiece W in combination with the cutting edge vector 11, or to determine the vibration area in combination with the vibration direction vector 12. For this reason, it is not always necessary to precisely calculate the inflection point α, and it is sufficient to roughly grasp each of the movement direction vectors 10 in the divided path.
[0066] FIG. 21 is a diagram for explaining the operation of the path division unit 3 of the numerical control device 1 according to the first embodiment. For example, as shown in FIG. 21, the tangent vector Sv of the start point S of the movement path G before division is extended to be the first half movement direction vector G1 after division. The intersection point between the movement path G and the movement direction vector G1 is the inflection point α, and the second half movement direction vector G2 after division is the vector going from the inflection point α to the end point E. In the case of a curved path, the direction along the movement path G, that is, the tangent of the path, gradually changes, so in order to grasp the movement direction vector 10 precisely, it is necessary to perform sequential calculations or to express the curve mathematically and handle it. However, according to this method, the movement direction vector 10 can be obtained with a small amount of calculation.
[0067] Once each post-division movement direction vector 10 is obtained for a path including an inflection point α, vibration end selection information 13 for each divided movement path can be obtained by performing the same processing as described above for each divided movement path.
[0068] Thus, according to embodiment 1, based on the movement direction vector 10, cutting edge vector 11, and vibration direction vector 12, vibration end selection information 13 indicating whether the command position should be the upper end or lower end of the vibration is determined so that the vibration area is the space on the tool T side from the command position, and a vibration waveform for performing vibration cutting is generated based on the vibration end selection information 13.This makes it possible to perform vibration cutting that avoids gouging regardless of the machining shape, and realizes vibration cutting that can reduce the load on the machine tool without causing machining defects.
[0069] Embodiment 2 22 is a block diagram showing the configuration of a numerical control device 1a according to the second embodiment. In the second embodiment, the vibration end determination unit 4 of the first embodiment is replaced with a vibration direction determination unit 8. Other configurations in the second embodiment are the same as those in the first embodiment, and therefore repeated explanations will be omitted.
[0070] The vibration direction determination unit 8 determines a 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 storage table in which the correspondence shown in FIG. 20 is 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 the generated vibration waveform to the operation command output unit 7 as an operation command.
[0071] In the second embodiment, the correspondence shown in FIG. 20 is also set. Therefore, in this case, the upper end is fixedly selected as the vibration end selection information 13. The vibration direction determination unit 8 determines the positional relationship between the workpiece W and the tool T, that is, the vertical and horizontal positional relationship between the workpiece W and the tool T, using the cutting edge vector 11 and the moving direction vector 10, as in the first embodiment. The vibration direction determination unit 8 also selects one of the four areas including the vibration direction in FIG. 20 by assigning the moving direction vector 10 to the correspondence in FIG. 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 in the selected area, using the vertical and horizontal positional relationship between the workpiece W and the tool T determined using the cutting edge vector 11, so that the vibration area is the area on the tool T side.
[0072] For example, when 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 in Fig. 20 (closer to the X-axis: upper side, closer to the Z-axis: lower side) is selected. In the positional relationship between the workpiece W and the tool T determined using the cutting edge vector 11, when the tool T is on the upper side, the direction closer to the X-axis is selected, and when 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 direction is closer to the X-axis or the Z-axis, the vibration direction determination unit 8 then determines the vibration direction vector 12. As described above, the vibration direction can be made different from the movement direction by vibrating only one axis among the multiple axes included in the movement path, or by changing the ratio of vibration amplitudes between the multiple axes relative to the ratio between the multiple axes in the movement path.
[0074] When the former method is selected, the position can be automatically determined by determining whether the position is closer to the X-axis or the Z-axis.
[0075] When the latter method is selected, the vibration direction vector 12 is determined based on the movement direction vector 10, for example. FIG. 23 is a diagram for explaining a method of determining the vibration direction vector 12 in the numerical control device 1a according to the second embodiment. As shown in FIG. 23, the vibration direction vector 12a may be generated by rotating the machining direction, i.e., the movement direction vector 10, by a certain angle θ. For example, the rotation angle θ may be specified by directly describing it as a character string in the machining program or by setting it as a parameter. In addition, various conversion calculations may be performed on the vibration direction vector 12a that was not selected to calculate vibration direction vectors 12b, 12c, and 12d whose vibration regions are regions on the same side as the tool T. The vibration direction vector 12b is obtained by converting the vibration direction vector 12a into a line symmetrical shape with respect to the movement direction vector 10. The vibration direction vector 12c is obtained by converting the vibration direction vector 12a into a line symmetrical shape with respect to a specific axis parallel to the X-axis. The vibration direction vector 12d is obtained by converting the vibration direction vector 12a into a line symmetrical shape 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 and the vibration direction vector 12 determined based on the information created by the program analysis unit 2 and the operation command generated by the operation command generation unit 5, and generates a vibration waveform in the same manner as in the above-described embodiment 1.
[0077] The lower end may be set as the vibration end selection information 13. In this case, a storage table similar to that shown in FIG. 20 may be created and used to correspond to the lower end. In the second embodiment, the vibration direction determination unit 8 may determine the vibration direction vector 12 without using the vibration end selection information 13.
[0078] The idea of dividing the movement path including the inflection point α described in the first embodiment into multiple parts can also be applied to the second embodiment. The path dividing unit 3 calculates a corresponding movement direction vector 10 for each of the multiple divided movement paths. The vibration direction determining unit 8 determines the vibration direction vector 12 based on the above-mentioned determination method according to each movement direction vector 10.
[0079] As described above, according to embodiment 2, a vibration direction vector 12 is determined based on the moving direction vector 10, cutting edge vector 11, and vibration end selection information 13 so that the vibration area is the space on the tool T side from the command position, and a vibration waveform for performing vibration cutting is generated based on the vibration direction vector 12. Therefore, it is possible to perform vibration cutting that avoids gouging regardless of the machining shape, and it is possible to realize vibration cutting that can reduce the load on the machine tool without causing machining defects.
[0080] Embodiment 3 In the third embodiment, the focus is on the operation when switching the vibration waveform, and a waveform switching region is provided at the boundary between the moving paths. The following mainly describes the features of the third embodiment, and the description of the contents overlapping with the first and second embodiments will be omitted.
[0081] By using the methods described in the first and second embodiments, vibration cutting that avoids scraping can be realized, but the vibration waveform may change for each moving path. Ideally, the vibration waveform would switch at the moment the moving path is switched, but in reality, due to various factors, it may be difficult to accurately capture the moment the moving path is switched, or the timing of switching the vibration waveform may be off, which may affect machining using vibration cutting.
[0082] Examples of factors include discretization errors resulting from digital processing of software, deviations or delays in communication timing between a numerical control device and a device that controls a motor (e.g., a servo amplifier, etc.), overlapping processing of movement paths performed for the purpose of smoothing the speed between movement paths, etc. In addition, in the case of a curved path having an inflection point α, it may be difficult to precisely detect the inflection point α in terms of the required calculation amount or processing time.
[0083] Therefore, in the third embodiment, a waveform switching region Ta is provided at the boundary between the movement paths, and a transition between vibration waveforms is performed in the waveform switching region Ta, thereby switching the vibration waveform without affecting the machining.
[0084] 24 is a block diagram showing the configuration of a numerical control device 1b according to the third embodiment. In the numerical control device 1b of the third embodiment, a switching notification unit 9 is provided, the vibration end determination unit 4 of the first embodiment and the vibration direction determination unit 8 of the second embodiment are provided, and priority information 21 for switching between the vibration end selection information 13 and the vibration direction vector 12 is added.
[0085] First, the waveform switching region Ta will be described in order to explain the operation of the switching notification unit 9. The waveform switching region Ta is defined as a region within a threshold range for the position or speed of an axis included in the movement path.
[0086] Fig. 25 is a diagram for explaining the waveform switching region Ta used in the switching notification unit 9 of the numerical control device 1b according to the third embodiment. Fig. 1 in Fig. 25 shows the movement path of the XZ axes. The horizontal axis in Fig. 25 from Fig. 25 onwards shows time. The vertical axis in Fig. 25 from Fig. 25 onwards shows, from the top, the Z-axis position of the movement path, the Z-axis speed of the movement path, the X-axis position of the movement path, and the X-axis speed of the movement path.
[0087] Fig. 26 is another diagram for explaining the waveform switching region Ta used in the switching notification unit 9 of the numerical control device 1b according to the third embodiment. Fig. 1 in Fig. 26 shows the movement path of the XZ axes. The horizontal axis in Fig. 26 from Fig. 26 onwards indicates time. The vertical axis in Fig. 26 from Fig. 26 onwards indicates, from the top, the Z-axis position of the movement path, the Z-axis speed of the movement path, the X-axis position of the movement path, and the X-axis speed of the movement path.
[0088] A straight movement path is shown in Fig. 25, and a curved movement path is shown in Fig. 26. In the example shown in Fig. 25, thresholds including a lower limit threshold Th1 and an upper limit threshold Th2 are set for the X-axis position, and the time from when the X-axis position enters between the lower limit threshold Th1 and the upper limit threshold Th2 to when it leaves the range is defined as the waveform switching region Ta. In Fig. 25, a lower limit threshold Th1 and an upper limit threshold Th2 are set by adding a certain amount to both the negative and positive directions of the end point of the movement path, thereby defining the region immediately before the end of the previous movement path and immediately after the start of the next movement path as the waveform switching region Ta.
[0089] In Fig. 26, thresholds including a lower limit threshold Th1 and an upper limit threshold Th2 are set for the X-axis speed. In detecting the inflection point α on a curved moving path, for example, a zero crossing of one of the axes included in the moving path is detected. In Fig. 26, a lower limit threshold Th1 and an upper limit threshold Th2 are set by adding a certain value to the X-axis speed of 0 in both the negative and positive directions, and the area before and after the inflection point α is defined as a waveform switching area Ta.
[0090] Setting the waveform switching region Ta based on position is suitable for detecting a moving route where the position changes significantly as shown in FIG. 25. However, in the case of a moving route showing a gradual change in position as shown in FIG. 25, the waveform switching region Ta may become excessively large unless an appropriate threshold is set. On the other hand, in the case of a moving route showing a gradual change in position as shown in FIG. 26, setting the waveform switching region Ta based on speed makes it relatively easy to adjust the width of the waveform switching region Ta. Conversely, in the case of a moving route where the speed changes suddenly as shown in FIG. 25, it may be difficult to set a threshold value based on speed, so it is necessary to determine which information to set the threshold value for depending on the characteristics of the moving route. In the case of FIG. 25, it is also possible to detect by setting acceleration as the judgment target.
[0091] The selection of data that serves as the judgment criteria for the threshold, such as position and speed, or the value of the threshold may be specified by directly describing it as a character string in the machining program, or may be selected by referring to a parameter. Also, as described above, the selection may be made according to the path, such as by using a position for a straight path and a speed for an inflection point α of a curved path.
[0092] Moreover, as the position and speed data used for detecting the waveform switching region Ta, a command value output from the numerical control device 1b to the amplifier and motor may be used, or a feedback value obtained by transmitting a value obtained from a sensor such as an encoder provided on the motor to the numerical control device 1b may be used. By using the feedback value, it is possible to proceed to the waveform switching operation after confirming that the motor has actually reached the position and speed corresponding to the threshold value.
[0093] In this way, 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 at 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 may be any operation for switching between two different vibration waveforms, and any waveform switching operation may be performed.
[0094] An example of the waveform switching operation is the stopping of vibration. When the vibration waveform generating unit 6 receives a notification from the switching notification unit 9 that the waveform switching region Ta has been reached, it stops superimposing the vibration waveform on the operation command. That is, the switching operation is realized 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, and the effect on machining due to malfunction of waveform switching can be eliminated.
[0095] Another example of the waveform switching operation is to gradually increase or decrease the amplitude. Ideally, the midpoint of the waveform switching region Ta should be the boundary of the moving path, but there is a possibility that it may deviate due to various factors described above. However, if the threshold is set appropriately, the 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 is gradually decreased with a slope such that the vibration is completely attenuated in the center of the waveform switching region Ta, and the amplitude is gradually increased from the center with a slope such that the original amplitude is reached at the timing of leaving the waveform switching region Ta. Alternatively, it is also possible to create a region where the vibration is stopped near the center of the waveform switching region Ta by making the slope of the attenuation and increase of the amplitude even steeper.
[0096] Next, the selection of vibration in the vibration waveform generating unit 6 will be described. As described in the first embodiment, the vibration end determining unit 4 determines the vibration end in the vibration waveform based on the movement direction vector 10, the cutting edge vector 11, and the vibration direction vector 12 so that the vibration region is on the same side as the tool T, and generates vibration end selection information 13. As described in the second embodiment, the vibration direction determining 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 so that the vibration region is on the same side as the tool T.
[0097] The priority information 21 is information indicating which of the vibration end selection priority mode using the vibration end selection information 13 output from the vibration end determination unit 4 and the vibration direction vector priority mode using the vibration direction vector 12 output from the vibration direction determination unit 8 should be selected. The vibration waveform generation unit 6 selects either the vibration end selection priority mode or the vibration direction vector priority mode based on the priority information 21, and operates according to the selected mode. There is no limitation on the method of designating the priority information 21, and it may be designated as a character string in the machining program or by a parameter.
[0098] In order to realize vibration cutting, it is necessary to vibrate the tool T relative to the workpiece W, and depending on the structure of the machine tool, the suitability for this vibration operation may differ between the drive axes. For this reason, there are cases where a specific axis is to be preferentially set as the vibration axis, or conversely, cases where a specific axis is not to be set as the vibration axis. Specifically, the closer the axis is to the tip that holds the tool T, the lighter it tends to be, and therefore the less energy required for vibration tends to be required, which is advantageous. On the other hand, in the case of an axis that supports many axes or machine structures, the more energy is required for vibration, and this leads to vibrating the entire machine, so there is a high possibility that the vibration operation associated with vibration cutting will cause adverse effects. The priority information 21 is provided to realize vibration operation that takes such external factors into consideration.
[0099] Thus, according to the third embodiment, a waveform switching area Ta is provided at the boundary between the movement paths for notifying a switching signal when the axis position or speed reaches a threshold value, and when the switching signal is notified, a waveform switching operation is executed to generate a vibration waveform, thereby preventing chipping due to switching of the vibration waveform.
[0100] Here, the hardware configuration of the numerical control devices 1, 1a, 1b will be described. FIG. 27 is a diagram showing an example of the hardware configuration of the numerical control devices 1, 1a, 1b according to the first to third embodiments. The numerical control devices 1, 1a, 1b can be realized by a processor 301, a memory 302, and an interface circuit 303 shown in FIG. 27. An example of the processor 301 is a CPU (Central Processing Unit, also called a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). An example of the memory 302 is a RAM (Random Access Memory) or a ROM (Read Only Memory).
[0101] The numerical control devices 1, 1a, 1b are realized by the processor 301 reading and executing a program for executing the operation of the numerical control devices 1, 1a, 1b, which is stored in the memory 302. This program can also be said to cause a computer to execute the procedure or method of the numerical control devices 1, 1a, 1b. The memory 302 is also used as a temporary memory when the processor 301 executes various processes. Note that the functions of the numerical control devices 1, 1a, 1b may be partially realized by dedicated hardware and partially realized by software or firmware.
[0102] The configurations shown in the above embodiments are examples of the contents of the present disclosure, and may be combined with other known technologies, or the embodiments may be combined with each other. Also, parts of the configurations may be omitted or modified without departing from the gist of the present disclosure. [Explanation of symbols]
[0103] 1, 1a, 1b numerical control device, 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 area, W workpiece.
Claims
1. A numerical control device that performs vibration cutting of a workpiece using a tool, a vibration end determination unit that determines vibration end selection information indicating whether the command position should be the upper end or lower end of vibration based on a movement direction vector indicating the movement direction of the tool before vibration is applied, a cutting edge vector indicating the orientation of the cutting edge of the tool, and a vibration direction vector indicating a vibration direction that is a direction different from the movement direction vector, so that the vibration region of vibration cutting is a space on the tool side from a command position, which is the movement path of the tool before vibration is applied; and a vibration waveform generating unit that generates a vibration waveform for performing vibration cutting based on the vibration end selection information. A numerical control device comprising:
2. A path dividing unit divides the moving path into a plurality of moving paths by inflection points, The vibration end determination unit determines the vibration end selection information corresponding to each of the plurality of moving paths based on the moving direction vector in each of the plurality of divided moving paths.
2. The numerical control device according to claim 1 .
3. A numerical control device that performs vibration cutting of a workpiece using a tool, a vibration direction determination unit that determines a positional relationship between the workpiece and the tool based on a movement direction vector that indicates the movement direction of the tool before vibration is applied and a cutting edge vector that indicates the orientation of the cutting edge of the tool, and determines a vibration direction vector that indicates a vibration direction that is different from the movement direction vector based on the result of the determination so that a vibration area of vibration cutting is a space on the tool side from a command position, which is the movement path of the tool before vibration is applied; a vibration waveform generating unit that generates a vibration waveform for performing vibration cutting based on the vibration direction vector; a path dividing unit that divides the movement path into a plurality of movement paths by inflection points; 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. A numerical control device comprising:
4. Further comprising a switching notification unit that notifies a switching signal of the vibration waveform, The vibration waveform generating unit performs a waveform switching operation based on the switching signal notified from the switching notifying unit to generate the vibration waveform.
4. The numerical control device according to claim 1, wherein the first and second inputs are connected to the first and second inputs.
5. The switching notification unit notifies the switching signal when a position or a speed of an axis included in the movement path reaches a threshold value.
5. The numerical control device according to claim 4 .
6. 1. A numerically controlled method for performing vibration cutting of a workpiece using a tool, comprising: a step of determining vibration end selection information indicating whether the command position is to be the upper end or lower end of vibration based on a movement direction vector indicating the movement direction of the tool before vibration is applied, a cutting edge vector indicating the orientation of the cutting edge of the tool, and a vibration direction vector indicating a vibration direction different from the movement direction vector, so that the vibration region of vibration cutting is a space on the tool side from a command position, which is the movement path of the tool before vibration is applied; generating a vibration waveform for performing vibration cutting based on the vibration end selection information; A numerical control method comprising:
Citation Information
Patent Citations
Numerical control device
JP5781241B1
Information processing device, machine tool control device, and computer program
JP7007531B1
Machine tool control device
WO2022269751A1
All solid state complementary type electrochromic display element
JP1982081241A
JPP7007531B
Cited By
User assistance apparatus and control device
WO2026190992A1