Setting assistance device, numerical control device, setting assistance method, and program

The setting support device addresses the challenge of setting vibration conditions by calculating tool movement paths considering machine tool mechanics, ensuring effective chip breaking in vibration cutting.

WO2025248583A1PCT designated stage Publication Date: 2025-12-04MITSUBISHI ELECTRIC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/019377
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-27
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Conventional numerical control devices struggle to accurately set vibration conditions for vibration cutting due to machine tool characteristics, leading to insufficient chip breaking during actual machining despite proper settings on the display.

Method used

A setting support device that acquires and calculates tool movement paths based on vibration conditions and machine tool mechanics, allowing for display and adjustment of these conditions independently of machine tool characteristics.

Benefits of technology

Enables effective chip breaking during vibration cutting by setting vibration conditions that account for machine tool characteristics, ensuring intended chip breaking performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024019377_04122025_PF_FP_ABST
    Figure JP2024019377_04122025_PF_FP_ABST
Patent Text Reader

Abstract

A screen processing unit (44), which is a setting assistance device according to the present disclosure, assists in setting a vibration condition for vibration cutting using a machine tool (11). The screen processing unit (44) comprises: a condition acquisition unit (441) that acquires a vibration condition for vibration cutting; a calculation unit (442) that calculates a tool movement path on the basis of the vibration condition acquired by the condition acquisition unit (441) and mechanical characteristics of the machine tool (11); a drawing unit (443) that displays the tool movement path calculated by the calculation unit (442); and a condition reception unit (445) that receives a change to the vibration condition, which is input after the tool movement path is displayed.
Need to check novelty before this filing date? Find Prior Art

Description

Setting support device, numerical control device, setting support method and program

[0001] The present disclosure relates to a setting support device, a numerical control device, a setting support method, and a program that support the setting of vibration conditions for vibration cutting, which cuts while vibrating a workpiece and a tool relative to each other.

[0002] Conventionally, among numerical control devices that control vibration cutting, which involves cutting while vibrating a workpiece and a tool (cutting tool) relative to each other, there is known a numerical control device with a tool path drawing function that draws the tool's movement path during cutting on a display device. This allows a user to set vibration conditions while viewing the movement path. Furthermore, during cutting, chips are broken up by air cutting (i.e., air cutting) of portions already cut by actual cutting. Conventional numerical control devices with a tool path drawing function draw the tool's movement path in the same display format, making it difficult to distinguish between the actual cutting portion and the air-cut portion when the vibration frequency, amplitude, etc., increase. Patent Document 1 discloses a numerical control device that improves the visibility of the actual cutting portion and the air-cut portion by displaying the actual cutting portion and the air-cut portion of the tool's movement path in different display formats on a display unit.

[0003] Patent No. 7064064

[0004] The numerical control device of Patent Document 1 allows a user to set vibration conditions while checking the air cut portion, making it easier to set the vibration conditions. However, the tool movement path displayed by the numerical control device described in Patent Document 1 is a path calculated based on the set vibration conditions and the machining program, based on commands to the motor that moves the tool, and differs from the path the tool actually moves. For example, the amplitude of the actual tool movement path is smaller than the commanded amplitude due to machine tool characteristics, such as the responsiveness of the servo system, set by parameters. Therefore, even if the amplitude of the vibration conditions is set after confirming that the air cut portion is sufficiently secured on the screen displayed by the tool path drawing function, when actually machining using the vibration conditions, the amplitude may be insufficient, and the chips may not be broken as intended.

[0005] The present disclosure has been made in consideration of the above, and aims to provide a setting support device that can set vibration conditions that can break chips as intended, without taking into account the mechanical characteristics of the machine tool.

[0006] In order to solve the above-mentioned problems and achieve the objectives, the setting support device disclosed herein is a setting support device that supports the setting of vibration conditions for vibration cutting, in which a machine tool performs processing while moving the tool and the workpiece relative to each other, and has an acquisition unit that acquires the vibration conditions for vibration cutting, a calculation unit that calculates the tool movement path based on the vibration conditions acquired by the acquisition unit and the mechanical characteristics of the machine tool, a drawing unit that displays the tool movement path calculated by the calculation unit, and a reception unit that accepts changes to the vibration conditions input after the tool movement path is displayed.

[0007] The setting support device according to the present disclosure has the effect of being able to set vibration conditions that can break chips as intended, without taking into account the mechanical characteristics of the machine tool.

[0008] FIG. 1 is a diagram showing an example of the functional configuration of a numerical control system according to a first embodiment. FIG. 2 is a diagram showing an example of vibration cutting by a machine tool according to the first embodiment. FIG. 3 is a diagram showing another example of vibration cutting by a machine tool according to the first embodiment. FIG. 4 is a diagram showing a schematic diagram of a machining method by a numerical control system according to the first embodiment. FIG. 5 is a diagram showing an example of a machining program according to the first embodiment. FIG. 6 is a diagram showing an example of a waveform display screen according to the first embodiment.

[0009] A setting support device, a numerical control device, a setting support method, and a program according to embodiments will be described in detail below with reference to the accompanying drawings.

[0010] First Embodiment. FIG. 1 is a diagram illustrating an example of the functional configuration of a numerical control (NC) system 1 according to a first embodiment. As illustrated in FIG. 1, the numerical control system 1 includes a machine tool 11, an input operation unit 20, a display unit 30, and a control and calculation unit 40. The control and calculation unit 40, the input operation unit 20, and the display unit 30 constitute a numerical control device according to the present disclosure. The numerical control device controls vibration cutting by the machine tool 11. That is, the numerical control device causes the machine tool 11 to perform vibration cutting, which performs machining while moving a tool and a workpiece relative to each other. Note that, although an example in which the numerical control device includes the input operation unit 20 and the display unit 30 will be described here, at least one of the input operation unit 20 and the display unit 30 may be provided outside the numerical control device.

[0011] The machine tool 11 includes a drive unit 10. The drive unit 10 is connected to a control and calculation unit 40 and is a mechanism that drives at least one of a tool for machining a workpiece (hereinafter also referred to as a workpiece), which is an object to be machined by the machine tool 11, and the workpiece itself. For example, the machine tool 11 moves the tool within a plane perpendicular to the central axis that is the center of rotation of the workpiece while rotating the workpiece. At this time, the machine tool 11 performs vibration cutting by moving the tool and the workpiece relative to each other.

[0012] FIG. 2 is a diagram illustrating an example of vibration cutting performed by the machine tool 11 according to the present embodiment. In the example shown in FIG. 2, the central axis around which the workpiece 61 rotates is defined as the Z-axis. The X-axis and Y-axis intersect perpendicularly within a plane perpendicular to the Z-axis, with the X-axis extending vertically in the plane of the drawing. Although the Y-axis is omitted from FIG. 2, the +Y direction is the direction from the back of the page to the front. In the example shown in FIG. 2, the position of the workpiece 61 is fixed, and vibration cutting is performed by moving a tool 62, which is a turning tool used for turning, in the Z-axis direction and the X-axis direction perpendicular to the Z-axis. Specifically, the tool 62 is attached to a tool rest (not shown), and the drive unit 10 moves the tool rest to move the tool 62. Hereinafter, moving the tool 62 together with the tool rest will also be referred to as "moving the tool 62."

[0013] Figure 3 is a diagram showing another example of vibration cutting by machine tool 11 of this embodiment. The definitions of the X-axis, Y-axis, and Z-axis are the same as in Figure 2. In the example shown in Figure 3, machine tool 11 moves workpiece 61 in the Z-axis direction and tool 62 in the X-axis direction.

[0014] The setting support method according to the present disclosure, which will be described later, can be applied to both the example shown in Fig. 2 and the example shown in Fig. 3. Note that Figs. 2 and 3 are examples of vibration cutting using the numerical control system 1 of this embodiment, and the configuration of the machine tool 11 and the vibration cutting operation are not limited to these examples.

[0015] Returning to the description of FIG. 1 , the drive unit 10 includes an X-axis servo motor 101x, a detector 102x, and an X-axis servo control unit 103x. The X-axis servo motor 101x moves the tool in the X-axis direction under the control of the X-axis servo control unit 103x. The detector 102x detects the position and speed of the X-axis servo motor 101x and outputs the detection result to the X-axis servo control unit 103x. The X-axis servo control unit 103x controls the movement of the tool 62 in the X-axis direction by performing feedback control (hereinafter also referred to as FB (Feedback) control) of the X-axis servo motor 101x based on a command value (an X-axis command vibration movement amount described later) issued by the control calculation unit 40 and the detection result received from the detector 102x. That is, the X-axis servo control unit 103x controls the X-axis servo motor 101x so that the movement amount of the X-axis servo motor 101x matches the command value. In addition, the drive unit 10 outputs position information indicating the position of the X-axis servo motor 101x (i.e., the actual position of the X-axis servo motor 101x) detected by the detector 102x to the control calculation unit 40 as the X-axis FB vibration movement amount.

[0016] The drive unit 10 also includes a Z-axis servo motor 101z, a detector 102z, and a Z-axis servo control unit 103z. The Z-axis servo motor 101z moves the tool 62 in the Z-axis direction under the control of the Z-axis servo control unit 103z. The detector 102z detects the position and speed of the Z-axis servo motor 101z and outputs the detection results to the Z-axis servo control unit 103z. The Z-axis servo control unit 103z controls the movement of the tool 62 in the Z-axis direction by performing feedback control of the Z-axis servo motor 101z based on a command value (a Z-axis command vibration movement amount, described below) from the control calculation unit 40 and the detection result received from the detector 102z. In other words, the Z-axis servo control unit 103z controls the Z-axis servo motor 101z so that the movement amount of the Z-axis servo motor 101z matches the command value. Furthermore, the driving unit 10 outputs position information indicating the position of the Z-axis servo motor 101z (i.e., the actual position of the Z-axis servo motor 101z) detected by the detector 102z as the Z-axis FB vibration movement amount to the control calculation unit 40. Hereinafter, the X-axis FB vibration movement amount and the Z-axis FB vibration movement amount will also be collectively referred to simply as the FB vibration movement amount.

[0017] Although an example in which the Z-axis servo motor 101z moves the tool 62 in the Z-axis direction has been described here, the workpiece 61 may also be moved in the Z-axis direction as illustrated in Fig. 3. In this case, the Z-axis servo motor 101z moves the workpiece 61 in the Z-axis direction.

[0018] The drive unit 10 also includes a spindle motor 101s, a detector 102s, and a spindle control unit 103s. The spindle motor 101s rotates a spindle that serves as the rotation axis for rotating the workpiece 61. The detector 102s detects the position and rotation speed of the spindle motor 101s (the number of rotations of the spindle per unit time: rotation speed). The spindle control unit 103s performs feedback control of the spindle motor 101s based on a command value from the control calculation unit 40 and the detection result received from the detector 102s. The spindle control unit 103s controls the rotation of the workpiece 61 by performing feedback control of the spindle motor 101s. In other words, the spindle control unit 103s controls the spindle motor 101s so that the rotation speed of the spindle motor 101s matches the command value. The rotation speed detected by the detector 102s corresponds to the rotation speed of the spindle motor 101s.

[0019] In this embodiment, an example has been shown in which machine tool 11 is provided with a single tool post, but the number of tool posts is not limited to this example, and machine tool 11 may be provided with a plurality of tool posts. In this case, drive unit 10 may include a spindle motor 101s, a detector 102s, and a spindle control unit 103s, and may also include an X-axis servo motor 101x, a Z-axis servo motor 101z, a detector 102x, a detector 102z, an X-axis servo control unit 103x, and a Z-axis servo control unit 103z for each tool post.

[0020] The input operation unit 20 is a means for accepting input from a user of the machine tool 11, and is configured, for example, with a keyboard, buttons, a mouse, etc. Examples of users include, but are not limited to, a user who performs machining using the numerical control system 1, a user who configures the numerical control system 1, and an operator who operates the numerical control system 1. The input operation unit 20 accepts, for example, inputs from the user, such as commands for the numerical control system 1, input of a machining program number which is identification information for a machining program to be executed by the control calculation unit 40, and input of information related to vibration cutting, and inputs information indicating the content of the accepted input to the control calculation unit 40. A machining program is a program for causing the machine tool 11 to perform machining. Information related to vibration cutting includes, for example, machining conditions and vibration conditions. Machining conditions and vibration conditions will be described later.

[0021] The display unit 30 is a means for displaying display data input from the control and calculation unit 40, and is, for example, a display device such as a liquid crystal panel or a display. Note that, in FIG. 1 , an example is shown in which the display unit 30 is a device specialized for display, such as a liquid crystal panel or a display, and is connected to the control and calculation unit 40, but this is not limiting. For example, a display device connected to a communication network may be used instead of the display unit 30, or a computer connected to a communication network may be used as the display device. In this case, the communication network between the control and calculation unit 40 and the display device may be a wired network, a wireless network, or a combination of a wired network and a wireless network.

[0022] The control calculation unit 40 includes an input control unit 41, a data setting unit 42, a memory unit 43, a screen processing unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC (Programmable Logic Controller) circuit unit 47, an interpolation processing unit 48, an acceleration / deceleration processing unit 49, and an axis data input / output unit 50. In the example shown in FIG. 1 , the PLC circuit unit 47 is provided inside the control calculation unit 40, but this is not limiting, and the PLC circuit unit 47 may be provided outside the control calculation unit 40.

[0023] The input control unit 41 receives information input from the input operation unit 20 and outputs the received information to the data setting unit 42. The data setting unit 42 stores the information received from the input control unit 41 in the storage unit 43. That is, the information received by the input operation unit 20 is written to the storage unit 43 via the input control unit 41 and the data setting unit 42.

[0024] The memory unit 43 has a parameter area 431, a program area 432, and a shared area 433. The parameter area 431 stores parameters used in the processing of the control and calculation unit 40. Specifically, the parameter area 431 stores control parameters, servo parameters, tool data, and parameters related to vibration cutting for operating the numerical control system 1. The program area 432 stores one or more machining programs, each including one or more blocks (rows) used to machine the workpiece 61. In this embodiment, the machining program includes a movement command for moving the tool 62, a spindle rotation command for rotating the spindle, and the like. The machining program is stored in the memory unit 43 in advance, for example, at the time of product shipment, but can be edited by the user, as described below. That is, the user can set machining conditions, vibration conditions, and the like for operations corresponding to the machining program. The shared area 433 also stores data temporarily used by the control and calculation unit 40 when executing each process. For example, various pieces of information received by the input operation unit 20 are written into the shared area 433 of the storage unit 43 via the input control unit 41 and the data setting unit 42 .

[0025] The screen processing unit 44 is a setting support device according to the present disclosure, and supports the setting of vibration conditions for vibration cutting, in which the machine tool 11 performs machining while moving the tool and the workpiece relative to each other. While FIG. 1 illustrates an example in which the control and calculation unit 40 in the numerical control device also functions as a setting support device, the setting support device may be provided separately from the control and calculation unit 40. That is, the setting support device may be provided separately from the numerical control device. In this case, the setting support device may refer to the memory unit 43 of the control and calculation unit 40 via a communication network. Alternatively, information necessary for processing by the setting support device among the information stored in the memory unit 43 of the control and calculation unit 40 may also be stored in a memory unit (not shown) in the setting support device. When the information is updated, the control and calculation unit 40 may transmit the information to the setting support device, and the updated information from the setting support device may be transmitted to the control and calculation unit 40 and reflected in the control and calculation unit 40. Furthermore, information used by the setting support device among the information received by the input operation unit 20 may also be transmitted from the input operation unit 20 to the setting support device. The setting support device may also include an input operation unit 20 and a display unit 30 .

[0026] The screen processing unit 44 generates display data for displaying a display screen to be displayed on the display unit 30, and controls the screen to be displayed on the display unit 30 by outputting the generated display data to the display unit 30. When changing the content of the screen to be displayed on the display unit 30, the screen processing unit 44 may output data indicating the changes to the display unit 30, or may output display data indicating the changed display screen. The screen processing unit 44 includes a condition acquisition unit 441, a calculation unit 442, a drawing unit 443, a command reflection unit 444, and a condition acceptance unit 445.

[0027] The condition acquisition unit 441 is an acquisition unit that acquires vibration conditions for vibration cutting. For example, the condition acquisition unit 441 may acquire vibration conditions by reading initial values ​​of vibration conditions stored in the parameter area 431 or another area of ​​the storage unit 43. For example, previously set vibration conditions may be stored in the storage unit 43 and the stored previously set vibration conditions may be used as initial values, but the initial values ​​are not limited to this. The condition acceptance unit 445 is an acceptance unit that accepts changes to vibration conditions input after the tool movement path is displayed. Specifically, the condition acceptance unit 445 accepts vibration conditions input by the user by reading machining conditions stored as input information in the shared area 433 of the storage unit 43 via the input control unit 41 and the data setting unit 42 from the shared area 433. Note that the condition acquisition unit 441 and the condition acceptance unit 445 may acquire machining conditions in addition to vibration conditions. The drawing unit 443 displays the tool movement path calculated by the calculation unit 442. For example, the drawing unit 443 generates display data for displaying on the display unit 30 a display screen including a path display area that displays the tool movement path and a vibration condition reception area that receives input of vibration conditions, and outputs the display data to the display unit 30.

[0028] The calculation unit 442 calculates the tool movement path based on the vibration conditions acquired by the condition acquisition unit 441 and the mechanical characteristics of the machine tool 11. Specifically, the calculation unit 442 determines a display amplitude, which is the amplitude used to display the tool movement path, using a command amplitude, which is the amplitude for vibration cutting, included in the vibration conditions acquired by the condition acquisition unit 441, and calculates the tool path using the display amplitude. The calculation unit 442 also determines a display amplitude, which is the amplitude used to display the tool movement path, using a command amplitude, which is the amplitude for vibration cutting, included in the vibration conditions accepted by the condition acceptance unit 445, and calculates the tool path using the display amplitude. In this way, the movement path to be displayed in the path display area is calculated based on the display amplitude. The calculation unit 442 and the command reflection unit 444 also reflect, in the machining program, a command for causing the machine tool 11 to perform vibration cutting based on the vibration conditions acquired by the condition acquisition unit 441. Details of the processing in the screen processing unit 44 will be described later.

[0029] In the control calculation unit 40, the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48 are connected to one another via the storage unit 43, and information is written and read out via the storage unit 43. In the following, when describing the writing and reading of information between the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48, the intermediation of the storage unit 43 may be omitted.

[0030] When a machining program number is written to the shared area 433 of the storage unit 43, the analysis processing unit 45 reads out the machining program corresponding to the machining program number from the program area 432. That is, the analysis processing unit 45 reads out the machining program corresponding to the machining program number input by the user from the program area 432. The analysis processing unit 45 performs analysis processing on each block (each line) of the machining program. The machining program includes S codes, which are spindle motor rotation speed commands, G codes, which are commands related to axis movement, etc., and M codes, which are auxiliary commands. The S codes, M codes, and G codes are examples of codes in an NC program, and the meanings of the codes and the commands indicated by the codes are predetermined. When the analysis processing unit 45 completes analysis processing on each line of the machining program, it writes the analysis results into the shared area 433 of the storage unit 43.

[0031] For example, if the machining program includes an S-code, the analysis processing unit 45 analyzes the S-code to obtain a command value for the spindle rotation speed, i.e., a command value for the rotation speed of the spindle motor 101s. The analysis processing unit 45 then writes the obtained spindle rotation speed into the shared area 433 of the storage unit 43. If the machining program includes a G-code corresponding to the conditions for a tool feed operation, which is an operation for moving the machining position of the tool 62, the analysis processing unit 45 analyzes the G-code to obtain the conditions for the tool feed operation as movement conditions. The movement conditions are represented by the speeds at which the tool rest is moved in the X-axis and Z-axis directions, the positions to which the tool rest is moved in the X-axis and Z-axis directions, and the like. The analysis processing unit 45 then writes the obtained movement conditions into the shared area 433 of the storage unit 43. If the machining program includes a G-code corresponding to vibration conditions for vibrating the tool, the analysis processing unit 45 analyzes the G-code to obtain the vibration conditions. Analysis processing unit 45 writes the acquired vibration conditions into shared area 433 of storage unit 43. Note that the M code indicates an auxiliary command (also called a machine control command) that is a command other than a command to operate each drive axis that is a numerically controlled axis, and indicates, for example, a command to operate a relay in machine tool 11.

[0032] When the analysis processing unit 45 writes the analysis result of a code corresponding to an auxiliary command, such as an M code, as an auxiliary command in the shared area 433 of the storage unit 43, the control signal processing unit 46 reads out the auxiliary command and outputs it to the PLC circuit unit 47. Furthermore, when the control signal processing unit 46 receives a completion signal indicating that machine control, which is control corresponding to the auxiliary command, has been completed from the PLC circuit unit 47, the control signal processing unit 46 writes a completion signal indicating the completion of the auxiliary command in the shared area 433 of the storage unit 43. The completion signal written in the shared area 433 of the storage unit 43 by the control signal processing unit 46 is referred to by the interpolation processing unit 48 during machining operation.

[0033] PLC circuit unit 47 stores a ladder program describing the machine operations to be executed by PLC circuit unit 47 in a storage unit (not shown) within PLC circuit unit 47. When PLC circuit unit 47 receives an auxiliary command from control signal processing unit 46, it executes processing corresponding to the auxiliary command on machine tool 11 in accordance with the ladder program. After executing the processing corresponding to the auxiliary command, PLC circuit unit 47 outputs a completion signal to control signal processing unit 46 indicating that machine control has been completed.

[0034] The interpolation processing unit 48 includes a command vibration movement amount generation unit 481 and an FB vibration movement amount acquisition unit 482. When the analysis processing unit 45 writes the movement conditions and vibration conditions to the shared area 433 of the storage unit 43, the command vibration movement amount generation unit 481 reads the movement conditions and vibration conditions and uses the read movement conditions and vibration conditions to generate an X-axis command vibration movement amount, which is a command vibration movement amount in the X-axis direction, and a Z-axis command vibration movement amount, which is a command vibration movement amount in the Z-axis direction. Note that the X-axis command vibration movement amount and the Z-axis command vibration movement amount are also collectively referred to simply as command vibration movement amount. The command vibration movement amount generation unit 481 writes the generated command vibration movement amount to the shared area 433 of the storage unit 43 and outputs it to the acceleration / deceleration processing unit 49. When the FB vibration movement amount acquisition unit 482 acquires the FB vibration movement amount from the acceleration / deceleration processing unit 49, it writes it to the shared area 433 of the storage unit 43. Furthermore, when the analysis processing unit 45 writes the spindle rotation speed into the shared area 433 of the storage unit 43 , the interpolation processing unit 48 reads out the written spindle rotation speed and outputs it to the acceleration / deceleration processing unit 49 .

[0035] The acceleration / deceleration processing unit 49 converts the command vibration movement amount output from the interpolation processing unit 48 into a command vibration movement amount per unit time that takes acceleration and deceleration into consideration in accordance with a pre-specified acceleration / deceleration pattern, and outputs the converted command vibration movement amount to the axis data input / output unit 50. The acceleration / deceleration processing unit 49 also outputs the spindle rotation speed output from the interpolation processing unit 48 to the axis data input / output unit 50. The acceleration / deceleration processing unit 49 also outputs the FB vibration movement amount output from the axis data input / output unit 50 to the interpolation processing unit 48.

[0036] The axis data input / output unit 50 outputs the command vibration movement amount (command vibration movement amount per unit time) output from the acceleration / deceleration processing unit 49 to the drive unit 10. Specifically, the axis data input / output unit 50 outputs the X-axis command vibration movement amount to the X-axis servo control unit 103x as a command value, and outputs the Z-axis command vibration movement amount to the Z-axis servo control unit 103z as a command value. The axis data input / output unit 50 also outputs the spindle rotation speed output from the acceleration / deceleration processing unit 49 to the spindle control unit 103s as a command value. The axis data input / output unit 50 also outputs the FB vibration movement amount output from the drive unit 10 to the acceleration / deceleration processing unit 49.

[0037] Next, the operation of the numerical control system 1 of this embodiment will be described. FIG. 4 is a diagram schematically illustrating a machining method using the numerical control system 1 of this embodiment. FIG. 4 illustrates an example in which machining is performed while moving a tool 62 and a workpiece 61 (not shown in FIG. 4) relatively in the vibration direction along a path 63, which is a movement path (tool path) in the XZ plane. In the example illustrated in FIG. 4 , the control and calculation unit 40 controls the tool 62 to vibrate so as to trace the path 63 when moving the tool 62 relative to the workpiece 61 along the path 63. That is, the control and calculation unit 40 vibrates the tool 62 so as to move back and forth along the straight line in sections where the path 63 is straight, and vibrates the tool 62 so as to move back and forth along the curve in sections where the path 63 is curved. Note that vibrating the tool 62 refers to the relative movement of the tool 62 with respect to the workpiece 61, and refers to the movement of at least one of the tool 62 and the workpiece 61.

[0038] FIG. 5 is a diagram showing an example of a machining program according to this embodiment. The machining program is read and executed by the control and calculation unit 40, line by line (block by block). "Execution" here means that the control and calculation unit 40 analyzes the machining program, as described above, and outputs the contents of commands corresponding to the machining program to the drive unit 10. "M3 S1000;" on line 401 in the machining program shown in FIG. 5 is an M code and a command for spindle rotation (spindle rotation command). "S1000" indicates the spindle rotation speed, and "1000" indicates the command value for the rotation speed (expressed in rpm (revolutions per minute), for example).

[0039] Furthermore, "G01 X10.0 Z20.0 F0.10;" on line 403 in the machining program is a G-code command for linear interpolation, i.e., a movement command for moving the tool 62 in a straight line. "X10.0 Z20.0" indicates the end point position, and the numbers following "X" and "Z" indicate the command value. "F0.10" indicates the feed rate, and the number following "F" indicates the command value. "G02 X14.0 Z23.5 R4.0;" on line 404 in the machining program is a G-code command for circular interpolation, i.e., a movement command for moving the tool 62 in a clockwise circular arc. "X14.0 Z23.5" indicates the end point position, and the numbers following "X" and "Z" indicate the command value. "R4.0" indicates the radius of the arc, and the number following "R" indicates the command value. These are all commands used in general numerical control devices.

[0040] Furthermore, "G200 A0.03 D1.5;" on line 402 and "G201;" on line 405 are G-codes and are commands related to vibration cutting. The command "G200" indicates the start of vibration cutting, and the command "G201" indicates the end of vibration cutting. Furthermore, "A0.03" indicates that the vibration amplitude is 0.03, and the number following "A" indicates the vibration command value (e.g., expressed in mm). "D1.5" indicates that the vibration frequency, i.e., the number of vibrations per spindle rotation (corresponding to the value obtained by dividing the frequency by the time (seconds) required for one spindle rotation), is 1.5, and the number following "D" indicates the frequency command value. Note that this is just an example, and other symbols may be used to indicate the start and end of vibration cutting, the vibration amplitude, and the number of vibrations per spindle rotation.

[0041] 5 is merely an example, and the types of codes included in the machining program and the coordinate values, feed rates, and other numerical values ​​specified by each code are not limited to the example shown in FIG. 5. Furthermore, the command values ​​for the amplitude and the number of vibrations per spindle revolution in vibration cutting may be any numerical value, but the command values ​​are generally set to produce minute vibrations in order to precisely vibrate along a curved path and to finely break up chips generated by cutting using vibration. For example, the command values ​​for the amplitude and the number of vibrations per spindle revolution are set so that the amplitude is no more than several tens of micrometers and the corresponding frequency is no more than several hundred Hz.

[0042] Next, the setting support method of this embodiment, i.e., the setting support processing in the control and calculation unit 40, will be described. The control and calculation unit 40 first accepts, from a user who performs machining using the machine tool 11, a selection of a machining program into which a command corresponding to a vibration cutting operation is to be inserted. For example, the user inputs a machining program number by operating the input operation unit 20. As described above, the input operation unit 20 inputs the machining program number to the control and calculation unit 40 upon accepting the input of the machining program number. Note that if there is only one machining program, it is not necessary to accept the selection of the machining program. Note that, as described above, the input operation unit 20 is an input means such as a keyboard, mouse, or button. However, this is not limited thereto. For example, the input operation unit 20 and the display unit 30 may be integrated into a device such as a touch panel. In other words, the input operation unit 20 and the display unit 30 may be devices that display and accept input. In this case, for example, the display unit 30 displays a software keyboard, symbols such as arrows for entering numerical values, and graphics, allowing the user to enter numerical values. Alternatively, the control calculation unit 40 may display a list of machining program numbers on the display unit 30, and the user may select a machining program number from the displayed machining program numbers.

[0043] When a machining program number is input to the control and calculation unit 40 from the input operation unit 20, the machining program number is stored in the shared area 433 of the memory unit 43, as described above. In this state, when the user uses the input operation unit 20 to perform an operation to display a waveform display screen, which is a display screen for accepting settings of machining conditions and vibration conditions, the waveform display screen corresponding to the selected machining program is displayed on the display unit 30. Specifically, when the input operation unit 20 accepts an input to display the waveform display screen, the input operation unit 20 outputs instruction information instructing the control and calculation unit 40 to display the waveform display screen. For example, when a menu screen is displayed on the display unit 30 and the user selects the waveform display screen on the menu screen, the screen processing unit 44 causes the waveform display screen to be displayed on the display unit 30. In this case, this selection operation is an operation to display the waveform display screen. The operation to display the waveform display screen is not limited to this example. When instruction information is input to the control and calculation unit 40 from the input operation unit 20, the instruction information is stored in the shared area 433 of the memory unit 43. When the instruction information is stored in the shared area 433, the drawing unit 443 of the screen processing unit 44 generates display data for displaying the waveform display screen, and outputs the display data to the display unit 30, thereby displaying the waveform display screen on the display unit 30. At this time, the drawing unit 443 reads out the machining program selected by the user from the program area 432 of the storage unit 43, and generates display data so that the machining program is displayed on the waveform display screen.

[0044] FIG. 6 is a diagram showing an example of a waveform display screen according to the present embodiment. In FIG. 6 , machining conditions are displayed in a machining condition receiving area 601, and the user changes the values ​​of each item in the machining conditions by changing the values ​​in the input fields indicated by rectangles in the machining condition receiving area 601. The machining conditions are machining conditions for performing vibration cutting operations and are conditions related to the tool path for vibration cutting. For example, the machining conditions include the spindle rotation speed and the feed rate of the tool 62. In the example shown in FIG. 6 , the user changes the value displayed in the input field to the right of the "spindle rotation speed" text to change the spindle rotation speed, and changes the feed rate by changing the value displayed in the input field to the right of the "feed rate" text to change the feed rate.

[0045] The vibration conditions are displayed in the vibration condition receiving area 602, and the user can change the values ​​of each item in the vibration conditions by changing the values ​​in the input fields indicated by rectangles in the vibration condition receiving area 602. The vibration conditions are conditions related to vibration when performing vibration cutting operations. For example, as shown in FIG. 6, the vibration conditions include the vibration amplitude and the vibration frequency, which is the number of vibrations per one rotation of the spindle (information equivalent to the vibration frequency). In the example shown in FIG. 6, the user can change the amplitude by changing the value displayed in the input field to the right of the word "Amplitude," and the vibration frequency can be changed by changing the value displayed in the input field to the right of "Vibration Frequency."

[0046] The waveform display area 603 is a path display area that displays the movement path of the tool 62, i.e., the tool path. The tool path, determined by the machining conditions and vibration conditions, is displayed as a waveform in the waveform display area 603. In the example shown in FIG. 6 , the waveform display area 603 displays the tool path waveform, with the horizontal axis representing the rotation angle of the spindle and the vertical axis representing the movement position of the tool 62. The area surrounded by the lines between the two intersections of the lines representing the tool path near the peak of the tool path waveform, i.e., the area 608 where the tool paths overlap, is the air cutting portion. Note that in FIG. 6 , only one location is marked with the reference numeral 608, but overlapping portions of the tool paths not marked with the reference numeral are also air cutting portions. The command display area 604 is an area where the accepted vibration conditions are displayed as G-code. The program display area 605 is an area where the selected machining program is displayed, and the cursor 606 indicates a position within the machining program when editing the program. A scroll bar is displayed on the right edge of the program display area 605, and the user can operate the scroll bar to change the portion of the machining program that is displayed in the program display area 605. The insert button 607 is a button for confirming program insertion.

[0047] When the user changes the machining conditions, vibration conditions, etc., the tool path is changed in accordance with the changed conditions, thereby changing the waveform displayed in the waveform display area 603. This allows the user to check the air cut portion of the waveform, which changes depending on the conditions, and determine the machining conditions and vibration conditions for vibration cutting.

[0048] Specifically, for example, the user moves the cursor 606 to a position in the machining program displayed in the program display area 605 where the user wants to insert a vibration cutting command. Next, the user inputs machining conditions corresponding to the machining program in the input fields of the machining condition receiving area 601 by checking the positions before and after the position of the cursor 606 in the machining program. For example, the user inputs the spindle rotation speed commanded in the spindle rotation command immediately before the position of the cursor 606 and the feed rate of the cutting command immediately after the position of the cursor 606 into the input fields of the machining condition receiving area 601. Note that the control and calculation unit 40 may automatically extract these machining conditions from the machining program according to the position of the cursor 606 and display them in the input fields of the machining condition receiving area 601.

[0049] 6 shows an example in which the waveform display area 603 displaying the tool path and the machining condition reception area 601 and vibration condition reception area 602, which are input fields, are displayed on the same screen, but the method of displaying the tool path and the method of receiving the vibration conditions and machining conditions are not limited to this example. For example, the tool path and the input fields may be displayed in separate windows or in separate browsers.

[0050] Next, the user inputs desired vibration conditions into the input field of the vibration condition receiving area 602. This causes the waveform display area 603 to display a waveform of the tool path corresponding to the machining conditions and vibration conditions. The user references the displayed waveform to check whether an air cut portion exists. If not, the user changes the vibration conditions, for example, by increasing the amplitude of the vibration conditions. If it is confirmed that an air cut portion exists and the tool path corresponds to the desired vibration operation, the user references the command display area 604 to check the G-code corresponding to the vibration conditions. For example, the amplitude value entered in the vibration condition receiving area 602 is displayed to the right of the "A" to the right of "G200," and the frequency value entered in the vibration condition receiving area 602 is displayed to the right of the "D." The user can also check the command display area 604 to confirm the commands to be inserted into the machining program. The user may also be able to directly change the values ​​following "A" and "D" in the command display area 604. If the user can directly change the numerical values ​​following "A" and "D", the change in numerical value by the user is also reflected in the numerical value in the vibration condition receiving area 602.

[0051] The user confirms that the cursor 606 is at the desired position in the program display area 605 where the vibration cutting command is to be inserted. If the cursor 606 is not at the desired position, the user moves the cursor 606 to the desired position. With the cursor 606 at the desired position, the user presses the insert button 607. This inserts the vibration cutting command into the line corresponding to the cursor 606's position in the machining program. In the example shown in FIG. 6 , "G200 A0.5 D1.5;" is added to the line corresponding to the cursor 606's position in the machining program. Although not shown in FIG. 6 , an end command insert button for inserting a command to end the vibration cutting command may be displayed on the waveform display screen. In this case, the user may move the cursor 606 to the desired position where the command to end the vibration cutting command is to be inserted and press the end command insert button, thereby inserting a vibration cutting end command such as "G201." into the line corresponding to the cursor 606's position in the machining program. As described above, the user can set vibration conditions while visually checking the air cut portion.

[0052] Note that Figure 6 is just one example, and the waveform display screen may be any screen that displays the waveform of the tool path and can accept input of machining conditions and vibration conditions, and the specific display mode, arrangement, method of accepting input by the user, etc. are not limited to this example.

[0053] 6, even if the user sets vibration conditions so that an air-cut portion exists, when the tool path is calculated from command values, chips may not be broken as intended during actual machining. This is because the amplitude of the tool path waveform when the tool 62 actually operates is affected by machine characteristics such as the responsiveness of the servo system of the machine tool 11, and is smaller than the amplitude of the tool path waveform corresponding to the command values, for example. If the chips are not broken as intended, the amplitude will need to be changed again, and test machining will need to be performed while changing the amplitude.

[0054] Therefore, in this embodiment, the control and calculation unit 40 displays the waveform of the tool path so that the display amplitude, which is the amplitude of the waveform of the tool path displayed in the waveform display area 603, is smaller than the command amplitude, which is the amplitude of the waveform of the tool path determined from the machining conditions and vibration conditions input in the input fields of the machining condition receiving area 601 and the vibration condition receiving area 602. The condition receiving unit 445 then receives a change in the vibration conditions input based on the display of the tool movement path calculated using the mechanical characteristics of the machine tool 11. The ratio of the display amplitude to the command amplitude, i.e., the magnification of the display amplitude with respect to the command amplitude, is determined in advance in accordance with the mechanical characteristics, and this magnification is stored in the parameter area 431 of the storage unit 43. For example, the manufacturer of the machine tool 11, who is capable of designing the mechanical characteristics of the machine tool 11, determines the above-mentioned magnification, but the present invention is not limited to this. The magnification may be set by an expert of the machine tool 11, for example, and stored in the storage unit 43. For example, when the waveform of the tool path is to be drawn in the waveform display area 603 at an amplitude that is 80% of the command amplitude, a magnification of 0.8 is stored in the parameter area 431. Here, the calculation unit 442 determines the display amplitude as a value obtained by multiplying the command amplitude by the magnification. However, the calculation method of the display amplitude in the calculation unit 442 is not limited to this example. The calculation unit 442 may change the command amplitude acquired by the condition acquisition unit 441 or the condition acceptance unit 445 based on the machine characteristics, and calculate the tool movement path using the display amplitude, which is the changed amplitude. The magnification and the predetermined value used to calculate the display amplitude are examples of correction information used to determine the display amplitude by correcting the command amplitude in consideration of the machine characteristics of the machine tool 11. The correction information may be stored as a parameter in the parameter area 431, and the display amplitude may be calculated using the correction information. The magnification may be changeable, for example, by the machine tool 11. For example, the magnification may be changeable by a designer at the manufacturer who is familiar with the mechanical characteristics of the machine tool 11, or by an operator who performs input operations based on instructions from the designer.

[0055] When generating display data for displaying the tool path in the waveform display area 603, the screen processing unit 44 of the control and calculation unit 40 reads the magnification from the parameter area 431, generates image data showing an image of the tool path drawn at an amplitude of 80% of the command amplitude, and displays the image data in the waveform display area 603 of the waveform display screen. The user is guided to set the amplitude of the vibration conditions to a large value while checking the image drawn at an amplitude obtained by multiplying the command amplitude by 0.8 as a magnification. As a result, even if the actual tool path amplitude becomes small due to the influence of machine characteristics, the tool 62 operates with an amplitude sufficient to generate an air cut portion, thereby enabling the chip to be broken as intended. As such, the correction information is not limited to the example that takes machine characteristics into consideration, and may be set according to the purpose required for setting the vibration conditions.

[0056] In the above example, the displayed amplitude is smaller than the command amplitude to ensure the air-cut portion and break the chips as intended. However, this is not limiting and the displayed amplitude may be larger than the command amplitude. For example, when performing vibration cutting in the direction of movement of the drill tool during drilling operations on a machining center, even if the air-cut portion is insufficient, the chips may be broken by friction of the drill tool. In such cases, the multiplier may be set so that the displayed amplitude is larger than the command amplitude to guide the user to set a lower vibration cutting amplitude. This slows the speed at which the drill tool contacts the workpiece, thereby reducing the load on the drill tool and reducing noise and vibration. In this way, the multiplier may be set to a value greater than 1.

[0057] 7 is a flowchart showing an example of a display process of the waveform display screen according to the present embodiment. The display process of the waveform display screen shown in FIG. 7 is started, for example, when a user performs an operation to display the waveform display screen after selecting a machining program, and the screen processing unit 44 displays the waveform display screen on the display unit 30.

[0058] As shown in FIG. 7 , the control and calculation unit 40 determines whether the machining conditions or the vibration conditions have been changed (step S11). Specifically, the condition acquisition unit 441 or the condition acceptance unit 455 determines that the machining conditions or the vibration conditions have been changed. For example, when a user sets machining conditions by inputting them into the machining condition acceptance area 601, the machining conditions in the shared area 433 of the storage unit 43 of the control and calculation unit 40 are updated. As a result, the condition acceptance unit 445 accepts the vibration conditions input by the user. Also, when a user sets vibration conditions by inputting them into the vibration condition acceptance area 602, the vibration conditions in the shared area 433 of the storage unit 43 of the control and calculation unit 40 are updated. Note that the term "updated" here also includes newly stored conditions. That is, the term "updated" includes a case where a new machining condition is set without the machining condition being stored in the shared area 433, and a case where a new vibration condition is set without the vibration condition being stored in the shared area 433, both of which are considered to be updated. For example, when the condition acquisition unit 441 acquires the processing conditions or vibration conditions and stores them in the shared area 433 of the storage unit 43, the condition acquisition unit 441 determines that the processing conditions or vibration conditions have been changed. When the vibration conditions or processing conditions in the shared area 433 are updated, the condition acceptance unit 445 of the screen processing unit 44 determines that the processing conditions or vibration conditions have been changed.

[0059] If it is determined that the machining conditions or vibration conditions have been changed (step S11: Yes), the control and calculation unit 40 executes a waveform display process (step S12). Details of the waveform display process will be described later. After step S12, the control and calculation unit 40 determines whether the insert button 607 has been pressed (step S13). Specifically, when inserting a vibration cutting command into a machining program, as described above, the user checks the vibration cutting command displayed in the command display area 604, selects the insertion position into the machining program with the cursor 606, and then presses the insert button 607 using the input operation unit 20. The input operation unit 20 outputs input information indicating that the insert button 607 has been pressed to the control and calculation unit 40. This input information also includes information indicating the position in the machining program corresponding to the cursor 606 (the line number of the machining program). The control and calculation unit 40 stores the input information in the shared area 433 of the memory unit 43 via the input control unit 41 and the data setting unit 42. When input information indicating that the insert button 607 has been pressed is stored in the shared area 433 of the storage unit 43, the command reflecting unit 444 of the screen processing unit 44 determines that the insert button 607 has been pressed.

[0060] If it is determined that the insert button 607 has been pressed (step S13: Yes), the control and calculation unit 40 inserts a vibration cutting command (step S14). Specifically, the command reflecting unit 444 of the screen processing unit 44 inserts the vibration cutting command displayed in the command display area 604 at the position specified by the cursor 606 in the machining program based on the input information. The vibration cutting command displayed in the command display area 604 is stored in the shared area 433 of the storage unit 43 in the waveform display process described below. The command reflecting unit 444 reads out the vibration cutting command from the shared area 433, inserts the vibration cutting command at the specified position in the machining program stored in the program area 432 of the storage unit 43, and stores the machining program after the vibration cutting command has been inserted in the program area 432 of the storage unit 43.

[0061] The control and calculation unit 40 determines whether to terminate the waveform display screen (step S15), and if it determines that the waveform display screen should be terminated (step S15 Yes), it terminates the display process for the waveform display screen. In step S15, specifically, for example, if there is an input instructing transition to a screen other than the waveform display screen or an input instructing termination of the waveform display screen, the screen processing unit 44 determines that the waveform display screen should be terminated. Instruction information indicating these instructions is stored in the shared area 433 of the storage unit 43 via the input control unit 41 and the data setting unit 42. Therefore, for example, the drawing unit 443 or the condition receiving unit 445 of the screen processing unit 44 checks the shared area 433 to determine whether to terminate the waveform display screen.

[0062] If it is determined not to end the waveform display screen (No in step S15), the control and calculation unit 40 repeats the process from step S11 to accept input of vibration conditions by the user via the condition accepting unit 445. Also, if the answer is No in step S11, the control and calculation unit 40 proceeds to step S13. If the answer is No in step S13, the control and calculation unit 40 proceeds to step S15.

[0063] Next, details of the waveform display process in step S12 will be described. FIG. 8 is a flowchart showing an example of the waveform display process procedure of this embodiment. The condition acquisition unit 441 or the condition acceptance unit 445 of the screen processing unit 44 of the control and calculation unit 40 acquires machining conditions (step S121) and vibration conditions (step S122). Specifically, in steps S121 and S122, the condition acquisition unit 441 or the condition acceptance unit 445 reads out the machining conditions and vibration conditions stored in the shared area 433 of the storage unit 43. Specifically, before the user inputs the machining conditions and vibration conditions, the condition acquisition unit 441 reads out the machining conditions and vibration conditions from the shared area 433 of the storage unit 43, and the condition acceptance unit 445 reads out the machining conditions and vibration conditions input by the user from the shared area 433.

[0064] Next, the control calculation unit 40 calculates a tool path using the machining conditions and vibration conditions (step S123). In detail, the calculation unit 442 of the screen processing unit 44 calculates the tool path using the acquired machining conditions and vibration conditions, thereby generating plot data for plotting the tool path with the horizontal axis representing the rotation angle of the spindle and the vertical axis representing the movement position of the tool 62, and stores the generated plot data in the shared area 433 of the storage unit 43. Note that the calculation of the tool path may be performed by the drawing unit 443.

[0065] Next, the control calculation unit 40 acquires the amplitude magnification (step S124). The amplitude magnification is a magnification indicating the ratio of the display amplitude to the command amplitude. In step S124, the calculation unit 442 of the screen processing unit 44 acquires the amplitude magnification by reading the amplitude magnification from the parameter area 431 of the storage unit 43.

[0066] Next, the control calculation unit 40 performs a calculation to change the amplitude (step S125). Specifically, the calculation unit 442 of the screen processing unit 44 calculates the display amplitude by multiplying the amplitude under the vibration conditions stored in the shared area 433 of the storage unit 43, i.e., the command amplitude, by the amplitude magnification factor acquired in step S124.

[0067] Next, the numerical control system 1 displays the waveform of the tool path (step S126). Specifically, the calculation unit 442 of the screen processing unit 44 of the control calculation unit 40 regenerates plot data for plotting the tool path based on the display amplitude, and stores the regenerated plot data in the shared area 433 of the storage unit 43. The drawing unit 443 reads the plot data from the shared area 433, generates data by drawing the plot data as a waveform, generates display data so that the waveform is displayed in the waveform display area 603 of the waveform display screen, and outputs the generated display data to the display unit 30. As a result, the display unit 30 displays the waveform of the tool path with the changed amplitude in the waveform display area 603 of the waveform display screen.

[0068] Next, the numerical control system 1 displays the vibration cutting command in the command display area 604 (step S127) and ends the waveform display process. Specifically, in step S127, the drawing unit 443 of the screen processing unit 44 generates display data for displaying, in the command display area 604 shown in FIG. 6, a command (G code) corresponding to the vibration conditions input in the vibration condition receiving area 602, and outputs the generated display data to the display unit 30. As a result, the display unit 30 displays the vibration cutting command in the command display area 604 of the waveform display screen. Note that, as described above, the numerical value of the vibration cutting command displayed in the command display area 604 may be changed.

[0069] As described above, in this embodiment, the amplitude corresponding to the vibration conditions set by the user is corrected based on correction information based on the mechanical characteristics of the machine tool 11, and the waveform of the tool path is displayed on the display unit 30 using the amplitude obtained by the correction. This allows the user to set the vibration conditions while checking the waveform of the tool path drawn with the corrected amplitude. For example, by using information that takes mechanical characteristics into account as correction information, the user can set the vibration conditions while checking a waveform that is close to the waveform of the actual tool path, and can therefore set vibration conditions that ensure an air-cut portion. This allows the machine tool 11 to break chips as intended during actual machining.

[0070] Second Embodiment Next, a second embodiment will be described. The configuration of the numerical control system 1 of this embodiment is the same as that of the first embodiment. Below, differences from the first embodiment will be mainly described, and descriptions that overlap with the first embodiment will be omitted.

[0071] In the first embodiment, a magnification, which is an example of correction information, was determined in advance, but in the present embodiment, an example will be described in which the amplitude displayed is corrected using a servo responsiveness parameter that indicates the responsiveness in the control of the X-axis servo motor 101x and the Z-axis servo motor 101z in the machine tool 11.

[0072] The parameter area 431 of the memory unit 43 of the control / calculation unit 40 stores servo response parameters for controlling the X-axis servo motor 101x and the Z-axis servo motor 101z. Hereinafter, when the X-axis servo motor 101x and the Z-axis servo motor 101z are not individually referred to, they are also referred to as servo motors. The servo motors move the tool 62 and the workpiece 61 relative to each other. The servo response parameters include, for example, various gains such as position loop gain and velocity loop gain. These are setting data for the tracking performance of the servo motors and are used to control the servo motors. Among these parameters, the X-axis servo motor 101x and the Z-axis servo motor 101z affect the path of the tool 62. For example, increasing the position loop gain of the X-axis servo motor 101x and the Z-axis servo motor 101z improves tracking performance, while decreasing the position loop gain deteriorates tracking performance. When tracking performance deteriorates, vibration cutting is performed at an amplitude smaller than the commanded amplitude. As described above, the amplitude in actual vibration cutting depends on the servo response parameter, and therefore the control and calculation unit 40 of this embodiment corrects the displayed amplitude based on the servo response parameter.

[0073] In this embodiment, for example, when the servo response parameter is equal to or greater than a standard value (threshold value), the control and calculation unit 40 causes the display unit 30 to display the waveform of the tool path using a commanded amplitude. However, when the servo response parameter is smaller than the standard value, the control and calculation unit 40 causes the display unit 30 to display the waveform of the tool path using an amplitude smaller than the commanded amplitude. That is, when the servo response parameter is equal to or greater than the standard value, the control and calculation unit 40 uses the commanded amplitude as the displayed amplitude, and when the servo response parameter is smaller than the standard value, the control and calculation unit 40 corrects the servo response parameter using correction information. The correction information may be a multiplier, as in the first embodiment, or a predetermined value to be added to or subtracted from the amplitude. For example, when the servo response parameter is smaller than the standard value by 5, the control and calculation unit 40 sets the multiplier to 0.9 to make the displayed amplitude smaller than the commanded amplitude. The correction information, such as the multiplier, is stored, for example, in the parameter area 431 of the storage unit 43, as in the first embodiment. This correction information may be changeable by the user.

[0074] Furthermore, the method of determining the magnification factor according to the servo responsiveness parameter is not limited to the example of determining whether the servo responsiveness parameter is equal to or greater than a single standard value. Alternatively, multiple threshold values ​​with different values ​​may be defined, and the magnification factor may be determined according to the value of the servo responsiveness parameter. In this case, for example, correspondence information indicating the correspondence between the servo responsiveness parameter and the correction information may be stored in the parameter area 431 or the shared area 433 of the storage unit 43. For example, a first threshold value and a second threshold value greater than the first threshold value are defined. The correspondence information may then be defined such that when the servo responsiveness parameter is smaller than the first threshold value, the magnification factor is a first value less than 1; when the servo responsiveness parameter is equal to or greater than the first threshold value but less than the second threshold value, the magnification factor is a second value greater than the first value but less than 1; and when the servo responsiveness parameter is greater than the second threshold value, the magnification factor is 1.

[0075] The number of thresholds is not limited to the above example. Furthermore, the correspondence information is not limited to table-format information determined by thresholds, but may be information indicating a formula for calculating correction information from servo response parameters. Furthermore, when multiple parameters are considered as servo response parameters, an index to be calculated from the multiple parameters may be defined, and the relationship between the index and a magnification may be defined as correspondence information. The control and calculation unit 40 uses the servo response parameters and the correspondence information to obtain correction information such as a magnification, and determines the display amplitude using the obtained correction information. Furthermore, the correspondence information may be changeable by the user.

[0076] 9 is a flowchart showing an example of a waveform display process procedure according to the present embodiment. The display process of the waveform display screen according to the present embodiment is the same as that of the first embodiment, except that the waveform display process in step S12 is the process shown in FIG.

[0077] 9 are the same as those in the first embodiment. After step S123, the control calculation unit 40 acquires the servo response parameters (step S211). More specifically, the calculation unit 442 of the screen processing unit 44 reads the servo response parameters from the parameter area 431 of the storage unit 43, thereby acquiring the servo response parameters.

[0078] Next, the control and calculation unit 40 determines the amplitude magnification (step S212). More specifically, the calculation unit 442 of the screen processing unit 44 determines the magnification using the servo response parameter, as described above. Steps from step S125 onwards are the same as those in the first embodiment.

[0079] As described above, in this embodiment, the displayed amplitude is determined using the servo response parameter used for controlling the servo motor. This makes it possible for the machine manufacturer to change the displayed amplitude in accordance with the servo response parameter, without having to set the parameters of each machine tool in advance in consideration of the response of the machine tool 11, and to guide the user to set an amplitude that will break chips as intended.

[0080] Third Embodiment Fig. 10 is a diagram showing an example of the functional configuration of a numerical control system 1a according to a third embodiment. The numerical control system 1a according to this embodiment is similar to the numerical control system 1 according to the first embodiment, except that it includes a control calculation unit 40a instead of the control calculation unit 40. The control calculation unit 40a, the input operation unit 20, and the display unit 30 constitute a numerical control device according to the present disclosure. Components having the same functions as those in the first embodiment are given the same reference numerals as those in the first embodiment, and redundant explanations will be omitted. Below, differences from the first embodiment will be mainly explained.

[0081] In this embodiment, the difference between the command amplitude and the actual amplitude is learned using the detection results of detectors 102x and 102z when machining is actually performed by machine tool 11, and the learned results are used to determine the display amplitude, thereby displaying a tool path waveform that is close to the actual tool path waveform.

[0082] The screen processing unit 44 of the control and calculation unit 40a is a setting support device according to the present disclosure. In the present embodiment, the setting support device further includes a magnification correction processing unit 70. While FIG. 10 shows an example in which the control and calculation unit 40a in the numerical control device also functions as a setting support device, the setting support device may be provided separately from the control and calculation unit 40a. The control and calculation unit 40a is similar to the control and calculation unit 40 of the first embodiment, except that the magnification correction processing unit 70 is added and the operation of the calculation unit 442 is partially different. The magnification correction processing unit 70 includes a learning device 71 that learns the amount of amplitude correction using the detection results of the detectors 102x and 102z when machining is performed by the machine tool 11.

[0083] Learning in the learning device 71 will be described. The learning device 71 determines a magnification using, for example, the detection result of the position of the tool 62 and the command value for the position of the tool 62. Specifically, the detector 102x and the detector 102z can detect the position and speed of the X-axis servo motor 101x and the Z-axis servo motor 101z, respectively. The detection results of the positions of the X-axis servo motor 101x and the Z-axis servo motor 101z correspond to the detection results of the position of the tool 62. As described in the first embodiment, the detection results of the positions of the X-axis servo motor 101x and the Z-axis servo motor 101z are acquired by the FB vibration movement amount acquisition unit 482 as FB vibration movement amounts and stored in the shared area 433 of the memory unit 43. Note that the FB vibration movement amount may include not only the position but also the speed of the X-axis servo motor 101x and the Z-axis servo motor 101z, or the speed instead of the position may be included in the FB vibration movement amount. Furthermore, as described in the first embodiment, the command vibration movement amount generating unit 481 writes the command value for the position of the tool 62 , that is, the command vibration movement amount, into the shared area 433 of the storage unit 43 .

[0084] The learning device 71 groups a command vibration movement amount and an FB vibration movement amount corresponding to the same time into a pair and calculates the difference between the pair of command vibration movement amount and FB vibration movement amount. Since this difference is used as time-series data, the learning device 71 uses the time-series data to calculate the ratio of the amplitude (actual amplitude) based on the detection result of the actual movement of the tool 62 to the command amplitude. Alternatively, the learning device 71 may calculate the actual amplitude using time-series data of the FB vibration movement amount over a certain period of time, and then calculate the ratio of the actual amplitude to the command amplitude using the actual amplitude and the corresponding command amplitude. Since the actual amplitude corresponds to the amplitude taking into account the machine characteristics described in the first embodiment, the display amplitude taking into account the machine characteristics can be determined by using the ratio of the actual amplitude to the command amplitude. For example, the learning device 71 calculates the above-mentioned ratio for multiple different fixed periods and determines the multiplier using the calculated multiple ratios. Specifically, the multiplier may be the average value of the multiple ratios, or the median value of the multiple ratios. Note that, although an example in which a magnification factor is used as the correction information will be described here, something other than a magnification factor may also be used as the correction information as described in embodiment 1. The learning device 71 stores the calculated correction information in the shared area 433 of the storage unit 43. In the waveform display process of this embodiment, the calculation unit 442 determines the display amplitude, for example, using the correction information calculated in this manner.

[0085] The learning device 71 may perform the process of calculating the learning results at any timing. For example, the learning device 71 may perform the process using the command vibration movement amount and the FB vibration movement amount accumulated during machining at a timing when the processing load on the control and calculation unit 40 is low, such as after actual machining is completed. This reduces the impact on other processes. The correction information at the start of actual machining may be determined by performing trial machining or the like to acquire the command vibration movement amount and the FB vibration movement amount, and then using the command vibration movement amount and the FB vibration movement amount obtained through the trial machining. Alternatively, the correction information may be determined in advance using a method similar to that described in the first embodiment. After the correction information is determined, it may be updated using new command vibration movement amount and the FB vibration movement amount. This allows the display amplitude to be determined taking into account the influence of changes over time.

[0086] In the above example, the learning device 71 determines correction information such as a magnification factor regardless of conditions or states. However, the correction information may be determined taking into account information that affects the difference between the actual amplitude and the command amplitude. For example, since the difference between the actual amplitude and the command amplitude may vary depending on the value of the command amplitude, the correction information may be determined according to the command amplitude. For example, multiple levels may be defined for the command amplitude, and a range of command amplitude corresponding to each level may be determined. The learning device 71 may calculate an average value for each level using the corresponding command vibration displacement and feedback vibration displacement, and store the correction information for each level in the parameter area 431 of the storage unit 43. In this case, when determining the display amplitude, the calculation unit 442 determines the display amplitude using the correction information for the level corresponding to the set command amplitude.

[0087] Similarly, for the servo response parameters described in the second embodiment, multiple levels may be defined for the servo response parameters, and the learning device 71 may calculate correction information for each level. The correction information for each level corresponds to the correspondence information described in the second embodiment. That is, the correspondence information used to determine the correction information from the servo response parameters described in the second embodiment may be determined using the command vibration movement amount and the FB vibration movement amount. Furthermore, both the servo response parameters and the amplitude may be taken into consideration. For example, the correction information may be determined using the command vibration movement amount and the FB vibration movement amount for each combination of the levels of the servo response parameters and the amplitude.

[0088] The learning device 71 may further determine the correction information based on the temperature of the machine tool 11. For example, each of the detectors 102x and 102z may include a temperature detector, and the FB vibration movement amount acquisition unit 482 may acquire temperature detection results, which are the temperature detection results of the temperature detectors, from the X-axis servo control unit 103x and the Z-axis servo control unit 103z and store them in the shared area 433 of the memory unit 43. The learning device 71 generates learning information indicating correction information for each temperature level based on the command vibration movement amount, the FB vibration movement amount, and the temperature detection results. In the waveform display process, the calculation unit 442 determines a magnification using the temperature detection results acquired from the temperature detectors and the learning information, and determines the display amplitude using the determined magnification. Furthermore, the learning device 71 may calculate correction information for each combination of the temperature detection levels in addition to at least one of the command amplitude and the servo responsiveness parameter described above, using the temperature detection results.

[0089] In this way, the information used to determine the correction information (hereinafter also referred to as influence information) may be one or more pieces of information. The learning device 71 uses one or more pieces of influence information to calculate correction information corresponding to the influence information. When determining the display amplitude, the calculation unit 442 determines the display amplitude using correction information corresponding to the influence information at that time.

[0090] In the above example, the correction information is determined using a statistical method for calculating the average value, median value, etc. However, the correction information may also be determined using machine learning such as supervised learning. For example, the learning device 71 may use the ratio of the actual amplitude to the command amplitude calculated from the FB vibration movement amount as the correct answer data for the magnification, the command amplitude corresponding to the correct answer data as a feature, and generate a trained model for inferring the magnification from the feature through supervised learning using multiple data sets composed of the feature and the corresponding correct answer data. In this case, the trained information becomes the trained model. The learning device 71 stores the generated trained model in the shared area 433 of the storage unit 43. As described above, the feature, i.e., the influence information, is, for example, at least one of the command amplitude, the servo response parameter, and the temperature. When determining the display amplitude, the calculation unit 442 inputs the influence information at that time into the trained model to obtain the magnification as the output of the trained model. As described above, the inference target of the trained model is not limited to the magnification, but may also be a value used for addition or subtraction.

[0091] While the example described here is one in which the learning device 71 generates a trained model that infers correction information, the present invention is not limited to this. A trained model that infers a display amplitude by including a command amplitude in a feature may be generated. For example, the learning device 71 generates a trained model using a plurality of data sets each consisting of a feature (influence information including a command amplitude) and corresponding correct answer data, using the actual amplitude calculated from the FB vibration movement amount as the correct answer data. When determining the display amplitude, the calculation unit 442 inputs the influence information at that time into the trained model to obtain the display amplitude as the output of the trained model.

[0092] The machine learning algorithm may be, but is not limited to, a neural network, a support vector machine, etc. Furthermore, the machine learning is not limited to supervised learning, and may be reinforcement learning.

[0093] 10 illustrates an example in which the magnification correction processing unit 70, i.e., the learning device 71, is provided within the control and calculation unit 40a. However, the present invention is not limited to this example, and the learning device 71 may be provided separately from the control and calculation unit 40a. In this case, the correction information, the learned model, and the like calculated by the learning device 71 are transmitted from the learning device 71 to the control and calculation unit 40a and stored in the shared area 433 of the storage unit 43. Alternatively, the correction information, the learned model, and the like calculated by the learning device 71 may be transmitted to the control and calculation unit 40a via a recording medium or the like, or the correction information, the learned model, and the like calculated by the learning device 71 may be manually input to the control and calculation unit 40a via a recording medium or the like.

[0094] As described above, in this embodiment, the learning device 71 calculates the actual amplitude, which is the amplitude of the actual tool path, using the detection results of detector 102x and detector 102z, calculates correction information using the command amplitude and the actual amplitude, the calculation unit 442 determines the display amplitude using the correction information, and the display unit 30 displays the waveform of the tool path on the waveform display screen using the determined display amplitude. This achieves the same effects as in the first embodiment, and when displaying the waveform of the tool path on the waveform display screen using the display amplitude, it is possible to display a highly accurate waveform that reflects the actual state of the machine tool 11. Furthermore, in this embodiment, there is no need to determine the correction information in advance.

[0095] Next, the hardware configuration of the control and calculation units 40, 40a described in the first to third embodiments will be described. Each functional unit constituting the control and calculation units 40, 40a is realized by a processing circuit. The processing circuit may be realized by dedicated hardware or may be a control circuit using a processor.

[0096] When the processing circuitry is implemented by dedicated hardware, the processing circuitry may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof.

[0097] FIG. 11 is a diagram showing an example configuration of a control circuit 90 for implementing the control calculation units 40 and 40a. The control calculation units 40 and 40a may be implemented by, for example, the control circuit 90 shown in FIG. 11. The control circuit 90 is a computer system. As shown in FIG. 11, the control circuit 90 includes a processor 91 and a memory 92. The processor 91 is, for example, a central processing unit (CPU), a microprocessor, a microcomputer, or a digital signal processor (DSP). The memory 92 includes, for example, a non-volatile or volatile semiconductor memory such as a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), or an electrically programmable programmable read-only memory (EEPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a digital versatile disk (DVD). The computer system that realizes the control and calculation units 40 and 40a may include an input unit such as a mouse and a keyboard, and a display unit such as a display and a monitor. In this case, the input operation unit 20 and the display unit 30 shown in Figures 1 and 10 may be the input unit and the display unit of the computer system, respectively.

[0098] Here, an example of the operation of the computer system until the program of this embodiment is ready to be executed will be described. A computer system having the above configuration is provided with, for example, a reading unit (not shown) that reads a recording medium on which the program is recorded, and the program read from the recording medium is installed in memory 92. Then, when the program is executed, the program read from memory 92 is stored in the main storage area of ​​memory 92. In this state, processor 91 executes the processing as control and calculation unit 40, 40a of this embodiment in accordance with the program stored in memory 92.

[0099] In the above description, a program (program product) describing the processing in the control calculation unit 40, 40a is provided on a recording medium, but this is not limited to this, and it is also possible to use a program provided via a transmission medium such as the Internet.

[0100] The program of this embodiment causes a computer system to execute, for example, an acquisition step of acquiring vibration conditions for vibration cutting, a calculation step of calculating a tool movement path based on the acquired vibration conditions and the mechanical characteristics of the machine tool, a drawing step of displaying the calculated tool movement path, and an acceptance step of accepting changes to the vibration conditions input after the tool movement path is displayed.

[0101] The storage unit 43 shown in Figures 1 and 10 is part of the memory 92 shown in Figure 11. The units shown in Figures 1 and 10 other than the storage unit 43 are realized by the processor 91 shown in Figure 11 executing a program stored in the memory 92 shown in Figure 11. The memory 92 is also used to realize the units shown in Figures 1 and 10 other than the storage unit 43. Furthermore, a communication unit, an input / output interface circuit, etc. not shown in Figure 11 may be used to realize the units shown in Figures 1 and 10 other than the storage unit 43. The communication unit includes a transmitter and a receiver.

[0102] The control and calculation units 40, 40a may be realized by a plurality of computer systems. For example, the control and calculation units 40, 40a may be realized by a cloud system. As described above, the setting assistance device may be provided separately from the control and calculation units 40, 40a. In this case, the setting assistance device is realized, for example, by the control circuit 90 illustrated in FIG. 11 , i.e., a computer system. Also, when the learning device 71 described above is provided separately from the numerical control device, the learning device 71 is realized, for example, by the control circuit 90 illustrated in FIG. 11 , i.e., a computer system.

[0103] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.

[0104] 1, 1a Numerical control system, 10 Drive unit, 11 Machine tool, 20 Input operation unit, 30 Display unit, 40, 40a Control calculation unit, 41 Input control unit, 42 Data setting unit, 43 Memory unit, 44 Screen processing unit, 45 Analysis processing unit, 46 Control signal processing unit, 47 PLC circuit unit, 48 Interpolation processing unit, 49 Acceleration / deceleration processing unit, 50 Axis data input / output unit, 61 Workpiece, 62 Tool, 63 Path, 70 Magnification correction processing unit, 71 Learning device, 90 Control circuit, 91 Processor, 92 Memory, 101s Spindle motor, 101x X-axis servo motor, 101z Z-axis servo motor, 102s, 102x, 102z Detector, 103s Spindle control unit, 103x X-axis servo control unit, 103z Z-axis servo control unit, 431 Parameter area, 432 Program area, 433 Shared area, 441 condition acquisition unit, 442 calculation unit, 443 drawing unit, 444 command reflection unit, 445 condition reception unit, 481 command vibration movement amount generation unit, 482 FB vibration movement amount acquisition unit.

Claims

1. A setting support device that supports the setting of vibration conditions for vibration cutting, in which a machine tool performs machining while moving a tool and a workpiece relative to each other, comprising: an acquisition unit that acquires the vibration conditions for the vibration cutting; a calculation unit that calculates the movement path of the tool based on the vibration conditions acquired by the acquisition unit and the mechanical characteristics of the machine tool; a drawing unit that displays the movement path of the tool calculated by the calculation unit; and a reception unit that accepts changes to the vibration conditions input after the movement path of the tool is displayed.

2. The setting support device according to claim 1, wherein the reception unit receives changes to vibration conditions input based on a display of the tool movement path calculated using the mechanical characteristics of the machine tool.

3. The setting support device according to claim 1 or 2, wherein the vibration conditions include an amplitude, the calculation unit changes the amplitude based on the machine characteristics, and calculates a movement path of the tool using a display amplitude that is the changed amplitude, and the drawing unit displays the movement path of the tool calculated using the display amplitude.

4. The setting assistance device according to claim 3, wherein the calculation unit determines the display amplitude as a value obtained by multiplying the amplitude under the vibration conditions acquired by the acquisition unit by a magnification factor.

5. The setting support device according to claim 4, wherein the magnification can be changed by the manufacturer of the machine tool.

6. The setting support device according to claim 5, wherein the machine tool is equipped with a servo motor that moves the tool and the workpiece relative to one another, and the magnification is determined using a servo responsiveness parameter that indicates responsiveness in controlling the servo motor.

7. The setting support device according to claim 6, further comprising: a learning device that determines the magnification using the detection result of the tool position and a command value for the tool position.

8. The setting support device described in claim 7, wherein the learning device further generates learning information indicating the correspondence between the temperature of the machine tool and the magnification using temperature detection results detected by a temperature detector that detects the temperature of the machine tool, and the calculation unit determines the magnification using the temperature detection results obtained from the temperature detector and the learning information, and determines the display amplitude using the determined magnification.

9. A setting support device as described in any one of claims 1 to 8, wherein a command for causing the machine tool to perform the vibration cutting based on the vibration conditions acquired by the reception unit is reflected in a machining program for causing the machine tool to perform the machining.

10. A setting support device according to any one of claims 1 to 9, comprising a device for displaying and accepting input, the device displaying a display screen including a movement path of the tool and a vibration condition acceptance area for accepting input of vibration conditions for the vibration cutting.

11. A numerical control device that causes a machine tool to perform vibration cutting, which performs machining while moving a tool and a workpiece relative to each other, comprising: an acquisition unit that acquires vibration conditions for the vibration cutting; a calculation unit that calculates a movement path of the tool based on the vibration conditions acquired by the acquisition unit and the mechanical characteristics of the machine tool; a drawing unit that displays the movement path of the tool calculated by the calculation unit; and a reception unit that accepts changes to the vibration conditions that are input after the movement path of the tool is displayed.

12. A setting support method in a setting support device that supports the setting of vibration conditions for vibration cutting, in which a machine tool performs processing while moving the tool and workpiece relative to each other, comprising: an acquisition step of acquiring the vibration conditions for the vibration cutting; a calculation step of calculating a movement path of the tool based on the vibration conditions acquired in the acquisition step and the mechanical characteristics of the machine tool; a drawing step of displaying the movement path of the tool calculated in the calculation step; and a reception step of accepting changes to the vibration conditions input after the movement path of the tool is displayed.

13. A program for causing a computer system to execute the following steps: an acquisition step for acquiring vibration conditions for vibration cutting in which a machine tool performs machining while moving a tool and a workpiece relative to each other; a calculation step for calculating a movement path of the tool based on the vibration conditions acquired in the acquisition step and the mechanical characteristics of the machine tool; a drawing step for displaying the movement path of the tool calculated in the calculation step; and a reception step for accepting changes to the vibration conditions input after the movement path of the tool is displayed.

Citation Information

Patent Citations

  • Vibration cutting condition setting device for machine tool

    JP2023000009A

  • Display device, machine tool, and display method

    JP7039772B1

  • Display device, computer program, and storage medium

    JP7064064B1

  • Machine tool control device and machine tool control system

    WO2023007678A1

  • Display device for machine tool

    WO2024062544A1