[go: up one dir, main page]

WO2025027765A1 - Numerical value control device and numerical value control method - Google Patents

Numerical value control device and numerical value control method Download PDF

Info

Publication number
WO2025027765A1
WO2025027765A1 PCT/JP2023/028014 JP2023028014W WO2025027765A1 WO 2025027765 A1 WO2025027765 A1 WO 2025027765A1 JP 2023028014 W JP2023028014 W JP 2023028014W WO 2025027765 A1 WO2025027765 A1 WO 2025027765A1
Authority
WO
WIPO (PCT)
Prior art keywords
vibration
movement
tool
axis
waveform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/JP2023/028014
Other languages
French (fr)
Japanese (ja)
Inventor
啓史 長江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2023/028014 priority Critical patent/WO2025027765A1/en
Priority to JP2024513234A priority patent/JP7638441B1/en
Priority to JP2025018351A priority patent/JP2025065338A/en
Publication of WO2025027765A1 publication Critical patent/WO2025027765A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Definitions

  • This disclosure relates to a numerical control device, which is a control device for a machine tool, and a numerical control method.
  • a vibration cutting function that breaks up chips into small pieces by vibrating the cutting tool and workpiece relative to the cutting direction.
  • cutting is performed by alternating between forward motion in the same direction as the cutting direction and backward motion in the opposite direction to the cutting direction.
  • the relative movement speed which is the relative movement speed between the cutting tool and workpiece during forward motion
  • the relative movement speed during non-vibration processing which is normal processing that does not involve vibration cutting. Therefore, even when a backward motion is performed, it is possible to make the average relative movement speed, which is the sum of forward and backward motions, equivalent to the relative movement speed during non-vibration processing, which makes it possible to apply vibration cutting without changing the processing time, i.e., productivity.
  • Patent Document 1 in order to reduce the load on the machine tool, the oscillation amplitude required to shred the chips is calculated based on the cutting angle of the tool, the oscillation direction is determined according to the calculated oscillation amplitude, and the tool is vibrated in a direction different from the machining direction.
  • Patent Document 1 has the 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 when the workpiece has a downward tapered or curved shape. Gouging refers to cutting excessively into the workpiece relative to the desired shape. Gouging causes machining defects, which can lead to problems such as remachining and the need to discard the workpiece.
  • the present disclosure has been made in consideration of the above, and aims to provide a numerical control device that realizes vibration cutting that can reduce the load on the machine tool without causing machining defects regardless of the machining shape.
  • 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 the command position is 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 different from the movement direction vector, so that the vibration region of vibration cutting is a space on the tool side from the 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.
  • the numerical control device disclosed herein has the effect of realizing vibration cutting that can reduce the load on the machine tool without causing machining defects regardless of the machining shape.
  • FIG. 1 is a block diagram showing a configuration of a numerical control device according to a first embodiment.
  • 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;
  • FIG. 1 is a diagram showing an example of a cutting edge vector used in the numerical control device according to the first embodiment;
  • 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;
  • FIG. 10 is an explanatory diagram of another method for deriving an inflection point used in the numerical control device according to the first embodiment;
  • 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.
  • FIG. 15 is a time chart for explaining the calculation procedure for 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 shows, from top to bottom, 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.
  • the superimposing unit 17 After multiplying the reference vibration waveform by a vibration amplitude according to the vibration conditions, the superimposing unit 17 superimposes the reference vibration waveform multiplied by the vibration amplitude on the motion command of each axis in the same way as in the case of the triangular wave described above, to generate a vibration waveform.
  • a vibration waveform such as that shown in FIG. 15, No. 4 is generated
  • a vibration waveform such as that shown in FIG. 15, No. 5 is generated.
  • the vibration end selection method performed by the vibration end determination unit 4 will be described.
  • the vibration area is placed on the tool T side of the movement path G, not on the workpiece W side.
  • the vibration area is the 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 movement path of the tool T described in the machining program.
  • 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 area and the movement path G based on the vibration direction vector 12 and the movement direction vector 10.
  • 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.
  • the XZ plane is divided into two regions by the movement path G, and hereinafter, these two regions are referred to as the upper and lower sides, or the left and right sides, with the movement path G as the boundary.
  • the workpiece W is generally located below the movement path G, and a tool T (not shown) is located above the movement path G.
  • the workpiece W is generally located above the movement path G, and a tool T (not shown) is located below the movement path G.
  • FIG. 18 is a diagram showing the 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.
  • the tool T comes into contact with the workpiece W from the +X-axis direction to perform machining, which corresponds to a typical machining case.
  • the tool T comes into contact with the workpiece W from the -X-axis direction to perform machining, which corresponds to, for example, internal diameter machining or machining using the tool T on the lower tool rest.
  • the cutting edge vector 11 is used to grasp the positional relationship between the workpiece W and the tool T.
  • the cutting edge vector 11 when the cutting edge vector 11 is in the vector direction V3, V4, or 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.
  • the cutting edge vector 11 is in the vector direction V1, V2, or V6 shown in FIG. 3, the opposite is true, and 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.
  • the cutting edge vector 11 When the cutting edge vector 11 is in the vector direction V1, V4, or 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 direction V2, V3, or 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.
  • the vibration direction vector 12 As in the example shown in FIG. 9, when vibrating 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 will be 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.
  • 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.
  • the ratio in the Z-axis direction can be considered to be 0 and the ratio in the X-direction to be 100%, which means it is closer to the X-axis.
  • the vibration end determination unit 4 can determine whether the vibration direction is above or below the movement path, or to the right or left, by comparing the movement direction vector 10 with the vibration direction vector 12.
  • FIG. 20 is a diagram showing the correspondence between the X-axis movement direction, Z-axis movement direction, vibration direction, and vibration area position in the numerical control device 1 according to the first embodiment.
  • FIG. 20 shows the correspondence when the upper end is selected as the vibration end in the initial state.
  • the position of the vibration area indicates whether the vibration area 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 FIG. 20 is set.
  • the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration area is below the movement path. Also, if 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 above the movement path.
  • the X-axis movement direction determined from the movement direction vector 10 is -
  • the Z-axis movement direction is +
  • the vibration direction determined from the vibration direction vector 12 is closer to the X-axis, it indicates that the vibration area is above the movement path.
  • the X-axis movement direction determined from the movement direction vector 10 is -
  • the Z-axis movement direction is +
  • the vibration direction determined from the vibration direction vector 12 is closer to the Z-axis, it indicates that the vibration area is below the movement path.
  • the vibration end determination unit 4 uses the movement direction vector 10 and the vibration direction vector 12 and the correspondence in FIG. 20 to obtain a first judgment result that judges whether the vibration direction is above or below the movement path, or to the right or left. As described above, the vibration end determination unit 4 also uses the cutting edge vector 11 to obtain a second judgment result that judges the positional relationship between the workpiece W and the tool T, i.e., the up-down and left-right positional relationship between the workpiece W and the tool T. The vibration end determination unit 4 compares the first judgment result with the second judgment result to judge whether the vibration area is on the workpiece W side or the tool T side.
  • the vibration end determination unit 4 selects the upper end that corresponds to the correspondence in FIG. 20 as the vibration end selection information 13.
  • the vibration end determination unit 4 by referring to the collation result, if the first judgment result (upper, lower, right, or left) is judged to be the workpiece W side, the lower end is selected as the vibration end selection information 13. In this way, the vibration end determination unit 4 can determine the appropriate vibration end selection information 13.
  • the path division unit 3 When the movement path is a curve including an inflection point ⁇ , the movement path is divided into multiple parts by the path division unit 3.
  • the program analysis unit 2 can calculate the position of the curved inflection point ⁇ by geometrically analyzing the shape of the movement path, so the path division unit 3 can divide the path at the calculated inflection point ⁇ . For example, if the curve shape can be expressed mathematically, it is sufficient to differentiate and find the slope, i.e. the point where the speed becomes 0.
  • the movement path can be divided finely and the change in position is found successively, and it can be determined that the point where the change in position is reversed is the inflection point ⁇ , so the path can be divided at the calculated inflection point ⁇ .
  • the purpose of dividing the path is to calculate the movement direction vector 10, and as mentioned above, the movement direction vector 10 is used to divide a plane area into two and to grasp the positional relationship between the tool T and 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 necessary to precisely calculate the inflection point ⁇ , and it is sufficient to roughly grasp each movement direction vector 10 on the path after division.
  • 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.
  • the tangent vector Sv of the start point S of the movement path G before division is extended to become the first half movement direction vector G1 after division.
  • the intersection of the movement path G and the movement direction vector G1 is the inflection point ⁇
  • the second half movement direction vector G2 after division is the vector going from the inflection point ⁇ to the end point E.
  • the direction along the movement path G i.e., the tangent to the path, changes gradually, so in order to accurately grasp the movement direction vector 10, it is necessary to carry out sequential calculations or to mathematically express the curve and handle it.
  • the movement direction vector 10 can be obtained with a small amount of calculations.
  • the vibration end selection information 13 for each divided path can be obtained by performing the same processing as described above for each divided path.
  • vibration end selection information 13 is determined based on the movement direction vector 10, cutting edge vector 11, and vibration direction vector 12, indicating whether the command position should be the upper end or lower end of vibration 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.
  • Embodiment 2. 22 is a block diagram showing the configuration of a numerical control device 1a according to 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.
  • 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 memory table in which the correspondence shown in FIG. 20 is set.
  • the vibration waveform generation unit 6 generates a vibration waveform for achieving 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 motion command generated by the motion command generation unit 5, and the vibration direction vector 12, and outputs the generated waveform to the motion command output unit 7 as a motion command.
  • the vibration direction determination unit 8 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-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 in FIG. 20, thereby selecting one of the four areas including the vibration direction in FIG. 20.
  • the vibration direction determination unit 8 determines whether to select the area closer to the X-axis or the Z-axis in the selected area, using the up-down, left-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.
  • 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.
  • 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.
  • 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.
  • the vibration direction determination unit 8 determines the vibration direction vector 12. As described above, making the vibration direction different from the movement direction 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 the multiple axes relative to the ratio between the multiple axes in the movement path.
  • the position can be determined automatically once the X-axis or Z-axis position is determined.
  • 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.
  • the vibration direction vector 12a may be generated by rotating the machining direction, i.e., the movement direction vector 10, by a certain angle ⁇ .
  • the rotation angle ⁇ may be specified by directly writing it as a character string in the machining program or setting it as a parameter.
  • 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.
  • 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 motion command generated by the motion command generation unit 5, and generates a vibration waveform in the same manner as in the first embodiment described above.
  • the lower end may be set as the vibration end selection information 13.
  • a storage table similar to that shown in FIG. 20 may be created and used to correspond to the lower end.
  • the vibration direction determination unit 8 may determine the vibration direction vector 12 without using the vibration end selection information 13.
  • 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 division unit 3 calculates a corresponding movement direction vector 10 for each of the multiple divided movement paths.
  • the vibration direction determination unit 8 determines a vibration direction vector 12 based on the above-mentioned determination method according to each movement direction vector 10.
  • 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 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.
  • Embodiment 3 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.
  • vibration cutting that avoids scraping can be achieved, but the vibration waveform may change for each movement path.
  • the vibration waveform would switch at the moment the movement path switches, but in reality, due to various factors, it may be difficult to accurately capture the moment the movement path switches, or the timing of the vibration waveform switching may be off, which may affect machining using vibration cutting.
  • a waveform switching area Ta is provided at the boundary between the movement paths, and the vibration waveform is switched without affecting the processing by transitioning between the vibration waveforms in the waveform switching area Ta.
  • the waveform switching region Ta will be described to explain the operation of the switching notification unit 9.
  • the waveform switching region Ta is defined as an area within a threshold range for the position or speed of an axis included in the movement path.
  • 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.
  • the first diagram in FIG. 25 shows the movement path of the XZ axis.
  • the horizontal axis in the second diagram onward in FIG. 25 shows time.
  • the vertical axis in the second diagram onward in FIG. 25 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.
  • 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 axis.
  • the horizontal axis of FIG. 26 from FIG. 26 onwards shows time.
  • the vertical axis of FIG. 26 from FIG. 26 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.
  • FIG. 25 a straight movement path is shown, and in FIG. 26, a curved movement path is shown.
  • thresholds including a lower threshold Th1 and an upper threshold Th2 are set for the X-axis position
  • the waveform switching region Ta is the time from when the X-axis position enters between the lower threshold Th1 and the upper threshold Th2 to when it leaves the gap.
  • the waveform switching region Ta by setting a lower threshold Th1 and an upper threshold Th2 that add a fixed value in both the negative and positive directions to the end point 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 of the two movement paths is defined as the waveform switching region Ta.
  • thresholds including a lower threshold Th1 and an upper threshold Th2 are set for the X-axis speed.
  • the inflection point ⁇ in a curved movement path for example, the zero crossing of one of the axes included in the movement path is detected.
  • the area before and after the inflection point ⁇ is defined as the waveform switching area Ta.
  • Setting the waveform switching area Ta based on position is suitable for detecting movement routes where the position changes significantly, as shown in Figure 25.
  • the waveform switching area Ta may become excessively large.
  • it is relatively easy to adjust the width of the waveform switching area Ta even for movement routes where there is a gradual change in position, as shown in Figure 26.
  • it may be difficult to set a threshold value based on speed so it is necessary to decide which information to set the threshold value for depending on the characteristics of the movement route. Note that in the case of Figure 25, it is also possible to detect by using acceleration as the judgment target.
  • the selection of data that serves as the criteria for thresholds, such as position and speed, or the value of the threshold may be specified by directly entering it as a character string in the machining program, or the selection may be made by referencing a parameter. As explained above, the selection may be made according to the path, such as by position for a straight path and by speed for the inflection point ⁇ of a curved path.
  • the position and speed data used to detect the waveform switching area Ta may be command values output from the numerical control device 1b to the amplifier and motor, or feedback values obtained by sending values obtained from a sensor such as an encoder provided on the motor to the numerical control device 1b. By using the feedback value, it is possible to move to the waveform switching operation after confirming that the motor has actually reached a position and speed corresponding to the threshold value.
  • the switching notification unit 9 detects that the waveform switching region Ta has been entered using the motion command generated by the motion command generation unit 5, it notifies the vibration waveform generation unit 6 of a switching signal, which is a notification of reaching 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.
  • One example of a waveform switching operation is the stopping of vibration.
  • 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.
  • the switching operation is achieved by switching the vibration waveform superimposed on the operation command to the next vibration waveform.
  • the midpoint of the waveform switching region Ta should be the boundary of the movement path, but this can shift due to the various factors mentioned above.
  • the threshold is set appropriately, the midpoint should exist within the waveform switching region Ta, and it is highly likely that the midpoint will be 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 attenuated in the center of the waveform switching region Ta, and the amplitude can be gradually increased from the center with a slope such that the original amplitude is reached when the waveform switching region Ta is passed.
  • 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 area is on the same side as the tool T, and generates vibration end selection information 13.
  • 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 area is on the same side as the tool T.
  • the priority information 21 is information indicating whether to select a vibration end selection priority mode using the vibration end selection information 13 output from the vibration end determination unit 4, or a vibration direction vector priority mode using the vibration direction vector 12 output from the vibration direction determination unit 8.
  • 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 are no limitations on the method of specifying the priority information 21, and it may be specified as a character string in the machining program or by a parameter.
  • the tool T In order to achieve vibration cutting, the tool T must be vibrated 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 prioritized as the vibration axis, or conversely, cases where a specific axis is not to be used 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 is advantageous. On the other hand, in the case of an axis that supports many axes or machine structures, more energy is required for vibration, which can also lead to vibrating the entire machine, increasing the possibility of adverse effects from the vibration operation associated with vibration cutting.
  • the priority information 21 is provided to achieve vibration operation that takes such external factors into account.
  • a waveform switching area Ta is provided at the boundary between the movement paths to notify 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 performed to generate a vibration waveform, thereby preventing chipping caused by switching of the vibration waveform.
  • 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 the processor 301, memory 302, and interface circuit 303 shown in FIG. 27.
  • An example of the processor 301 is a CPU (also called a Central Processing Unit, 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).
  • the numerical control devices 1, 1a, and 1b are realized by the processor 301 reading and executing a program for executing the operations of the numerical control devices 1, 1a, and 1b, which is stored in the memory 302. This program can also be said to cause a computer to execute the procedures or methods of the numerical control devices 1, 1a, and 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, and 1b may be realized partly by dedicated hardware and partly by software or firmware.

Landscapes

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

Abstract

A numerical value control device (1) comprises: a vibration end determination unit (4) that, on the basis of a movement direction vector (10) representing the movement direction of a tool before vibration is applied, a blade edge vector (11) representing the orientation of a blade edge of the tool, and a vibration direction vector (12) representing a vibration direction that is different from the movement direction vector (10), determines vibration end selection information (13) indicating whether a command position, which is the movement path of the tool before the vibration is applied, is at the upper end of the vibration or the lower end of the vibration so that a vibration region for vibration cutting serves as a tool-side space from the command position; and a vibration waveform generation unit (6) that generates a vibration waveform for carrying out the vibration cutting on the basis of the vibration end selection information (13).

Description

数値制御装置および数値制御方法Numerical control device and numerical control method

 本開示は、工作機械の制御装置である数値制御装置および数値制御方法に関する。 This disclosure relates to a numerical control device, which is a control device for a machine tool, and a numerical control method.

 切削加工において、切削工具とワークとを加工方向に相対的に振動させることによって切屑を細かく分断する振動切削機能が知られている。振動切削機能を用いた加工中は、加工方向と同じ方向へ向かう前進動作と、加工方向とは逆方向へ向かう後退動作とを交互に繰り返しながら切削加工を行う。前進動作時の切削工具とワークとの間の相対的な移動速度である相対移動速度は、振動切削を行わない通常の加工である非振動加工の際の相対移動速度と比べて高いため、後退動作を行っても、前進と後退とを合計した平均の相対移動速度を非振動加工の際の相対移動速度と同等にすることが可能であり、これによって加工時間、すなわち生産性を変えることなく振動切削を適用することができる。 In cutting processes, a vibration cutting function is known that breaks up chips into small pieces by vibrating the cutting tool and workpiece relative to the cutting direction. During processing using the vibration cutting function, cutting is performed by alternating between forward motion in the same direction as the cutting direction and backward motion in the opposite direction to the cutting direction. The relative movement speed, which is the relative movement speed between the cutting tool and workpiece during forward motion, is higher than the relative movement speed during non-vibration processing, which is normal processing that does not involve vibration cutting. Therefore, even when a backward motion is performed, it is possible to make the average relative movement speed, which is the sum of forward and backward motions, equivalent to the relative movement speed during non-vibration processing, which makes it possible to apply vibration cutting without changing the processing time, i.e., productivity.

 振動切削では上述のように、高い相対移動速度で前進動作と後退動作とを反復するため、工作機械を加振することとなる。そこで、特許文献1では、工作機械への負荷を低減するため、工具の切込み角に基づいて切屑の細断に必要な揺動振幅を算出し、算出した揺動振幅に応じて揺動方向を決定し、加工方向とは異なる方向へ振動させている。 As mentioned 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 Patent Document 1, in order to reduce the load on the machine tool, the oscillation amplitude required to shred the chips is calculated based on the cutting angle of the tool, the oscillation direction is determined according to the calculated oscillation amplitude, and the tool is vibrated in a direction different from the machining direction.

国際公開第2022/269751号International Publication No. 2022/269751

 しかしながら、特許文献1の技術では、機械への負荷を低減するために加工方向とは異なる方向へ振動させると、下り坂のテーパ形状あるいは曲線形状において、ワークへの削り込みが回避できないという課題がある。削り込みとは、所望の形状に対してワークを過剰に切り込んでしまうことを指す。削り込みが発生すると、加工不良が発生し、再加工、ワークの廃棄が発生するなどの問題がある。 However, the technology in Patent Document 1 has the 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 when the workpiece has a downward tapered or curved shape. Gouging refers to cutting excessively into the workpiece relative to the desired shape. Gouging causes machining defects, which can lead to problems such as remachining and the need to discard the workpiece.

 本開示は、上記に鑑みてなされたものであって、加工形状に関係なく加工不良を発生させずに、工作機械への負荷の低減が可能な振動切削を実現する数値制御装置を得ることを目的とする。 The present disclosure has been made in consideration of the above, and aims to provide a numerical control device that realizes vibration cutting that can reduce the load on the machine tool without causing machining defects regardless of the machining shape.

 上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、工具を用いてワークの振動切削を行う。数値制御装置は、振動を付加する前の工具の移動方向を表す移動方向ベクトルと、工具の刃先の向きを表す刃先ベクトルと、移動方向ベクトルと異なる方向である振動方向を示す振動方向ベクトルとに基づいて、振動切削の振動領域が振動を付加する前の工具の移動経路である指令位置から工具側の空間となるように、指令位置を振動の上端とするか下端とするかを示す振動端選択情報を決定する振動端決定部と、振動端選択情報に基づき振動切削を行うための振動波形を生成する振動波形生成部と、を備える。 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 the command position is 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 different from the movement direction vector, so that the vibration region of vibration cutting is a space on the tool side from the 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.

 本開示の数値制御装置によれば、加工形状に関係なく加工不良を発生させずに、工作機械への負荷の低減が可能な振動切削を実現する、という効果を奏する。 The numerical control device disclosed herein has the effect of realizing vibration cutting that can reduce the load on the machine tool without causing machining defects regardless of the machining shape.

実施の形態1にかかる数値制御装置の構成を示すブロック図FIG. 1 is a block diagram showing a configuration of a numerical control device according to a first embodiment. 実施の形態1にかかる数値制御装置で用いられる刃先ベクトルとワークとの位置関係を示す図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; 実施の形態1にかかる数値制御装置で用いられる刃先ベクトルの一例を示す図FIG. 1 is a diagram showing an example of a cutting edge vector used in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置で用いられる変曲点の導出方法の説明図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; 実施の形態1にかかる数値制御装置で用いられる変曲点の他の導出方法の説明図FIG. 10 is an explanatory diagram of another method for deriving an inflection point used in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置で用いられる変曲点の他の導出方法の説明図FIG. 10 is an explanatory diagram of another method for deriving an inflection point used in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置の振動波形生成部の動作を説明するためのタイムチャート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; 実施の形態1にかかる数値制御装置の振動波形生成部の動作を説明するための他のタイムチャート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. 実施の形態1にかかる数値制御装置において、移動方向と振動方向との関係を示す図FIG. 4 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置において、移動方向と振動方向との関係を示す図FIG. 4 is a diagram showing the relationship between the movement direction and the vibration direction in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置の振動波形生成部の動作を説明するための他のタイムチャート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. 実施の形態1にかかる数値制御装置の振動波形生成部の動作を説明するための他のタイムチャート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. 実施の形態1にかかる数値制御装置において、上端を選択した場合の振動振幅を示す図FIG. 13 is a diagram showing vibration amplitude when the upper end is selected in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置において、下端を選択した場合の振動振幅を示す図FIG. 13 is a diagram showing vibration amplitude when the lower end is selected in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置において、他の振動波形の計算手順を説明するためのタイムチャート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; 実施の形態1にかかる数値制御装置の振動端決定部の動作を説明するための図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; 実施の形態1にかかる数値制御装置の振動端決定部の動作を説明するための他の図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. 実施の形態1にかかる数値制御装置において、工具とワークとの位置関係を示す図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; 実施の形態1にかかる数値制御装置において、工具とワークとの他の位置関係を示す図FIG. 11 is a diagram showing another positional relationship between a tool and a workpiece in the numerical control device according to the first embodiment; 実施の形態1にかかる数値制御装置において、X軸の移動方向と、Z軸の移動方向と、振動方向と、振動領域の位置との対応関係を示す図FIG. 2 is a diagram showing a 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 according to the first embodiment; 実施の形態1にかかる数値制御装置の経路分割部の動作を説明するための図FIG. 1 is a diagram for explaining an operation of a path division unit of a numerical control device according to a first embodiment; 実施の形態2にかかる数値制御装置の構成を示すブロック図FIG. 11 is a block diagram showing a configuration of a numerical control device according to a second embodiment. 実施の形態2にかかる数値制御装置において、振動方向ベクトルの決定方法を説明するための図FIG. 13 is a diagram for explaining a method for determining a vibration direction vector in the numerical control device according to the second embodiment; 実施の形態3にかかる数値制御装置の構成を示すブロック図FIG. 11 is a block diagram showing a configuration of a numerical control device according to a third embodiment. 実施の形態3にかかる数値制御装置の切替通知部で使用される波形切替領域を説明するための図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. 実施の形態3にかかる数値制御装置の切替通知部で使用される波形切替領域を説明するための他の図FIG. 13 is another diagram for explaining a waveform switching region used in the switching notification unit of the numerical control device according to the third embodiment. 実施の形態1~実施の形態3の数値制御装置のハードウェア構成例を示す図FIG. 1 is a diagram showing an example of a hardware configuration of a numerical control device according to first to third embodiments;

 以下に、実施の形態にかかる数値制御装置および数値制御方法を図面に基づいて詳細に説明する。 The numerical control device and numerical control method according to the embodiment are described in detail below with reference to the drawings.

実施の形態1.
 図1は、実施の形態1にかかる数値制御装置1の構成を示すブロック図である。数値制御装置1は、プログラム解析部2、経路分割部3、振動端決定部4、動作指令生成部5、振動波形生成部6、および動作指令出力部7を有する。
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 has 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.

 プログラム解析部2は、加工プログラムを解析し、動作指令生成部5が動作指令を生成するために必要な情報を作成する。動作指令を生成するために必要な情報としては、工具とワークとの相対的な移動経路を定義する始終点(始点および終点)の座標値、始終点を結ぶ移動経路の補間方法(直線補間、円弧補間など)、移動時の送り速度、主軸の回転数、主軸の回転方向などが含まれる。さらに、振動切削が有効であるか否かを指定する情報、または振動波形の形状を指定する情報が含まれていてもよい。振動波形の形状を指定する情報としては、振動周波数、振動振幅、単位回転当たりの振動回数、振動波形形状などが挙げられる。なお、これらの振動波形の形状を指定する情報としては、必ずしも全て指定する必要はなく、一部が省略されていてもよい。 The program analysis unit 2 analyzes the machining program and creates information necessary for the motion command generation unit 5 to generate motion commands. Information necessary to generate 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 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 number of rotations of the spindle, and the rotation direction of the spindle. In addition, 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, 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 of it may be omitted.

 また、プログラム解析部2は、移動方向ベクトル10を算出する。移動方向ベクトル10は、振動を重畳する前の工具の移動経路の方向を表すベクトルである。より具体的には、加工プログラムに記述された1行(以後、1ブロックと呼ぶ)において、工具の移動を記述した移動ブロックの始点と終点とを結んだベクトルが移動方向ベクトル10である。移動方向ベクトル10は、単純に移動ブロックの始点から終点へ向かうベクトルでもよいし、他のベクトルとの比較のために大きさを1に正規化したベクトルであってもよい。加工プログラムは、例えばEIA(Electronic Industries Alliance)/ISO(International Organization for Standardization)形式の文字列であってもよいし、対話形式のプログラムと呼ばれる、ワークの形状、加工形状、加工寸法といった情報を含んだ構成のプログラムでもよい。 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, the vector that connects the start point and end point of the movement block that describes the tool movement 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 it 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 it 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.

 動作指令生成部5は、プログラム解析部2が作成した情報に基づき、工作機械に所望の動作をさせるために必要な動作指令を生成する。動作指令には、ワークと工具との相対的な移動経路である指令位置を実現するための工作機械の駆動軸に対する移動指令、主軸に対する回転指令などが含まれる。なお、移動指令には振動切削における振動成分は付加されていない。移動指令は、加工プログラムに記述された所望の形状を実現するための移動経路に対する指令である。 The motion command generation unit 5 generates the motion commands required to make the machine tool perform the desired motion, based on the information created by the program analysis unit 2. The motion commands include movement commands for the drive axis 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 movement commands do not include the vibration components used in vibration cutting. The movement commands are commands for the movement path to realize the desired shape described in the machining program.

 動作指令出力部7は、動作指令生成部5が生成した動作指令を、制御対象の工作機械が有するサーボモータ、および主軸モータに対して出力する。これによって、工作機械は加工プログラムに記述された所望の動作を実現する。なお、サーボモータを制御するサーボアンプ、主軸モータを制御する主軸アンプが動作指令出力部7と工作機械との間に介在してもよく、その場合には動作指令出力部7はこれらのアンプに対して動作指令を出力する。 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 allows 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.

 以上は、振動切削の実施の有無によらない数値制御装置1の構成要素の一般的な役割である。つぎに、振動端決定部4、振動波形生成部6、および経路分割部3について順に説明する。 The above are the general roles of the components of the numerical control device 1, regardless of whether vibration cutting is being performed or not. Next, the vibration end determination unit 4, the vibration waveform generation unit 6, and the path division unit 3 will be explained in order.

 振動端決定部4は、移動方向ベクトル10、刃先ベクトル11、振動方向ベクトル12に基づいて振動波形における振動端選択情報13を生成する。振動端選択情報13は、振動を付加する前の工具の移動経路である指令位置を、振動の上端(上死点)とするか下端(下死点)とするかを示す情報である。振動の上端および下端の定義については後述する。振動端決定部4は、振動切削の振動領域が指令位置から工具側の空間となるように、振動端選択情報13を決定する。 The vibration end determination unit 4 generates vibration end selection information 13 in 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 that 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 vibration will be described later. The vibration end determination unit 4 determines the vibration end selection information 13 so that the vibration area of vibration cutting is the space from the command position to the tool side.

 刃先ベクトル11は、工具の刃先がどの方向を向いているかを表すベクトルである。図2は、実施の形態1にかかる数値制御装置1で用いられる刃先ベクトル11とワークWとの位置関係を示す図である。図3は、実施の形態1にかかる数値制御装置1で用いられる刃先ベクトル11の一例を示す図である。図2には、工具Tと、刃先ベクトル11と、ワークWとの位置関係の一例が示されている。図3では、刃先ベクトル11の方向を8つのベクトル方向V1~V8として表した例が示されている。ベクトル方向V1~V8の詳細については、後述する。なお、刃先ベクトル11は、連続的な数値の角度あるいはベクトル情報として表すことも可能である。刃先ベクトル11は、工具Tの情報の一部として設定されていてもよく、工具Tを保持する駆動軸の角度に応じて算出、選択されてもよい。 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.

 振動方向ベクトル12は、振動切削によるワークWと工具Tとの間の相対的な振動動作が空間上のどの方向を向いているかを表すベクトルである。ベクトルの基準となる座標系は、工作機械の駆動軸に沿う方向を基準軸とするのが分かりやすいが、空間上における任意の方向の座標系を採用してもよい。ここでは説明をわかりやすくするため、工作機械の基本となる駆動3軸であるX軸、Y軸、Z軸に沿った直交機械座標系で考える。X軸方向を上下方向とし、Z軸方向を左右方向として、説明する。 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, we consider an orthogonal machine coordinate system along the X-axis, Y-axis, and Z-axis, which are the three basic drive axes of the machine tool. In the explanation, the X-axis direction is the up-down direction and the Z-axis direction is the left-right direction.

 振動方向ベクトル12は、例えば加工プログラムの内容に応じて決定してもよい。具体的には、振動方向ベクトル12を、加工プログラム内のパラメータ等による設定を参照して決定してもよいし、移動方向に対して特定の角度だけ回転させて決定してもよい。前述のパラメータ等による設定においては、加工プログラム内で振動切削における振動に用いる軸の指定がなされるので、振動方向ベクトル12はその軸に沿った方向として決定される。また、加工プログラムの動作内容に応じてパラメータ等を参照して振動方向ベクトル12を決定してもよいし、加速度または駆動軸の負荷の状況などに応じて、振動方向ベクトル12を変更してもよい。 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 it by a specific angle relative to the direction of movement. In the settings of parameters, etc. described above, the axis used for vibration in vibration cutting is specified in the machining program, and 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 load conditions of the drive axis, etc.

 つぎに、振動波形生成部6について説明する。振動波形生成部6は、生成部16と重畳部17とを有する。生成部16はプログラム解析部2で作成された情報および動作指令生成部5で生成された動作指令に基づき、移動経路の波形および振動波形を生成する。 Next, the vibration waveform generating unit 6 will be described. The vibration waveform generating unit 6 has a generating unit 16 and a superimposing unit 17. The generating unit 16 generates a waveform of the movement path and a vibration waveform based on the information created by the program analyzing unit 2 and the motion commands generated by the motion command generating unit 5.

 重畳部17は、振動端選択情報13に基づき、生成部16で生成された移動経路の波形と振動波形とを重畳することにより、振動切削による加工を実現するための最終的な振動波形を生成し、動作指令として動作指令出力部7に出力する。なお、振動波形の生成方法の詳細は後述する。 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 achieving 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.

 経路分割部3は、プログラム解析部2において解析された移動経路に変曲点αが含まれる場合に、移動経路を変曲点αによって分割し、分割後のそれぞれの経路に対して移動方向ベクトル10を算出する。 If 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.

 図4は、実施の形態1にかかる数値制御装置1で用いられる変曲点αの導出方法の説明図である。変曲点αについて図4を用いて説明する。変曲点αとは、1つの移動ブロックの動作の中で、移動に含まれる軸のいずれか1つ以上の軸の移動方向が反転する点を指す。直線の移動では変曲点αが発生しないが、円弧をはじめとした曲線経路の移動において変曲点αが発生する可能性がある。変曲点αにおいては、対象となる軸の移動方向が反転するため、軸の速度が0を経由して逆符号の速度となる、ゼロクロスが発生することから、変曲点αを検出できる。 FIG. 4 is an explanatory diagram of a method for deriving the inflection point α used in the numerical control device 1 according to the first embodiment. The inflection point α will be explained with reference to FIG. 4. The inflection point α refers to a point at which the direction of movement of one or more axes included in a movement block is reversed during the operation of the movement block. Inflection point α does not occur in linear movement, but it can occur in movement along a curved path such as a circular arc. At the inflection point α, the direction of movement of the target axis is reversed, and a zero cross occurs where the speed of the axis passes through 0 and becomes a speed of the opposite sign, so the inflection point α can be detected.

 図4の1番図には、ワークWに対する工具Tの相対的なX軸方向およびZ軸方向の移動経路Gが示されている。なお、本明細書において、n番図とは、上からn番目の図のことを指すことにする。図4の2番図以降の横軸は時間を示している。図4の2番図以降の縦軸は、上から順に、工具TのZ軸方向の位置、工具TのZ軸方向の速度、工具TのX軸方向の位置、工具TのX軸方向の速度を示している。図4の移動経路Gにおいては、X軸の速度に、ゼロクロスする変曲点αが存在している。  Figure 1 in Figure 4 shows the relative movement path G of tool T in the X-axis and Z-axis directions with respect to workpiece W. In this specification, figure n refers to the nth figure from the top. The horizontal axis in figures 2 and onwards in Figure 4 indicates time. The vertical axes in figures 2 and onwards in Figure 4 indicate, from top to bottom, the position of tool T in the Z-axis direction, the speed of tool T in the Z-axis direction, the position of tool T in the X-axis direction, and the speed of tool T in the X-axis direction. In the movement path G in Figure 4, there is an inflection point α where the speed on the X-axis crosses zero.

 また、曲線の移動経路Gにおいて、始点の接線ベクトルと終点の接線ベクトルとを比較することによっても変曲点αを検出することができる。図5は、実施の形態1にかかる数値制御装置1で用いられる変曲点αの他の導出方法の説明図である。図6は、実施の形態1にかかる数値制御装置1で用いられる変曲点αの他の導出方法の説明図である。図5は変曲点αを含む移動経路Gを示し、図6は変曲点αを含まない移動経路Gを示している。この方法では、始点Sの接線ベクトルSvの各軸方向の成分と、終点Eの接線ベクトルEvの各軸方向の成分とを夫々比較し、両者の符号が一致していればその軸はこの移動経路Gにおいて変曲点αを含まず、逆に両者の符号が不一致である場合は、その軸はこの移動経路Gにおいて変曲点αを含むと、判定する。 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 are compared with the components of the tangent vector Ev of the end point E in each axial direction, and if the signs of the two match, it is determined that the axis does not include the inflection point α in this movement path G, and conversely, if the signs of the two do not match, it is determined that the axis includes the inflection point α in this movement path G.

 図5の場合は、始点Sの接線ベクトルSvのX軸方向成分の符号は正で、Z軸方向成分の符号は負であり、終点Eの接線ベクトルEvのX軸方向成分の符号は負で、Z軸方向成分の符号は負である。図5の場合は、始点Sの接線ベクトルSvのX軸方向成分の符号と、終点Eの接線ベクトルEvのX軸方向成分の符号とが反転しており、変曲点αを含むと判定できる。図6の場合は、始点Sの接線ベクトルSvのX軸方向成分の符号は正で、Z軸方向成分の符号は正であり、終点Eの接線ベクトルEvのX軸方向成分の符号は正で、Z軸方向成分の符号は正である。図6の場合は、始点Sの接線ベクトルSvの各軸方向成分の符号と、終点Eの接線ベクトルEvの各軸方向成分の符号とが一致しており、変曲点αを含まないと判定できる。 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.

 つぎに、振動波形生成部6で行われる振動波形の生成方法について説明する。前述のように振動波形の形状を決定する要素は、振動振幅、振動周波数、振動波形形状である。 Next, we will explain how the vibration waveform is generated by the vibration waveform generating unit 6. As mentioned above, the factors that determine the shape of the vibration waveform are the vibration amplitude, vibration frequency, and vibration waveform shape.

 振動振幅は、振動波形の上端と下端との間の間隔を表す。例えば、振動振幅自体を加工プログラムに文字列として直接記述して指定してもよいし、工具Tの送り速度に対する一定の比率(送り振幅比率と呼ぶ)を加工プログラムに記述したり、パラメータとして設定したりして指定し、送り速度に応じて振動振幅を決定するようにしてもよい。 The vibration amplitude represents the distance between the upper and lower ends of the vibration waveform. For example, the vibration amplitude itself may be specified by directly writing it as a string of characters in the machining program, or a certain ratio to the feed speed of tool T (called the feed amplitude ratio) may be specified by writing it in the machining program or setting it as a parameter, and the vibration amplitude may be determined according to the feed speed.

 振動周波数は、単位時間あたりに何回振動するかを表す。例えば、振動周波数自体を加工プログラムに文字列として直接記述して指定してもよいし、主軸の回転数、または工具Tの送り速度に応じて決定するようにしてもよい。また、主軸が1回転する間の振動回数として指定することで、主軸回転数に応じた振動周波数を決定するようにしてもよいし、逆に振動1回あたりの主軸の回転回数を指定してもよい。これらの値を加工プログラムに文字列として直接記述してもよいし、加工条件に応じてパラメータから選択するようにしてもよい。 The vibration frequency indicates how many times the machine vibrates per unit time. For example, the vibration frequency itself may be specified by directly writing it as a string in the machining program, or it may be determined according to the number of rotations of the spindle or the feed speed of the tool T. The vibration frequency may also be determined according to the number of rotations of the spindle by specifying the number of vibrations during one rotation of the spindle, or conversely, the number of rotations of the spindle per vibration may be specified. These values may be specified directly as a string in the machining program, or may be selected from parameters according to the machining conditions.

 振動波形形状は、三角波、正弦波、余弦波、矩形波などの振動波形の種類を表す。振動波形形状も、加工プログラムに文字列として直接指定してもよいし、パラメータの値で設定してもよい。振動振幅、振動周波数、振動波形形状については、これらの要素が決定されていればよく、その決定方法については特に制限はない。 The vibration waveform shape indicates the type of vibration waveform, such as a triangular wave, sine wave, cosine wave, or square wave. The vibration waveform shape may also be specified directly as a 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 restrictions on how they may be determined.

 以下、振動波形の具体的な計算手順について説明する。まず、三角波の場合について説明する。 The specific calculation procedure for the vibration waveform will be explained below. First, the case of a triangular wave will be explained.

 図7は、実施の形態1にかかる数値制御装置1の振動波形生成部6の動作を説明するためのタイムチャートである。図7では、Z軸のみが動作する移動経路を示している。図7では、2つの移動ブロックB1および移動ブロックB2を含む移動経路が示されている。図7の各図の横軸は時間を示している。図7の各図の縦軸は、上から順に、移動経路の前進位置および後退位置についてのZ軸位置、前進位置と後退位置との差、基準振動波形の振幅、振動成分のみの振動波形の移動量、最終的な振動波形のZ軸位置を示している。 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 top to bottom, 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 movement amount of the vibration waveform of only the vibration component, and the Z axis position of the final vibration waveform.

 振動波形生成部6の生成部16は、図7の1番図に示すように、計算対象となる移動ブロックB1,B2に含まれる各軸の移動指令および振動振幅を用いて、前進位置と後退位置との2つの移動経路を生成する。後退位置は、指定された振動振幅を確保できるよう、振動振幅に対応する時間、あるいは振動振幅に対応する主軸回転数だけ前進位置に対して遅れた経路である。ここでは一例として時間軸で考えるが、主軸回転数を基準軸として考えた場合も同様の計算方法で振動波形を求めることが可能である。 As shown in Figure 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 rotations 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 rotations is considered as the reference axis.

 つぎに、生成部16は、図7の3番図に示すように、振動周波数および振動波形形状を用いて、基準振動波形を生成する。基準振動波形の振幅は1であり、この基準振動波形に、図7の2番図に示した前進位置と後退位置との差を乗じることで、図7の4番図に示すような振動成分のみの振動波形が生成される。 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 containing only vibration components is generated, as shown in FIG. 7, No. 4.

 つぎに、重畳部17は、図7の1番図に示した、振動成分を含まない前進位置および後退位置を含む移動経路に対して、図7の4番図に示した、振動成分のみの振動波形を重畳することにより、図7の5番図に示すような、最終的な振動波形を生成する。 Next, the superimposition unit 17 superimposes a vibration waveform containing only vibration components, as shown in FIG. 7, 4, onto the movement path including forward and backward positions that do not contain vibration components, as shown in FIG. 7, 1, to generate a final vibration waveform, as shown in FIG. 7, 5.

 図8は、実施の形態1にかかる数値制御装置1の振動波形生成部6の動作を説明するための他のタイムチャートである。図8では、X軸およびZ軸が動作する移動経路を示している。図8では、移動ブロックB1および移動ブロックB2を含む2つの移動ブロックに対応する振動経路が示されている。図8の各図の横軸は時間を示している。図8の各図の縦軸は、上から順に、移動経路の前進位置および後退位置についてのZ軸位置、振動成分のみの振動波形の移動量、最終的な振動波形のZ軸位置、移動経路の前進位置および後退位置についてのX軸位置、振動成分のみの振動波形の移動量、最終的な振動波形のX軸位置を示している。 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 movement block B1 and 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.

 図8に示すように、移動経路に複数の軸が含まれる場合も、振動波形生成部6において、同様の計算を複数の軸に対して行うことで、振動波形を生成することができる。図8では、移動ブロックB1においてはZ軸のみが動作し、移動ブロックB2においてはZ軸およびX軸が動作している。 As shown in Figure 8, even if the movement path includes multiple axes, the vibration waveform generating unit 6 can generate a vibration waveform by performing similar calculations for the multiple axes. In Figure 8, only the Z axis operates in movement block B1, and the Z axis and X axis operate in movement block B2.

 生成部16は、まず、図8の1番図に示すように、計算対象となる移動ブロックB1,B2に含まれるZ軸の移動指令および振動振幅を用いて、Z軸についての前進位置と後退位置との2つの移動経路を生成する。つぎに、生成部16は、図8の2番図に示すように、振動周波数および振動波形形状を用いて生成したZ軸の基準振動波形に、Z軸についての前進位置と後退位置との差を乗じることで、振動成分のみのZ軸の振動波形を生成する。つぎに、重畳部17は、図8の3番図に示すように、図8の1番図に示した、振動成分を含まない前進位置および後退位置を含むZ軸の移動経路に対して、図8の2番図に示した、振動成分のみのZ軸の振動波形を重畳することにより、最終的なZ軸についての振動波形を生成する。 The generating unit 16 first generates two movement paths for the Z axis, forward and backward positions, using the Z axis movement command and vibration amplitude included in the movement blocks B1 and B2 to be calculated, as shown in FIG. 8, 1. Next, as shown in FIG. 8, 2, the generating unit 16 multiplies the reference vibration waveform for the Z axis, generated using the vibration frequency and vibration waveform shape, by the difference between the forward and backward positions for the Z axis, to generate a Z axis vibration waveform containing only vibration components. Next, the superimposing unit 17 generates the final vibration waveform for the Z axis, as shown in FIG. 8, 3, by superimposing the Z axis vibration waveform containing only vibration components, as shown in FIG. 8, 2, on the Z axis movement path including the forward and backward positions not containing vibration components, as shown in FIG. 8, 1.

 同様にして、生成部16は、図8の4番図に示すように、X軸の移動指令および振動振幅を用いて、X軸についての前進位置と後退位置との2つの移動経路を生成する。つぎに、生成部16は、図8の5番図に示すように、振動周波数および振動波形形状を用いて生成したX軸の基準振動波形に、X軸についての前進位置と後退位置との差を乗じることで、振動成分のみのX軸の振動波形を生成する。つぎに、重畳部17は、図8の6番図に示すように、振動成分を含まない前進位置および後退位置を含むX軸の移動経路に対して、振動成分のみのX軸の振動波形を重畳することにより、最終的なX軸についての振動波形を生成する。 In the same manner, 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, No. 4. Next, the generation unit 16 generates an X-axis vibration waveform containing only vibration components by multiplying the reference X-axis vibration waveform 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, No. 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 do not contain vibration components, as shown in FIG. 8, No. 6.

 ここで、実施の形態1では、振動方向を移動方向に対して異ならせることで、工作機械への負荷を低減させている。複数の軸間の振動振幅の比率を、移動経路における複数の軸間の比率に対して変化させることで、移動方向に対して振動方向を変更することができる。図9は、実施の形態1にかかる数値制御装置1において、移動方向と振動方向との関係を示す図である。図10は、実施の形態1にかかる数値制御装置1において、移動方向と振動方向との関係を示す図である。図9、図10においては、縦軸はX軸位置を示し、横軸はZ軸位置を示している。図9においては、移動ブロックB2において、X軸方向の振動振幅とZ軸方向の振動振幅との比率を、移動経路におけるX軸方向成分とZ軸方向成分との比率に一致させており、振動方向と移動方向とが一致している。図10においては、移動ブロックB2において、X軸方向の振動振幅とZ軸方向の振動振幅との比率を、移動経路におけるX軸方向成分とZ軸方向成分との比率と異ならせており、振動方向と移動方向とが一致していない。図10においては、Z軸方向の振動振幅を増大させ、X軸方向の振動振幅を減少させており、Z軸寄りとなっている。逆に、Z軸方向の振動振幅を減少させ、X軸方向の振動振幅を増大させる場合は、X軸寄りと呼ぶ。 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 multiple axes with respect to the ratio between 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 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 do not match. In FIG. 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, this is called X-axis bias.

 移動方向に対して振動方向を変更させることは、移動経路に含まれる複数の軸のうち、単一の軸のみを振動させることによっても実現できる。その場合は、例えば、図11または図12のようにして、振動波形を生成する。図11、図12では、移動ブロックB2においてはZ軸およびX軸が動作しているが、X軸のみを振動させている。図11では、X軸の振動において上端を選択した場合を示しており、図12では、X軸の振動において下端を選択した場合を示している。 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 Figure 11 or Figure 12. In Figures 11 and 12, the Z-axis and X-axis are operating in movement block B2, but only the X-axis is vibrated. Figure 11 shows the case where the upper end is selected in the vibration of the X-axis, and Figure 12 shows the case where the lower end is selected in the vibration of the X-axis.

 図11は、実施の形態1にかかる数値制御装置1の振動波形生成部6の動作を説明するための他のタイムチャートである。図11では、図8と同様、移動ブロックB1においてはZ軸のみが動作し、移動ブロックB2においてはZ軸およびX軸が動作している。図11の各図の横軸は時間を示している。図11の各図の縦軸は、上から順に、移動経路の前進位置および後退位置についてのZ軸位置、移動ブロックB1における振動成分のみの振動波形の移動量、最終的な振動波形のZ軸位置、移動経路の前進位置および後退位置についてのX軸位置、移動ブロックB2における振動成分のみの振動波形の移動量、最終的な振動波形のX軸位置を示している。 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 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 for 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 for 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.

 生成部16は、まず、図11の1番図に示すように、移動ブロックB1に含まれるZ軸の移動指令および振動振幅を用いて、移動ブロックB1におけるZ軸についての前進位置と後退位置との2つの移動経路を生成する。また、生成部16は、移動ブロックB2については、Z軸についての前進位置のみの移動経路を生成する。つぎに、生成部16は、図11の2番図に示すように、振動周波数および振動波形形状を用いて、前述と同様にして移動ブロックB1についての振動成分のみのZ軸の振動波形を生成する。つぎに、重畳部17は、図11の3番図に示すように、前進位置および後退位置を含む移動ブロックB1,B2についてのZ軸の移動経路に対して、振動成分のみのZ軸の振動波形を重畳することにより、最終的なZ軸についての振動波形を生成する。 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, a forward position and a backward position, in the movement block B1. Furthermore, 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 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, as shown in FIG. 11, 2. Next, the superimposition unit 17 generates the final vibration waveform for the Z-axis by superimposing the Z-axis vibration waveform with only the vibration component on the Z-axis movement paths for the movement blocks B1 and B2, which include the forward position and the backward position, as shown in FIG. 11, 3.

 同様にして、生成部16は、図11の4番図に示すように、X軸の移動指令および振動振幅を用いて、移動ブロックB2におけるX軸についての前進位置と後退位置との2つの移動経路を生成する。この場合、X軸の振動において上端を選択した場合を示しており、前進位置が指令位置に一致する。後退位置は指令位置から時間が遅延する方向にオフセットした軌跡となる。つぎに、生成部16は、図11の5番図に示すように、振動周波数および振動波形形状を用いて、前述と同様にして移動ブロックB2についての振動成分のみのX軸の振動波形を生成する。つぎに、重畳部17は、図11の6番図に示すように、前進位置および後退位置を含む移動ブロックB2についてのX軸の移動経路に対して、振動成分のみのX軸の振動波形を重畳することにより、最終的なX軸についての振動波形を生成する。 Similarly, the generation unit 16 uses the X-axis movement command and vibration amplitude to generate two movement paths for the X-axis in the movement block B2, a forward position and a backward position, 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 commanded position. The backward position is a trajectory offset in the direction of time delay from the commanded position. Next, the generation unit 16 uses the vibration frequency and vibration waveform shape to generate an X-axis vibration waveform for the movement block B2 with only the vibration component in the same manner as described above, as shown in FIG. 11, 5. Next, the superimposition unit 17 generates the final X-axis vibration waveform by superimposing the X-axis vibration waveform with 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.

 図12は、実施の形態1にかかる数値制御装置1の振動波形生成部6の動作を説明するための他のタイムチャートである。図12の各図の横軸、縦軸は、図11と同じものを示している。図12の1番図から3番図に関する生成部16および重畳部17の動作は、図11の場合と同様である。生成部16は、図12の4番図に示すように、X軸の移動指令および振動振幅を用いて、移動ブロックB2におけるX軸についての前進位置と後退位置との2つの移動経路を生成する。この場合、X軸の振動において下端を選択した場合を示しており、後退位置が指令位置に一致する。前進位置は指令位置から振動振幅分だけ時間を前倒しする方向にオフセットした軌跡となる。つぎに、生成部16は、図12の5番図に示すように、振動周波数および振動波形形状を用いて、前述と同様にして移動ブロックB2についての振動成分のみのX軸の振動波形を生成する。つぎに、重畳部17は、図12の6番図に示すように、前進位置および後退位置を含む移動ブロックB2についてのX軸の移動経路に対して、振動成分のみのX軸の振動波形を重畳することにより、最終的なX軸についての振動波形を生成する。 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 relating to diagrams 1 to 3 in FIG. 12 is the same as that in FIG. 11. As shown in diagram 4 in FIG. 12, the generating unit 16 uses the X-axis movement command and vibration amplitude to generate two movement paths, a forward position and a backward position, for the X-axis in the moving block B2, as shown in diagram 4 in FIG. 12. 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 diagram 5 in FIG. 12, the generating unit 16 uses the vibration frequency and vibration waveform shape to generate an X-axis vibration waveform of only the vibration component for the moving block B2 in the same manner as described above. Next, the superimposition unit 17 generates the 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 movement block B2, which includes the forward position and the backward position, as shown in FIG. 12, No. 6.

 図13は、実施の形態1にかかる数値制御装置1において、上端を選択した場合の振動振幅を示す図である。図14は、実施の形態1にかかる数値制御装置1において、下端を選択した場合の振動振幅を示す図である。図13は、図11に示した振動波形の場合、すなわちX軸の振動において上端を選択した場合のX軸方向の振動振幅を示しており、横軸はZ軸位置を、縦軸はX軸位置を示している。図14は、図12に示した振動波形の場合、すなわちX軸の振動において下端を選択した場合のX軸方向の振動振幅を示しており、横軸はZ軸位置を、縦軸はX軸位置を示している。 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.

 図13に示すように、振動において上端を選択した場合は、指令位置に対して、軸の進行方向から戻る領域で振動が行われる。つまり、振動の上端が指令軌跡上になるように振動する。図14に示すように、振動において下端を選択した場合は、指令軌跡に対して、軸の進行方向から進む領域で振動が行われる。つまり、振動の下端が指令軌跡上になるように振動する。 As shown in Figure 13, if the upper end of the vibration is selected, vibration occurs in the area where the axis moves back from the commanded position. In other words, the upper end of the vibration is vibrated so that it is on the commanded trajectory. As shown in Figure 14, if the lower end of the vibration is selected, vibration occurs in the area where the axis moves forward from the commanded trajectory. In other words, the lower end of the vibration is vibrated so that it is on the commanded trajectory.

 なお、振動波形の計算手順は上記以外の方法でもよい。余弦波の場合を例に、異なる振動波形の計算手順について説明する。図15は、実施の形態1にかかる数値制御装置1において、他の振動波形の計算手順を説明するためのタイムチャートである。図15の各図の横軸は時間を示している。図15の各図は、上から順に、プラス(+)の基準振動波形、マイナス(-)の基準振動波形、位置指令、下端選択時の振動波形、上端選択時の振動波形を示している。 Note that the calculation procedure for the vibration waveform may be a method other than the above. The calculation procedure for a different vibration waveform will be explained using the case of a cosine wave as an example. FIG. 15 is a time chart for explaining the calculation procedure for 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 shows, from top to bottom, 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.

 振動波形生成部6は、振動周波数および振動端決定部4で決定した振動端選択情報13に基づき基準振動波形を生成する。このとき、図15の1番図に示すような0と1との間を振動させる波形とするか、図15の2番図に示すような-1と0との間を振動させる波形とするかを選択するかが、指令位置を下端とするか上端とするかと同義となる。 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 vibrates between 0 and 1 as shown in FIG. 15-1, or a waveform that vibrates between -1 and 0 as shown in FIG. 15-2, is synonymous with whether the command position is the lower end or the upper end.

 基準振動波形に対し振動条件に応じた振動振幅を乗じた後に、前述の三角波の場合と同様、重畳部17において、振動振幅を乗ぜられた基準振動波形を各軸の動作指令に対して重畳させることで振動波形が生成される。図15の3番図に示すような位置指令に対して、下端を選択した場合は、図15の4番図に示すような振動波形が生成され、上端を選択した場合には、図15の5番図に示すような振動波形が生成される。 After multiplying the reference vibration waveform by a vibration amplitude according to the vibration conditions, the superimposing unit 17 superimposes the reference vibration waveform multiplied by the vibration amplitude on the motion command of each axis in the same way as in the case of the triangular wave described above, to generate a vibration waveform. When the lower end is selected for a position command such as that shown in FIG. 15, No. 3, a vibration waveform such as that shown in FIG. 15, No. 4 is generated, and when the upper end is selected, a vibration waveform such as that shown in FIG. 15, No. 5 is generated.

 つぎに、振動端決定部4で行われる振動端の選択方法について説明する。実施の形態1においては、先行技術の課題を解決するために、振動切削において工具TがワークWに対して相対的に振動する際に、振動領域を移動経路GのワークW側ではなく工具T側に配置している。振動領域とは、指令位置の前進位置と後退位置とで挟まれた領域のことである。すなわち、加工プログラムに記述された工具Tの移動経路に対して、ワークW側ではなく工具T側で振動動作が常に行われるようにする。これを実現するため、振動端決定部4では、刃先ベクトル11と移動方向ベクトル10とに基づき工具TとワークWとの位置関係を判定し、振動方向ベクトル12と移動方向ベクトル10とに基づいて振動領域と移動経路Gとの位置関係を判定する。 Next, the vibration end selection method 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 placed on the tool T side of the movement path G, not on the workpiece W side. The vibration area is the 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 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 area and the movement path G based on the vibration direction vector 12 and the movement direction vector 10.

 以降では、直感的に理解し易い説明とするため、Y軸+方向から見たXZ平面で説明するが、視点による制限はなく、視点、座標系が変わった場合は適宜読み替えることで、視点によらず適用可能である。 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 reinterpreting it appropriately.

 図16は、実施の形態1にかかる数値制御装置1の振動端決定部4の動作を説明するための図である。図17は、実施の形態1にかかる数値制御装置1の振動端決定部4の動作を説明するための他の図である。図16、図17において、移動経路GによってXZ平面は2つの領域に分割されるが、以降この2つの領域については、移動経路Gを境界として上側と下側、あるいは左側と右側と呼ぶ。図16では、概ねワークWが移動経路Gの下側に位置し、図示しない工具Tが移動経路Gの上側に位置している。図17では、概ねワークWが移動経路Gの上側に位置し、図示しない工具Tが移動経路Gの下側に位置している。 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 FIGS. 16 and 17, the XZ plane is divided into two regions by the movement path G, and hereinafter, these two regions are referred to as the upper and lower sides, or the left and right sides, with the movement path G as the boundary. In FIG. 16, the workpiece W is generally located below the movement path G, and a tool T (not shown) is located above the movement path G. In FIG. 17, the workpiece W is generally located above the movement path G, and a tool T (not shown) is located below the movement path G.

 図18は、実施の形態1にかかる数値制御装置1において、工具TとワークWとの位置関係を示す図である。図19は、実施の形態1にかかる数値制御装置1において、工具TとワークWとの他の位置関係を示す図である。図18は、図16に示したような移動経路GとワークWとの位置関係に対応している。図19は、図17に示したような移動経路GとワークWとの位置関係に対応している。図18の場合は、+X軸方向から工具TがワークWに接触して加工が行われており、一般的な加工の場合に相当する。図19の場合は、-X軸方向から工具TがワークWに接触して加工が行われており、例えば、内径加工または下刃物台の工具Tによる加工のような場合に相当する。 FIG. 18 is a diagram showing the 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 typical 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, internal diameter machining or machining using the tool T on the lower tool rest.

 ワークWと工具Tとの位置関係を把握するために、刃先ベクトル11が用いられる。例えば、刃先ベクトル11が、図3に示したベクトル方向V3,V4,V8のときは工具Tの刃先が下を向いているため、ワークWが下側に、工具Tは上側に位置していると判定できる。また、刃先ベクトル11が、図3に示したベクトル方向V1,V2,V6のときは、逆で、工具Tの刃先が上を向いているため、ワークWが上側に、工具Tは下側に位置していると判定できる。また、刃先ベクトル11がベクトル方向V1,V4,V5のときはワークWが右側に位置し、工具Tは左側に位置していると判定できる。刃先ベクトル11がベクトル方向V2,V3,V7のときはワークWが左側に位置し、工具Tは右側に位置していると判定できる。 The cutting edge vector 11 is used to grasp the positional relationship between the workpiece W and the tool T. For example, when the cutting edge vector 11 is in the vector direction V3, V4, or 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. When the cutting edge vector 11 is in the vector direction V1, V2, or V6 shown in FIG. 3, the opposite is true, and 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. When the cutting edge vector 11 is in the vector direction V1, V4, or 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 direction V2, V3, or 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.

 このようにして、刃先ベクトル11によってワークWと工具Tとの位置関係を把握することが可能である。なお、刃先ベクトル11を番号ではなく角度またはベクトル値として扱ったとしても、同様の考え方によってワークWと工具Tとの位置関係の把握が可能である。また、視点、刃先ベクトル番号の定義が変わった場合でも、状況に応じて適宜読み替えることで、同じ考え方を適用できる。 In this way, it is possible to grasp the positional relationship between the workpiece W and the tool T using the cutting edge vector 11. Note that even if the cutting edge vector 11 is treated as an angle or vector value rather than a number, it is possible to grasp the positional relationship between the workpiece W and the tool T using a similar concept. Furthermore, even if the definition of the viewpoint or cutting edge vector number changes, the same concept can be applied by interpreting it appropriately according to the situation.

 つぎに、振動方向ベクトル12と移動方向ベクトル10との関係について説明する。図9に示した例のように、移動経路に沿う方向に振動するときには、移動方向ベクトル10の軸間の比率と、振動方向ベクトル12の軸間の比率とは一致している。振動方向ベクトル12の軸間の比率を変化させると、振動方向は移動経路とは異なる方向となる。このとき、振動方向ベクトル12の振動方向が移動経路に対してどちら側に向くかは、移動方向ベクトル10の軸間比率に対して、比率を大きくした軸の方に向くことが図10の例からも判る。図10の場合は、移動方向ベクトル10のX軸方向およびZ軸方向の軸間比率は同じであるが、Z軸方向の振動振幅をX軸方向の振動振幅より大きくしており、振動方向ベクトル12は、横軸に近づき、Z軸寄りとなる。 Next, the relationship between the vibration direction vector 12 and the movement direction vector 10 will be explained. As in the example shown in FIG. 9, when vibrating 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 will be 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.

 図11または図12のように、移動経路に含まれる複数の軸のうち、単一の軸のみを振動させることによって、振動方向を移動方向と異ならせている場合は、Z軸方向の比率が0で、X方向の比率が100%と考えることができ、X軸寄りとなっている。 As in Figure 11 or Figure 12, when the vibration direction is made different from the movement direction by vibrating only one axis among 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 to be 100%, which means it is closer to the X-axis.

 このように、振動端決定部4では、移動方向ベクトル10と振動方向ベクトル12との比較によって、振動方向が移動経路の上側か下側か、あるいは右側か左側かを判定することができる。 In this way, the vibration end determination unit 4 can determine whether the vibration direction is above or below the movement path, or to the right or left, by comparing the movement direction vector 10 with the vibration direction vector 12.

 図20は、実施の形態1にかかる数値制御装置1において、X軸の移動方向と、Z軸の移動方向と、振動方向と、振動領域の位置との対応関係を示す図である。図20では、振動端として、初期状態では上端が選択されるときの対応関係が示されている。振動領域の位置とは、振動領域が移動経路の上側か下側かを表している。振動端決定部4は、図20に示す対応関係が設定された記憶テーブルを有する。 FIG. 20 is a diagram showing the correspondence between the X-axis movement direction, Z-axis movement direction, vibration direction, and vibration area position in the numerical control device 1 according to the first embodiment. FIG. 20 shows the correspondence when the upper end is selected as the vibration end in the initial state. The position of the vibration area indicates whether the vibration area 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 FIG. 20 is set.

 図20においては、例えば、移動方向ベクトル10から判断したX軸移動方向が+で、Z軸移動方向が-であって、振動方向ベクトル12から判断した振動方向がX軸寄りであった場合、振動領域が移動経路の下側にあることを表している。また、移動方向ベクトル10から判断したX軸移動方向が+で、Z軸移動方向が-であって、振動方向ベクトル12から判断した振動方向がZ軸寄りであった場合、振動領域が移動経路の上側にあることを表している。また、移動方向ベクトル10から判断したX軸移動方向が-で、Z軸移動方向が+であって、振動方向ベクトル12から判断した振動方向がX軸寄りであった場合、振動領域が移動経路の上側にあることを表している。また、移動方向ベクトル10から判断したX軸移動方向が-で、Z軸移動方向が+であって、振動方向ベクトル12から判断した振動方向がZ軸寄りであった場合、振動領域が移動経路の下側にあることを表している。 In FIG. 20, for example, if 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 below the movement path. Also, if 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 above the movement path. Also, if 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 above the movement path. Also, if 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 below the movement path.

 振動端決定部4では、移動方向ベクトル10および振動方向ベクトル12と、図20の対応関係とを用いて、振動方向が移動経路の上側か下側か、あるいは右側か左側かを判定する第1の判定結果を得る。また、振動端決定部4では、前述したように、刃先ベクトル11を用いてワークWと工具Tとの位置関係、すなわちワークWと工具Tとの上下左右の位置関係を判定する、第2の判定結果を得る。振動端決定部4では、第1の判定結果と第2の判定結果とを照合し、振動領域がワークW側か工具T側であるかを判定する。振動端決定部4では、照合結果を参照することで、第1の判定結果(上側、下側、右側、あるいは左側)が工具T側と判定された場合は、振動端選択情報13として、図20の対応関係に対応付けられた上端を選択する。一方、振動端決定部4では、照合結果を参照することで、第1の判定結果(上側、下側、右側、あるいは左側)がワークW側と判定された場合は、振動端選択情報13として下端を選択する。以上のようにして、振動端決定部4は、適切な振動端選択情報13を決定することができる。 The vibration end determination unit 4 uses the movement direction vector 10 and the vibration direction vector 12 and the correspondence in FIG. 20 to obtain a first judgment result that judges whether the vibration direction is above or below the movement path, or to the right or left. As described above, the vibration end determination unit 4 also uses the cutting edge vector 11 to obtain a second judgment result that judges the positional relationship between the workpiece W and the tool T, i.e., the up-down and left-right positional relationship between the workpiece W and the tool T. The vibration end determination unit 4 compares the first judgment result with the second judgment result to judge whether the vibration area is on the workpiece W side or the tool T side. By referring to the comparison result, if the first judgment result (upper, lower, right, or left) is judged to be the tool T side, the vibration end determination unit 4 selects the upper end that corresponds to the correspondence in FIG. 20 as the vibration end selection information 13. On the other hand, in the vibration end determination unit 4, by referring to the collation result, if the first judgment result (upper, lower, right, or left) is judged to be the workpiece W side, the lower end is selected as the vibration end selection information 13. In this way, the vibration end determination unit 4 can determine the appropriate vibration end selection information 13.

 つぎに、経路分割部3で行われる経路分割動作について説明する。移動経路が変曲点αを含む曲線の場合に、経路分割部3によって移動経路が複数に分割される。プログラム解析部2において、移動経路の形状を幾何学的に解析することで、曲線状の変曲点αの位置を算出することができるので、経路分割部3は算出された変曲点αで経路を分割すればよい。例えば、曲線形状を数式的に表現できる場合には、微分して傾き、すなわち速度が0になる点を求めればよい。また、数学的に計算できない場合でも、移動経路を細かく分割して位置の変化を逐次求めていき、位置の変化が反転した点が変曲点αであると判定できるので、算出された変曲点αで経路を分割することができる。 Next, the path division operation performed by the path division unit 3 will be described. When the movement path is a curve including an inflection point α, the movement path is divided into multiple parts by the path division unit 3. The program analysis unit 2 can calculate the position of the curved inflection point α by geometrically analyzing the shape of the movement path, so the path division unit 3 can divide the path at the calculated inflection point α. For example, if the curve shape can be expressed mathematically, it is sufficient to differentiate and find the slope, i.e. the point where the speed becomes 0. Even if it cannot be calculated mathematically, the movement path can be divided finely and the change in position is found successively, and it can be determined that the point where the change in position is reversed is the inflection point α, so the path can be divided at the calculated inflection point α.

 しかし、この方法では必要となる計算量が多いため、リアルタイム性が求められる場合には、より少ない計算量で求められる方が効果的である。また、経路の分割は移動方向ベクトル10の算出が目的であり、移動方向ベクトル10は、前述の通り、平面上の領域を2つに分割して、刃先ベクトル11と組み合わせて工具TとワークWとの位置関係を把握したり、振動方向ベクトル12と組み合わせて振動領域を判定したりするために用いる。このことから、必ずしも変曲点αを厳密に算出する必要はなく、分割後の経路におけるそれぞれの移動方向ベクトル10が概ね把握できれば良い。 However, this method requires a large amount of calculation, so when real-time performance is required, it is more effective to perform calculations with a smaller amount of calculation. Furthermore, the purpose of dividing the path is to calculate the movement direction vector 10, and as mentioned above, the movement direction vector 10 is used to divide a plane area into two and to grasp the positional relationship between the tool T and 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 necessary to precisely calculate the inflection point α, and it is sufficient to roughly grasp each movement direction vector 10 on the path after division.

 図21は、実施の形態1にかかる数値制御装置1の経路分割部3の動作を説明するための図である。例えば、図21に示すように、分割前の移動経路Gの始点Sの接線ベクトルSvを延長したものを分割後の前半の移動方向ベクトルG1とする。移動経路Gと移動方向ベクトルG1との交点を変曲点αとし、分割後の後半の移動方向ベクトルG2を変曲点αから終点Eへ向かうベクトルとする。曲線の経路の場合、移動経路Gに沿った方向つまり経路の接線は、徐々に変化していくため、厳密に移動方向ベクトル10を把握するためには逐次計算または曲線を数式的に表現して扱う必要がある。しかし、この方法によれば、少ない計算量で移動方向ベクトル10を取得することができる。 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 become the first half movement direction vector G1 after division. The intersection of 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, i.e., the tangent to the path, changes gradually, so in order to accurately grasp the movement direction vector 10, it is necessary to carry out sequential calculations or to mathematically express the curve and handle it. However, with this method, the movement direction vector 10 can be obtained with a small amount of calculations.

 変曲点αを含む経路に対して、分割後のそれぞれの移動方向ベクトル10が得られれば、分割された各移動経路に対して、前述と同様の処理を行うことで、分割された各移動経路の振動端選択情報13を取得することができる。 Once the movement direction vectors 10 for each divided path including the inflection point α are obtained, the vibration end selection information 13 for each divided path can be obtained by performing the same processing as described above for each divided path.

 このように実施の形態1によれば、移動方向ベクトル10と、刃先ベクトル11と、振動方向ベクトル12とに基づいて、振動領域が指令位置から工具T側の空間となるように、指令位置を振動の上端とするか下端とするかを示す振動端選択情報13を決定し、振動端選択情報13に基づき振動切削を行うための振動波形を生成しているので、加工形状に関係なく削り込みを回避した振動切削を行うことが可能となり、加工不良を発生させずに、工作機械への負荷の低減が可能な振動切削を実現することができる。 In this way, according to embodiment 1, vibration end selection information 13 is determined based on the movement direction vector 10, cutting edge vector 11, and vibration direction vector 12, indicating whether the command position should be the upper end or lower end of vibration 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.

実施の形態2.
 図22は、実施の形態2にかかる数値制御装置1aの構成を示すブロック図である。実施の形態2では、実施の形態1の振動端決定部4が振動方向決定部8に置換されている。実施の形態2におけるそれ以外の構成は、実施の形態1と同様であり、重複する説明は、省略する。
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.

 振動方向決定部8は、移動方向ベクトル10、刃先ベクトル11、および振動端選択情報13に基づいて振動方向ベクトル12を決定し、決定した振動方向ベクトル12を振動波形生成部6に入力する。振動方向決定部8は、図20に示す対応関係が設定された記憶テーブルを有する。振動波形生成部6は、プログラム解析部2で作成された情報と、動作指令生成部5で生成された動作指令と、振動方向ベクトル12とに基づき、移動経路の波形と振動波形とを重畳することにより、振動切削による加工を実現するための振動波形を生成し、動作指令として動作指令出力部7に出力する。 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 memory table in which the correspondence shown in FIG. 20 is set. The vibration waveform generation unit 6 generates a vibration waveform for achieving 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 motion command generated by the motion command generation unit 5, and the vibration direction vector 12, and outputs the generated waveform to the motion command output unit 7 as a motion command.

 実施の形態2においても、図20に示した対応関係が設定されているものとする。このため、この場合は、振動端選択情報13としては、上端が固定的に選択されているものとする。振動方向決定部8は、実施の形態1と同様、刃先ベクトル11および移動方向ベクトル10を用いてワークWと工具Tとの位置関係、すなわちワークWと工具Tとの上下左右の位置関係を判定する。また、振動方向決定部8は、図20の対応関係に、移動方向ベクトル10を割り当てることで、図20における振動方向を含む4つのエリアのうちの1つを選択する。そして、振動方向決定部8は、選択した1つのエリアにおけるX軸寄りを選択するか、Z軸寄りを選択するかを、刃先ベクトル11を用いて判定したワークWと工具Tとの上下左右の位置関係を用いて、振動領域が工具T側の領域となるように、決定する。 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. As in the first embodiment, the vibration direction determination unit 8 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-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 in FIG. 20, thereby selecting one of the four areas including the vibration direction in FIG. 20. The vibration direction determination unit 8 then determines whether to select the area closer to the X-axis or the Z-axis in the selected area, using the up-down, left-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.

 例えば、移動方向ベクトル10から判断したX軸移動方向が-で、Z軸移動方向が-である場合は、図20における右下のエリアにおける振動方向(X軸寄り:上側、Z軸寄り:下側)が選択される。刃先ベクトル11を用いて判定したワークWと工具Tとの位置関係において、工具Tが上側である場合は、X軸寄りが選択され、工具Tが下側である場合は、Z軸寄りが選択される。 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 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, 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.

 X軸寄りかZ軸寄りかが決定されると、つぎに、振動方向決定部8は、振動方向ベクトル12を決定する。前述したように、振動方向を移動方向に対して異ならせることは、移動経路に含まれる複数の軸のうち単一の軸のみを振動させること、あるいは複数の軸間の振動振幅の比率を移動経路における複数の軸間の比率に対して変化させることで、実現できる。 Once it has been 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, making the vibration direction different from the movement direction 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 the multiple axes relative to the ratio between the multiple axes in the movement path.

 前者の方法を選ぶ場合は、X軸寄りあるいはZ軸寄りが決定されれば、自動的に決定することができる。 If you choose the former method, the position can be determined automatically once the X-axis or Z-axis position is determined.

 後者の方法を選ぶ場合は、例えば移動方向ベクトル10に基づいて振動方向ベクトル12を決定する。図23は、実施の形態2にかかる数値制御装置1aにおいて、振動方向ベクトル12の決定方法を説明するための図である。図23に示すように、加工方向すなわち移動方向ベクトル10に対してある角度θだけ回転することで振動方向ベクトル12aを生成してもよい。例えば、加工プログラムに文字列として直接記述したり、パラメータとして設定するといった方法で回転の角度θを指定してもよい。また、選択されなかった振動方向ベクトル12aに対して種々の変換計算を行うことによって、振動領域が工具Tと同じ側の領域となる振動方向ベクトル12b,12c,12dを算出してもよい。振動方向ベクトル12bは、振動方向ベクトル12aを移動方向ベクトル10に対して線対称に変換したものである。振動方向ベクトル12cは、振動方向ベクトル12aをX軸に平行な特定軸に対して線対称に変換したものである。振動方向ベクトル12dは、振動方向ベクトル12aをZ軸に平行な特定軸に対して線対称に変換したものである。 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 writing it as a character string in the machining program or 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.

 振動方向決定部8から振動方向ベクトル12を受け取ると、振動波形生成部6は、プログラム解析部2で作成された情報および動作指令生成部5で生成された動作指令に基づき決められた振動振幅と振動方向ベクトル12とに基づいて各軸の振動振幅を算出し、前述の実施の形態1と同様にして、振動波形を生成する。 When the vibration direction vector 12 is received 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 motion command generated by the motion command generation unit 5, and generates a vibration waveform in the same manner as in the first embodiment described above.

 なお、振動端選択情報13として下端を設定してもよい。この場合は、下端に対応するように、図20と同様の記憶テーブルを作成して、使用すればよい。また、実施の形態2において、振動方向決定部8では、振動端選択情報13を用いることなく、振動方向ベクトル12を決定してもよい。 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 addition, 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.

 また、実施の形態1で記載した変曲点αを含む移動経路を複数に分割する考え方は実施の形態2においても同様に適用可能である。経路分割部3は、分割した複数の移動経路のそれぞれについて、対応する移動方向ベクトル10を算出する。振動方向決定部8は、それぞれの移動方向ベクトル10に応じて前述の決定方法に基づき振動方向ベクトル12を決定する。 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 division unit 3 calculates a corresponding movement direction vector 10 for each of the multiple divided movement paths. The vibration direction determination unit 8 determines a vibration direction vector 12 based on the above-mentioned determination method according to each movement direction vector 10.

 このように実施の形態2によれば、移動方向ベクトル10、刃先ベクトル11、および振動端選択情報13に基づいて振動領域が指令位置から工具T側の空間となるように振動方向ベクトル12を決定し、振動方向ベクトル12に基づき振動切削を行うための振動波形を生成しているので、加工形状に関係なく削り込みを回避した振動切削を行うことが可能となり、加工不良を発生させずに、工作機械への負荷の低減が可能な振動切削を実現することができる。 In this way, according to the second embodiment, 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 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. 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.

実施の形態3.
 実施の形態3では、振動波形を切替える際の動作に着目しており、移動経路間の境界に波形切替領域を設ける。実施の形態3の特徴に関する内容について主に説明し、実施の形態1、実施の形態2と重複する内容については説明を省略する。
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.

 実施の形態1、実施の形態2で説明した方法を用いることで、削り込みを回避した振動切削が実現できる反面、移動経路ごとに振動波形が変化する場合がある。移動経路が切替わる瞬間で振動波形が切替わるのが理想だが、現実には様々な要因によって、移動経路が切替わる瞬間を厳密に捉えることが難しかったり、振動波形の切替えのタイミングがずれたりして、振動切削を用いた加工に影響を与えてしまう可能性がある。 By using the methods described in the first and second embodiments, vibration cutting that avoids scraping can be achieved, but the vibration waveform may change for each movement path. Ideally, the vibration waveform would switch at the moment the movement path switches, but in reality, due to various factors, it may be difficult to accurately capture the moment the movement path switches, or the timing of the vibration waveform switching may be off, which may affect machining using vibration cutting.

 要因の例としては、ソフトウェアのデジタル処理に起因する離散化誤差、数値制御装置とモータを制御する装置(例えばサーボアンプ等)との間の通信タイミングのずれまたは遅延、移動経路間の速度平滑化などの目的で行われる移動経路同士の重ね合わせ処理などが挙げられる。また、変曲点αを有する曲線経路の場合、変曲点αを厳密に検出すること自体が、必要な計算量または処理時間の観点から難しい場合もある。 Examples of factors include discretization errors resulting from digital processing in software, discrepancies or delays in communication timing between the numerical control device and the device that controls the motor (such as a servo amplifier), and overlapping of movement paths for purposes such as smoothing the speed between movement paths. In addition, in the case of a curved path that has an inflection point α, it may be difficult to precisely detect the inflection point α in terms of the amount of calculations or processing time required.

 そこで、実施の形態3では、移動経路間の境界に波形切替領域Taを設け、波形切替領域Taで振動波形間の移行を行うことにより、加工に影響を与えることなく振動波形の切替えを行う。 In the third embodiment, a waveform switching area Ta is provided at the boundary between the movement paths, and the vibration waveform is switched without affecting the processing by transitioning between the vibration waveforms in the waveform switching area Ta.

 図24は、実施の形態3にかかる数値制御装置1bの構成を示すブロック図である。実施の形態3の数値制御装置1bでは、切替通知部9を設け、実施の形態1の振動端決定部4および実施の形態2の振動方向決定部8を設け、振動端選択情報13と振動方向ベクトル12とを切替選択するための優先度情報21を追加している。 FIG. 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 according to the third embodiment, a switching notification unit 9 is provided, the vibration end determination unit 4 according to the first embodiment and the vibration direction determination unit 8 according to 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.

 まず、切替通知部9の動作を説明するために波形切替領域Taについて説明する。波形切替領域Taは、移動経路に含まれる軸の位置または速度における閾値の範囲内の領域として定義される。 First, the waveform switching region Ta will be described to explain the operation of the switching notification unit 9. The waveform switching region Ta is defined as an area within a threshold range for the position or speed of an axis included in the movement path.

 図25は、実施の形態3にかかる数値制御装置1bの切替通知部9で使用される波形切替領域Taを説明するための図である。図25の1番図はXZ軸の移動経路を示している。図25の2番図以降の横軸は時間を示している。図25の2番図以降の縦軸は、上から順に、移動経路のZ軸位置、移動経路のZ軸速度、移動経路のX軸位置、移動経路のX軸速度を示している。 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. The first diagram in FIG. 25 shows the movement path of the XZ axis. The horizontal axis in the second diagram onward in FIG. 25 shows time. The vertical axis in the second diagram onward in FIG. 25 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.

 図26は、実施の形態3にかかる数値制御装置1bの切替通知部9で使用される波形切替領域Taを説明するための他の図である。図26の1番図はXZ軸の移動経路を示している。図26の2番図以降の横軸は時間を示している。図26の2番図以降の縦軸は、上から順に、移動経路のZ軸位置、移動経路のZ軸速度、移動経路のX軸位置、移動経路のX軸速度を示している。 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 axis. The horizontal axis of FIG. 26 from FIG. 26 onwards shows time. The vertical axis of FIG. 26 from FIG. 26 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.

 図25では直線の移動経路が示され、図26では曲線の移動経路が示されている。図25に示す例では、X軸位置に対して下限閾値Th1および上限閾値Th2を含む閾値を設け、X軸位置が下限閾値Th1と上限閾値Th2との間に入った時点から出た時点までの時間を波形切替領域Taとしている。図25では、移動経路の終点に対し負方向と正方向との両方に一定量の値を付加した下限閾値Th1および上限閾値Th2を設けることで、2つの移動経路のうち前の移動経路の終了直前と次の移動経路の開始直後との領域を波形切替領域Taとして定義している。 In FIG. 25, a straight movement path is shown, and in FIG. 26, a curved movement path is shown. In the example shown in FIG. 25, thresholds including a lower threshold Th1 and an upper threshold Th2 are set for the X-axis position, and the waveform switching region Ta is the time from when the X-axis position enters between the lower threshold Th1 and the upper threshold Th2 to when it leaves the gap. In FIG. 25, by setting a lower threshold Th1 and an upper threshold Th2 that add a fixed value in both the negative and positive directions to the end point 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 of the two movement paths is defined as the waveform switching region Ta.

 図26では、X軸速度に対して下限閾値Th1および上限閾値Th2を含む閾値を設けている。曲線の移動経路における変曲点αの検出においては、例えば、移動経路に含まれる軸のうちの1つの軸のゼロクロスを検出する。図26では、X軸の速度0に対し負方向と正方向との両方に一定量の値を付加した下限閾値Th1および上限閾値Th2を設けることで、変曲点αの前後の領域を波形切替領域Taとして定義している。 In Figure 26, thresholds including a lower threshold Th1 and an upper threshold Th2 are set for the X-axis speed. When detecting the inflection point α in a curved movement path, for example, the 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 certain amount to the X-axis speed of 0 in both the negative and positive directions, the area before and after the inflection point α is defined as the waveform switching area Ta.

 位置による波形切替領域Taの設定は、図25に示すような位置が顕著に変わる移動経路間の検出に適している。しかし、図25に示すような、緩やかな位置変化を示す場合には、適切な閾値設定を行わなければ、波形切替領域Taが過剰に大きくなる可能性がある。一方、速度による波形切替領域Taの設定では、図26に示すような、緩やかな位置変化を示す移動経路であっても、比較的容易に波形切替領域Taの広さを調節することが可能である。逆に、図25に示すような速度が急激に変化する移動経路の場合は、速度による閾値設定が困難なケースもありうるため、どの情報を対象として閾値を設けるかは移動経路の特徴に応じて決定する必要がある。なお、図25の場合には加速度を判定対象とすることで検出することも考えられる。 Setting the waveform switching area Ta based on position is suitable for detecting movement routes where the position changes significantly, as shown in Figure 25. However, in cases where there is a gradual change in position, as shown in Figure 25, unless an appropriate threshold is set, the waveform switching area Ta may become excessively large. On the other hand, when setting the waveform switching area Ta based on speed, it is relatively easy to adjust the width of the waveform switching area Ta, even for movement routes where there is a gradual change in position, as shown in Figure 26. Conversely, in cases where the speed of a movement route changes suddenly, as shown in Figure 25, it may be difficult to set a threshold value based on speed, so it is necessary to decide which information to set the threshold value for depending on the characteristics of the movement route. Note that in the case of Figure 25, it is also possible to detect by using acceleration as the judgment target.

 位置、速度など閾値の判定基準となるデータの選択、あるいは閾値の値については、加工プログラムに文字列として直接記述して指定してもよいし、パラメータを参照して選択できるようにしてもよい。また、前述の説明のように、直線経路に対しては位置で、曲線経路の変曲点αに対しては速度でといったように、経路に応じて選択できるようにしてもよい。 The selection of data that serves as the criteria for thresholds, such as position and speed, or the value of the threshold may be specified by directly entering it as a character string in the machining program, or the selection may be made by referencing a parameter. As explained above, the selection may be made according to the path, such as by position for a straight path and by speed for the inflection point α of a curved path.

 また、波形切替領域Taの検出に用いる位置、速度のデータとしては、数値制御装置1bからアンプ、モータへの出力である指令値を用いてもよいし、モータに備えられたエンコーダ等のセンサから取得した値を数値制御装置1bに対して送信することで得られるフィードバック値を用いてもよい。フィードバック値を用いることで、実際にモータが閾値に対する位置、速度に到達したことを確認したうえで波形切替動作に移行することができる。 The position and speed data used to detect the waveform switching area Ta may be command values output from the numerical control device 1b to the amplifier and motor, or feedback values obtained by sending values obtained from a sensor such as an encoder provided on the motor to the numerical control device 1b. By using the feedback value, it is possible to move to the waveform switching operation after confirming that the motor has actually reached a position and speed corresponding to the threshold value.

 このように、切替通知部9では、動作指令生成部5が生成した動作指令を用いて波形切替領域Taに入ったことを検出すると、波形切替領域Taへの到達通知である切替信号を振動波形生成部6に通知する。以下、振動波形生成部6で行われる波形切替動作について説明する。波形切替動作は、2つの異なる振動波形を切替えるための動作であればよく、どのような波形切替動作を実施してもよい。 In this way, when the switching notification unit 9 detects that the waveform switching region Ta has been entered using the motion command generated by the motion command generation unit 5, it notifies the vibration waveform generation unit 6 of a switching signal, which is a notification of reaching 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.

 波形切替動作の一例としては、振動の停止が挙げられる。振動波形生成部6は、切替通知部9からの波形切替領域Taへの到達通知を受信すると、動作指令に対する振動波形の重畳を停止する。すなわち、動作指令に対して重畳する振動波形を、次の振動波形に切替えることにより、切替動作が実現される。2つの振動波形の境界近傍において振動を停止することにより波形切替領域Ta内では振動切削を行わないことで、波形の切替えの不具合による加工への影響を排除できる。 One example of a 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. 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 and not performing vibration cutting within the waveform switching region Ta, it is possible to eliminate the impact on machining caused by malfunctions in waveform switching.

 波形切替動作の他の例としては、振幅を段階的に増減させることが挙げられる。理想的には、波形切替領域Taの中点が移動経路の境界となるはずであるが、前述の様々な要因によってずれる可能性がある。しかし、閾値の設定が適切であれば、波形切替領域Ta内には中点が存在するはずであり、中点が波形切替領域Taの中央近傍である可能性も高い。従って、例えば、波形切替領域Taの中央で振動が完全に減衰するような傾きで振幅を徐々に減少させ、波形切替領域Taを抜けるタイミングで本来の振幅になるような傾きで振幅を中央から徐々に増加させる。あるいは、振幅の減衰、増加の傾きをさらに急峻にすることで、波形切替領域Taの中央近傍で振動を停止した領域を作ることも可能である。 Another example of a 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 movement path, but this can shift due to the various factors mentioned 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 will be 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 attenuated in the center of the waveform switching region Ta, and the amplitude can be gradually increased from the center with a slope such that the original amplitude is reached when the waveform switching region Ta is passed. Alternatively, it is possible to create an area where vibration stops near the center of the waveform switching region Ta by making the slope of the amplitude attenuation and increase even steeper.

 つぎに、振動波形生成部6における振動の選択について説明する。振動端決定部4では、実施の形態1で説明したように、移動方向ベクトル10、刃先ベクトル11、および振動方向ベクトル12に基づいて、振動領域が工具Tと同じ側の領域となるように振動波形における振動端を決定して振動端選択情報13を生成する。振動方向決定部8は、実施の形態2で説明したように、移動方向ベクトル10、刃先ベクトル11、および振動端選択情報13に基づいて、振動領域が工具Tと同じ側の領域となるように振動方向ベクトル12を決定する。 Next, the selection of vibration in the vibration waveform generating unit 6 will be described. As described in embodiment 1, 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 area is on the same side as the tool T, and generates vibration end selection information 13. As described in embodiment 2, 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 area is on the same side as the tool T.

 優先度情報21は、振動端決定部4から出力される振動端選択情報13を用いる振動端選択優先モードと、振動方向決定部8から出力される振動方向ベクトル12を用いる振動方向ベクトル優先モードとのうちのどちらを選択するかを示す情報である。振動波形生成部6は、優先度情報21に基づいて、振動端選択優先モードおよび振動方向ベクトル優先モードの何れかを選択し、選択したモードに従って動作する。優先度情報21を指定する方法には制限はなく、加工プログラム中に文字列として指定してもよいし、パラメータによって指定してもよい。 The priority information 21 is information indicating whether to select a vibration end selection priority mode using the vibration end selection information 13 output from the vibration end determination unit 4, or a vibration direction vector priority mode using the vibration direction vector 12 output from the vibration direction determination unit 8. 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 are no limitations on the method of specifying the priority information 21, and it may be specified as a character string in the machining program or by a parameter.

 振動切削を実現するためには工具TをワークWに対して相対的に振動させる必要があり、工作機械の構造によっては、この加振動作に対する適性が駆動軸間で異なる場合がある。このため、特定の軸を優先的に加振軸としたいケース、あるいは逆に特定の軸を加振軸としたくないケースがある。具体的には、工具Tを把持する先端に近い軸ほど、重量が軽くなる傾向にあるため、加振に必要なエネルギーが少なく済む傾向にあり有利である。一方、多くの軸または機械構造を支えている軸の場合、加振に必要なエネルギーが多く、さらに機械全体を加振することにも繋がるため、振動切削に伴う加振動作の弊害が起きる可能性が高くなる。優先度情報21はこうした外的な要因を考慮した振動動作を実現するために設けられたものである。 In order to achieve vibration cutting, the tool T must be vibrated 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 prioritized as the vibration axis, or conversely, cases where a specific axis is not to be used 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 is advantageous. On the other hand, in the case of an axis that supports many axes or machine structures, more energy is required for vibration, which can also lead to vibrating the entire machine, increasing the possibility of adverse effects from the vibration operation associated with vibration cutting. The priority information 21 is provided to achieve vibration operation that takes such external factors into account.

 このように実施の形態3によれば、移動経路間の境界に、軸の位置または速度が閾値に到達すると、切替信号を通知するための波形切替領域Taを設け、切替信号が通知されると、波形切替動作を実行して振動波形を生成しているので、振動波形の切替えに起因する削り込みを防止することができる。 In this way, according to the third embodiment, a waveform switching area Ta is provided at the boundary between the movement paths to notify 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 performed to generate a vibration waveform, thereby preventing chipping caused by switching of the vibration waveform.

 ここで、数値制御装置1,1a,1bのハードウェア構成について説明する。図27は、実施の形態1~実施の形態3の数値制御装置1,1a,1bのハードウェア構成例を示す図である。数値制御装置1,1a,1bは、図27に示したプロセッサ301、メモリ302、およびインタフェース回路303により実現することができる。プロセッサ301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ302の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。 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 the processor 301, memory 302, and interface circuit 303 shown in FIG. 27. An example of the processor 301 is a CPU (also called a Central Processing Unit, 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).

 数値制御装置1,1a,1bは、プロセッサ301が、メモリ302で記憶されている、数値制御装置1,1a,1bの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、数値制御装置1,1a,1bの手順または方法をコンピュータに実行させるものであるともいえる。メモリ302は、プロセッサ301が各種処理を実行する際の一時メモリにも使用される。なお、数値制御装置1,1a,1bの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。 The numerical control devices 1, 1a, and 1b are realized by the processor 301 reading and executing a program for executing the operations of the numerical control devices 1, 1a, and 1b, which is stored in the memory 302. This program can also be said to cause a computer to execute the procedures or methods of the numerical control devices 1, 1a, and 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, and 1b may be realized partly by dedicated hardware and partly by software or firmware.

 以上の実施の形態に示した構成は、本開示の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、本開示の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configurations shown in the above embodiments are examples of the contents of this disclosure, and may be combined with other known technologies, or the embodiments may be combined with each other. In addition, parts of the configurations may be omitted or modified without departing from the gist of this disclosure.

 1,1a,1b 数値制御装置、2 プログラム解析部、3 経路分割部、4 振動端決定部、5 動作指令生成部、6 振動波形生成部、7 動作指令出力部、8 振動方向決定部、9 切替通知部、10,G1,G2 移動方向ベクトル、11 刃先ベクトル、12,12a,12b,12c,12d 振動方向ベクトル、13 振動端選択情報、16 生成部、17 重畳部、21 優先度情報、301 プロセッサ、302 メモリ、303 インタフェース回路、G 移動経路、T 工具、Ta 波形切替領域、W ワーク。 1, 1a, 1b: Numerical control device, 2: Program analysis unit, 3: Path division unit, 4: Vibration end determination unit, 5: Motion command generation unit, 6: Vibration waveform generation unit, 7: Motion 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: Superimposition unit, 21: Priority information, 301: Processor, 302: Memory, 303: Interface circuit, G: Movement path, T: Tool, Ta: Waveform switching area, W: Workpiece.

Claims (8)

 工具を用いてワークの振動切削を行う数値制御装置であって、
 振動を付加する前の前記工具の移動方向を表す移動方向ベクトルと、前記工具の刃先の向きを表す刃先ベクトルと、前記移動方向ベクトルと異なる方向である振動方向を示す振動方向ベクトルとに基づいて、振動切削の振動領域が振動を付加する前の前記工具の移動経路である指令位置から前記工具側の空間となるように、前記指令位置を振動の上端とするか下端とするかを示す振動端選択情報を決定する振動端決定部と、
 前記振動端選択情報に基づき振動切削を行うための振動波形を生成する振動波形生成部と、を備える
 ことを特徴とする数値制御装置。
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.
 前記移動経路を変曲点によって複数の移動経路に分割する経路分割部をさらに有し、
 前記振動端決定部は、分割された前記複数の移動経路の各々における前記移動方向ベクトルに基づいて、複数の移動経路の各々に対応する前記振動端選択情報を決定する
 ことを特徴とする請求項1に記載の数値制御装置。
A path dividing unit divides the moving path into a plurality of moving paths by inflection points,
The numerical control device according to claim 1 , wherein the vibration end determination unit determines the vibration end selection information 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 that performs vibration cutting of a workpiece using a tool,
a vibration direction determination unit that determines a vibration direction vector indicating a vibration direction that is a direction different from the movement direction vector based on a movement direction vector indicating the movement direction of the tool before vibration is applied and a cutting edge vector indicating the orientation of the cutting edge of the tool, 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;
a vibration waveform generating unit that generates a vibration waveform for performing vibration cutting based on the vibration direction vector.
 前記移動経路を変曲点によって複数の移動経路に分割する経路分割部をさらに有し、
 前記振動方向決定部は、分割された前記複数の移動経路の各々における前記移動方向ベクトルに基づいて、複数の移動経路の各々に対応する前記振動方向ベクトルを決定する
 ことを特徴とする請求項3に記載の数値制御装置。
A path dividing unit divides the moving path into a plurality of moving paths by inflection points,
The numerical control device according to claim 3 , wherein 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.
 振動波形の切替信号を通知する切替通知部をさらに有し、
 前記振動波形生成部は、前記切替通知部から通知された前記切替信号に基づき波形切替動作を実行して前記振動波形を生成する
 ことを特徴とする請求項1から4の何れか一つに記載の数値制御装置。
Further comprising a switching notification unit that notifies a switching signal of the vibration waveform,
The numerical control device according to claim 1 , wherein the vibration waveform generating unit generates the vibration waveform by executing a waveform switching operation based on the switching signal notified from the switching notifying unit.
 前記切替通知部は、前記移動経路に含まれる軸の位置または速度が、閾値に到達すると、前記切替信号を通知する
 ことを特徴とする請求項5に記載の数値制御装置。
The numerical control device according to claim 5 , wherein the switching notification unit issues the switching signal when a position or a speed of an axis included in the movement path reaches a threshold value.
 工具を用いてワークの振動切削を行う数値制御方法であって、
 振動を付加する前の前記工具の移動方向を表す移動方向ベクトルと、前記工具の刃先の向きを表す刃先ベクトルと、前記移動方向ベクトルと異なる方向である振動方向を示す振動方向ベクトルとに基づいて、振動切削の振動領域が振動を付加する前の前記工具の移動経路である指令位置から前記工具側の空間となるように、前記指令位置を振動の上端とするか下端とするかを示す振動端選択情報を決定するステップと、
 前記振動端選択情報に基づき振動切削を行うための振動波形を生成するステップと、を含む
 ことを特徴とする数値制御方法。
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.
 工具を用いてワークの振動切削を行う数値制御方法であって、
 振動を付加する前の工具の移動方向を表す移動方向ベクトルと、前記工具の刃先の向きを表す刃先ベクトルとに基づいて、振動切削の振動領域が振動を付加する前の前記工具の移動経路である指令位置から前記工具側の空間となるように、前記移動方向ベクトルと異なる方向である振動方向を示す振動方向ベクトルを決定するステップと、
 前記振動方向ベクトルに基づき振動切削を行うための振動波形を生成するステップと、を含む
 ことを特徴とする数値制御方法。
1. A numerically controlled method for performing vibration cutting of a workpiece using a tool, comprising:
determining a vibration direction vector indicating a vibration direction different from the movement direction vector based on a movement direction vector indicating the movement direction of the tool before vibration is applied and a cutting edge vector indicating the orientation of the cutting edge of the tool, 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;
generating a vibration waveform for performing vibration cutting based on the vibration direction vector.
PCT/JP2023/028014 2023-07-31 2023-07-31 Numerical value control device and numerical value control method Pending WO2025027765A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2023/028014 WO2025027765A1 (en) 2023-07-31 2023-07-31 Numerical value control device and numerical value control method
JP2024513234A JP7638441B1 (en) 2023-07-31 2023-07-31 Numerical control device and numerical control method
JP2025018351A JP2025065338A (en) 2023-07-31 2025-02-06 Numerical control device and numerical control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/028014 WO2025027765A1 (en) 2023-07-31 2023-07-31 Numerical value control device and numerical value control method

Publications (1)

Publication Number Publication Date
WO2025027765A1 true WO2025027765A1 (en) 2025-02-06

Family

ID=94394808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/028014 Pending WO2025027765A1 (en) 2023-07-31 2023-07-31 Numerical value control device and numerical value control method

Country Status (2)

Country Link
JP (2) JP7638441B1 (en)
WO (1) WO2025027765A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5781241B1 (en) * 2014-03-17 2015-09-16 三菱電機株式会社 Numerical controller
JP7007531B1 (en) * 2021-06-15 2022-01-24 ファナック株式会社 Information processing equipment, machine tool control equipment, and computer programs
WO2022269751A1 (en) * 2021-06-22 2022-12-29 ファナック株式会社 Machine tool control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5781241B1 (en) * 2014-03-17 2015-09-16 三菱電機株式会社 Numerical controller
JP7007531B1 (en) * 2021-06-15 2022-01-24 ファナック株式会社 Information processing equipment, machine tool control equipment, and computer programs
WO2022269751A1 (en) * 2021-06-22 2022-12-29 ファナック株式会社 Machine tool control device

Also Published As

Publication number Publication date
JPWO2025027765A1 (en) 2025-02-06
JP2025065338A (en) 2025-04-17
JP7638441B1 (en) 2025-03-03

Similar Documents

Publication Publication Date Title
CN105144008B (en) Numerical control device
JP6457432B2 (en) Servo control device, control method and computer program for machine tool for rocking cutting
JP4813616B1 (en) Numerical control device for machine tool having speed control function during arc motion
JP6984790B1 (en) Numerical control device and numerical control method
JP4809488B1 (en) Numerical control device with oscillating function capable of changing speed in any section
CN113168155B (en) Numerical control device and numerical control method
CN106687874B (en) Numerical control device
JP2010140312A (en) Numerical control device for five-axis processing machine
JP7007531B1 (en) Information processing equipment, machine tool control equipment, and computer programs
WO1998019823A1 (en) Numeric control command generator and method
JP2000351087A (en) Laser processing machine, numerical control device thereof, and control method of laser processing machine
JP7638441B1 (en) Numerical control device and numerical control method
KR101560529B1 (en) Numerical control device
JP7280310B2 (en) Numerical controller
JP2012137990A (en) Numerical control unit, movement control method, movement control program, and storage medium
JP2019069494A (en) Control device
JP6959477B1 (en) Laser machining machine control device
JP2020194511A (en) Numerical controller and machine tool
JP7433570B1 (en) Numerical control device and numerical control method
JP2019123060A (en) Robot control device
WO2022009925A1 (en) Machine tool control device
JP7682419B1 (en) Numerical control device and numerical control method
JP7355952B1 (en) Control device and computer readable recording medium
WO2025069321A1 (en) Control device and control method for moving object
TW202508763A (en) Machine tool

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2024513234

Country of ref document: JP

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

Ref document number: 23947563

Country of ref document: EP

Kind code of ref document: A1