Numerical control device and numerical control method

The numerical control device addresses the challenge of assessing drive mechanism deterioration in vibratory cutting by estimating component lifespan based on execution time and vibration conditions, ensuring timely maintenance and preventing failures.

JP7876663B2Active Publication Date: 2026-06-19MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-03-11
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing technologies fail to accurately assess the deterioration status of drive mechanisms in machine tools that perform vibratory cutting, as the movement patterns during vibratory cutting differ from normal cutting, leading to incomplete understanding of component wear.

Method used

A numerical control device that estimates the remaining lifespan of mechanical components in the drive mechanism by measuring the execution time and vibration conditions of vibratory cutting, using an estimation unit to determine the operating coefficient and cumulative time for each position on the ball screw.

Benefits of technology

Enables precise monitoring of drive mechanism deterioration in machine tools performing vibratory cutting, allowing for timely maintenance and preventing component failure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007876663000002
    Figure 0007876663000002
  • Figure 0007876663000003
    Figure 0007876663000003
  • Figure 0007876663000004
    Figure 0007876663000004
Patent Text Reader

Abstract

To provide a numerical control device that is able to grasp a state of deterioration of a drive mechanism resulting from vibration cutting in the drive mechanism of a machine tool that performs machining including the vibration cutting.SOLUTION: A numerical control device 1 includes an estimation unit 482 that estimates a remaining life of a mechanical component constituting a drive mechanism based on an execution time of vibration cutting. The drive mechanism is capable of vibrating a to-be-driven body at each of a plurality of positions in a direction of a center line, or a rotation center, of a ball screw. The estimation unit 482 obtains, as the remaining life of the mechanical component, a period in which vibration of the to-be-driven body at the current position can be continued based on a continuation value that is the execution time for the vibration cutting performed by continuing vibration of the to-be-driven body at a predetermined position.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a numerical control device and a numerical control method for controlling a machine tool. [Background technology]

[0002] Machine tools that perform cutting processes cut a workpiece by bringing the tool into contact with the workpiece and causing relative motion between the tool and the workpiece. In cutting processes that remove material from the surface of a workpiece, vibratory cutting is sometimes performed, in which the tool is vibrated at a low frequency while cutting. With vibratory cutting, by creating intervals in the tool's movement path where the cutting of the workpiece by the tool is interrupted, it becomes possible to cut the workpiece while breaking up the chips. By breaking the chips into shorter pieces, it is possible to prevent a decrease in machining accuracy caused by chips getting entangled in the workpiece or tool. In addition, by breaking the chips into shorter pieces, it is possible to reduce damage to the workpiece caused by chips coming into contact with the workpiece.

[0003] For machine tools used in cutting processes, it is desirable to be able to understand the deterioration status of the drive mechanism in order to plan maintenance, such as replacing parts, before the drive mechanism that moves the tool or workpiece becomes difficult to operate.

[0004] Patent Document 1 discloses a device for displaying the operating status of a drive mechanism that moves a moving body linearly via a ball screw, which displays information about the movement of the moving body in the ball screw, categorized by type of axial movement. According to the device disclosed in Patent Document 1, by classifying the axial movement into cutting feed, which moves the moving body when the workpiece is being cut, and rapid traverse, which moves the moving body when the workpiece is not being cut, and displaying the operating status, it becomes possible to grasp the condition of deterioration due to wear of the ball screw. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2019-91299 [Overview of the project] [Problems that the invention aims to solve]

[0006] In vibratory cutting, the driven object is vibrated while cutting is performed, so the movement of the driven object in vibratory cutting differs from that of normal cutting. Therefore, when performing vibratory cutting, the manner in which the mechanical components constituting the drive mechanism deteriorate differs from that of normal cutting. In the technology described in Patent Document 1, it is possible to grasp the deterioration status when normal cutting such as cutting feed and rapid traverse is performed, but the effect of deterioration due to vibratory cutting is not considered. Therefore, in the technology described in Patent Document 1, there was a problem that it was not possible to grasp the deterioration status of the drive mechanism caused by vibratory cutting in machine tools that perform machining including vibratory cutting.

[0007] This disclosure has been made in view of the above, and aims to provide a numerical control device that can grasp the state of deterioration of a drive mechanism caused by vibratory cutting in a machine tool that performs machining including vibratory cutting. [Means for solving the problem]

[0008] To solve the above-mentioned problems and achieve the objectives, the numerical control device according to this disclosure includes a drive mechanism This causes the driven object to vibrate. vibration cutting do This is a numerical control device for controlling a machine tool. The numerical control device according to this disclosure includes an estimation unit that estimates the remaining lifespan of the mechanical components constituting the drive mechanism based on the execution time of vibratory cutting. The drive mechanism is The system comprises a servo motor, a ball screw that rotates under the power of the servo motor, a bearing which is a mechanical component that rotatably supports the ball screw, and a table to which a driven object is attached. The system vibrates the driven object by converting the rotational motion of the ball screw into the linear motion of the table, and for each of the multiple positions on the ball screw, the system vibrates around that position. It is possible to vibrate the driven object. The estimation unit is For each of the multiple locations, the remaining life of the bearing is estimated by determining the time during which vibration cutting can be continued based on the execution time of vibration cutting. . [Effects of the Invention]

[0009] According to the numerical control device disclosed herein, it is possible to grasp the deterioration status of the drive mechanism of a machine tool that performs machining including vibration cutting, and thus an effect is achieved.

Brief Description of the Drawings

[0010] [Figure 1] Figure showing a configuration example of the numerical control device according to Embodiment 1 [Figure 2] Figure showing a configuration example of the drive mechanism provided in the machine tool controlled by the numerical control device according to Embodiment 1 [Figure 3] Figure showing a configuration example of the bearing provided in the drive mechanism shown in Figure 2 [Figure 4] Figure for explaining the relationship between the operation coefficient and the life referred to in the estimation unit of the numerical control device according to Embodiment 1 [Figure 5] Figure for explaining the relationship between the vibration condition and the operation coefficient referred to in the estimation unit of the numerical control device according to Embodiment 1 [Figure 6] Figure showing an example of the calculation results of the cumulative time and the effective operation coefficient by the numerical control device according to Embodiment 1 [Figure 7] Flowchart showing an example of the processing procedure executed by the numerical control device according to Embodiment 1 [Figure 8] Figure showing an example of the display of the remaining life estimated by the numerical control device according to Embodiment 1 [Figure 9] Figure showing an example of the display of a warning in the numerical control device according to Embodiment 1 [Figure 10] Figure showing an example of the vibration conditions set in advance in the numerical control device according to Embodiment 1 [Figure 11] Figure for explaining the change in the vibration waveform due to the change in the vibration conditions in Embodiment 1 [Figure 12] Figure showing an example of the result of measuring the continuous time of vibration cutting by the numerical control device according to Embodiment 2 [Figure 13]A flowchart showing an example of the processing procedure performed by the numerical control device according to Embodiment 2. [Figure 14] This figure shows an example of the hardware configuration of the control calculation unit included in the numerical control device according to Embodiment 1 or 2. [Modes for carrying out the invention]

[0011] The numerical control device and numerical control method according to the embodiment will be described in detail below with reference to the drawings.

[0012] Embodiment 1. Figure 1 shows an example configuration of the numerical control device 1 according to Embodiment 1. The numerical control (NC) device 1 is a computer that controls a machine tool that performs cutting operations. The machine tool controlled by the numerical control device 1 performs operations including vibratory cutting. The machine tool performs vibratory cutting by vibrating the driven body with a drive mechanism.

[0013] The numerical control device 1 comprises an input operation unit 2, an output unit 3, and a control calculation unit 4. Figure 1 shows the numerical control device 1 and a drive unit 7, which is a component of the machine tool. The drive unit 7 is connected to the control calculation unit 4. The numerical control device 1 generates various commands according to the machining program. The numerical control device 1 controls the machine tool by outputting the generated commands to the drive unit 7. Note that the drive unit 7 may be an element independent of the machine tool.

[0014] The machine tool is an NC machine tool. The machine tool cuts a workpiece by bringing the tool into contact with the workpiece and causing relative movement between the tool and the workpiece. The machine tool processes the workpiece into the desired shape by removing unwanted parts from the workpiece through cutting. In Embodiment 1, the machine tool processes the workpiece using the tool while moving the tool and workpiece relatively by two or more drive axes. In Embodiment 1, for example, the machine tool processes the workpiece by rotating the workpiece with the drive unit 7 and moving the tool in two directions, the X-axis and the Z-axis, with the drive unit 7. The X-axis is, for example, a vertical axis. The Z-axis is, for example, an axis parallel to the horizontal plane. The X-axis and Z-axis are perpendicular to each other. Note that the X-axis is not limited to a vertical axis, and the Z-axis is not limited to an axis parallel to the horizontal plane. The X-axis and Z-axis can be set as appropriate according to the configuration of the machine tool.

[0015] The drive unit 7 comprises a servo motor 71x, a detector 72x, and a servo control unit 73x. The servo motor 71x constitutes the X-axis drive mechanism. The X-axis drive mechanism is a drive mechanism that drives a tool for cutting a workpiece or a workpiece in the X-axis direction. In Embodiment 1, the X-axis drive mechanism is a drive mechanism that drives a tool in the X-axis direction. The servo motor 71x is the power source for the X-axis drive mechanism. The detector 72x detects the rotational position and rotational speed of the servo motor 71x. The detector 72x outputs position information indicating the rotational position of the servo motor 71x and speed information indicating the rotational speed of the servo motor 71x to the servo control unit 73x.

[0016] The numerical control unit 1 outputs a command to the servo control unit 73x to drive the tool in the X-axis direction. The servo control unit 73x performs feedback (FB) control of the servo motor 71x based on the command from the numerical control unit 1 and the position and velocity information from the detector 72x. The drive unit 7 operates the tool in the X-axis direction by FB control of the servo motor 71x. In addition, the drive unit 7 outputs position information detected by the detector 72x during vibratory cutting to the numerical control unit 1, thereby outputting information indicating the amount of vibration displacement in the X-axis direction to the numerical control unit 1. The amount of vibration displacement is the amount of tool movement relative to the workpiece during vibratory cutting. Hereinafter, the information on the amount of vibration displacement output from the drive unit 7 to the numerical control unit 1 will be referred to as the FB vibration displacement. That is, the drive unit 7 outputs the FB vibration displacement in the X-axis direction to the numerical control unit 1.

[0017] The drive unit 7 comprises a servo motor 71z, a detector 72z, and a servo control unit 73z. The servo motor 71z constitutes the Z-axis drive mechanism. The Z-axis drive mechanism is a drive mechanism that drives a tool for cutting a workpiece or a workpiece in the Z-axis direction. In Embodiment 1, the Z-axis drive mechanism is a drive mechanism that drives a tool in the Z-axis direction. The servo motor 71z is the power source for the Z-axis drive mechanism. The detector 72z detects the rotational position and rotational speed of the servo motor 71z. The detector 72z outputs position information indicating the rotational position of the servo motor 71z and speed information indicating the rotational speed of the servo motor 71z to the servo control unit 73z.

[0018] The numerical control device 1 outputs a command to the servo control unit 73z for driving the tool in the Z-axis direction. The servo control unit 73z performs FB control of the servo motor 71z based on the command from the numerical control device 1 and the position and speed information from the detector 72z. The drive unit 7 moves the tool in the Z-axis direction by controlling the FB of the servo motor 71z. In addition, the drive unit 7 outputs the amount of FB vibration displacement in the Z-axis direction to the numerical control device 1 by outputting the position information detected by the detector 72z during vibratory cutting to the numerical control device 1.

[0019] A machine tool comprises one or more tool posts. A drive mechanism drives the tool posts and tools. The tool posts and tools are driven objects driven by the drive mechanism. The tools are mounted on the tool posts. The drive unit 7 is equipped with a set of servo motors 71x, 71z, detectors 72x, 72z, and servo control units 73x, 73z for each tool post.

[0020] The drive unit 7 comprises a spindle motor 71s, a detector 72s, and a spindle control unit 73s. The spindle motor 71s rotates the spindle. The spindle is the axis that rotates the workpiece. The detector 72s detects the rotational position and rotational speed of the spindle motor 71s. The detector 72s outputs position information indicating the rotational position of the spindle motor 71s and speed information indicating the rotational speed of the spindle motor 71s to the spindle control unit 73s.

[0021] The numerical control device 1 outputs a command to the spindle control unit 73s to rotate the spindle. The spindle control unit 73s performs FB control of the spindle motor 71s based on the command from the numerical control device 1 and the position and speed information from the detector 72s. The drive unit 7 rotates the workpiece by controlling the FB of the spindle motor 71s.

[0022] A machine tool may be used to process one workpiece or to process two or more workpieces simultaneously. If the machine tool processes two or more workpieces simultaneously, the drive unit 7 is equipped with two or more sets of spindle motors 71s, detectors 72s, and spindle control units 73s. If the machine tool processes two or more workpieces simultaneously, the machine tool is equipped with, for example, two or more tool posts.

[0023] The input operation unit 2 is an input means for inputting information to the control calculation unit 4. The input operation unit 2 includes, for example, a keyboard, touch panel, buttons, or mouse. The input operation unit 2 is operated, for example, by a machine tool operator or machine tool maintenance worker. The input operation unit 2 receives information such as commands, machining program numbers, or parameters related to vibration cutting, and inputs the received information to the control calculation unit 4.

[0024] Output unit 3 is an output means that outputs information processed by control calculation unit 4. Output unit 3 includes, for example, a display means such as a liquid crystal display device. Output unit 3 displays the information processed by control calculation unit 4 on a screen. Note that output unit 3 is not limited to having a display means. Output unit 3 may also include an audio device such as a speaker. Furthermore, output unit 3 may output information to an external device of numerical control device 1. For example, numerical control device 1 may be connected to a network, and output unit 3 may transmit information via the network to a display device connected to the network or to a computer connected to the network.

[0025] The control calculation unit 4 includes an input control unit 41, a data setting unit 42, a storage unit 43, an output control unit 44, an analysis processing unit 45, a control signal processing unit 46, a PLC (Programmable Logic Controller) circuit unit 47, an interpolation processing unit 48, an acceleration / deceleration processing unit 49, an axis data input / output unit 50, and a data management unit 51. In the configuration shown in Figure 1, the PLC circuit unit 47 is located inside the control calculation unit 4, but the PLC circuit unit 47 may also be located outside the control calculation unit 4.

[0026] The input control unit 41 receives information from the input operation unit 2 and outputs the received information to the data setting unit 42. The data setting unit 42 stores the information from the input control unit 41 in the storage unit 43. In other words, the input information received by the input operation unit 2 is written to the storage unit 43 via the input control unit 41 and the data setting unit 42.

[0027] The storage unit 43 is a device for storing data, such as a non-volatile memory or a hard disk. The storage unit 43 includes a parameter storage area 431, a processing program storage area 432, a display data storage area 433, and a shared area 434.

[0028] The parameter storage area 431 stores various parameters used for processing by the control calculation unit 4. Specifically, the parameter storage area 431 stores control parameters for operating the numerical control device 1, servo parameters, tool data, and parameters related to vibration cutting.

[0029] The machining program storage area 432 stores the machining program, which is an NC program used for machining the workpiece. The machining program stored in the machining program storage area 432 includes one or more blocks. In Embodiment 1, the machining program includes commands such as a movement command, which is a command to move the tool, and a rotation command, which is a command to rotate the spindle.

[0030] The display data storage area 433 stores screen display data, which is the data for the screen displayed by the output unit 3. The shared area 434 stores data that the control calculation unit 4 temporarily uses when executing each process. For example, the machining program number received by the input operation unit 2 is written to the shared area 434 of the storage unit 43 via the input control unit 41 and the data setting unit 42.

[0031] The output control unit 44 causes the output unit 3 to display the screen display data stored in the display data storage area 433 of the storage unit 43.

[0032] In the control calculation unit 4, the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48 are connected to each other via the storage unit 43, and information is written to and read from the storage unit 43. Hereafter, explanations regarding the use of the storage unit 43 in the writing and reading of information between the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48 may be omitted.

[0033] The analysis processing unit 45 is connected to the storage unit 43. The analysis processing unit 45 refers to the machining program number written in the shared area 434. When the analysis processing unit 45 receives a selected machining program number from the shared area 434, it reads the machining program indicated by the selected machining program number from the machining program storage area 432 and performs analysis processing on each block of the machining program, i.e., each line of the machining program. The analysis processing unit 45 analyzes various codes such as the S code, which is a command for the rotational speed of the spindle motor 71s; the G code, which is a command related to axis movement, which is the movement of the tool; and the M code, which is a machine operation command. When the analysis processing of each line of the machining program is completed, the analysis processing unit 45 writes the analysis results of the various codes to the shared area 434.

[0034] The analysis processing unit 45 obtains the spindle rotation speed by analyzing the S code included in the machining program, if the machining program includes an S code. The analysis processing unit 45 writes the obtained rotation speed to the shared area 434.

[0035] If the machining program includes G-code, the analysis processing unit 45 analyzes the G-code included in the machining program to obtain the movement conditions, which are the conditions for tool feed. These movement conditions include the speed at which the tool post moves in the X-axis and Z-axis directions, as well as the destination position of the tool post in the X-axis and Z-axis directions. The analysis processing unit 45 writes the obtained movement conditions to the shared area 434.

[0036] Furthermore, if the machining program includes G-code for vibratory cutting, the analysis processing unit 45 analyzes the G-code included in the machining program to obtain vibration conditions, which are the conditions for vibration in vibratory cutting. The vibration conditions include the vibration frequency, which is the frequency at which the tool vibrates in vibratory cutting, and the amplitude at which the tool vibrates in vibratory cutting. The analysis processing unit 45 writes the obtained vibration conditions to the shared area 434.

[0037] The control signal processing unit 46 is connected to the PLC circuit unit 47 and receives signal information such as relays that operate the machine tool from the PLC circuit unit 47. The control signal processing unit 46 writes the received signal information to the shared area 434. The interpolation processing unit 48 refers to the signal information written to the shared area 434 during machining operations. In addition, when the analysis processing unit 45 outputs an auxiliary command to the shared area 434, the control signal processing unit 46 reads the auxiliary command from the shared area 434 and sends the auxiliary command to the PLC circuit unit 47. The auxiliary command is a command other than the command to operate the drive axis, which is a numerically controlled axis. The auxiliary command is, for example, an M code or a T code.

[0038] The interpolation processing unit 48 is connected to the storage unit 43, the acceleration / deceleration processing unit 49, and the data management unit 51. When the movement conditions and vibration conditions are written to the shared area 434, the interpolation processing unit 48 reads the movement conditions and vibration conditions from the shared area 434. Based on the read movement conditions and vibration conditions, the interpolation processing unit 48 generates the X-axis command vibration movement amount, which is a command for the amount of vibration movement in the X-axis direction, and the Z-axis command vibration movement amount, which is a command for the amount of vibration movement in the Z-axis direction. Hereinafter, the X-axis command vibration movement amount and the Z-axis command vibration movement amount will be collectively referred to as the command vibration movement amount. The interpolation processing unit 48 writes the generated command vibration movement amount to the shared area 434 and also outputs the generated command vibration movement amount to the acceleration / deceleration processing unit 49.

[0039] The acceleration / deceleration processing unit 49 is connected to the interpolation processing unit 48 and the axis data input / output unit 50. The acceleration / deceleration processing unit 49 obtains the command vibration displacement amount from the interpolation processing unit 48 and converts the command vibration displacement amount into a movement command per unit time that takes acceleration / deceleration into account according to a predetermined acceleration / deceleration pattern. The acceleration / deceleration processing unit 49 outputs the movement command per unit time to the axis data input / output unit 50.

[0040] The axis data input / output unit 50 is connected to the acceleration / deceleration processing unit 49 and the drive unit 7. The axis data input / output unit 50 receives a movement command per unit time from the acceleration / deceleration processing unit 49 and outputs the movement command per unit time to the drive unit 7. The axis data input / output unit 50 also receives the FB vibration displacement amount from the drive unit 7 and outputs the FB vibration displacement amount to the acceleration / deceleration processing unit 49. The acceleration / deceleration processing unit 49 receives the FB vibration displacement amount from the axis data input / output unit 50 and outputs the FB vibration displacement amount to the interpolation processing unit 48.

[0041] The interpolation processing unit 48 includes a measurement unit 481, an estimation unit 482, a vibration condition modification unit 483, a waveform generation unit 484, a vibration displacement amount generation unit 485, a machining program modification unit 487, and a stroke operation execution unit 488.

[0042] The measurement unit 481 measures the execution time during which vibratory cutting is performed. The estimation unit 482 estimates the remaining lifespan of the mechanical components constituting the drive mechanism based on the execution time of vibratory cutting and the operating coefficient based on the vibration conditions of vibratory cutting. Alternatively, the estimation unit 482 estimates the remaining lifespan of the mechanical components constituting the drive mechanism based on the number of vibrations of micro-vibrations associated with vibratory cutting. The numerical control device 1 estimates the state of deterioration of the drive mechanism caused by vibratory cutting by estimating the remaining lifespan of the mechanical components in the estimation unit 482. Micro-vibrations associated with vibratory cutting are vibrations based on the vibration conditions that vibrate the tool during vibratory cutting, and are, for example, vibrations transmitted to the mechanical components constituting the drive mechanism while vibratory cutting is being performed. The transmission of micro-vibrations associated with vibratory cutting to the mechanical components constituting the drive mechanism is a major factor that affects the deterioration of the mechanical components constituting the drive mechanism.

[0043] The first modification unit, the vibration condition modification unit 483, modifies the vibration conditions for vibration cutting. The vibration condition modification unit 483 proposes changes to the vibration conditions based on the remaining life estimated by the estimation unit 482, accepts instructions to change the vibration conditions, and modifies the vibration conditions according to the instructions.

[0044] The waveform generation unit 484 acquires vibration conditions from the analysis processing unit 45 and generates a vibration waveform, which is the basic waveform of vibration, based on the acquired vibration conditions. If the vibration conditions are changed by the vibration condition change unit 483, the waveform generation unit 484 generates a vibration waveform based on the changed vibration conditions.

[0045] The vibration displacement generation unit 485 determines, for example, the amount of vibration displacement in the Z-axis direction based on the vibration waveform generated by the waveform generation unit 484 and the movement path of the tool. Specifically, the vibration displacement generation unit 485 determines the vibration advance position and vibration retraction position for each vibration, thereby determining the Z-axis direction. direction The vibration displacement amount is generated. The vibration advance position is the position that is advanced from the tool's movement path by a distance corresponding to the amplitude shown in the vibration waveform. The vibration retreat position is the position that is retreated from the tool's movement path by a distance corresponding to the amplitude shown in the vibration waveform. The vibration displacement amount generation unit 485 generates the command vibration displacement amount by determining the vibration displacement amount.

[0046] The command vibration displacement amount generated by the vibration displacement amount generation unit 485 is sent to the drive unit 7 via the acceleration / deceleration processing unit 49 and the axis data input / output unit 50. The drive unit 7 performs vibration cutting based on the command vibration displacement amount sent from the vibration displacement amount generation unit 485. The drive unit 7 performs vibration cutting, for example, by controlling the servo motor 71z based on the Z-axis command vibration displacement amount.

[0047] The second modification unit, the machining program modification unit 487, modifies the machining program. Details of the modification of the machining program by the machining program modification unit 487 will be described later. The stroke operation execution unit 488 causes the drive mechanism to perform a stroke operation that rotates the bearing.

[0048] The data management unit 51 manages data for estimating the deterioration status of the drive mechanism. The data management unit 51 includes a ball screw data management unit 511 that manages data for estimating the deterioration status of the ball screw, and a bearing data management unit 512 that manages data for estimating the deterioration status of the bearing.

[0049] Next, an example of the drive mechanism configuration will be described. Figure 2 is a diagram showing an example of the drive mechanism configuration provided in a machine tool controlled by the numerical control device 1 according to Embodiment 1. Figure 2 shows an example of the configuration of the drive mechanism 8z, which is the Z-axis drive mechanism. The X-axis drive mechanism has the same configuration as the drive mechanism 8z.

[0050] The drive mechanism 8z comprises a servo motor 71z, a ball screw 81z, a tool post table 82z, and support mechanisms 83z1 and 83z2. The drive mechanism 8z is a mechanism that converts the rotational motion of the ball screw 81z, a mechanical component that rotates under the power of the servo motor 71z, into the linear motion of the table 82z. The tool is attached to the table 82z. In Figure 2, the tool is not shown. The drive mechanism 8z moves the tool in the Z-axis direction together with the table 82z.

[0051] The shaft 711z of the servo motor 71z and the ball screw 81z are connected via a coupling 84z. The power of the servo motor 71z is transmitted to the ball screw 81z via the coupling 84z. The ball screw 81z rotates under the power of the servo motor 71z. The centerline of rotation of the shaft 711z and the centerline of rotation of the ball screw 81z coincide with each other. The centerlines of the shaft 711z and the ball screw 81z are parallel to the Z-axis. Support mechanism 83z1 rotatably supports one end of the ball screw 81z. Support mechanism 83z2 rotatably supports the other end of the ball screw 81z.

[0052] The table 82z moves linearly due to the rotation of the ball screw 81z on the nut 85z. The drive mechanism 8z converts the rotational motion of the servo motor 71z into linear motion using the ball screw 81z and the nut 85z. Multiple balls 86z, which are rolling elements, are placed between the thread groove of the ball screw 81z and the thread groove of the nut 85z. The rotation of the balls 86z between the thread groove of the ball screw 81z and the thread groove of the nut 85z allows the ball screw 81z to rotate smoothly relative to the nut 85z. The double arrow 87 shown in Figure 2 indicates that the table 82z can move in the Z-axis direction. The tool moves in the Z-axis direction together with the table 82z.

[0053] The support mechanism 83z1 has a built-in bearing to allow the ball screw 81z to rotate smoothly relative to the support mechanism 83z1. The support mechanism 83z2 has a built-in bearing to allow the ball screw 81z to rotate smoothly relative to the support mechanism 83z2. Inside the servo motor 71z are two built-in bearings to allow the shaft 711z to rotate smoothly.

[0054] Figure 3 shows an example of the bearing configuration provided in the drive mechanism shown in Figure 2. Figure 3 shows an example of the configuration of bearing 712z, which is an internal bearing of servo motor 71z. Bearing 712z, which is an internal bearing of servo motor 71z, the internal bearing of support mechanism 83z1, and the internal bearing of support mechanism 83z2 have similar configurations to each other. Figure 3 shows a cross-section perpendicular to the center line of shaft 711z.

[0055] The bearing 712z comprises an outer ring 713z and an inner ring 714z. The inner ring 714z is fixed to the shaft 711z. The inner ring 714z rotates together with the shaft 711z. Multiple rolling elements, balls 715z, are mounted between the outer ring 713z and the inner ring 714z. The rotation of the balls 715z between the outer ring 713z and the inner ring 714z allows the inner ring 714z and the shaft 711z to rotate smoothly relative to the outer ring 713z. The double arrow 716 shown in Figure 3 indicates that the shaft 711z is rotatable. The double arrow 717 shown in Figure 3 indicates that the balls 715z are rotatable.

[0056] When the drive mechanism 8z is operated for a long period of time, the ball screw 81z may deteriorate due to the load it receives when the drive mechanism 8z is in operation. Deterioration of the ball screw 81z can occur, for example, as flaking, where the surface peels off, in the thread grooves of the ball screw 81z. Flaking of the ball screw 81z can worsen the positioning accuracy of the driven object by the drive mechanism 8z, and if it deteriorates further, it will reach the end of its lifespan and require replacement of the ball screw 81z. In addition, when performing vibration cutting, if there is an uneven distribution of the ball screw 81z in the position where the driven object is vibrated, uneven wear may occur, where the ball screw 81z is partially worn down. When performing vibration cutting, uneven wear can shorten the lifespan of the ball screw 81z.

[0057] The following describes the processes performed by the numerical control device 1, using vibratory cutting, which vibrates the driven body in the Z-axis direction, as an example. In Embodiment 1, the numerical control device 1 estimates the remaining lifespan of the ball screw 81z, which is a mechanical component, using the estimation unit 482. By estimating the remaining lifespan of the ball screw 81z, the numerical control device 1 estimates the deterioration of the ball screw 81z. The remaining lifespan is defined as the period remaining until the end of its lifespan.

[0058] Next, we will describe in detail the method for estimating the remaining life of the ball screw 81z in Embodiment 1. Here, we will describe an example in which the estimation unit 482 estimates the remaining life of the ball screw 81z, which is a mechanical component, based on the execution time of the vibratory cutting and the operating coefficient based on the vibration conditions of the vibratory cutting.

[0059] The estimation unit 482 estimates the remaining life based on the vibration frequency and the execution time measured by the measurement unit 481. The estimation unit 482 refers to the relationship between the life of the ball screw 81z and the operating coefficient that represents the manner of operation of the drive mechanism 8z in vibratory cutting, and estimates the remaining life of the ball screw 81z based on the cumulative value, which is the result of accumulating execution time, and the effective operating coefficient, which is the operating coefficient obtained from the vibration conditions, which are the conditions for vibration in vibratory cutting. The operating coefficient in this disclosure is a coefficient that is related to, for example, the frequency and magnitude of micro-vibrations associated with vibratory cutting. In the following description, the cumulative value, which is the result of accumulating execution time, will also be referred to as cumulative time. Here, the cumulative time for the ball screw 81z is the cumulative time since the start of use of the ball screw 81z currently in use.

[0060] Figure 4 is a diagram illustrating the relationship between the operating coefficient and lifespan referenced in the estimation unit 482 of the numerical control device 1 according to Embodiment 1. Figure 4 shows an example of a graph representing the relationship between the operating coefficient of the ball screw 81z and the lifespan of the ball screw 81z. In Figure 4, the vertical axis represents lifespan, and the horizontal axis represents the operating coefficient. The unit of lifespan is "hours (h)".

[0061] For commonly used ball screws, the relationship between the operating coefficient and lifespan is expressed by the following equation (1).

[0062]

number

[0063] In equation (1), L is the lifetime (h), N m is the average rotational speed (min -1 ), C is the basic dynamic load rating (N), F mα represents the average axial load (N), and α represents the operating coefficient. For example, when a ball screw is used for quiet operation without shock, the operating coefficient is set to a value within the range of 1.0 to 1.2. When a ball screw is used for normal operation, the operating coefficient is set to a value within the range of 1.2 to 1.5. When a ball screw is used for operation involving shock, the operating coefficient is set to a value within the range of 1.5 to 2.0. The operating coefficient of a ball screw used in a machine tool is also set to a value within the range of 1.2 to 2.0, although this depends on the operating conditions of the machine tool. However, in the case of the ball screw 81z in Embodiment 1, the operating coefficient will change depending on the vibration conditions of the vibration cutting.

[0064] The graph shown in Figure 4 is C=4400(N), F m =270(N), and N m =2100(min -1 The results show the lifespan of the ball screw 81z when the operating coefficient is varied within the range of 1.2 to 2.0. As shown in Figure 4, the larger the operating coefficient, the shorter the lifespan of the ball screw 81z. Note that C and F m , and N m Each of these values ​​varies depending on the configuration of the machine tool or the operating conditions of the machine tool. Therefore, the graph shown in Figure 4 will vary depending on the configuration of the machine tool or the operating conditions of the machine tool. Data representing the relationship between the operating coefficient of the ball screw 81z and the lifespan of the ball screw 81z is pre-registered in the parameter storage area 431.

[0065] Figure 5 is a diagram illustrating the relationship between vibration conditions and the operating coefficient referenced in the estimation unit 482 of the numerical control device 1 according to Embodiment 1. Figure 5 shows a table representing the relationship between the amplitude that vibrates the driven body in vibratory cutting, the vibration frequency in vibratory cutting, and the operating coefficient of the ball screw 81z. In Figure 5, the unit of amplitude is "μm" and the unit of vibration frequency is "Hz".

[0066] As shown in Figure 5, the larger the amplitude, the larger the operating coefficient. Also, the larger the vibration frequency, the larger the operating coefficient. The values ​​of the operating coefficients shown in Figure 5 are calculated in advance, for example, by actually operating the machine tool. Data representing the relationship between the amplitude, vibration frequency, and the operating coefficient of the ball screw 81z is pre-registered in the parameter storage area 431.

[0067] The estimation unit 482 estimates the remaining life of the ball screw 81z by referring to the relationship between the amplitude and vibration frequency and the operating coefficient of the ball screw 81z, as shown in Figure 5. Note that the relationship between the amplitude and vibration frequency and the operating coefficient of the ball screw 81z shown in Figure 5 is just one example. That is, the value of the operating coefficient of the ball screw 81z with respect to amplitude and vibration frequency is not limited to the value shown in Figure 5.

[0068] The drive mechanism 8z can vibrate the driven object at each of several positions along the center line of the ball screw 81z. The spacing between the positions of the ball screw 81z is, for example, equal to the screw pitch of the ball screw 81z. That is, the spacing between the positions of the ball screw 81z is equal to the amount of movement of the driven object when the ball screw 81z is rotated 360 degrees. Here, the spacing between the positions of the ball screw 81z is assumed to be, for example, 6 mm. The spacing between the positions of the ball screw 81z may be different from the screw pitch of the ball screw 81z and can be set arbitrarily. However, it is preferable for the spacing between the positions of the ball screw 81z to be fine.

[0069] The measurement unit 481 measures the execution time of vibration cutting at each position of the ball screw 81z. The interpolation processing unit 48 sends the measurement results from the measurement unit 481 to the data management unit 51. The ball screw data management unit 511 calculates the cumulative vibration cutting time for each position of the ball screw 81z by aggregating the execution time of vibration cutting for each position of the ball screw 81z. In this way, the ball screw data management unit 511 calculates the cumulative vibration cutting time due to the vibration of the driven body at each of the multiple positions on the ball screw 81z.

[0070] In addition, the ball screw data management unit 511 calculates the effective operation coefficient for each position of the ball screw 81z. The ball screw data management unit 511 calculates the effective operation coefficient for each of the plurality of positions based on the cumulative time calculated for each of the plurality of positions and the vibration conditions when the driven body is vibrated at each of the plurality of positions.

[0071] Here, let the plurality of positions on the ball screw 81z be n positions from P x1 to P xn . n is an integer of 2 or more. For each position from P x1 to P xn , the value of the cumulative time and the effective operation coefficient for each position from P x1 to P xn are stored in the shared area 434.

[0072] For example, when vibration cutting due to vibration of the driven body at P x1 is executed, the value of the execution time measured for vibration cutting due to vibration of the driven body at P x1 is added to the value of the cumulative time stored for P x1 . Thereby, the ball screw data management unit 511 updates the cumulative time for P x1 . In the following description, vibration cutting due to vibration of the driven body at P x1 is referred to as the vibration cutting of P x1 . Each time the vibration cutting of P x1 is executed, the ball screw data management unit 511 updates the cumulative time for P x1 .

[0073] The ball screw data management unit 511 obtains the operation coefficient of the ball screw 81z when the vibration cutting of P x1 is executed, based on the amplitude and vibration frequency which are the vibration conditions in the vibration cutting of P x1 . The ball screw data management unit 511 refers to the relationship between the amplitude and vibration frequency as shown in FIG. 5 and the operation coefficient of the ball screw 81z, and for P x1The operating coefficient for vibration cutting is determined. The ball screw data management unit 511 obtains the amplitude and vibration frequency values ​​by, for example, reading the vibration conditions written to the shared area 434 by the analysis processing unit 45 from the shared area 434 via the interpolation processing unit 48. If the vibration frequency and amplitude are measured by the measurement unit 481, the ball screw data management unit 511 may also obtain the vibration frequency and amplitude values ​​from the measurement unit 481.

[0074] The ball screw data management unit 511 is P x1 By calculating the weighted average of the operating coefficients obtained each time vibration cutting is performed, P x1 Calculate the effective operating coefficient for P. For example, from the time the currently used ball screw 81z is put into use P x1 Assuming that the vibration cutting has been performed k times, the ball screw data management unit 511 calculates P using the following equation (2). x1 The effective operating coefficient for [the specified value] is calculated. k is an integer greater than or equal to 2. P x1 Effective operating coefficient for the first P = {(P x1 Vibration cutting execution time × 1st P x1 (Operating coefficient for vibration cutting) + ... + (P for the kth term) x1 The execution time of the vibratory cutting × the kth P x1 (Operating coefficient for vibration cutting) / (P x1 (Cumulative time regarding) ... (2)

[0075] The ball screw data management unit 511 is P x1 Each time vibration cutting is performed, P x1 The effective operating coefficient for the ball screw is updated. The ball screw data management unit 511 updates the effective operating coefficient for the ball screw 81z at P x1 For all other positions, P x1 As in the previous case, the cumulative time and effective operating coefficient are calculated. In this way, the ball screw data management unit 511 calculates the cumulative time for each of the multiple positions of the ball screw 81z and the effective operating coefficient for each of the multiple positions of the ball screw 81z.

[0076] In the above explanation, the effective operating coefficient is calculated by referring to the relationship between amplitude, vibration frequency, and the operating coefficient of the ball screw 81z; however, the method for calculating the effective operating coefficient is not limited to this.

[0077] Figure 6 shows an example of the calculation results of cumulative time and effective operating coefficient by the numerical control device 1 according to Embodiment 1. Figure 6 shows a bar graph representing the cumulative time for each of the multiple positions on the ball screw 81z. The numbers shown above each bar graph represent the effective operating coefficient for each of the multiple positions. The ball screw position is defined as each of the multiple positions on the ball screw 81z being expressed by the distance from the reference position of the ball screw 81z. In Figure 6, the vertical axis represents the cumulative time of vibration cutting. The horizontal axis represents the ball screw position. In Figure 6, the unit of cumulative time is "hours (h)" and the unit of ball screw position is "mm".

[0078] In Figure 6, vibratory cutting with the ball screw position at 120 mm is designated as Case (A), vibratory cutting with the ball screw position at 126 mm is designated as Case (B), and vibratory cutting with the ball screw position at 132 mm is designated as Case (C). In the examples shown in Figure 6, in Case (A), the cumulative time is 4300 hours and the effective operating coefficient is 1.6. In Case (B), the cumulative time is 4800 hours and the effective operating coefficient is 1.56. In Case (C), the cumulative time is 4500 hours and the effective operating coefficient is 1.65. Note that in Figure 6, the notations "(A)", "(B)", and "(C)" represent Case (A), Case (B), and Case (C), respectively.

[0079] The estimation unit 482 estimates the life of each of the multiple positions of the ball screw 81z based on the effective operating coefficient for each of the multiple positions of the ball screw 81z. The estimation unit 482 estimates the life of each of the multiple positions of the ball screw 81z by referring to the relationship between the operating coefficient of the ball screw 81z and the life of the ball screw 81z, as shown in Figure 4.

[0080] The estimation unit 482 estimates the remaining life of each of the multiple positions of the ball screw 81z by subtracting the cumulative time calculated by the ball screw data management unit 511 from the estimated life time for each position of the ball screw 81z. In this way, the estimation unit 482 estimates the remaining life of the ball screw 81z based on the cumulative time and the effective operating coefficient, by referring to the relationship between the operating coefficient of the ball screw 81z and the life of the ball screw 81z. The estimation unit 482 estimates the remaining life based on the effective operating coefficient obtained based on the vibration frequency and amplitude, and the cumulative time which is the result of accumulating the execution time.

[0081] The estimation unit 482 compares the estimated remaining lifespan for each of the multiple positions with a preset first threshold. The first threshold is a threshold for determining whether the ball screw 81z needs to be replaced. If the estimated remaining lifespan for each of the multiple positions includes a remaining lifespan less than or equal to the first threshold, the interpolation processing unit 48 instructs the output control unit 44 via the storage unit 43 to output a warning that the ball screw 81z needs to be replaced. Upon receiving the instruction from the interpolation processing unit 48, the output control unit 44 reads screen display data for displaying a warning that the ball screw 81z needs to be replaced from the display data storage area 433 and outputs the read screen display data to the output unit 3. The output unit 3 displays the warning shown in the screen display data. In this way, the numerical control device 1 calculates the estimated remaining lifespan for, for example, one predetermined position among the multiple positions. but Remaining life below the first threshold That is In some cases, a warning is output indicating that the ball screw 81z needs to be replaced. This allows the numerical control device 1 to inform the operator or machine tool maintenance personnel that it is time to replace the ball screw 81z.

[0082] The estimation unit 482 compares the estimated remaining life for each of the multiple locations with a preset second threshold. The second threshold is used to determine whether or not to propose a change in the vibration conditions during vibration cutting. If the estimated remaining life for each of the multiple locations includes a remaining life below the second threshold, the estimation unit 482 instructs the vibration condition change unit 483 to calculate the life extension conditions. The life extension conditions are vibration conditions that are expected to extend the life of the ball screw 81z compared to performing future vibration cutting under the current vibration conditions.

[0083] The vibration condition modification unit 483 calculates the life extension conditions according to instructions from the estimation unit 482. The vibration condition modification unit 483 also instructs the output control unit 44 via the storage unit 43 to propose a change in vibration conditions to the calculated life extension conditions. Upon receiving instructions from the vibration condition modification unit 483, the output control unit 44 reads screen display data from the display data storage area 433 to display a message prompting a change in vibration conditions, and outputs the read screen display data to the output unit 3. The output unit 3 displays a message prompting a change in vibration conditions according to the screen display data. In this way, the vibration condition modification unit 483 proposes a change in the vibration conditions for vibration cutting based on the remaining life estimated by the estimation unit 482.

[0084] The numerical control device 1 receives a request to change the proposed vibration conditions on the screen displayed on the output unit 3. The operator inputs the vibration condition change request to the numerical control device 1 by operating the input operation unit 2. The input control unit 41 sends the vibration condition change request to the interpolation processing unit 48 via the data setting unit 42 and the storage unit 43. The vibration condition change unit 483 changes the vibration conditions according to the vibration condition change request. The numerical control device 1 causes the machine tool to perform vibration cutting under the changed vibration conditions. The numerical control device 1 can take measures to extend the life of the ball screw 81z by changing the vibration conditions to the calculated life extension conditions.

[0085] Next, the procedure for processing performed by the numerical control device 1 according to Embodiment 1 will be described. Figure 7 is a flowchart showing an example of the procedure for processing performed by the numerical control device 1 according to Embodiment 1. Here, an example of processing performed by the numerical control device 1 when vibratory cutting is performed by a machine tool will be described. In the following description, the vibration frequency before the vibration conditions are changed will be assumed to be, for example, 90.9 Hz. The numerical control device 1 will appropriately calculate the effective operating coefficient for each of the multiple positions on the ball screw 81z from the vibration conditions of the vibratory cutting performed, i.e., the vibration frequency and vibration amplitude.

[0086] When vibration cutting by the machine tool is started, in step S1, the measurement unit 481 measures the execution time of vibration cutting. The machine tool performs vibration cutting when the vibration cutting mode, one of the machine tool's operating modes, is turned on. For example, when the vibration cutting mode is turned on and the measurement unit 481 receives a command to start cutting, it starts measuring the execution time of vibration cutting. When the vibration cutting by the machine tool is finished, the measurement unit 481 stops measuring the execution time of vibration cutting. For example, when the vibration cutting mode is turned on and the measurement unit 481 receives a command to end cutting, it stops measuring the execution time of vibration cutting.

[0087] The measurement unit 481 measures the execution time of vibration cutting at each of several positions on the ball screw 81z. The execution time values ​​measured by the measurement unit 481 are sent to the data management unit 51. The ball screw data management unit 511 reads the cumulative time values ​​stored for each of the multiple positions from the shared area 434 and adds the execution time value measured in step S1 to the read cumulative time value. The ball screw data management unit 511 saves the cumulative time value with the execution time value added to it in the shared area 434. This updates the cumulative time value stored in the shared area 434.

[0088] In step S2, the estimation unit 482 estimates the remaining life of each of the multiple positions of the ball screw 81z. The estimation unit 482 reads the effective operating coefficient for each of the multiple positions of the ball screw 81z from the shared area 434 and estimates the life of each of the multiple positions of the ball screw 81z based on the effective operating coefficient. The estimation unit 482 reads the cumulative time value for each of the multiple positions of the ball screw 81z from the shared area 434 and estimates the remaining life of each of the multiple positions of the ball screw 81z by subtracting the cumulative time from the estimated life.

[0089] The estimation unit 482 stores the estimated remaining lifespan for each of the multiple positions of the ball screw 81z in the shared area 434. The output control unit 44 reads the estimated remaining lifespan for each of the multiple positions of the ball screw 81z from the shared area 434. The output control unit 44 also reads screen display data for displaying the remaining lifespan for each of the multiple positions of the ball screw 81z from the display data storage area 433. The output control unit 44 outputs screen display data reflecting the estimated remaining lifespan to the output unit 3. The output unit 3 displays the remaining lifespan according to the screen display data. A specific example of the display of the remaining lifespan will be described later.

[0090] In step S3, the estimation unit 482 determines whether the remaining life estimated in step S2 is less than or equal to a first threshold. The first threshold is, for example, 0 hours. If the first threshold is 0 hours, then the remaining life being less than or equal to the first threshold means that the estimated life has been exceeded. Note that the first threshold is not limited to 0 hours, but may be a value greater than 0 hours.

[0091] If the remaining lifespan of at least one of the multiple positions is less than or equal to the first threshold (step S3, Yes), in step S4, the output unit 3 outputs a warning indicating that the ball screw 81z needs to be replaced. For example, the output unit 3 displays a warning screen containing a message warning that the ball screw 81z needs to be replaced. A specific example of the warning screen will be described later. By completing step S4, the numerical control device 1 terminates the processing according to the procedure shown in Figure 7.

[0092] If the remaining lifespan at any of the multiple locations is not less than or equal to the first threshold (step S3, No), in step S5, the estimation unit 482 determines whether the remaining lifespan estimated in step S2 is less than or equal to the second threshold. The second threshold is, for example, 3000 hours. The second threshold is not limited to 3000 hours, and may be a value greater than 3000 hours or a value less than 3000 hours.

[0093] If the remaining lifespan for at least one of the multiple locations is less than or equal to the second threshold (step S5, Yes), the estimation unit 482 instructs the vibration condition modification unit 483 to calculate the life extension conditions. In step S6, the vibration condition modification unit 483 calculates the life extension conditions. Details of the method for calculating the life extension conditions will be described later. The vibration condition modification unit 483 also proposes changes to the vibration conditions to match the calculated life extension conditions.

[0094] Now, let's assume that the numerical control device 1 has received the instruction to change the vibration conditions as proposed. Upon receiving the instruction to change the vibration conditions as proposed, in step S7, the vibration condition change unit 483 changes the vibration conditions according to the instruction to change the vibration conditions. Upon completing step S7, the numerical control device 1 finishes the process according to the procedure shown in Figure 7.

[0095] If the remaining lifespan at any of the multiple locations is not below the second threshold (step S5, No), the numerical control device 1 terminates the process according to the procedure shown in Figure 7. If the proposed changes to the vibration conditions are not made, the numerical control device 1 terminates the process according to the procedure shown in Figure 7 without changing the vibration conditions. If neither a warning nor a change in vibration conditions is made, the numerical control device 1 terminates the process according to the procedure shown in Figure 7 and then executes the process according to the procedure shown in Figure 7 again.

[0096] Figure 8 shows an example of the display of the remaining life estimated by the numerical control device 1 according to Embodiment 1. Figure 8 shows how a bar graph representing the remaining life is displayed on the screen displayed by the output unit 3. In the example shown in Figure 8, along with the bar graph representing the remaining life, a curve graph showing the relationship between the operating coefficient of the ball screw 81z and the life of the ball screw 81z is displayed. This curve graph is the same as the graph shown in Figure 4. Figure 8 shows three bar graphs representing the remaining life for the above cases (A), (B), and (C) as an example of the display of remaining life. In Figure 8, the notations "(A)", "(B)", and "(C)" represent cases (A), (B), and (C), respectively, and are included for explanatory purposes. The notations "(A)", "(B)", and "(C)" in Figure 8 are not included in the screen display.

[0097] The bar graph for case (A) is centered at "1.6" on the horizontal axis. "1.6" is the effective operating coefficient for case (A). The "120" shown in the bar graph for case (A) indicates that the ball screw position for case (A) is 120 mm. The shaded portion of the bar graph for case (A) represents the cumulative time of vibration cutting at the ball screw position of 120 mm to date. The dashed portion of the bar graph for case (A) represents the remaining time that vibration cutting at the ball screw position of 120 mm is possible from now on, i.e., the remaining life for the ball screw position of 120 mm. The "3700" shown in the bar graph for case (A) indicates that the remaining life is 3700 hours.

[0098] The bar graph for case (B) is centered at "1.56" on the horizontal axis. "1.56" is the effective operating coefficient for case (B). The "126" shown in the bar graph for case (B) indicates that the ball screw position for case (B) is 126 mm. The shaded portion of the bar graph for case (B) represents the cumulative time of vibration cutting at the ball screw position of 126 mm to date. The dashed portion of the bar graph for case (B) represents the remaining time that vibration cutting is possible at the ball screw position of 126 mm from now on, i.e., the remaining life at the ball screw position of 126 mm. The "4300" shown in the bar graph for case (B) indicates that the remaining life is 4300 hours.

[0099] The bar graph for case (C) is centered at "1.65" on the horizontal axis. "1.65" is the effective operating coefficient for case (C). The "132" shown in the bar graph for case (C) indicates that the ball screw position for case (C) is 132 mm. The shaded portion of the bar graph for case (C) represents the cumulative time of vibration cutting at the ball screw position of 132 mm to date. The dashed portion of the bar graph for case (C) represents the remaining time that vibration cutting is possible at the ball screw position of 132 mm from now on, i.e., the remaining life at the ball screw position of 132 mm. The "3000" shown in the bar graph for case (C) indicates that the remaining life is 3000 hours.

[0100] In the example shown in Figure 8, of cases (A), (B), and (C), only case (C) satisfies the requirement that the remaining lifespan is less than or equal to the second threshold of 3000 hours.

[0101] In the example shown in Figure 8, the bar graph for case (C) displays a mark 31 indicating that the remaining lifespan is below the second threshold. The mark 31 shown in Figure 8 is star-shaped. The shape of the mark 31 is not limited to a star and can be arbitrary. The output unit 3 may also indicate that the remaining lifespan is below the second threshold by means other than the mark 31. The indication that the remaining lifespan is below the second threshold only needs to be such that the operator or maintenance personnel can recognize that the remaining lifespan is below the second threshold.

[0102] In the example shown in Figure 8, the remaining lifespan for each position of the ball screw 81z is shown using a bar graph and a numerical value indicating the remaining lifespan in time. However, the method of displaying the remaining lifespan is not limited to that shown in Figure 8. The display of the remaining lifespan only needs to allow the operator or maintenance worker to recognize the remaining lifespan for each position of the ball screw 81z. For example, the output unit 3 may display the remaining lifespan using only a numerical value indicating the remaining lifespan in time.

[0103] The vibration condition modification unit 483 calculates the life extension conditions for case (C). The method for calculating the life extension conditions will be described later. In the example shown in Figure 8, the output unit 3 displays a message 32 on the screen that includes wording prompting a change in the vibration conditions. In the example shown in Figure 8, it is estimated that the remaining life will be extended from 3000 hours to 3270 hours by changing the vibration conditions to the calculated life extension conditions. Message 32 includes wording that the life of the ball screw 81z can be extended from 3000 hours to 3270 hours. Message 32 also includes wording prompting advance ordering of the ball screw 81z.

[0104] The display of message 32 on the screen allows the operator or maintenance worker to recognize the need to change the vibration conditions of the vibratory cutting machine. The operator or maintenance worker can then decide whether or not to change the vibration conditions, taking into account the need to do so.

[0105] Furthermore, in the example shown in Figure 8, the output unit 3 displays a button 33 for selecting to change the vibration conditions and a button 34 for selecting not to change the vibration conditions on the screen. When the operator or maintenance worker presses button 33, information indicating that a change in vibration conditions has been selected, i.e., a vibration condition change instruction, is sent to the interpolation processing unit 48 via the input control unit 41, data setting unit 42, and storage unit 43. When the vibration condition change instruction is input to the vibration condition change unit 483, it changes the vibration conditions from the current vibration conditions to the life extension conditions. On the other hand, when the operator or maintenance worker presses button 34, information indicating that not changing the vibration conditions has been selected is sent to the interpolation processing unit 48 via the input control unit 41, data setting unit 42, and storage unit 43. When this information is input to the vibration condition change unit 483, the current vibration conditions are maintained without change.

[0106] Message 32 and buttons 33, 34 are displayed when the estimated remaining lifespan for each of the multiple locations includes a remaining lifespan below the second threshold. Note that the layout of the screen displaying the remaining lifespan is not limited to that shown in Figure 8. The position and size of the remaining lifespan display, message 32, and buttons 33, 34 on the screen are arbitrary.

[0107] Figure 9 shows an example of a warning display in the numerical control device 1 according to Embodiment 1. Figure 9 shows the warning message 36 displayed on the warning screen displayed by the output unit 3. Message 36 contains wording prompting the replacement of the ball screw 81z. The warning screen is displayed when the estimated remaining life for each of the multiple positions includes a remaining life below the first threshold.

[0108] In the example shown in Figure 9, the warning screen displays a curve graph showing the relationship between the operating coefficient of the ball screw 81z and the lifespan of the ball screw 81z. This curve graph is the same as the graph shown in Figure 4. In addition, in the example shown in Figure 9, along with the curve graph, a bar graph showing the cumulative time for each of several positions on the ball screw 81z is displayed. Figure 9 shows three bar graphs representing the cumulative time for three different cases as an example of displaying cumulative time. Here, these three cases are referred to as Case (A'), Case (B'), and Case (C'). In Figure 9, the notations "(A')", "(B')", and "(C')" represent Case (A'), Case (B'), and Case (C'), respectively, and are included for explanatory purposes. The notations "(A')", "(B')", and "(C')" in Figure 9 are not included in the screen display.

[0109] Case (A') is a vibration cutting machine with a ball screw position of 120 mm and an effective operating coefficient of 1.6. Case (A') is the same as Case (A) in terms of ball screw position and effective operating coefficient, but the cumulative time is different. Case (B') is a vibration cutting machine with a ball screw position of 126 mm and an effective operating coefficient of 1.56. Case (B') is the same as Case (B) in terms of ball screw position and effective operating coefficient, but the cumulative time is different. Case (C') is a vibration cutting machine with a ball screw position of 132 mm and an effective operating coefficient of 1.65. Case (C') is the same as Case (C) in terms of ball screw position and effective operating coefficient, but the cumulative time is different. Here, we have explained the cases where the effective operating coefficients are 1.56, 1.6, and 1.65, Effectiveness Even if the value of the operating coefficient differs from that in this case, the same determination can be made.

[0110] In Figure 9, the difference between the lifetime shown by the curve graph, i.e., the estimated lifetime, and the cumulative time shown by the bar graph, corresponds to the remaining lifetime. In the example shown in Figure 9, of cases (A'), (B'), and (C'), only case (A') satisfies the requirement that the remaining lifetime is less than or equal to the first threshold of 0 hours.

[0111] In the example shown in Figure 9, the bar graph for case (A') displays a mark 35 indicating that the remaining lifespan is below the first threshold. The mark 35 shown in Figure 9 is star-shaped. The shape of the mark 35 is not limited to a star and can be arbitrary. The output unit 3 may also indicate that the remaining lifespan is below the first threshold by means other than the mark 35. The indication that the remaining lifespan is below the first threshold only needs to be such that the operator or maintenance personnel can recognize that the remaining lifespan is below the first threshold.

[0112] The display of message 36 on the warning screen allows operators or maintenance personnel to recognize that it is time to replace the ball screw 81z. Furthermore, the display of a lifespan graph along with message 36 on the warning screen allows operators or maintenance personnel to intuitively understand the deterioration status of the ball screw 81z.

[0113] In the example shown in Figure 9, the warning screen displays a graph showing the lifespan along with message 36. However, the output unit 3 may display only message 36 on the warning screen.

[0114] Next, we will explain how to calculate the life extension conditions. Here, we will explain an example of calculating the life extension conditions by selecting a pattern that can serve as a life extension condition from a set of pre-defined vibration conditions.

[0115] Figure 10 is a diagram showing an example of pre-set vibration conditions in the numerical control device 1 according to Embodiment 1. Figure 10 shows an example of vibration conditions that enable vibratory cutting, that is, conditions that enable chip breakage. Both the vibration conditions before and after the change are vibration conditions selected from a plurality of pre-set vibration conditions that enable vibratory cutting.

[0116] In the example shown in Figure 10, the pre-set vibration conditions are the number of vibrations per spindle revolution, the spindle rotation speed, and the vibration frequency. The pre-set set of vibration conditions is the set of the number of vibrations per spindle revolution, the spindle rotation speed, and the vibration frequency. In Figure 10, the unit of the number of vibrations per spindle revolution is "times", the unit of the spindle rotation speed is "r / min", and the unit of the vibration frequency is "Hz". The vibration frequency is uniquely determined from the number of vibrations per spindle revolution and the spindle rotation speed.

[0117] The vibration condition modification unit 483 selects one of several pre-set sets of vibration conditions as the modified vibration condition, i.e., the life extension condition. In the modified vibration condition, at least one of the vibration frequency, vibration frequency, and vibration number per spindle revolution is changed from the vibration condition before modification.

[0118] As shown in Figure 4, reducing the operating coefficient extends the lifespan of the ball screw 81z. Also, as shown in Figure 5, reducing the vibration frequency can reduce the operating coefficient. Therefore, the vibration condition change unit 483 calculates vibration conditions such that the vibration frequency is at least lower than before the change in vibration conditions as the life-extending conditions. Since the vibration frequency is uniquely determined by the number of vibrations per spindle revolution and the spindle rotation speed, the vibration frequency is changed by changing at least one of the number of vibrations per spindle revolution and the spindle rotation speed.

[0119] In the example shown in Figure 10, the vibration conditions before the change are: vibration frequency of "1.5 times" per spindle revolution, spindle rotation speed of "3636 r / min", and vibration frequency of "90.9 Hz". The vibration conditions after the change are: vibration frequency of "1.5 times" per spindle revolution, spindle rotation speed of "3333 r / min", and vibration frequency of "83.3 Hz". In this example, the spindle rotation speed is changed from "3636 r / min" to "3333 r / min", and the vibration frequency is changed from "90.9 Hz" to "83.3 Hz". Since the vibration frequency after the change is lower than the vibration frequency before the change, the lifespan of the ball screw 81z can be extended by changing the vibration conditions after the change.

[0120] Furthermore, the greater the change in vibration conditions, for example, if both the number of vibrations per spindle revolution and the spindle rotation speed change significantly, the machining conditions will change drastically as a result of the change in vibration conditions. For this reason, in the example shown here, only the spindle rotation speed is changed, while the number of vibrations per spindle revolution remains unchanged.

[0121] Furthermore, if you want to extend the lifespan even further than in the above example, you can consider keeping the spindle rotation speed approximately the same as before and reducing the number of vibrations per spindle revolution. For example, you could change the number of vibrations per spindle revolution from "1.5 times" to "0.5 times" and change the spindle rotation speed from "3636 r / min" to "3529 r / min". In this case, since the number of vibrations per spindle revolution decreases, the chips will be longer than in the above example. For example, if the chips become longer due to a change in vibration conditions, the numerical control device 1 may display a warning to the operator or maintenance personnel at the output unit 3.

[0122] The method for calculating the life extension conditions is not limited to the method described above. For example, the vibration condition changing unit 483 may receive a desired life extension time as input to the numerical control device 1, and then change at least one of the number of vibrations per spindle revolution and the spindle rotation speed by working backward from the input life extension time.

[0123] Next, we will explain the changes in vibration waveforms due to changes in vibration conditions. Figure 11 is a diagram illustrating the changes in vibration waveforms due to changes in vibration conditions in Embodiment 1. The upper part of Figure 11 shows an example of a vibration waveform before changing the vibration conditions. The lower part of Figure 11 shows an example of a vibration waveform after changing the vibration conditions. In both the upper and lower parts of Figure 11, the vertical axis represents the axis position and the horizontal axis represents time. The axis position is the position of the driven object in the direction of vibration.

[0124] In Figure 11, the vibration frequency before the change is 90.9 Hz, and the vibration frequency after the change is 83.3 Hz. CT1 represents the vibration period before the change in vibration conditions. CT2 represents the vibration period after the change in vibration conditions. In the upper and lower panels of Figure 11, C represents the vibration waveform of the nth period. n And the oscillation waveform of the (n+1)th period is C. n+1This shows that n is an arbitrary integer. In the upper and lower panels of Figure 11, S represents the idle region. The idle region is the area of ​​the tool's movement path where it does not contact the workpiece and no cutting occurs, i.e., the region where the tool idles. In the idle region, the chips generated up to that point are broken up. In the upper and lower panels of Figure 11, the idle region is the region below the vibration waveform of the nth period and the region above the vibration waveform of the (n+1)th period.

[0125] By changing the vibration conditions in the vibration condition changing unit 483, as shown in Figure 11, it is possible to lower the vibration frequency while maintaining the state in which a free-swinging region occurs even after changing the vibration conditions. As a result, the numerical control device 1 can calculate vibration conditions that allow for vibration cutting, that is, conditions that allow cutting while breaking up chips, while also extending the lifespan of the mechanical components. Note that the vibration waveform shown in Figure 11 may be based on either the vibration waveform based on the command value or the vibration waveform based on the FB value, as long as the vibration waveform based on the measured value satisfies the conditions that allow for vibration cutting.

[0126] By lowering the vibration frequency from 90.9 Hz to 83.3 Hz, the remaining life after the change in vibration conditions can be expected to be extended by approximately 1.09 times (=90.9 Hz / 83.3 Hz) compared to when the original vibration conditions are maintained. Therefore, in case (C) shown in Figure 8, if the same processing is performed after the change in vibration conditions as before, the remaining life can be extended from 3000 hours to 3270 hours (=3000 hours × 1.09), an extension of 270 hours. The vibration condition change unit 483 estimates that the remaining life can be extended from 3000 hours to 3270 hours and displays a message 32 that includes wording indicating that the life of the ball screw 81z can be extended from 3000 hours to 3270 hours.

[0127] The numerical control device 1 can extend the lifespan of the ball screw 81z while enabling vibration cutting by changing the vibration conditions to life extension conditions calculated based on the estimated remaining lifespan.

[0128] In the above description, the estimation unit 482 estimates the remaining life of the ball screw 81z based on the cumulative time, which is the result of accumulating the execution time of the vibratory cutting, and the effective operating coefficient. The estimation unit 482 may also estimate the remaining life of the ball screw 81z based on the cumulative number of vibrations, which is the result of accumulating the number of vibrations of the driven body in vibratory cutting, and the effective operating coefficient. That is, the estimation unit 482 estimates the remaining life of the ball screw 81z based on the cumulative value, which is the result of accumulating the execution time or the number of vibrations, and the effective operating coefficient. Here, the cumulative number of vibrations for the ball screw 81z is the cumulative number of vibrations since the start of use of the ball screw 81z currently in use.

[0129] The estimation unit 482 obtains the vibration count value by, for example, multiplying the vibration frequency by the execution time of the vibration cutting. Alternatively, the estimation unit 482 may obtain the vibration count value by counting the vibrations. The estimation unit 482 may also count the vibrations based on, for example, the vibration waveform, which is the basic vibration waveform generated by the waveform generation unit 484.

[0130] The numerical control device 1 estimates the remaining life of the ball screw 81z based on a cumulative value, which is the result of accumulating execution time or vibration counts, and the effective operating coefficient, thereby enabling operators or maintenance personnel to understand the deterioration status of the ball screw 81z caused by vibration cutting.

[0131] In the above description, the numerical control device 1 calculates the life extension conditions using the vibration condition changing unit 483 and attempts to extend the life of the ball screw 81z by changing the vibration conditions. The numerical control device 1 may also attempt to extend the life of the ball screw 81z by changing the position in which the driven body is vibrated during vibration cutting. The machining program changing unit 487 changes the position in which the driven body is vibrated during vibration cutting based on the cumulative value aggregated for each of the multiple positions on the ball screw 81z.

[0132] Here, a specific example of changing the position in which the driven body is vibrated will be described. In step S5 shown in Figure 7, if the remaining life of at least one of the multiple positions of the ball screw 81z is less than or equal to the second threshold, the machining program change unit 487 proposes a change to the machining program based on the cumulative time aggregated for each of the multiple positions and accepts a machining program change instruction, and changes the machining program according to the change instruction. By changing the machining program, the machining program change unit 487 changes the position in which the driven body is vibrated during vibration cutting.

[0133] To give a specific example, if the remaining life of at least one of the multiple positions of the ball screw 81z is less than or equal to the second threshold, the estimation unit 482 instructs the machining program modification unit 487 to select a machining program. The machining program modification unit 487 refers to the description of vibration cutting in the machining program stored in the machining program storage area 432 and analyzes the position where the driven body is vibrated. Based on the analysis results, the machining program modification unit 487 selects a machining program that performs machining including vibration cutting at the position of the ball screw 81z where the remaining life is greater than the second threshold. The machining program modification unit 487 selects a machining program to propose as the modified machining program from among the machining programs stored in the machining program storage area 432.

[0134] The machining program modification unit 487 selects a position from among several positions of the ball screw 81z in which the cumulative time does not exceed a preset upper limit, and selects a machining program that vibrates the driven body at that position. For example, suppose the upper limit is set to 4000 hours, and the cumulative time for each ball screw position is calculated as shown in Figure 6. In this case, the machining program is selected in which the position for vibrating the driven body is a position in which the estimated remaining life is greater than the second threshold. For example, since the cumulative time exceeds 4000 hours in the range of ball screw positions from 120 mm to 132 mm, the machining program modification unit 487 selects a ball screw position outside the range of 120 mm to 132 mm. The machining program modification unit 487 selects a machining program that vibrates the driven body at the selected ball screw position.

[0135] The machining program change unit 487 instructs the output control unit 44 via the storage unit 43 to propose a change to the selected machining program. Upon receiving the instruction from the machining program change unit 487, the output control unit 44 reads screen display data from the display data storage area 433 to display a message prompting a change in the machining program, and outputs the read screen display data to the output unit 3. The output unit 3 displays a message prompting a change in the machining program according to the screen display data. In this way, the machining program change unit 487 proposes a change in the machining program based on the cumulative time aggregated for each of the multiple locations.

[0136] The numerical control device 1 receives a modification instruction for the proposed machining program on the screen displayed on the output unit 3. The operator inputs the modification instruction for the machining program to the numerical control device 1 by operating the input operation unit 2. The input control unit 41 sends the modification instruction for the machining program to the interpolation processing unit 48 via the data setting unit 42 and the storage unit 43. The machining program modification unit 487 modifies the machining program according to the modification instruction. The numerical control device 1 causes the machine tool to perform vibration cutting according to the modified machining program. The numerical control device 1 can take measures to extend the life of the ball screw 81z by changing the position in which the driven body is vibrated and performing vibration cutting.

[0137] The numerical control device 1 can effectively reduce uneven wear of the ball screw 81z by changing the position in which the driven body is vibrated. This allows the numerical control device 1 to extend the lifespan of the ball screw 81z.

[0138] According to Embodiment 1, the estimation unit 482 estimates the remaining lifespan of the mechanical components constituting the drive mechanism based on the execution time during which the vibratory cutting was performed, or the number of vibrations of the driven body during the vibratory cutting. ru. The operator or maintenance worker can determine the replacement timing of mechanical parts in advance by checking the estimated remaining lifespan results from the estimation unit 482. Therefore, the operator or maintenance worker can take appropriate measures to avoid malfunctions before they occur in the drive mechanism. The operator or maintenance worker can take appropriate measures to avoid malfunctions before they occur in the drive mechanism.

[0139] In Embodiment 1, the deterioration status of the ball screw 81z, a mechanical component, due to vibration cutting can be understood. By being able to understand the deterioration status of the ball screw 81z, operators or maintenance personnel can take appropriate action according to the deterioration status of the ball screw 81z. Furthermore, by being able to understand the deterioration status of each of the multiple positions on the ball screw 81z, measures can be taken to reduce uneven wear of the ball screw 81z caused by vibration cutting. By reducing uneven wear of the ball screw 81z, it is possible to avoid shortening the lifespan of the ball screw 81z due to uneven wear.

[0140] As described above, the numerical control device 1 according to Embodiment 1 has the effect of making it possible to understand the state of deterioration of the drive mechanism of a machine tool that performs machining including vibratory cutting, due to vibratory cutting.

[0141] Embodiment 2. Embodiment 2 describes an example of estimating the remaining lifespan of at least one bearing, including a bearing built into a servo motor and a bearing that rotatably supports a ball screw. The operation described in Embodiment 2 is realized by the numerical control device 1 shown in Figure 1. In Embodiment 2, as in Embodiment 1, the process performed by the numerical control device 1 is described using vibratory cutting, which vibrates the driven body in the Z-axis direction, as an example.

[0142] The drive mechanism 8z shown in Figure 2 vibrates the driven object by operating the shaft 711z and ball screw 81z within a certain angular range from a certain rotational position using the servo motor 71z. When the driven object is vibrated continuously near the same position, as the vibration time of the driven object increases, the grease in the bearing 712z inside the servo motor 71z gradually becomes uneven. When the grease is no longer distributed evenly throughout the bearing 712z, the wear of the bearing 712z accelerates. Similarly, in the bearings inside the support mechanisms 83z1 and 83z2, as the vibration time of the driven object increases, the grease gradually becomes uneven, and the bearing wear accelerates. The bearing 712z inside the servo motor 71z and the bearings inside the support mechanisms 83z1 and 83z2 will need to be replaced sooner due to the accelerated wear. In vibratory cutting, the vibration of the driven object may continue at a certain position, which can cause wear on the bearings that differs from that in normal cutting. The wear due to vibratory cutting is the same for the bearing of the nut 85z as it is for the bearings inside the support mechanisms 83z1 and 83z2, or the bearing 712z inside the servo motor 71z.

[0143] In Embodiment 2, the estimation unit 482 estimates the remaining lifespan of a mechanical component, which is at least one of the bearings 712z inside the servo motor 71z and the bearing that rotatably supports the ball screw 81z. Based on the continuation value, which is the execution time or number of vibrations for vibratory cutting by continuing the vibration of the driven body at a certain position, the estimation unit 482 determines the remaining lifespan of the mechanical component as the period during which the vibration of the driven body at the current position can be continued. The vibration of the driven body at a certain position refers to vibrating the driven body around a certain position.

[0144] Next, we will describe in detail the method for estimating the remaining lifespan of a mechanical component, which is at least one of the bearings 712z inside the servo motor 71z and the bearings inside the support mechanisms 83z1 and 83z2, in Embodiment 2. Here, we will describe an example in which the estimation unit 482 estimates the remaining lifespan of a mechanical component based on a continuation value, which is the execution time for vibratory cutting by continuing the vibration of the driven body at a certain position. In the following description, the continuation value, which is the execution time for vibratory cutting by continuing the vibration of the driven body at a certain position, will also be referred to as the continuation time. In the following description, the bearing 712z built into the servo motor 71z and the bearing that rotatably supports the ball screw 81z will not be distinguished and will simply be referred to as the bearing.

[0145] The bearing data management unit 512 sets the lifespan, which is the time during which the vibration of the driven body can be continuously performed at each of the multiple positions on the ball screw 81z. The lifespan set by the bearing data management unit 512 is the lifespan of the bearing with the shortest lifespan among the bearings mounted on the drive mechanism 8z. Preferably, the lifespan set in the bearing data management unit 512 is determined, for example, by actually performing vibratory cutting using a machine tool. The bearing data management unit 512 may also be set to a time specified by the operator as the lifespan.

[0146] When vibration cutting is started, the measurement unit 481 measures the duration of vibration cutting, which vibrates the driven body at its current position. If the position where the driven body vibrates moves during vibration cutting, the measurement unit 481 resets the duration measured for the position before the move and measures the duration for the position after the move. The measurement unit 481 measures the duration for each of the multiple positions on the ball screw 81z. The measurement unit 481 sends the duration measurement results to the bearing data management unit 512.

[0147] The estimation unit 482 estimates the remaining life of the bearing based on the measured duration. In Embodiment 2, the remaining life is the time during which vibration cutting, which vibrates the driven body at its current position, can be continued. In Embodiment 2, the estimation unit 482 compares the measured duration with a preset reference time. The reference time is, for example, a time equivalent to 80% of the life set by the bearing data management unit 512. If the measured duration is equal to or greater than the reference time, the estimation unit 482 estimates that the remaining life of the bearing will be exhausted in the near future. Note that the reference time does not need to be shorter than the life set by the bearing data management unit 512, and is not limited to a time equivalent to 80% of the life.

[0148] The estimation unit 482 instructs the stroke operation execution unit 488 to perform a stroke operation by rotating the ball screw 81z if the measured duration is equal to or greater than the reference time. When the stroke operation execution unit 488 receives an instruction from the estimation unit 482, it waits for the machining by the machine tool to be completed and outputs a command for stroke operation before the next machining begins. The command for stroke operation is output to the drive unit 7 via the acceleration / deceleration processing unit 49 and the axis data input / output unit 50. The drive mechanism 8z performs stroke operation according to the command for stroke operation. When the drive mechanism 8z is made to perform stroke operation, the bearing data management unit 512 resets the measured duration for the position of the driven body before the stroke operation. Stroke operation refers to an operation that rotates the bearing 360 degrees or more, without involving large axis movement.

[0149] In this way, the numerical control device 1 causes the drive mechanism 8z to perform a stroke operation before the remaining life of the bearing is exhausted. The stroke operation allows grease to be distributed throughout the bearing, thereby reducing bearing wear. According to Embodiment 2, since it is not necessary to periodically perform operations with large displacements, the time the machining process is stopped is reduced. This reduces bearing wear while minimizing the overall efficiency reduction of the machining process by the machine tool.

[0150] Figure 12 shows an example of the results of measuring the duration of vibration cutting using the numerical control device 1 according to Embodiment 2. Figure 12 shows a bar graph representing the duration for each position on the ball screw 81z. In Figure 12, the vertical axis represents the duration of vibration cutting, and the horizontal axis represents the ball screw position. In Figure 12, the unit of duration is "hours (h)", and the unit of ball screw position is "mm".

[0151] For example, let's assume the lifespan set in the bearing data management unit 512 is 30 hours. The reference time is 24 hours, which is 80% of the lifespan set by the bearing data management unit 512. Figure 12 shows three bar graphs representing the duration measured for each ball screw position of 125.7 mm, 126 mm, and 126.3 mm. When measuring the duration, the interval between each ball screw position must be an interval corresponding to the amount of movement of the driven body when the rotation of the ball screw 81z is less than one rotation. In other words, the duration is measured with the interval between each ball screw position corresponding to less than one rotation of the ball screw 81z, i.e., an interval corresponding to less than 360 degrees of rotation of the bearing. Here, let's assume the interval between each ball screw position is 0.3 mm, which is an interval corresponding to 1 / 20th of a rotation of the ball screw 81z, and the duration is measured.

[0152] In the example shown in Figure 12, the duration for the ball screw position at 126 mm is assumed to be 25 hours. In the example shown in Figure 12, the requirement that the measured duration for the ball screw position at 126 mm is equal to or greater than the reference time is satisfied. Since the duration for the ball screw position at 126 mm is equal to or greater than the reference time, the numerical control device 1 causes the drive mechanism 8z to perform stroke operation.

[0153] Next, the procedure for processing performed by the numerical control device 1 according to Embodiment 2 will be described. Figure 13 is a flowchart showing an example of the procedure for processing performed by the numerical control device 1 according to Embodiment 2. Here, an example of processing performed by the numerical control device 1 when vibratory cutting is performed by a machine tool will be described. In addition, in the numerical control device 1, the vibration frequency of the vibratory cutting before modification is assumed to be 90.9 Hz, for example, the same as in Embodiment 1.

[0154] As a prerequisite for the processing procedure shown in Figure 13, the bearing data management unit 512 sets a lifespan, which is the time during which the vibration of the driven body can be continuously performed at each of the multiple positions on the ball screw 81z.

[0155] In step S11, the measurement unit 481 measures the duration of the vibration cutting. When vibration cutting is started, the measurement unit 481 measures the duration of the vibration cutting that vibrates the driven body at the current position of the driven body. The measurement unit 481 measures the duration for each of the multiple positions on the ball screw 81z.

[0156] In step S12, the estimation unit 482 determines whether the duration measured in step S11 is equal to or greater than the reference time. If the duration is equal to or greater than the reference time (step S12, Yes), in step S13, the estimation unit 482 instructs the stroke operation execution unit 488 to perform stroke operation. The stroke operation execution unit 488 causes the drive mechanism 8z to perform stroke operation. With this, the numerical control device 1 completes the processing according to the procedure shown in Figure 13.

[0157] If the duration is not equal to or greater than the reference time (step S12, No), the numerical control device 1 terminates the process according to the procedure shown in Figure 13. After terminating the process according to the procedure shown in Figure 13, the numerical control device 1 executes the process according to the procedure shown in Figure 13 again.

[0158] In the above description, the estimation unit 482 estimates the remaining life of the bearing based on the measured duration. The estimation unit 482 may also estimate the remaining life of the bearing based on the number of vibrations, which is the number of vibrations for vibration cutting by continuing the vibration of the driven body at a certain position. That is, the estimation unit 482 determines the remaining life of the bearing as the period during which the vibration of the driven body can be continued at the current position, based on the execution time or the number of vibrations for vibration cutting by continuing the vibration of the driven body at a predetermined position.

[0159] The estimation unit 482 obtains the value of the number of continuations by, for example, multiplying the vibration frequency by the duration of the vibration cutting. Alternatively, the estimation unit 482 may obtain the value of the number of continuations by counting the number of vibrations. The estimation unit 482 may also count the number of continuations based on the vibration waveform, which is the basic waveform of the vibration generated by the waveform generation unit 484.

[0160] According to Embodiment 2, the estimation unit 482 estimates the remaining lifespan of the bearing, a mechanical component constituting the drive mechanism, based on the execution time of the vibratory cutting. The estimation unit 482 determines the remaining lifespan of the bearing as the time during which vibratory cutting, which vibrates the driven body at its current position, can be continued. The numerical control device 1 causes the drive mechanism to perform stroke operation based on the estimated remaining lifespan of the bearing. Since the numerical control device 1 can perform stroke operation according to the remaining lifespan of the bearing, it is possible to avoid bearing wear due to uneven distribution of grease. By reducing bearing wear, it is possible to prevent the bearing from being replaced prematurely. Therefore, it is possible to delay the deterioration of the drive mechanism caused by vibratory cutting.

[0161] As described above, the numerical control device 1 according to Embodiment 2 has the effect of making it possible to grasp the state of deterioration of the drive mechanism of a machine tool that performs machining including vibratory cutting, due to vibratory cutting.

[0162] In Embodiment 2, based on the remaining bearing life estimated by the estimation unit 482, the vibration condition modification unit 483 may change the vibration conditions to extend the remaining life without changing the position where the vibration cutting is performed, similar to Embodiment 1. Specifically, the vibration condition modification unit 483 changes the vibration conditions so that the vibration frequency becomes lower than the vibration frequency of the vibration cutting before the change, which is 90.9 Hz, in order to extend the remaining life.

[0163] In embodiments 1 and 2, the numerical control device 1 performs vibratory cutting by vibrating the tool, but it is not limited to this. The numerical control device 1 may, for example, perform vibratory cutting by vibrating the workpiece.

[0164] Next, the hardware configuration of the control calculation unit 4 included in the numerical control device 1 will be described. Figure 14 is a diagram showing an example of the hardware configuration of the control calculation unit 4 included in the numerical control device 1 according to Embodiment 1 or 2.

[0165] The control calculation unit 4 is implemented by the control circuit 100 shown in Figure 14. The control circuit 100 comprises a processor 101 and a memory 102. The control circuit 100 is a circuit in which the processor 101 executes software.

[0166] The control arithmetic unit 4 is implemented by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in memory 102. The control circuit 100 implements each function of the control arithmetic unit 4 by having the processor 101 read and execute the program stored in memory 102. In other words, the control circuit 100 includes memory 102 for storing the program that will result from the processing of the control arithmetic unit 4. This program is a numerical control program that causes the computer to execute the procedures and methods of the control arithmetic unit 4. Memory 102 is also used as temporary memory when the processor 101 executes various processes.

[0167] The processor 101 may be a CPU (Central Processing Unit), processing unit, arithmetic unit, microprocessor, microcomputer, processor, DSP (Digital Signal Processor), or system LSI (Large Scale Integration). The memory 102 may be a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), or EEPROM (Registered Trademark) (Electrically Erasable Programmable Read Only Memory), or a magnetic disk, flexible disk, optical disk, compact disk, minidisc, or DVD (Digital Versatile Disc).

[0168] The program executed by processor 101 may be a computer program product having a computer-readable and non-transitory recording medium containing multiple instructions for data processing that are executable by a computer. The program executed by processor 101 causes the computer to perform data processing using multiple instructions.

[0169] The control calculation unit 4 may be implemented using dedicated hardware. Alternatively, some of the functions of the control calculation unit 4 may be implemented using dedicated hardware, while other parts of the functions of the control calculation unit 4 may be implemented using software or firmware.

[0170] The configurations shown in each of the embodiments described above are examples of the content of this disclosure. The configurations of each embodiment can be combined with other known technologies. The configurations of each embodiment may be combined with each other as appropriate. It is possible to omit or modify parts of the configurations of each embodiment without departing from the gist of this disclosure. [Explanation of Symbols]

[0171] 1 Numerical control unit, 2 Input operation unit, 3 Output unit, 4 Control calculation unit, 7 Drive unit, 8z Drive mechanism, 31,35 Mark, 32,36 Message, 33,34 Button, 41 Input control unit, 42 Data setting unit, 43 Storage unit, 44 Output control 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, 51 Data management unit, 71s Main spindle motor, 71x,71z Servo motor, 72s,72x,72z Detector, 73s Main spindle control unit, 73x,73z Servo control unit, 81z Ball screw, 82z Table, 83z1,83z2 Support mechanism, 84z Coupling, 85z Nut, 86z,715z Ball, 87,716,717 Double arrow, 100 Control circuit, 101 Processor, 102 Memory, 431 Parameter storage area, 432 Machining program storage area, 433 Display data storage area, 434 Shared area, 481 Measurement unit, 482 Estimation unit, 483 Vibration condition change unit, 484 Waveform generation unit, 485 Vibration displacement amount generation unit, 487 Machining program change unit, 488 Stroke operation execution unit, 511 Ball screw data management unit, 512 Bearing data management unit, 711z Shaft, 712z Bearing, 713z Outer ring, 714z Inner ring.

Claims

1. A numerical control device for controlling a machine tool that performs vibratory cutting by causing a driven body to vibrate, The system includes an estimation unit that estimates the remaining lifespan of the mechanical components constituting the drive mechanism based on the execution time of the vibratory cutting, The drive mechanism comprises a servo motor, a ball screw that rotates under the power of the servo motor, a bearing which is a component of the mechanism that rotatably supports the ball screw, and a table to which the driven body is attached, and is capable of vibrating the driven body by converting the rotational motion of the ball screw into the linear motion of the table, and vibrating the driven body about each of the multiple positions on the ball screw, The numerical control device is characterized in that the estimation unit estimates the remaining lifespan of the bearing by determining the time during which the vibration cutting can be continued for each of the plurality of positions based on the execution time of the vibration cutting.

2. The numerical control device according to claim 1, further comprising a stroke operation execution unit that causes the drive mechanism to perform stroke operation based on the estimated remaining lifespan of the bearing.

3. A numerical control method for controlling a machine tool that performs vibratory cutting by causing a driven body to vibrate using a drive mechanism, The step includes estimating the remaining lifespan of the mechanical components constituting the drive mechanism based on the execution time of the vibratory cutting, The drive mechanism comprises a servo motor, a ball screw that rotates under the power of the servo motor, a bearing which is a component of the mechanism that rotatably supports the ball screw, and a table to which the driven body is attached, and is capable of vibrating the driven body by converting the rotational motion of the ball screw into the linear motion of the table, and vibrating the driven body about each of the multiple positions on the ball screw, The numerical control method is characterized in that, in the step of estimating the remaining lifespan, for each of the plurality of positions, the remaining lifespan of the bearing is estimated by determining the time during which the vibratory cutting can be continued based on the execution time of the vibratory cutting.