Setting Support Device, Numerical Control Device, Setting Support Method, and Program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- MITSUBISHI ELECTRIC CORP
- Filing Date
- 2024-05-27
- Publication Date
- 2026-05-12
AI Technical Summary
Conventional numerical control devices struggle to accurately set vibration conditions for vibration cutting due to the discrepancy between the commanded tool path and the actual path caused by mechanical characteristics of the machine tool, leading to insufficient chip separation during machining.
A setting support device that adjusts the displayed amplitude of the tool path based on the machine tool's mechanical characteristics, using a magnification factor to correct the commanded amplitude and ensure effective chip separation.
Enables the setting of vibration conditions that effectively separate chips during machining by accounting for the machine tool's mechanical characteristics, ensuring accurate chip separation and tool path alignment.
Smart Images

Figure 00000022_0000 
Figure 00000022_0001 
Figure 00000022_0002
Abstract
Description
Technical Field
[0001] The present disclosure relates to a setting support device, a numerical control device, a setting support method, and a program for supporting the setting of vibration conditions for vibration cutting in which an object to be processed and a tool are relatively vibrated and cut.
Background Art
[0002] Conventionally, in a numerical control device that controls vibration cutting in which an object to be processed and a tool (cutting tool) are relatively vibrated and cut, there is known a numerical control device having a tool path drawing function for drawing the movement path of the tool during processing on a display device. Thereby, the user can set the vibration conditions while observing the movement path. Further, in cutting, the chips are segmented by performing dry running (air cut) on the portion that has already been cut by actual cutting. Since the conventional numerical control device having a tool path drawing function draws the movement path of the tool in the same display mode, it is difficult to distinguish between the actual cutting portion that is actually cut and the air cut portion that is air cut when the vibration frequency, amplitude, etc. are large. 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 in the movement path of the tool in different display modes on a display unit.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] According to the numerical control device of Patent Document 1 described above, since the user can set the vibration conditions while checking the air cut portion, it becomes easier to set the vibration conditions. However, the movement path of the tool displayed by the numerical control device described in Patent Document 1 is a path based on the command to the motor that moves the tool, calculated from the set vibration conditions and the machining program, and is different from the actual movement path of the tool. For example, the amplitude of the actual movement path of the tool is smaller than the amplitude based on the command due to the mechanical characteristics of the machine tool such as the responsiveness of the servo system set by parameters or the like. Therefore, even if the amplitude in the vibration conditions is set after confirming that the air cut portion can be sufficiently secured on the screen displayed by the tool path drawing function, when actual machining is performed using the vibration conditions, the amplitude may be insufficient and the chips may not be separated as intended.
[0005] The present disclosure has been made in view of the above, and an object thereof is to obtain a setting support device capable of setting vibration conditions that can cut chips as intended without considering the mechanical characteristics of the machine tool.
Means for Solving the Problems
[0006] In order to solve the above-described problems and achieve the object, a setting support device according to the present disclosure is a setting support device that supports setting of vibration conditions for vibration cutting in which a machine tool performs machining while relatively moving a tool and a workpiece, and includes an acquisition unit that acquires vibration conditions for 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 receives a change in the vibration conditions input after the movement path of the tool is displayed. The vibration conditions include an amplitude, and the calculation unit changes the amplitude acquired by the acquisition unit based on the mechanical characteristics, calculates the movement path of the tool using the displayed amplitude that is the changed amplitude, and the drawing unit displays the movement path of the tool calculated using the displayed amplitude. The calculation unit determines, as the display amplitude, a value obtained by multiplying the amplitude under the vibration condition acquired by the acquisition unit by a predetermined magnification factor. to do.
Advantages of the Invention
[0007] The setting support device according to the present disclosure has an effect that vibration conditions for cutting chips as intended can be set without considering the mechanical characteristics of the machine tool.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Modes for Carrying Out the Invention
[0009] Hereinafter, the setting support device, the numerical control device, the setting support method, and the program according to the embodiment will be described in detail with reference to the drawings.
[0010] Embodiment 1. FIG. 1 is a diagram showing a functional configuration example of a numerical control (NC) system 1 according to Embodiment 1. As shown 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 arithmetic unit 40. The control arithmetic 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 in which machining is performed while relatively moving a tool and a machining object. Here, an example in which the numerical control device includes the input operation unit 20 and the display unit 30 will be described, but 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 the control arithmetic unit 40 and is a mechanism that drives at least one of a tool for machining a machining workpiece (hereinafter also referred to as a workpiece), which is a machining object of the machine tool 11, and the machining workpiece. For example, the machine tool 11 moves the tool in a plane orthogonal to the central axis that is the center of rotation of the machining workpiece while rotating the machining workpiece. At this time, the machine tool 11 performs vibration cutting by relatively moving the tool and the workpiece.
[0012] FIG. 2 is a diagram showing an example of vibration cutting by the machine tool 11 of the present embodiment. In the example shown in FIG. 2, the central axis that is the center of rotation of the workpiece 61 is defined as the Z axis. The X axis and the Y axis are orthogonal in a plane orthogonal to the Z axis, and the X axis is in the vertical direction of the paper surface. Although the Y axis is omitted in FIG. 2, the direction from the back of the paper surface toward the front is the +Y direction. In the example shown in FIG. 2, the position of the workpiece 61 is fixed, and vibration cutting is performed, for example, by moving a tool 62, which is a turning tool for turning, in the Z-axis direction and the X-axis direction orthogonal 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, whereby the tool 62 moves. Hereinafter, moving the tool 62 together with the tool rest is also expressed as moving the tool 62.
[0013] FIG. 3 is a diagram showing another example of vibration cutting by the machine tool 11 of the present embodiment. The definitions of the X-axis, Y-axis, and Z-axis are the same as those in FIG. 2. In the example shown in FIG. 3, the machine tool 11 moves the workpiece 61 in the Z-axis direction and moves the tool 62 in the X-axis direction.
[0014] In any of the examples shown in FIG. 2 and FIG. 3, the setting support method according to the present disclosure described later can be applied. Note that FIGS. 2 and 3 are examples of vibration cutting by the numerical control system 1 of the present embodiment, and the configuration of the machine tool 11 and the operation of vibration cutting 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 performs feedback control (hereinafter also referred to as FB (FeedBack) control) of the X-axis servo motor 101x based on the command value (X-axis command vibration movement amount described later) commanded from the control arithmetic unit 40 and the detection result received from the detector 102x, thereby controlling the movement of the tool 62 in the X-axis direction. 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. Further, the drive unit 10 outputs the position information indicating the position of the X-axis servo motor 101x (that is, the actual position of the X-axis servo motor 101x) detected by the detector 102x to the control arithmetic unit 40 as the X-axis FB vibration movement amount.
[0016] The drive unit 10 further 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. Based on the command value (the Z-axis command vibration movement amount described later) from the control arithmetic unit 40 and the detection results received from the detector 102z, the Z-axis servo control unit 103z performs FB control on the Z-axis servo motor 101z to control the movement of the tool 62 in the Z-axis direction. That is, 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. Further, the drive unit 10 outputs the 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 to the control arithmetic unit 40 as the Z-axis FB vibration movement amount. Hereinafter, the X-axis FB vibration movement amount and the Z-axis FB vibration movement amount are collectively referred to simply as the FB vibration movement amount.
[0017] Here, an example in which the Z-axis servo motor 101z moves the tool 62 in the Z-axis direction has been described. However, as illustrated in FIG. 3, the workpiece 61 may be moved in the Z-axis direction. In this case, the Z-axis servo motor 101z moves the workpiece 61 in the Z-axis direction.
[0018] The drive unit 10 further 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 during the rotation of the workpiece 61. The detector 102s detects the position and rotational speed (the number of rotations of the spindle per unit time: rotational speed) of the spindle motor 101s. The spindle control unit 103s performs FB control of the spindle motor 101s based on the command value from the control arithmetic unit 40 and the detection result received from the detector 102s. By performing FB control of the spindle motor 101s, the spindle control unit 103s controls the rotational operation of the workpiece 61. That is, the spindle control unit 103s controls the spindle motor 101s so that the rotational speed of the spindle motor 101s matches the command value. Note that the rotational speed detected by the detector 102s corresponds to the rotational speed of the spindle motor 101s.
[0019] In the present embodiment, an example in which the machine tool 11 includes a single tool rest is shown. However, the number of tool rests is not limited to this example, and the machine tool 11 may include a plurality of tool rests. In this case, the drive unit 10 includes a spindle motor 101s, a detector 102s, and a spindle control unit 103s, and for each tool rest, 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 may be provided.
[0020] The input operation unit 20 is a means for receiving inputs from users of the machine tool 11, etc., and is constituted by, for example, a keyboard, buttons, a mouse, etc. The user is, for example, a user who performs machining using the numerical control system 1, a user who sets the numerical control system 1, an operator who operates the numerical control system 1, etc., but is not limited thereto. The input operation unit 20 receives, for example, inputs such as commands for the numerical control system 1 from the user, inputs of machining program numbers which are identification information of machining programs to be executed by the control arithmetic unit 40, inputs of information related to vibration cutting, etc., and inputs information indicating the content of the received inputs to the control arithmetic unit 40. The machining program is a program for causing the machine tool 11 to perform machining. The information related to vibration cutting includes, for example, machining conditions and vibration conditions. The 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 arithmetic unit 40, and is, for example, a display device such as a liquid crystal panel or a display. In FIG. 1, an example is shown in which the display unit 30 is a device specialized for displays such as a liquid crystal panel or a display and is connected to the control arithmetic unit 40, but it is not limited thereto. For example, instead of the display unit 30, a display device connected to a communication network may be used, or a computer connected to a communication network may be used as the display device. In this case, the communication network between the control arithmetic unit 40 and the display device may be a wired network, a wireless network, or a mixture of a wired network and a wireless network.
[0022] The control arithmetic unit 40 includes an input control unit 41, a data setting unit 42, a storage unit 43, a screen processing unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC (Programmable Logic Controller) circuit unit 47, an interpolation processing unit 48, a speed change 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 arithmetic unit 40, but it is not limited thereto, and the PLC circuit unit 47 may be provided outside the control arithmetic unit 40.
[0023] The input control unit 41 receives the 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 into the storage unit 43 via the input control unit 41 and the data setting unit 42.
[0024] The storage unit 43 has a parameter area 431, a program area 432, and a shared area 433. In the parameter area 431, parameters used in the processing of the control arithmetic unit 40 are stored. Specifically, in the parameter area 431, control parameters, servo parameters, tool data, and parameters related to vibration cutting for operating the numerical control system 1 are stored. In the program area 432, one or more machining programs including one or more blocks (lines) used for machining the workpiece 61 are stored. In this embodiment, the machining program includes a movement command that is a command to move the tool 62, a spindle rotation command to rotate the spindle, and the like. The machining program is stored in the storage unit 43 in advance, for example, at the time of product shipment, but as will be described later, it can be edited by the user. That is, the user can set machining conditions, vibration conditions, etc. in the operation corresponding to the machining program. Also, in the shared area 433, data temporarily used when the control arithmetic unit 40 executes each process is stored. For example, various information received by the input operation unit 20 is 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 cutting vibration conditions in which the machine tool 11 performs machining while relatively moving a tool and a workpiece. In FIG. 1, an example is shown in which the control arithmetic unit 40 in the numerical control device also has a function as a setting support device, but the setting support device may be provided separately from the control arithmetic 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 storage unit 43 of the control arithmetic unit 40 via a communication network. Alternatively, among the information stored in the storage unit 43 of the control arithmetic unit 40, the information necessary for the processing of the setting support device is also stored in a storage unit (not shown) in the setting support device. When the information is updated, the control arithmetic unit 40 transmits the information to the setting support device, and the information updated by the setting support device is transmitted to the control arithmetic unit 40 and reflected in the control arithmetic unit 40. Further, among the information received by the input operation unit 20, the information used by the setting support device may also be transmitted from the input operation unit 20 to the setting support device. Further, the setting support device may include the input operation unit 20 and the 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 outputs the generated display data to the display unit 30, thereby controlling the screen to be displayed on the display unit 30. When changing the content of the screen to be displayed on the display unit 30, data indicating the change content may be output from the screen processing unit 44 to the display unit 30, or display data indicating the changed display screen may be output. 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 reception unit 445.
[0027] The condition acquisition unit 441 is an acquisition unit that acquires the vibration conditions for vibration cutting. For example, the condition acquisition unit 441 may acquire the vibration conditions by reading the initial values of the vibration conditions stored in the parameter area 431 or other areas of the storage unit 43. For example, the previously set vibration conditions are stored in the storage unit 43, and the previously set vibration conditions stored can be used as the initial values, but the initial values are not limited to this. The condition reception unit 445 is a reception unit that receives changes in the vibration conditions input after the movement path of the tool is displayed. Specifically, the condition reception unit 445 reads the processing conditions stored as the input information in the shared area 433 of the storage unit 43 via the input control unit 41 and the data setting unit 42, thereby receiving the vibration conditions input by the user. Note that the condition acquisition unit 441 and the condition reception unit 445 may acquire processing conditions in addition to the vibration conditions. The drawing unit 443 displays the movement path of the tool 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 for displaying the movement path of the tool and a vibration condition reception area for receiving input of the vibration conditions, and outputs the display data to the display unit 30.
[0028] The calculation unit 442 calculates the movement path of the tool based on the vibration conditions acquired by the condition acquisition unit 441 and the machine characteristics of the machine tool 11. Specifically, the calculation unit 442 uses the command amplitude, which is the amplitude of vibration cutting included in the vibration conditions acquired by the condition acquisition unit 441, to determine the display amplitude, which is the amplitude used for displaying the movement path of the tool, and calculates the tool path using the display amplitude. Also, the calculation unit 442 uses the command amplitude, which is the amplitude of vibration cutting included in the vibration conditions received by the condition reception unit 445, to determine the display amplitude, which is the amplitude used for displaying the movement path of the tool, and calculates the tool path using the display amplitude. Thus, the movement path displayed in the path display area is calculated based on the display amplitude. Also, the calculation unit 442 causes the command reflection unit 444 to reflect in the processing 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 arithmetic unit 40, an analysis processing unit 45, a control signal processing unit 46, and an interpolation processing unit 48 are connected to each other via a storage unit 43, and writing and reading of information are performed via the storage unit 43. In the following, when explaining the writing and reading of information among the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48, the intervention 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 an S code that is a spindle motor rotation speed command, a G code that is a command related to axis movement, an M code that is an auxiliary command, and the like. The S code, the M code, and the G code are examples of codes in the NC program, and the meaning of the command indicated by the code is defined in advance. When the analysis processing unit 45 finishes the analysis processing on each line of the machining program, the analysis result is written to the shared area 433 of the storage unit 43.
[0031] For example, when the analysis processing unit 45 determines that the S code is included in the machining program, it analyzes the S code to obtain a command value for the spindle rotation speed, that is, the command value for the rotation speed of the spindle motor 101s. Then, the analysis processing unit 45 writes the obtained spindle rotation speed into the shared area 433 of the storage unit 43. Further, when the machining program includes a G code corresponding to the conditions of the tool feed operation, which is an operation to move the machining position by the tool 62, the analysis processing unit 45 analyzes the G code to obtain the conditions of the tool feed operation as movement conditions. The movement conditions are indicated by the speeds in the X-axis and Z-axis directions for moving the tool rest and the positions in the X-axis and Z-axis directions for moving the tool rest. Then, the analysis processing unit 45 writes the obtained movement conditions into the shared area 433 of the storage unit 43. Also, when the machining program includes a G code corresponding to the vibration conditions for vibrating the tool, the analysis processing unit 45 analyzes the G code to obtain the vibration conditions. The analysis processing unit 45 writes the obtained vibration conditions into the shared area 433 of the storage unit 43. Note that the M code indicates an auxiliary command (also called a machine control command) other than a command for operating each drive axis that is a numerical control axis. For example, it indicates a command for operating a relay in the machine tool 11.
[0032] When the analysis result of the code corresponding to the auxiliary command such as the M code is written into the shared area 433 of the storage unit 43 as an auxiliary command by the analysis processing unit 45, the control signal processing unit 46 reads out this auxiliary command and outputs it to the PLC circuit unit 47. Also, when the control signal processing unit 46 receives a completion signal indicating that the machine control, which is the control corresponding to the auxiliary command, has been completed from the PLC circuit unit 47, it writes a completion signal indicating the completion of the auxiliary command into the shared area 433 of the storage unit 43. The completion signal written into the shared area 433 of the storage unit 43 by the control signal processing unit 46 is referred to during the machining operation by the interpolation processing unit 48.
[0033] The PLC circuit unit 47 stores a ladder program describing the machine operations to be executed by the PLC circuit unit 47 in a storage unit (not shown) within the PLC circuit unit 47. When the PLC circuit unit 47 receives an auxiliary command from the control signal processing unit 46, it executes the processing corresponding to the auxiliary command for the machine tool 11 according to the ladder program. Also, after executing the processing corresponding to the auxiliary command, the PLC circuit unit 47 outputs a completion signal indicating that the machine control has been completed to the control signal processing unit 46.
[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 movement conditions and vibration conditions are written by the analysis processing unit 45 into the shared area 433 of the storage unit 43, the command vibration movement amount generation unit 481 reads out the movement conditions and vibration conditions, and using the read movement conditions and vibration conditions, generates an X-axis command vibration movement amount, which is the command vibration movement amount in the X-axis direction, and also generates a Z-axis command vibration movement amount, which is the 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 collectively referred to simply as the command vibration movement amount. The command vibration movement amount generation unit 481 writes the generated command vibration movement amount into 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 into the shared area 433 of the storage unit 43. Also, when the spindle speed is written by the analysis processing unit 45 into the shared area 433 of the storage unit 43, the interpolation processing unit 48 reads out the written spindle 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 considering acceleration and deceleration according to a previously specified acceleration / deceleration pattern, and outputs the converted command vibration movement amount to the axis data input / output unit 50. Also, the acceleration / deceleration processing unit 49 outputs the spindle speed output from the interpolation processing unit 48 to the axis data input / output unit 50. Further, the acceleration / deceleration processing unit 49 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 commanded vibration movement amount (commanded 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 commanded X-axis vibration movement amount as a command value to the X-axis servo control unit 103x, and outputs the commanded Z-axis vibration movement amount as a command value to the Z-axis servo control unit 103z. Also, the axis data input / output unit 50 outputs the spindle rotation speed output from the acceleration / deceleration processing unit 49 as a command value to the spindle control unit 103s. Further, the axis data input / output unit 50 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 the present embodiment will be described. FIG. 4 is a diagram schematically showing a machining method by the numerical control system 1 of the present embodiment. FIG. 4 shows an example in which machining is performed while relatively moving a tool 62 and a workpiece 61 (not shown in FIG. 4) in the vibration direction along a path 63 which is a movement path (tool path) in the XZ plane. In the example shown in FIG. 4, when relatively moving the tool 62 along the path 63 with respect to the workpiece 61, the control arithmetic unit 40 controls to vibrate the tool 62 so as to trace the path 63. That is, in a section where the path 63 is a straight line, the control arithmetic unit 40 vibrates the tool 62 to reciprocate along the straight line, and in a section where the path 63 is a curve, the control arithmetic unit 40 vibrates the tool 62 to reciprocate along the curve. Note that vibrating the tool 62 means the relative movement of the tool 62 with respect to the workpiece 61, and means the movement of moving at least one of the tool 62 and the workpiece 61.
[0038] FIG. 5 is a diagram showing an example of the machining program of the present embodiment. The machining program is read and executed by the control arithmetic unit 40 for each line (block). Here, the execution means that, as described above, the machining program is analyzed by the control arithmetic unit 40 and the content of the command corresponding to the machining program is output to the drive unit 10. "M3 S1000;" in line 401 of the machining program shown in FIG. 5 is an M code and is a command for spindle rotation (spindle rotation command). "S1000" indicates the rotational speed of the spindle, and "1000" indicates the command value of the rotational speed (for example, indicated in rpm (revolutions per minute)).
[0039] Also, "G01 X10.0 Z20.0 F0.10;" in line 403 of the machining program is a G code and is a command for linear interpolation, that is, a movement command for linearly moving the tool 62. "X10.0 Z20.0" indicates the position of the end point, and the numerical values following "X" and "Z" indicate the command values. "F0.10" indicates the feed rate, and the numerical value following "F" indicates the command value. "G02 X14.0 Z23.5 R4.0;" in line 404 of the machining program is a G code and is a command for circular interpolation, that is, a movement command for moving the tool 62 in a clockwise circular motion. "X14.0 Z23.5" indicates the position of the end point, and the numerical values following "X" and "Z" indicate the command values. "R4.0" indicates the radius of the arc, and the numerical value following "R" indicates the command value. All of these are commands used in general numerical control devices.
[0040] In addition, the "G200 A0.03 D1.5;" in line 402 and the "G201;" in line 405 are G-codes and commands related to vibration cutting. The command "G200" means the start of vibration cutting, and the command "G201" means the end of vibration cutting. Also, "A0.03" means that the amplitude of vibration is set to 0.03, and the numerical value following "A" indicates the command value of vibration (e.g., expressed in the unit of mm). "D1.5" means that the vibration frequency, i.e., the number of vibrations per revolution of the main spindle (corresponding to the value obtained by dividing the frequency by the time (seconds) required for one revolution of the main spindle) is 1.5, and the numerical value following "D" indicates the command value of the frequency. Note that this is just an example, and the symbols meaning the start and end of vibration cutting, the amplitude to be vibrated, and the number of vibrations per revolution of the main spindle may be other ones.
[0041] Note that FIG. 5 is just an example, and the types of codes included in the machining program and the numerical values such as the coordinate values and feed rates specified by each code are not limited to the example shown in FIG. 5. Also, the command values for the amplitude and the number of vibrations per revolution of the main spindle in vibration cutting may be arbitrary numerical values. However, in order to vibrate accurately on the curved path and to finely divide the chips generated by cutting by vibration, the command values are generally set to be minute vibrations. For example, the command values for the amplitude and the number of vibrations per revolution of the main spindle are set such that the amplitude is below several tens of micrometers and the corresponding frequency is below several hundreds of Hz.
[0042] Next, the setting support method of the present embodiment, that is, the setting support process in the control arithmetic unit 40 will be described. First, the control arithmetic unit 40 receives a selection of a machining program that is the insertion target of a command corresponding to the vibration cutting operation from a user who performs machining using the machine tool 11. For example, the user inputs the machining program number by operating the input operation unit 20. As described above, when the input operation unit 20 receives the input of the machining program number, it inputs the machining program number to the control arithmetic unit 40. Note that when there is only one machining program, it is not necessary to receive the selection of the machining program. Note that the input operation unit 20 is an input means such as a keyboard, a mouse, or a button as described above, but is not limited thereto. For example, the input operation unit 20 and the display unit 30 may be integrated and realized by a device such as a touch panel. That is, the input operation unit 20 and the display unit 30 may be devices that perform display and receive input. In this case, for example, a software keyboard, symbols such as arrows for inputting numerical values, figures, etc. are displayed on the display unit 30, so that the user can input numerical values. Further, the control arithmetic unit 40 may display a list of machining program numbers on the display unit 30 so that the user can select a machining program number from the displayed machining program numbers.
[0043] When a machining program number is input from the input operation unit 20 to the control arithmetic unit 40, as described above, the machining program number is stored in the shared area 433 of the storage unit 43. 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, a waveform display screen corresponding to the selected machining program is displayed on the display unit 30. Specifically, when the input operation unit 20 receives an input to display the waveform display screen, it outputs instruction information instructing to display the waveform display screen to the control arithmetic unit 40. For example, the screen processing unit 44 causes a menu screen to be displayed on the display unit 30, and the user selects the waveform display screen on the menu screen, whereby the waveform display screen is 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 the instruction information is input from the input operation unit 20 to the control arithmetic unit 40, the instruction information is stored in the shared area 433 of the storage 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 the waveform display screen of the present embodiment. In FIG. 6, machining conditions are displayed in the machining condition reception area 601, and by the user changing the numerical value in the input field indicated by the rectangle in the machining condition reception area 601, the numerical values of each item in the machining conditions are changed. The machining conditions are the conditions for machining during the vibration cutting operation and are the conditions related to the tool path of the vibration cutting. For example, the machining conditions include the spindle rotation speed and the feed speed of the tool 62. In the example shown in FIG. 6, the spindle rotation speed is changed by the user changing the numerical value displayed in the input field on the right side of the character "spindle rotation speed", and the feed speed is changed by the user changing the numerical value displayed in the input field on the right side of the character "feed speed".
[0045] In the vibration condition reception area 602, the vibration conditions are displayed. By the user changing the numerical values in the input fields indicated by the rectangles within the vibration condition reception area 602, the numerical values of each item in the vibration conditions are changed. The vibration conditions are the conditions related to the vibration during the vibration cutting operation. For example, as shown in FIG. 6, the vibration conditions include the amplitude to be vibrated and the vibration frequency (information corresponding to the frequency of the vibration), which is the number of vibrations per one rotation of the main shaft. In the example shown in FIG. 6, by the user changing the numerical value displayed in the input field to the right of the character "amplitude", the amplitude is changed, and by the user changing the numerical value displayed in the input field to the right of the "vibration frequency", the vibration frequency is changed.
[0046] The waveform display area 603 is a path display area where the movement path of the tool 62, that is, the tool path, is displayed. In the waveform display area 603, the tool path determined by the machining conditions and the vibration conditions is displayed as a waveform. In the example shown in FIG. 6, in the waveform display area 603, the waveform of the tool path is shown with the horizontal axis being the rotation angle of the main shaft and the vertical axis being the movement position of the tool 62. The portion surrounded by the line between two intersections of the lines indicating the tool path near the apex of the waveform of the tool path, that is, the area 608 where the tool paths overlap, becomes the air cutting portion. In FIG. 6, although the reference numeral 608 is attached only at one location, the portions where the tool paths without reference numerals overlap are also air cutting portions. The command display area 604 is an area where the received vibration conditions are displayed as G-codes. The program display area 605 is an area where the selected machining program is displayed, and the cursor 606 is a cursor indicating the position within the machining program when editing the machining program. A scroll bar is displayed at the right end of the program display area 605, and the user can change the portion of the machining program displayed in the program display area 605 by operating the scroll bar. The insertion button 607 is a button for determining program insertion.
[0047] When the user changes the processing conditions, vibration conditions, etc., the tool path is changed according to the changed conditions, and the waveform displayed in the waveform display area 603 is changed. As a result, the user can check the air-cut part of the waveform that changes according to the conditions and determine the processing conditions and vibration conditions for vibration cutting.
[0048] Specifically, for example, the user moves the cursor 606 to the position where the vibration cutting command is to be inserted in the processing program displayed in the program display area 605. Next, the user checks the area before and after the position of the cursor 606 in the processing program and inputs the processing conditions corresponding to the processing program in the input field of the processing condition reception area 601. For example, the user inputs the spindle rotation speed commanded by the spindle rotation command immediately before the position of the cursor 606 and the feed rate of the cutting command immediately after it in the input field of the processing condition reception area 601. Note that the control arithmetic unit 40 may automatically extract these processing conditions from the processing program according to the position of the cursor 606 and display them in the input field of the processing condition reception area 601.
[0049] In FIG. 6, an example is shown in which the waveform display area 603 where the tool path is displayed, the processing condition reception area 601 which is an input field, and the vibration condition reception area 602 are displayed on the same screen. However, the display method of the tool path and the reception methods of the vibration conditions and processing conditions are not limited to this example. For example, the tool path and the input field may be displayed in separate windows or in separate browsers.
[0050] Next, the user inputs the desired vibration conditions into the input field of the vibration condition reception area 602. As a result, a waveform of the tool path corresponding to the machining conditions and the vibration conditions is displayed in the waveform display area 603. The user refers to the displayed waveform to check whether there is an air cutting portion. If not, the user changes the vibration conditions, for example, by increasing the amplitude of the vibration conditions. When it is confirmed that there is an air cutting portion and the tool path corresponds to the desired vibration operation, the user checks the G code corresponding to the vibration conditions by referring to the command display area 604. For example, on the right side of "A" to the right of "G200", the numerical value of the amplitude input to the vibration condition reception area 602 is displayed, and on the right side of "D", the numerical value of the vibration frequency input to the vibration condition reception area 602 is displayed. The user can still check the instructions inserted into the machining program by checking the command display area 604. Incidentally, the respective numerical values following "A" and "D" in the command display area 604 may be directly changeable by the user. When the respective numerical values following "A" and "D" are directly changeable by the user, the numerical value change by the user is also reflected in the numerical values in the vibration condition reception area 602.
[0051] The user checks that the cursor 606 is at the position where they want to insert the vibration cutting command, i.e., the desired position, in the program display area 605. If the cursor 606 is not at the desired position, the user moves the cursor 606 to the desired position. The user presses the insert button 607 with the cursor 606 at the desired position. Thereby, the vibration cutting command is inserted into the line corresponding to the position of the cursor 606 in the machining program. In the example shown in FIG. 6, "G200 A0.5 D1.5;" is added to the line corresponding to the position of the cursor 606 in the machining program. Also, although not shown in FIG. 6, for example, an end command insertion button for inserting a command to end the vibration cutting command may be displayed on the waveform display screen. In this case, the user moves the cursor 606 to the position where they want to insert a command to end the vibration cutting command and presses the end command insertion button, so that a command to end the vibration cutting, such as "G201.", is inserted into the line corresponding to the position of the cursor 606 in the machining program. As described above, the user can set the vibration conditions while visually checking the dry cut portion.
[0052] Note that FIG. 6 is an example, and the waveform display screen only needs to be a screen that can display the waveform of the tool path and accept the input of machining conditions and vibration conditions. The specific display mode, arrangement, method of accepting input by the user, etc. are not limited to this example.
[0053] Note that even if the user sets the vibration conditions so that the dry cut portion exists by the method described with reference to FIG. 6, when the tool path is calculated from the command value, the chips may not be separated as intended when actual machining is performed. This is because the amplitude of the waveform of the tool path when the tool 62 actually operates is affected by mechanical characteristics such as the responsiveness of the servo system of the machine tool 11, and is, for example, smaller than the amplitude of the waveform of the tool path corresponding to the command value. If the chips are not separated as intended, the amplitude needs to be changed again, and it is necessary to perform trial machining while changing the amplitude.
[0054] Therefore, in the present embodiment, the control calculation unit 40 causes the waveform of the tool path to be displayed in the waveform display area 603 such 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 reception area 601 and the vibration condition reception area 602. Then, the condition reception unit 445 receives a change in the vibration condition input based on the display of the movement path of the tool calculated using the mechanical characteristics of the machine tool 11. The ratio of the display amplitude to the command amplitude, that is, the magnification of the display amplitude with respect to the command amplitude, is determined in advance according to 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 that can design the mechanical characteristics of the machine tool 11 determines the above-mentioned magnification, but it is not limited thereto. The magnification may be set, for example, by an expert of the machine tool 11 and stored in the storage unit 43. For example, when the waveform of the tool path is drawn in the waveform display area 603 with an amplitude of 80% of the command amplitude, 0.8 is stored in the parameter area 431 as the magnification. Here, the calculation unit 442 determines the value obtained by multiplying the command amplitude by the magnification as the display amplitude. However, the display amplitude may be calculated by a method such as subtracting a value determined from the command amplitude or adding a value determined to the command amplitude. 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 reception unit 445 based on the mechanical characteristics, and calculate the movement path of the tool using the display amplitude, which is the changed amplitude. The magnification and the determined value for calculating the display amplitude are examples of correction information for obtaining the display amplitude by correcting the command amplitude in consideration of the mechanical characteristics of the machine tool 11. The correction information is stored as a parameter in the parameter area 431, and the display amplitude may be calculated using the correction information. Further, the magnification may be changeable, for example, by the machine tool 11. For example, the magnification may be changeable by a designer of a manufacturer who grasps the mechanical characteristics of the machine tool 11, an operator who performs an input operation or the like based on an instruction from the designer, or the like.
[0055] When the screen processing unit 44 of the control calculation unit 40 generates display data for displaying the tool path in the waveform display area 603, it reads the magnification in the parameter area 431, generates image data showing an image in which the tool path is drawn with 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 induced to set a larger amplitude for the vibration condition while checking the image drawn with the amplitude obtained by multiplying the command amplitude by 0.8 as the magnification. As a result, even if the amplitude of the actual tool path becomes smaller due to the influence of the machine characteristics, a sufficient amplitude for generating an air cut portion is set and the tool 62 operates, so that the chips can be divided as intended. Thus, the correction information is not limited to the example considering the machine characteristics and may be set according to the purpose required for setting the vibration condition.
[0056] In the above-described example, the display amplitude is made smaller than the command amplitude in order to secure an air cut portion and divide the chips as intended. However, the present invention is not limited to this, and the display amplitude may be made larger than the command amplitude. For example, when performing a vibration cutting operation in the moving direction of a drill tool during a drilling operation of a machining center, there are cases where the chips are divided by the friction of the drill tool even if the air cut portion is insufficient. In such a case, the magnification may be set so that the display amplitude becomes larger than the command amplitude in order to induce the user to set a smaller amplitude for the vibration cutting. Thereby, the load on the drill tool can be reduced by reducing the speed at which the drill tool contacts the workpiece, and the noise and vibration can be reduced. Thus, the magnification may be set to a value of 1 or more.
[0057] FIG. 7 is a flowchart showing an example of the display process of the waveform display screen according to the present embodiment. The display process of the waveform display screen shown in FIG. 7 starts, for example, when the 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 arithmetic unit 40 determines whether the processing conditions or the vibration conditions have been changed (step S11). Specifically, the condition acquisition unit 441 or the condition reception unit 455 determines that the processing conditions or the vibration conditions have been changed. For example, when the user sets the processing conditions by inputting the processing conditions in the processing condition reception area 601, the processing conditions in the shared area 433 of the storage unit 43 of the control arithmetic unit 40 are updated. Thereby, the condition reception unit 445 receives the vibration conditions input from the user. Further, when the user sets the vibration conditions by inputting the vibration conditions in the vibration condition reception area 602, the vibration conditions in the shared area 433 of the storage unit 43 of the control arithmetic unit 40 are updated. Here, the term "updated" includes newly stored. That is, the case where the processing conditions are newly set in a state where the processing conditions are not stored in the shared area 433 is also included in the case where the processing conditions are updated, and the case where the vibration conditions are newly set in a state where the vibration conditions are not stored in the shared area 433 is also included in the case where the vibration conditions are updated. For example, when the condition acquisition unit 441 acquires the processing conditions or the 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 the vibration conditions have been changed. When the vibration conditions or the processing conditions in the shared area 433 are updated, the condition reception unit 445 of the screen processing unit 44 determines that the processing conditions or the vibration conditions have been changed.
[0059] When it is determined that the processing conditions or vibration conditions have changed (Yes in step S11), the control arithmetic unit 40 executes waveform display processing (step S12). The details of the waveform display processing will be described later. After step S12, the control arithmetic unit 40 determines whether the insertion button 607 has been pressed (step S13). Specifically, as described above, when the user inserts a vibration cutting command into the machining program, the user checks the vibration cutting command displayed in the command display area 604, selects the insertion position into the machining program using the cursor 606, and then presses the insertion button 607 using the input operation unit 20. The input operation unit 20 outputs input information indicating that the insertion button 607 has been pressed to the control arithmetic unit 40. This input information also includes information indicating the position in the machining program corresponding to the cursor 606 (which line number in the machining program). In the control arithmetic unit 40, the input information is stored in the shared area 433 of the storage unit 43 via the input control unit 41 and the data setting unit 42. When the input information indicating that the insertion button 607 has been pressed is stored in the shared area 433 of the storage unit 43, the command reflection unit 444 of the screen processing unit 44 determines that the insertion button 607 has been pressed.
[0060] When it is determined that the insertion button 607 has been pressed (Yes in step S13), the control arithmetic unit 40 inserts a vibration cutting command (step S14). Specifically, the command reflection 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. Note that 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 processing described later. The command reflection unit 444 reads the vibration cutting command from the shared area 433 and inserts the vibration cutting command at the above-specified position in the machining program stored in the program area 432 of the storage unit 43, and stores the machining program after the insertion of the vibration cutting command in the program area 432 of the storage unit 43.
[0061] The control calculation unit 40 determines whether to end the waveform display screen (step S15). If it is determined to end the waveform display screen (step S15 Yes), the display process of the waveform display screen is ended. In step S15, specifically, for example, when there is an input instructing a transition to a screen other than the waveform display screen, or when there is an input instructing the end of the waveform display screen, the screen processing unit 44 determines to end the waveform display screen. The 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 reception unit 445 of the screen processing unit 44 checks the shared area 433 to determine whether to end the waveform display screen.
[0062] If it is determined not to end the waveform display screen (step S15 No), in order for the condition reception unit 445 to receive the input of the vibration condition by the user, the control calculation unit 40 repeats the process from step S11. Also, if the result in step S11 is No, the control calculation unit 40 advances the process to step S13. If the result in step S13 is No, the control calculation unit 40 advances the process to step S15.
[0063] Next, the 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 the present embodiment. The condition acquisition unit 441 or the condition reception unit 445 of the screen processing unit 44 of the control calculation unit 40 acquires the processing conditions (step S121) and acquires the vibration conditions (step S122). Specifically, the condition acquisition unit 441 or the condition reception unit 445 reads out the processing conditions and the vibration conditions stored in the shared area 433 of the storage unit 43 in steps S121 and S122, respectively. Specifically, in the state before the user inputs the processing conditions and the vibration conditions, the condition acquisition unit 441 reads out the processing conditions and the vibration conditions from the shared area 433 of the storage unit 43, and the condition reception unit 445 reads out the processing conditions and the vibration conditions input by the user from the shared area 433.
[0064] Next, the control arithmetic unit 40 calculates a tool path using the machining conditions and the vibration conditions (step S123). Specifically, the calculation unit 442 of the screen processing unit 44 calculates a tool path using the acquired machining conditions and vibration conditions, thereby generating plot data for plotting the tool path with the horizontal axis as the rotation angle of the main shaft and the vertical axis as the movement position of the tool 62, and storing 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 arithmetic unit 40 acquires the magnification of the amplitude (step S124). The magnification of the amplitude is a magnification indicating the ratio of the commanded amplitude of the displayed amplitude described above. In step S124, specifically, the calculation unit 442 of the screen processing unit 44 reads the magnification of the amplitude from the parameter area 431 of the storage unit 43, thereby acquiring the magnification of the amplitude.
[0066] Next, the control arithmetic unit 40 performs a calculation to change the amplitude (step S125). Specifically, the calculation unit 442 of the screen processing unit 44 multiplies the amplitude in the vibration conditions stored in the shared area 433 of the storage unit 43, that is, the commanded amplitude, by the magnification of the amplitude acquired in step S124 to calculate the displayed amplitude.
[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 arithmetic unit 40 regenerates plot data for plotting the tool path based on the displayed 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 obtained by drawing the plot data as a waveform, generates display data so that the data is displayed as a waveform in the waveform display area 603 of the waveform display screen, and outputs the generated display data to the display unit 30. Thereby, 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. In step S127, specifically, the drawing unit 443 of the screen processing unit 44 generates display data for displaying the command (G code) corresponding to the vibration condition input to the vibration condition reception area 602 in the command display area 604 shown in FIG. 6, 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 in the vibration cutting command displayed in the command display area 604 may be changed.
[0069] As described above, in the present embodiment, the amplitude corresponding to the vibration condition set by the user is corrected based on the 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. As a result, the user can set the vibration condition while checking the waveform of the tool path drawn with the corrected amplitude. For example, by using information considering the mechanical characteristics as the correction information, the user can set the vibration condition while checking a waveform close to the actual waveform of the tool path, so that the vibration condition that can secure the air cut portion can be set. As a result, the machine tool 11 can break the chips as intended during actual machining.
[0070] Embodiment 2. Next, Embodiment 2 will be described. The configuration of the numerical control system 1 in the present embodiment is the same as that in Embodiment 1. Hereinafter, the parts different from Embodiment 1 will be mainly described, and the descriptions overlapping with Embodiment 1 will be omitted.
[0071] In Embodiment 1, a magnification, which is an example of the correction information, is determined in advance. In the present embodiment, an example will be described in which the amplitude displayed using the servo responsiveness parameter indicating the responsiveness in the control of the X-axis servo motor 101x and the Z-axis servo motor 101z in the machine tool 11 is corrected.
[0072] In the parameter area 431 of the storage unit 43 of the control calculation unit 40, servo responsiveness parameters for controlling the X-axis servo motor 101x and the Z-axis servo motor 101z are stored. Hereinafter, when the X-axis servo motor 101x and the Z-axis servo motor 101z are shown without individual distinction, they are also referred to as servo motors. The servo motor relatively moves the tool 62 and the workpiece 61. The servo responsiveness parameters are various gains such as, for example, a position loop gain and a speed loop gain, which are setting data for the followability of the servo motor and are used for controlling the servo motor. Among these, the X-axis servo motor 101x and the Z-axis servo motor 101z affect the path of the tool 62. For example, when the position loop gains of the X-axis servo motor 101x and the Z-axis servo motor 101z are increased, the followability improves, and when the position loop gains are decreased, the followability deteriorates. When the followability deteriorates, vibration cutting is performed with an amplitude smaller than the commanded amplitude. Thus, since the amplitude in actual vibration cutting depends on the servo responsiveness parameters, the control calculation unit 40 of the present embodiment corrects the displayed amplitude based on the servo responsiveness parameters.
[0073] In the present embodiment, for example, when the servo responsiveness parameter is equal to or greater than the standard value (threshold value), the control calculation unit 40 causes the display unit 30 to display the waveform of the tool path using the commanded amplitude. However, when the servo responsiveness parameter is smaller than the standard value, the control 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 responsiveness parameter is equal to or greater than the standard value, the control calculation unit 40 sets the display amplitude as the commanded amplitude, and when the servo responsiveness parameter is smaller than the standard value, the control calculation unit 40 corrects the servo responsiveness parameter using correction information. The correction information may be a magnification as in the first embodiment, or may be a fixed value added to or subtracted from the amplitude. For example, when the servo responsiveness parameter is 5 smaller than the standard value, the control calculation unit 40 sets the magnification to 0.9 to make the display amplitude smaller than the commanded amplitude. The correction information such as the magnification 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] Further, the method for determining the magnification 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 one standard value. A plurality of threshold values with different values may be defined, and the magnification may be determined according to the value of the servo responsiveness parameter. In this case, for example, the 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 larger than the first threshold value are defined. When the servo responsiveness parameter is smaller than the first threshold value, the magnification is set to a first value less than 1. When the servo responsiveness parameter is equal to or greater than the first threshold value and smaller than the second threshold value, the magnification is set to a second value greater than the first value and less than 1. When the servo responsiveness parameter is larger than the second threshold value, the magnification is set to 1 as the correspondence information.
[0075] Note that the number of threshold values is not limited to the above-described example. Further, the correspondence information is not limited to the table-form information defined by the threshold values, and may be information indicating a calculation formula for calculating the correction information from the servo responsiveness parameter. When considering a plurality of parameters as the servo responsiveness parameter, an index to be calculated from the plurality of parameters may be defined, and the relationship between the index and the magnification may be defined as the correspondence information. The control arithmetic unit 40 obtains correction information such as the magnification using the servo responsiveness parameter and the correspondence information, and determines the display amplitude using the obtained correction information. Further, the correspondence information may be changeable by the user.
[0076] FIG. 9 is a flowchart showing an example of the waveform display processing procedure of the present embodiment. The display processing of the waveform display screen of the present embodiment is the same as that of the first embodiment except that the waveform display processing in step S12 is the processing shown in FIG. 9.
[0077] S121 to S123 shown in FIG. 9 are the same as those in the first embodiment. After step S123, the control arithmetic unit 40 acquires a servo responsiveness parameter (step S211). Specifically, the calculation unit 442 of the screen processing unit 44 reads the servo responsiveness parameter from the parameter area 431 of the storage unit 43, thereby acquiring the servo responsiveness parameter.
[0078] Next, the control arithmetic unit 40 determines a magnification of the amplitude (step S212). Specifically, the calculation unit 442 of the screen processing unit 44 determines the magnification using the servo responsiveness parameter as described above. After step S125, it is the same as in the first embodiment.
[0079] As described above, in the present embodiment, the display amplitude is determined using the servo responsiveness parameter used for controlling the servo motor. As a result, even if the machine manufacturer does not previously set the parameters of each machine tool in consideration of the responsiveness of the machine tool 11, by changing the amplitude to be displayed corresponding to the servo responsiveness parameter, it is possible to induce the user to set an amplitude that can cut the chips as intended.
[0080] Embodiment 3. FIG. 10 is a diagram showing a functional configuration example of the numerical control system 1a according to the third embodiment. The numerical control system 1a of the present embodiment is the same as the numerical control system 1 of the first embodiment except that it includes a control arithmetic unit 40a instead of the control arithmetic unit 40. The control arithmetic unit 40a, the input operation unit 20, and the display unit 30 constitute the numerical control device according to the present disclosure. Components having the same functions as those in the first embodiment are denoted by the same reference numerals as in the first embodiment, and redundant descriptions are omitted. Hereinafter, differences from the first embodiment will be mainly described.
[0081] In the present embodiment, the difference between the commanded amplitude and the actual amplitude is learned using the detection results of the detectors 102x and 102z when machining is actually performed by the machine tool 11, and the display amplitude is determined using the learned result, thereby displaying a tool path waveform close to the waveform of the actual tool path.
[0082] The screen processing unit 44 of the control arithmetic unit 40a is the setting support device according to the present disclosure. In the present embodiment, the setting support device further includes a magnification correction processing unit 70. FIG. 10 shows an example in which the control arithmetic unit 40a in the numerical control device also has a function as a setting support device, but the setting support device may be provided separately from the control arithmetic unit 40a. The control arithmetic unit 40a is the same as the control arithmetic 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 correction amount of the amplitude using the detection results of the detectors 102x and 102z when machining is performed by the machine tool 11.
[0083] The learning in the learning device 71 will be described. The learning device 71 determines the magnification using, for example, the detection result of the position of the tool 62 and the command value of the position of the tool 62. Specifically, the detector 102x and the detector 102z can detect the positions and speeds 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 as the FB vibration movement amount by the FB vibration movement amount acquisition unit 482 and stored in the shared area 433 of the storage unit 43. Note that not only the positions but also the speeds of the X-axis servo motor 101x and the Z-axis servo motor 101z may be included in the FB vibration movement amount, or the speed may be included in the FB vibration movement amount instead of the position. Further, as described in the first embodiment, the command vibration movement amount generation unit 481 writes the command value of 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 sets the commanded vibration movement amount and the FB vibration movement amount corresponding to the same time as one set, and calculates the difference between the commanded vibration movement amount of one set and the 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 movement of the actual tool 62 to the commanded amplitude. Alternatively, the learning device 71 may calculate the actual amplitude using the time-series data of the FB vibration movement amount over a certain period of time, and calculate the ratio of the actual amplitude to the corresponding commanded amplitude using the actual amplitude and the commanded amplitude. Since the actual amplitude corresponds to the amplitude considering the mechanical characteristics described in the first embodiment, by determining the display amplitude using the ratio of the actual amplitude to the commanded amplitude, the display amplitude considering the mechanical characteristics can be determined. For example, the learning device 71 calculates the above-described ratios for a plurality of different fixed periods, and determines the magnification using the calculated plurality of ratios. Specifically, the average value of the plurality of ratios may be used as the magnification, or the median value of the plurality of ratios may be used as the magnification. Here, an example of using the magnification as the correction information is described, but as described in the first embodiment, other than the magnification may be used as the correction information. 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 the present embodiment, the calculation unit 442 determines the display amplitude using the correction information calculated in this way, for example.
[0085] Note that the timing at which the learning device 71 performs the process of calculating the learning result may be any timing. For example, the learning device 71 may perform the process using the commanded vibration movement amount and the FB vibration movement amount accumulated during processing at a timing when the processing load of the control calculation unit 40 is low, such as after the actual processing is completed. Thereby, the influence on other processes can be reduced. Regarding the correction information at the start of the operation of the actual processing, the commanded vibration movement amount and the FB vibration movement amount may be obtained by performing trial processing or the like, and may be determined using the commanded vibration movement amount and the FB vibration movement amount obtained by the trial processing, or may be determined in advance by the same method as in the first embodiment. Further, the correction information may be updated using a new commanded vibration movement amount and FB vibration movement amount after being determined once. Thereby, the display amplitude can be determined in consideration of the influence of changes over time.
[0086] Also, in the above example, the learning device 71 determines correction information such as magnification regardless of conditions and states. However, correction information may be determined in consideration of information that affects the difference between the actual amplitude and the command amplitude. For example, since it is conceivable that the difference between the actual amplitude and the command amplitude varies depending on the value of the command amplitude, case-by-case division may be performed according to the value of the command amplitude, and correction information corresponding to the command amplitude may be determined. For example, a plurality of levels are defined for the command amplitude, and a corresponding range of the command amplitude is determined for each level. The learning device 71 may calculate an average value for each level using the corresponding commanded vibration movement amount and the FB vibration movement amount, 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] Regarding the servo responsiveness parameter described in the second embodiment as well, a plurality of levels may be defined for the servo responsiveness parameter, 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 responsiveness parameter described in the second embodiment may be determined using the commanded vibration movement amount and the FB vibration movement amount. Furthermore, both the servo responsiveness parameter and the amplitude may be considered. For example, correction information may be determined using the commanded vibration movement amount and the FB vibration movement amount for each combination of levels of the servo responsiveness parameter and the amplitude.
[0088] The learning device 71 may further determine correction information based on the temperature of the machine tool 11. For example, each of the detectors 102x and 102z is provided with a temperature detector, and the FB vibration movement amount acquisition unit 482 acquires the temperature detection result, which is the detection result of the temperature by the temperature detector, from the X-axis servo control unit 103x and the Z-axis servo control unit 103z, and stores it in the shared area 433 of the storage unit 43. The learning device 71 generates learning information indicating correction information for each temperature level based on the commanded vibration movement amount, the FB vibration movement amount, and the temperature detection result. The calculation unit 442 determines a magnification using the temperature detection result acquired from the temperature detector and the learning information in the waveform display process, and determines the display amplitude using the determined magnification. Further, the learning device 71 may calculate correction information for each combination of these levels using the temperature detection result in addition to at least one of the commanded amplitude and the servo responsiveness parameter described above.
[0089] As described above, the information used to determine the correction information (hereinafter also referred to as influence information) may be one or a plurality. The learning device 71 calculates correction information corresponding to the influence information using one or more pieces of influence information. When determining the display amplitude, the calculation unit 442 determines the display amplitude using the correction information corresponding to the influence information at that time.
[0090] In the above example, the correction information was determined by a statistical method such as calculating the average value or the median value. However, the correction information may also be determined by machine learning such as supervised learning. For example, the learning device 71 sets the ratio of the actual amplitude calculated from the FB vibration movement amount to the commanded amplitude as the correct data for the magnification, and uses a plurality of data sets each composed of the commanded amplitude corresponding to the correct data as a feature amount and the correct data corresponding to the feature amount, and generates a learned model for inferring the magnification from the feature amount by supervised learning. In this case, the learning information becomes the learned model. The learning device 71 stores the generated learned model in the shared area 433 of the storage unit 43. The feature amount, that is, the influence information, is at least one of, for example, the commanded amplitude, the servo responsiveness parameter, and the temperature as described above. When determining the display amplitude, the calculation unit 442 inputs the influence information at that time to the learned model to obtain the magnification as the output of the learned model. Note that the inference target of the learned model is not limited to the magnification as described above, and may be a value used for addition or subtraction.
[0091] Also, here, an example in which the learning device 71 generates a learned model for inferring the correction information has been described. However, the present invention is not limited to this, and a learned model for inferring the display amplitude may be generated by including the commanded amplitude in the feature amount. For example, the learning device 71 uses the actual amplitude calculated from the FB vibration movement amount as the correct data, and generates a learned model using a plurality of data sets each composed of the feature amount (influence information including the commanded amplitude) and the correct data corresponding thereto. When determining the display amplitude, the calculation unit 442 inputs the influence information at that time to the learned model to obtain the display amplitude as the output of the learned model.
[0092] As the machine learning algorithm, a neural network, a support vector machine, or the like can be used, but the present invention is not limited thereto. Further, the machine learning is not limited to supervised learning, and may be reinforcement learning.
[0093] In FIG. 10, an example in which the magnification correction processing unit 70, that is, the learning device 71, is provided in the control arithmetic unit 40a has been described. However, the present invention is not limited to this, and the learning device 71 may be provided separately from the control arithmetic unit 40a. In this case, correction information, a learned model, etc. calculated by the learning device 71 are stored in the shared area 433 of the storage unit 43 by being transmitted from the learning device 71 to the control arithmetic unit 40a, for example. Alternatively, correction information, a learned model, etc. calculated by the learning device 71 via a recording medium or the like may be transmitted to the control arithmetic unit 40a, or correction information, a learned model, etc. calculated by the learning device 71 via a recording medium or the like may be input to the control arithmetic unit 40a manually.
[0094] As described above, in the present embodiment, the learning device 71 calculates the actual amplitude, which is the amplitude in the actual tool path, using the detection results of the detector 102x and the detector 102z, calculates correction information using the commanded 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. As a result, the same effects as those of the first embodiment are achieved, and when displaying the waveform of the tool path on the waveform display screen with the display amplitude, a highly accurate waveform reflecting the state of the actual machine tool 11 can be displayed. Also, in the present embodiment, it is not necessary to pre-determine the correction information.
[0095] Next, the hardware configuration of the control arithmetic units 40 and 40a described in the first to third embodiments will be described. Each functional unit constituting the control arithmetic units 40 and 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 above processing circuit is implemented by dedicated hardware, the processing circuit 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 a configuration example of a control circuit 90 for realizing the control arithmetic units 40, 40a. The control arithmetic units 40, 40a may be realized 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 CPU (Central Processing Unit), a microprocessor, a microcomputer, a DSP (Digital Signal Processor), or the like. The memory 92 includes, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (registered trademark) (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like. Note that the computer system for realizing the control arithmetic units 40, 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 FIGS. 1 and 10 may be the input unit and the display unit of the computer system, respectively.
[0098] Here, an operation example of the computer system until the program of the present embodiment becomes executable will be described. A computer system having the above-described configuration is provided with, for example, a reading unit (not shown) that reads a recording medium on which a program is recorded, and the program read from the recording medium is installed in the memory 92. Then, the program read from the memory 92 at the time of program execution is stored in the main storage area of the memory 92. In this state, the processor 91 executes the processing as the control arithmetic units 40 and 40a of the present embodiment according to the program stored in the memory 92.
[0099] In the above description, a program (program product) that describes the processing in the control arithmetic units 40 and 40a is provided by a recording medium. However, the present invention is not limited to this, and for example, a program provided by a transmission medium such as the Internet may be used.
[0100] The program of the present embodiment causes a computer system to execute, for example, an acquisition step of acquiring vibration conditions of vibration cutting, a calculation step of calculating a movement path of a tool based on the acquired vibration conditions and the machine characteristics of a machine tool, a drawing step of displaying the calculated movement path of the tool, and a reception step of receiving a change in the vibration conditions input after the movement path of the tool is displayed.
[0101] The storage unit 43 shown in FIGS. 1 and 10 is a part of the memory 92 shown in FIG. 11. Each part shown in FIGS. 1 and 10 other than the storage unit 43 is realized by the program stored in the memory 92 shown in FIG. 11 being executed by the processor 91 shown in FIG. 11. The memory 92 is also used for realizing each part shown in FIGS. 1 and 10 other than the storage unit 43. In addition, a communication unit, an input / output interface circuit, etc. (not shown in FIG. 11) may be used for realizing each part shown in FIGS. 1 and 10 other than the storage unit 43. The communication unit includes a transmitter and a receiver.
[0102] Note that the control arithmetic units 40 and 40a may be implemented by a plurality of computer systems. For example, the control arithmetic units 40 and 40a may be implemented by a cloud system. Also, as described above, the setting support device may be provided separately from the control arithmetic units 40 and 40a. In this case, the setting support device is realized by, for example, the control circuit 90 illustrated in FIG. 11, that is, a computer system. Further, when the learning device 71 described above is provided separately from the numerical control device, the learning device 71 is also realized by, for example, the control circuit 90 illustrated in FIG. 11, that is, a computer system.
[0103] The configurations shown in the above embodiments are merely examples, and it is possible to combine them with other known technologies, combine the embodiments with each other, or omit or change a part of the configuration without departing from the gist.
Description of Reference Numerals
[0104] 1, 1a Numerical control system, 10 Driving unit, 11 Machine tool, 20 Input operation unit, 30 Display unit, 40, 40a Control arithmetic unit, 41 Input control unit, 42 Data setting unit, 43 Storage 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 Multiplication factor 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 assists in setting vibration conditions for vibratory cutting, in which a machine tool performs machining while moving the tool and the workpiece relative to each other, A unit for acquiring the vibration conditions of the aforementioned vibratory cutting, A calculation unit 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, A receiving unit that accepts changes to vibration conditions entered after the movement path of the tool is displayed, It has, The aforementioned vibration conditions include amplitude. The calculation unit modifies the amplitude acquired by the acquisition unit based on the mechanical characteristics, and uses the modified amplitude, which is the display amplitude, to calculate the movement path of the tool. The drawing unit displays the movement path of the tool calculated using the display amplitude. Setting support device.
2. The reception unit accepts changes to vibration conditions input based on a display of the tool's movement path calculated using the machine characteristics of the machine tool. The setting support device according to claim 1.
3. The calculation unit determines the displayed amplitude as the value obtained by multiplying the amplitude in the vibration condition acquired by the acquisition unit by a magnification factor. The setting support device according to claim 1.
4. The magnification can be changed by the manufacturer of the machine tool. The setting support device according to claim 3.
5. The machine tool is equipped with a servo motor that moves the tool and the workpiece relative to each other. The magnification is determined using a servo response parameter that indicates the responsiveness in the control of the servo motor. The setting support device according to claim 4.
6. A learning device that determines the magnification using the detection result of the position of the tool and the command value of the position of the tool. Equipped with, The setting support device according to claim 5.
7. The learning device further generates learning information showing the correspondence between the temperature of the machine tool and the magnification, using the temperature detection result detected by the temperature detector that detects the temperature of the machine tool. The calculation unit determines the magnification using the temperature detection result obtained from the temperature detector and the learning information, and determines the display amplitude using the determined magnification. The setting support device according to claim 6.
8. The command for the machine tool to perform the vibration cutting based on the vibration conditions acquired by the reception unit is reflected in the machining program for the machine tool to perform the machining. A setting support device according to any one of claims 1 to 7.
9. A device that displays and accepts input. Equipped with, The device displays a display screen that includes the tool's movement path and a vibration condition reception area for receiving input of vibration conditions for the vibratory cutting. A setting support device according to any one of claims 1 to 7.
10. A numerical control device that causes a machine tool to perform vibratory cutting, which involves moving the tool and the workpiece relative to each other, A unit for acquiring the vibration conditions of the aforementioned vibratory cutting, A calculation unit 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, A receiving unit that accepts changes to vibration conditions entered after the movement path of the tool is displayed, It has, The aforementioned vibration conditions include amplitude. The calculation unit modifies the amplitude acquired by the acquisition unit based on the mechanical characteristics, and uses the modified amplitude, which is the display amplitude, to calculate the movement path of the tool. The drawing unit displays the movement path of the tool calculated using the display amplitude. Numerical control device.
11. A setting support method in a setting support device that assists in setting vibration conditions for vibratory cutting, in which a machine tool performs machining while relatively moving the tool and the workpiece, A step to acquire the vibration conditions of the aforementioned vibratory cutting, A calculation step in which the movement path of the tool is calculated based on the vibration conditions obtained in the acquisition step and the mechanical characteristics of the machine tool, A drawing step which displays the movement path of the tool calculated in the calculation step, A receiving step that accepts changes to vibration conditions entered after the movement path of the tool is displayed, Includes, The aforementioned vibration conditions include amplitude. In the calculation step, the amplitude acquired in the acquisition step is modified based on the mechanical properties, and the movement path of the tool is calculated using the modified amplitude, which is the displayed amplitude. In the drawing step, the movement path of the tool calculated using the display amplitude is displayed. Setting support method.
12. In the computer system, A step to acquire the vibration conditions for vibratory cutting, in which a machine tool performs machining while moving the tool and the workpiece relative to each other, A calculation step in which the movement path of the tool is calculated based on the vibration conditions obtained in the acquisition step and the mechanical characteristics of the machine tool, A drawing step which displays the movement path of the tool calculated in the calculation step, A receiving step that accepts changes to vibration conditions entered after the movement path of the tool is displayed, Make it run, The aforementioned vibration conditions include amplitude. In the calculation step, the amplitude acquired in the acquisition step is modified based on the mechanical properties, and the movement path of the tool is calculated using the modified amplitude, which is the displayed amplitude. In the drawing step, the movement path of the tool calculated using the display amplitude is displayed. program.