Numerical control device, numerical control method, and numerical control program
Patent Information
- Application Number
- JP2024515955
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2024-03-12
- Publication Date
- 2025-02-19
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing numerical control devices cannot accurately assess the deterioration of machine tool drive mechanisms during vibration cutting, as they do not account for the unique operational conditions and mechanical stress caused by vibration, leading to potential equipment failure and reduced machining accuracy.
A numerical control device equipped with an estimator that calculates the remaining life of mechanical components based on execution time and operating coefficients during vibration cutting, providing real-time feedback on component deterioration and recommending maintenance or adjustments to extend component lifespan.
Enables precise monitoring and maintenance of machine tool drive mechanisms during vibration cutting, preventing premature wear, reducing downtime, and maintaining machining accuracy by providing timely alerts and recommendations for part replacement or condition adjustments.
Abstract
Description
Numerical control device, numerical control method, and numerical control program
[0001] The present disclosure relates to a numerical control device, a numerical control method, and a numerical control program for controlling a machine tool.
[0002] Machine tools that perform cutting processes cut a workpiece by bringing the tool into contact with the workpiece and causing relative movement between the tool and the workpiece. In cutting processes that cut the surface of a workpiece, vibration cutting is sometimes performed, in which the cutting is performed while the tool is vibrated at a low frequency. Vibration cutting makes it possible to cut the workpiece while breaking up chips by creating sections in the tool's movement path where cutting of the workpiece by the tool is interrupted. Breaking up chips into short pieces prevents a decrease in machining accuracy due to chips becoming entangled in the workpiece or the tool. Breaking up chips into short pieces also reduces damage to the workpiece caused by chips coming into contact with the workpiece.
[0003] For machine tools that perform cutting processing, it is desirable to be able to grasp the deterioration status of the drive mechanism that moves the tool or workpiece so that maintenance such as part replacement can be carried out in a planned manner before the operation of the drive mechanism becomes difficult.
[0004] Patent Document 1 discloses a device for displaying the operating status of a drive mechanism that linearly moves a moving body via a ball screw, and classifies and displays information about the movement of the moving body on the ball screw by type of axial motion.The device disclosed in Patent Document 1 classifies axial motion into cutting feed, which moves the moving body when cutting a workpiece, and rapid traverse, which moves the moving body when not cutting a workpiece, and displays the operating status, making it possible to grasp the deterioration status due to wear of the ball screw.
[0005] JP 2019-91299 A
[0006] In vibration cutting, cutting is performed while vibrating the driven body, so the behavior of the driven body during vibration cutting differs from that during normal cutting other than vibration cutting. Therefore, when vibration cutting is performed, the deterioration of mechanical components constituting the drive mechanism differs from that during normal cutting. While the technology of Patent Document 1 can grasp the deterioration status during normal cutting, such as cutting feed and fast feed, it does not take into account the impact of vibration cutting on deterioration. Therefore, the technology of Patent Document 1 has the problem of being unable to grasp the deterioration status of the drive mechanism due to vibration cutting for the drive mechanism of a machine tool that performs machining including vibration cutting.
[0007] The present disclosure has been made in consideration of the above, and aims to provide a numerical control device that can grasp the deterioration status of a drive mechanism caused by vibration cutting for a machine tool that performs processing including vibration cutting.
[0008] In order to solve the above-mentioned problems and achieve the object, the numerical control device according to the present disclosure is a numerical control device that controls a machine tool that performs machining including vibration cutting using a drive mechanism, and includes an estimation unit that estimates the remaining life of mechanical parts that make up the drive mechanism based on the execution time of vibration cutting.
[0009] The numerical control device according to the present disclosure has the effect of making it possible to grasp the deterioration status of the drive mechanism caused by vibration cutting for the drive mechanism of a machine tool that performs machining including vibration cutting.
[0010] FIG. 1 is a diagram showing a configuration example of a numerical control device according to a first embodiment; FIG. 2 is a diagram showing a configuration example of a drive mechanism provided in a machine tool controlled by the numerical control device according to the first embodiment; FIG. 3 is a diagram showing a configuration example of a bearing provided in the drive mechanism shown in FIG. 2; FIG. 4 is a diagram for explaining the relationship between an operation coefficient and a lifespan referred to in an estimation unit of the numerical control device according to the first embodiment; FIG. 5 is a diagram for explaining the relationship between a vibration condition and an operation coefficient referred to in an estimation unit of the numerical control device according to the first embodiment;
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A numerical control device, a numerical control method, and a numerical control program according to embodiments will be described in detail below with reference to the accompanying drawings.
[0012] First Embodiment Fig. 1 is a diagram showing an example of the configuration of a numerical control device 1 according to a first embodiment. The numerical control (NC) device 1 is a computer that controls a machine tool that performs cutting. The machine tool that is the target of control by the numerical control device 1 performs processing including vibration cutting. The machine tool performs vibration cutting by vibrating a driven body using 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. FIG. 1 shows the numerical control device 1 and a drive unit 7, which is a component of a machine tool. The drive unit 7 is connected to the control calculation unit 4. The numerical control device 1 generates various commands in accordance with a machining program. The numerical control device 1 controls the machine tool by outputting the various 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 moving the tool and the workpiece relative to each other. The machine tool cuts the workpiece to a desired shape by removing unnecessary portions from the workpiece. In the first embodiment, the machine tool uses the tool to machine the workpiece while moving the tool and the workpiece relative to each other using two or more drive axes. In the first embodiment, the machine tool machines the workpiece by, for example, rotating the workpiece using the drive unit 7 and moving the tool in two directions, the X-axis and the Z-axis, using the drive unit 7. The X-axis is, for example, a vertical axis. The Z-axis is, for example, an axis parallel to a 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 a horizontal plane. The X-axis and Z-axis can be set appropriately according to the configuration of the machine tool.
[0015] The drive unit 7 includes a servo motor 71x, a detector 72x, and a servo control unit 73x. The servo motor 71x constitutes an X-axis drive mechanism. The X-axis drive mechanism is a drive mechanism that drives a tool that cuts a workpiece or a workpiece in the X-axis direction. In the first embodiment, the X-axis drive mechanism is a drive mechanism that drives a tool in the X-axis direction. The servo motor 71x is a 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 device 1 outputs a command to drive the tool in the X-axis direction to the servo control unit 73x. The servo control unit 73x performs feedback (FB) control of the servo motor 71x based on the command from the numerical control device 1 and the position information and speed information from the detector 72x. The drive unit 7 operates the tool in the X-axis direction through the FB control of the servo motor 71x. The drive unit 7 also outputs information indicating the vibration movement amount in the X-axis direction to the numerical control device 1 by outputting position information detected by the detector 72x during vibration cutting to the numerical control device 1. The vibration movement amount is the movement amount of the tool relative to the workpiece during vibration cutting. Hereinafter, the vibration movement amount information output from the drive unit 7 to the numerical control device 1 will be referred to as the FB vibration movement amount. That is, the drive unit 7 outputs the FB vibration movement amount in the X-axis direction to the numerical control device 1.
[0017] The drive unit 7 includes a servo motor 71z, a detector 72z, and a servo control unit 73z. The servo motor 71z constitutes a Z-axis drive mechanism. The Z-axis drive mechanism is a drive mechanism that drives a tool that cuts a workpiece or a workpiece in the Z-axis direction. In the first embodiment, the Z-axis drive mechanism is a drive mechanism that drives a tool in the Z-axis direction. The servo motor 71z is a 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 drive the tool in the Z-axis direction to the servo control unit 73z. The servo control unit 73z performs feedback control of the servo motor 71z based on the command from the numerical control device 1 and the position information and speed information from the detector 72z. The drive unit 7 operates the tool in the Z-axis direction by feedback control of the servo motor 71z. Furthermore, the drive unit 7 outputs position information detected by the detector 72z during vibration cutting to the numerical control device 1, thereby outputting the feedback vibration movement amount in the Z-axis direction to the numerical control device 1.
[0019] The machine tool includes one or more tool rests. A drive mechanism drives the tool rest and the tool. The tool rest and the tool are driven objects driven by the drive mechanism. The tool is attached to the tool rest. The drive unit 7 includes a set of servo motors 71x, 71z, detectors 72x, 72z, and servo control units 73x, 73z for each tool rest.
[0020] The drive unit 7 includes 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 rotate the spindle to the spindle control unit 73s. The spindle control unit 73s performs feedback control of the spindle motor 71s based on the command from the numerical control device 1 and the position information and speed information from the detector 72s. The drive unit 7 rotates the workpiece by feedback control of the spindle motor 71s.
[0022] The machine tool may be one that machines one workpiece, or one that machines two or more workpieces simultaneously. When the machine tool is one that machines two or more workpieces simultaneously, the drive unit 7 is provided with two or more sets of spindle motor 71s, detector 72s, and spindle control unit 73s. When the machine tool is one that machines two or more workpieces simultaneously, the machine tool is provided with, for example, two or more tool rests.
[0023] The input operation unit 2 is an input means for inputting information to the control operation unit 4. The input operation unit 2 includes devices such as a keyboard, a touch panel, buttons, or a mouse. The input operation unit 2 is operated by, for example, a machine tool operator or a machine tool maintenance technician. 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 operation unit 4.
[0024] The output unit 3 is an output means that outputs information processed by the control calculation unit 4. The output unit 3 includes a display means such as a liquid crystal display device. The output unit 3 displays the information processed by the control calculation unit 4 on a screen. Note that the output unit 3 is not limited to being equipped with a display means. The output unit 3 may also be equipped with an audio device such as a speaker. The output unit 3 may also output information to a device external to the numerical control device 1. For example, the numerical control device 1 may be connected to a network, and the output unit 3 may transmit information via the network to a display device connected to the network or a computer connected to the network.
[0025] The control calculation unit 4 includes an input control unit 41, a data setting unit 42, a memory 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 FIG. 1 , the PLC circuit unit 47 is arranged inside the control calculation unit 4, but the PLC circuit unit 47 may also be arranged outside the control calculation unit 4.
[0026] The input control unit 41 receives information input 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. That is, 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, and includes a parameter storage area 431, a machining 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 in the processing of 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, parameters related to vibration cutting, and the like.
[0029] The machining program storage area 432 stores machining programs, which are NC programs used to machine a workpiece. The machining programs stored in the machining program storage area 432 include one or more blocks. In the first embodiment, the machining programs include commands such as movement commands that move a tool and rotation commands that rotate a spindle.
[0030] The display data memory area 433 stores screen display data, which is data for a screen displayed by the output unit 3. The shared area 434 stores data that is temporarily used when the control calculation unit 4 executes each process. For example, the machining program number accepted by the input operation unit 2 is written into the shared area 434 of the memory 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 one another via the storage unit 43, and information is written and read via the storage unit 43. Hereinafter, regarding the writing and reading of information between the analysis processing unit 45, the control signal processing unit 46, and the interpolation processing unit 48, explanation of the fact that the storage unit 43 is used as an intermediary may be omitted.
[0033] The analysis processing unit 45 is connected to the memory 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 machining program number selected from the shared area 434, it reads the machining program indicated by the selected machining program number from the machining program memory 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 S codes, which are commands for the rotation speed of the spindle motor 71s, G codes, which are commands related to axis movement such as tool movement, and M codes, which are machine operation commands. After completing analysis processing on each line of the machining program, the analysis processing unit 45 writes the analysis results of the various codes in the shared area 434.
[0034] When the machining program includes an S code, the analysis processing unit 45 analyzes the S code included in the machining program to obtain the rotation speed of the spindle. The analysis processing unit 45 writes the obtained rotation speed into the shared area 434.
[0035] When a machining program includes a G-code, the analysis processing unit 45 analyzes the G-code included in the machining program to obtain movement conditions, which are conditions for tool feed. Such movement conditions include the speed at which the tool post moves in each of the X-axis and Z-axis directions, and the positions to which the tool post moves in each of the X-axis and Z-axis directions. The analysis processing unit 45 writes the obtained movement conditions in the shared area 434.
[0036] Furthermore, when a G-code for vibration cutting is included in the machining program, the analysis processing unit 45 analyzes the G-code included in the machining program to acquire vibration conditions, which are conditions for vibration in vibration cutting. The vibration conditions include a vibration frequency, which is the frequency at which the tool is vibrated in vibration cutting, and an amplitude at which the tool is vibrated in vibration cutting. The analysis processing unit 45 writes the acquired vibration conditions in the shared area 434.
[0037] The control signal processing unit 46 is connected to the PLC circuit unit 47 and receives signal information from the PLC circuit unit 47, such as signal information from relays that operate the machine tool. The control signal processing unit 46 writes the received signal information into the shared area 434. The interpolation processing unit 48 refers to the signal information written in the shared area 434 during machining operations. Furthermore, when an auxiliary command is output to the shared area 434 by the analysis processing unit 45, 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 a command to operate a 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 an X-axis command vibration movement amount, which is a command for the vibration movement amount in the X-axis direction, and a Z-axis command vibration movement amount, which is a command for the vibration movement amount 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 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 acquires the command vibration movement amount from the interpolation processing unit 48 and converts the command vibration movement amount into a movement command per unit time that takes acceleration / deceleration into consideration in accordance with a pre-specified 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 acquires 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 acquires an FB vibration movement amount from the drive unit 7, and outputs the FB vibration movement amount to the acceleration / deceleration processing unit 49. The acceleration / deceleration processing unit 49 acquires the FB vibration movement amount from the axis data input / output unit 50, and outputs the FB vibration movement 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 change unit 483 , a waveform generation unit 484 , a vibration movement amount generation unit 485 , a machining program change unit 487 , and a stroke operation execution unit 488 .
[0042] The measurement unit 481 measures the execution time of vibration cutting. The estimation unit 482 estimates the remaining life of the mechanical components that make up the drive mechanism based on the execution time of vibration cutting and an operation coefficient based on the vibration conditions of vibration cutting. Alternatively, the estimation unit 482 estimates the remaining life of the mechanical components that make up the drive mechanism based on the number of vibrations of micro-vibrations associated with vibration cutting. The numerical control device 1 estimates the deterioration status of the drive mechanism due to vibration cutting by estimating the remaining life of the mechanical components with the estimation unit 482. Note that micro-vibrations associated with vibration cutting are vibrations based on the vibration conditions that vibrate the tool during vibration cutting, and are, for example, vibrations transmitted to the mechanical components that make up the drive mechanism while vibration cutting is being performed. The transmission of micro-vibrations associated with vibration cutting to the mechanical components that make up the drive mechanism is a factor that significantly affects the deterioration of the mechanical components that make up the drive mechanism.
[0043] The vibration condition changing unit 483, which is a first changing unit, changes the vibration conditions for vibration cutting. The vibration condition changing unit 483 proposes a change to the vibration conditions based on the remaining life estimated by the estimation unit 482, accepts an instruction to change the vibration conditions, and changes the vibration conditions in accordance with the change instruction.
[0044] The waveform generating unit 484 acquires vibration conditions from the analysis processing unit 45 and generates a vibration waveform, which is a basic waveform of vibration, based on the acquired vibration conditions. When the vibration conditions are changed by the vibration condition changing unit 483, the waveform generating unit 484 generates a vibration waveform based on the changed vibration conditions.
[0045] The vibration movement amount generation unit 485 calculates the vibration movement amount, for example, in the Z-axis direction, based on the vibration waveform generated by the waveform generation unit 484 and the tool movement path. Specifically, the vibration movement amount generation unit 485 generates the vibration movement amount in the Z-axis by calculating the vibration advance position and the vibration retreat position for each vibration. The vibration advance position is a position advanced from a position on the tool movement path by a distance corresponding to the amplitude indicated in the vibration waveform. The vibration retreat position is a position retreated from a position on the tool movement path by a distance corresponding to the amplitude indicated in the vibration waveform. The vibration movement amount generation unit 485 calculates the vibration movement amount to generate a command vibration movement amount.
[0046] The command vibration movement amount generated by the vibration movement 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 movement amount sent from the vibration movement amount generation unit 485. The drive unit 7 performs vibration cutting by controlling the servo motor 71z based on the Z-axis command vibration movement amount, for example.
[0047] The machining program change unit 487, which is a second change unit, changes the machining program. Details of the change of the machining program by the machining program change unit 487 will be described later. The stroke operation execution unit 488 causes the drive mechanism to execute stroke operation to rotate the bearing.
[0048] The data management unit 51 manages data for estimating the deterioration state of the drive mechanism. The data management unit 51 includes a ball screw data management unit 511 that manages data for estimating the deterioration state of the ball screw, and a bearing data management unit 512 that manages data for estimating the deterioration state of the bearing.
[0049] Next, an example of the configuration of the drive mechanism will be described. Fig. 2 is a diagram showing an example of the configuration of the drive mechanism provided in the machine tool controlled by the numerical control device 1 according to the first embodiment. Fig. 2 shows an example of the configuration of drive mechanism 8z, which is a Z-axis drive mechanism. The X-axis drive mechanism has the same configuration as drive mechanism 8z.
[0050] The drive mechanism 8z includes a servo motor 71z, a ball screw 81z, a table 82z serving as a tool rest, and support mechanisms 83z1 and 83z2. The drive mechanism 8z converts the rotational motion of the ball screw 81z, a mechanical component that rotates upon receiving power from the servo motor 71z, into linear motion of the table 82z. A tool is attached to the table 82z. The tool is not shown in FIG. 2. 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 by receiving the power of the servo motor 71z. The center line of the shaft 711z, which is the center of rotation, and the center line of the ball screw 81z are coincident with each other. The center line of the shaft 711z and the center line of the ball screw 81z are parallel to the Z axis. The support mechanism 83z1 rotatably supports one end of the ball screw 81z. The 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 in 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. A plurality of balls 86z, which serve as rolling elements, are placed between the screw groove of the ball screw 81z and the screw groove of the nut 85z. The balls 86z rotate between the screw groove of the ball screw 81z and the screw groove of the nut 85z, allowing the ball screw 81z to rotate smoothly relative to the nut 85z. The double-headed arrow 87 in FIG. 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 for smoothly rotating the ball screw 81z relative to the support mechanism 83z1. The support mechanism 83z2 has a built-in bearing for smoothly rotating the ball screw 81z relative to the support mechanism 83z2. The servo motor 71z has two built-in bearings for smoothly rotating the shaft 711z.
[0054] Fig. 3 is a diagram showing an example of the configuration of a bearing provided in the drive mechanism shown in Fig. 2. Fig. 3 shows an example of the configuration of a bearing 712z that is a bearing inside the servo motor 71z. The bearing 712z that is a bearing inside the servo motor 71z, the bearing inside the support mechanism 83z1, and the bearing inside the support mechanism 83z2 have the same configuration. Fig. 3 shows a cross section perpendicular to the center line of the shaft 711z.
[0055] The bearing 712z includes 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. A plurality of balls 715z, which serve as rolling elements, 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. A double-headed arrow 716 in FIG. 3 indicates that the shaft 711z is rotatable. A double-headed arrow 717 in FIG. 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 operated. Deterioration of the ball screw 81z refers to, for example, the occurrence of so-called flaking, in which the surface peels off, in the thread groove of the ball screw 81z. Flaking of the ball screw 81z can cause a deterioration in the positioning accuracy of the driven body by the drive mechanism 8z, and if the deterioration progresses further, the life of the ball screw 81z will expire and the ball screw 81z will need to be replaced. Furthermore, when performing vibration cutting, if there is an imbalance in the position of the ball screw 81z that vibrates the driven body, the ball screw 81z may wear partially, resulting in so-called uneven wear. When performing vibration cutting, uneven wear may shorten the life of the ball screw 81z.
[0057] The processing executed by the numerical control device 1 will be described below using vibration cutting, which vibrates a driven body in the Z-axis direction, as an example. In the first embodiment, the numerical control device 1 estimates the remaining life of the ball screw 81z, which is a mechanical component, using the estimation unit 482. The numerical control device 1 estimates the deterioration of the ball screw 81z by estimating the remaining life of the ball screw 81z. The remaining life is defined as the period remaining until the end of the life.
[0058] Next, a detailed description will be given of a method for estimating the remaining life of the ball screw 81z in embodiment 1. Here, an example will be described in which the estimation unit 482 estimates the remaining life of the ball screw 81z, which is a mechanical component, based on an operation coefficient that is based on the execution time of vibration cutting and the vibration conditions of vibration 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 references the relationship between the life of the ball screw 81z and an operation coefficient that represents the operating mode of the drive mechanism 8z during vibration cutting, and estimates the remaining life of the ball screw 81z based on a cumulative value, which is the result of accumulating the execution time, and an effective operation coefficient, which is an operation coefficient calculated from vibration conditions that are conditions for vibration during vibration cutting. The operation coefficient in this disclosure is a coefficient that is related to, for example, the frequency and magnitude of micro-vibrations associated with vibration cutting. In the following description, the cumulative value, which is the result of accumulating the execution time, is also referred to as cumulative time. Here, the cumulative time for the ball screw 81z refers to the cumulative time since the current ball screw 81z began to be used.
[0060] Fig. 4 is a diagram for explaining the relationship between the operation coefficient referred to in the estimation unit 482 of the numerical control device 1 according to the first embodiment and the lifespan. Fig. 4 shows an example of a graph showing the relationship between the operation coefficient of the ball screw 81z and the lifespan of the ball screw 81z. In Fig. 4, the vertical axis represents the lifespan, and the horizontal axis represents the operation coefficient. The unit of the lifespan is "hours (h)."
[0061] For commonly used ball screws, the relationship between the operation coefficient and the life is expressed by the following formula (1).
[0062]
[0063] In formula (1), L is the lifetime (h), N m is the average rotation speed (min -1 ), C is the basic dynamic load rating (N), F mis the average axial load (N), and α is the operation coefficient. For example, when a ball screw is used for quiet operation without impact, the operation 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 operation coefficient is set to a value within the range of 1.2 to 1.5. When a ball screw is used for operation involving impact, the operation coefficient is set to a value within the range of 1.5 to 2.0. The operation coefficient of a ball screw used in a machine tool is set to a value within the range of 1.2 to 2.0, although it depends on the operating conditions of the machine tool. However, in the case of the ball screw 81z in embodiment 1, the operation coefficient changes depending on the vibration conditions of vibration cutting.
[0064] The graph shown in FIG. 4 shows the results of C=4400(N), F m = 270(N), and N m = 2100 (min -1 ) and the operation coefficient is changed in the range from 1.2 to 2.0. As shown in FIG. 4, the larger the operation coefficient, the shorter the life of the ball screw 81z. m , and N m The values of (a) and (b) vary depending on the configuration of the machine tool or the conditions under which the machine tool is used. Therefore, the graph shown in Fig. 4 varies depending on the configuration of the machine tool or the conditions under which the machine tool is used. Data representing the relationship between the operation coefficient of the ball screw 81z and the life of the ball screw 81z is registered in advance in the parameter storage area 431.
[0065] 5 is a diagram for explaining the relationship between the vibration conditions and the operation coefficient referenced by the estimation unit 482 of the numerical control device 1 according to the first embodiment. Fig. 5 shows a table showing the relationship between the amplitude at which the driven body is vibrated in vibration cutting, the vibration frequency in vibration cutting, and the operation coefficient of the ball screw 81z. In Fig. 5, the unit of amplitude is "μm" and the unit of vibration frequency is "Hz."
[0066] As shown in Fig. 5, the larger the amplitude, the larger the operation coefficient. Also, the higher the vibration frequency, the larger the operation coefficient. The values of the operation coefficients shown in Fig. 5 are calculated in advance, for example, by actually operating the machine tool. Data representing the relationship between the amplitude and vibration frequency and the operation coefficient of the ball screw 81z is registered in advance 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 operation coefficient of the ball screw 81z as shown in Fig. 5. Note that the relationship between the amplitude and vibration frequency and the operation coefficient of the ball screw 81z shown in Fig. 5 is an example. In other words, the value of the operation coefficient of the ball screw 81z with respect to the amplitude and vibration frequency is not limited to the value shown in Fig. 5.
[0068] The drive mechanism 8z can vibrate the driven body at each of a plurality of positions in the direction of the center line of the ball screw 81z. The interval between each position of the ball screw 81z is, for example, equal to the thread pitch of the ball screw 81z. That is, the interval between each position of the ball screw 81z is equal to the movement amount of the driven body when the ball screw 81z is rotated 360 degrees. Here, the interval between each position of the ball screw 81z is, for example, 6 mm. The interval between each position of the ball screw 81z may be different from the thread pitch of the ball screw 81z and can be set arbitrarily. However, it is preferable that the interval between each position of the ball screw 81z is smaller.
[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 by the measurement unit 481 to the data management unit 51. The ball screw data management unit 511 calculates the cumulative time of vibration cutting for each position of the ball screw 81z by tallying up 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 time of vibration cutting due to vibration of the driven body at each of the multiple positions on the ball screw 81z.
[0070] Furthermore, the ball screw data management unit 511 calculates an effective operation coefficient for each position of the ball screw 81 z. The ball screw data management unit 511 calculates the effective operation coefficient for each of the multiple positions based on the cumulative time calculated for each of the multiple positions and the vibration conditions when the driven body is vibrated at each of the multiple positions.
[0071] Here, the plurality of positions on the ball screw 81z are P x1 From P xn The number of positions is n, where n is an integer of 2 or more. x1 From P xn the cumulative time values for each position up to P x1 From P xn The effective driving coefficients for each position up to are stored in a shared area 434.
[0072] For example, the ball screw data management unit 511 x1 When vibration cutting is performed by vibrating the driven body at P x1 The cumulative time value stored for P x1 The ball screw data management unit 511 adds the value of the execution time measured for the vibration cutting caused by the vibration of the driven body at P x1 In the following description, we update the cumulative time for P x1 Vibration cutting due to the vibration of the driven body at P x1 The ball screw data management unit 511 is called vibration cutting. x1 Each time vibration cutting is performed, x1 Update the cumulative time for
[0073] The ball screw data management unit 511 x1 The operation coefficient of the ball screw 81z when the vibration cutting is performed is P x1 The ball screw data management unit 511 determines the P by referring to the relationship between the amplitude and vibration frequency and the operation coefficient of the ball screw 81z as shown in FIG. x1The ball screw data management unit 511 obtains the values of the amplitude and the vibration frequency by, for example, reading the vibration conditions written in the shared area 434 by the analysis processing unit 45 from the shared area 434 via the interpolation processing unit 48. When the vibration frequency and the amplitude are measured by the measurement unit 481, the ball screw data management unit 511 may obtain the values of the vibration frequency and the amplitude from the measurement unit 481.
[0074] The ball screw data management unit 511 x1 By calculating the weighted average of the operation coefficients calculated each time vibration cutting is performed, P x1 For example, the effective operation coefficient for P x1 When the vibration cutting is performed k times, the ball screw data management unit 511 calculates P x1 Calculate the effective operation coefficient for k, where k is an integer of 2 or more. x1 Effective operation coefficient for = {(first P x1 Vibration cutting execution time × 1st P x1 (operation coefficient for vibration cutting) + ... + (kth P x1 Vibration cutting execution time × kth P x1 (Operation coefficient for vibration cutting)) / (P x1 Cumulative time for (2)
[0075] The ball screw data management unit 511 x1 Each time vibration cutting is performed, x1 The ball screw data management unit 511 updates the effective operation coefficient for P x1 For each position other than P x1 In this manner, the ball screw data management unit 511 calculates the accumulated time for each of the multiple positions of the ball screw 81z and the effective operation coefficient for each of the multiple positions of the ball screw 81z.
[0076] In the above description, the effective operation coefficient is calculated by referring to the relationship between the amplitude and vibration frequency and the operation coefficient of the ball screw 81z, but the method of calculating the effective operation coefficient is not limited to this.
[0077] FIG. 6 is a diagram showing an example of the calculation results of the accumulated time and the effective operation coefficient by the numerical control device 1 according to the first embodiment. FIG. 6 shows a bar graph representing the accumulated time for each of a plurality of positions on the ball screw 81z. The numerical value shown above each bar graph represents the effective operation coefficient for each of the plurality of positions. The ball screw position is defined as each of the plurality of positions on the ball screw 81z expressed by the distance from a reference position of the ball screw 81z. In FIG. 6, the vertical axis represents the accumulated time of vibration cutting. The horizontal axis represents the ball screw position. In FIG. 6, the unit of the accumulated time is "hours (h)", and the unit of the ball screw position is "mm".
[0078] In Figure 6, vibration cutting with a ball screw position of 120 mm is Case (A), vibration cutting with a ball screw position of 126 mm is Case (B), and vibration cutting with a ball screw position of 132 mm is Case (C). In the example shown in Figure 6, in Case (A), the cumulative time is 4,300 hours and the effective operation coefficient is 1.6. In Case (B), the cumulative time is 4,800 hours and the effective operation coefficient is 1.56. In Case (C), the cumulative time is 4,500 hours and the effective operation 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 plurality of positions of the ball screw 81z based on the effective operation coefficient for each of the plurality of positions of the ball screw 81z. The estimation unit 482 estimates the life of each of the plurality of positions of the ball screw 81z by referring to the relationship between the operation coefficient of the ball screw 81z and the life of the ball screw 81z as shown in FIG.
[0080] The estimation unit 482 estimates the remaining life at each of the multiple positions of the ball screw 81z by subtracting the accumulated time calculated by the ball screw data management unit 511 from the time that is the estimated result of the life 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 accumulated time and the effective operation coefficient, with reference to the relationship between the operation 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 operation coefficient calculated based on the vibration frequency and amplitude, and the accumulated time that is the result of accumulating the execution time.
[0081] The estimation unit 482 compares the remaining life estimated for each of the multiple positions with a predetermined first threshold. The first threshold is a threshold for determining whether replacement of the ball screw 81z is necessary. If the remaining life estimated for each of the multiple positions includes a remaining life equal to or less than the first threshold, the interpolation processing unit 48 instructs the output control unit 44 via the storage unit 43 to output a warning indicating that replacement of the ball screw 81z is necessary. Upon receiving the instruction from the interpolation processing unit 48, the output control unit 44 reads screen display data for displaying a warning indicating that replacement of the ball screw 81z is necessary 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 indicated by the screen display data. In this way, if the remaining life estimated for, for example, a specific position among the multiple positions includes a remaining life equal to or less than the first threshold, the numerical control device 1 outputs a warning indicating that replacement of the ball screw 81z is necessary. This allows the numerical control device 1 to notify an operator or a machine tool maintenance person that it is time to replace the ball screw 81z.
[0082] The estimation unit 482 compares the remaining life estimated for each of the multiple positions with a preset second threshold value. The second threshold value is a threshold value for determining whether or not to propose a change in the vibration conditions for vibration cutting. If the remaining life estimated for each of the multiple positions includes a remaining life that is equal to or less than the second threshold value, the estimation unit 482 instructs the vibration condition change unit 483 to calculate life extension conditions. The life extension conditions are vibration conditions that are expected to extend the life of the ball screw 81z compared to when future vibration cutting is performed under the current vibration conditions.
[0083] The vibration condition changing unit 483 calculates the life extension conditions in accordance with the instructions from the estimation unit 482. Furthermore, the vibration condition changing unit 483 instructs the output control unit 44 via the storage unit 43 to propose changing the vibration conditions to the calculated life extension conditions. Upon receiving the instruction from the vibration condition changing unit 483, the output control unit 44 reads screen display data for displaying a message urging the user to change the vibration conditions 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 message urging the user to change the vibration conditions in accordance with the screen display data. In this way, the vibration condition changing unit 483 proposes changing the vibration conditions for vibration cutting based on the remaining life estimated by the estimation unit 482.
[0084] The numerical control device 1 accepts an instruction to change the proposed vibration conditions on a screen displayed on the output unit 3. The operator operates the input operation unit 2 to input an instruction to change the vibration conditions to the numerical control device 1. The input control unit 41 sends an instruction to change the vibration conditions to the interpolation processing unit 48 via the data setting unit 42 and the memory unit 43. The vibration condition change unit 483 changes the vibration conditions in accordance with the instruction to change the vibration conditions. The numerical control device 1 causes the machine tool to perform vibration cutting under the changed vibration conditions. By changing the vibration conditions to the calculated life extension conditions, the numerical control device 1 can take measures to extend the life of the ball screw 81z.
[0085] Next, a processing procedure executed by the numerical control device 1 according to the first embodiment will be described. FIG. 7 is a flowchart showing an example of the processing procedure executed by the numerical control device 1 according to the first embodiment. Here, an example of the processing executed by the numerical control device 1 when vibration cutting is performed by a machine tool will be described. In the following description, it is assumed that the vibration frequency before the vibration conditions are changed is 90.9 Hz, for example. Furthermore, it is assumed that the numerical control device 1 appropriately calculates an effective operation coefficient for each of a plurality of positions on the ball screw 81z from the vibration conditions of the performed vibration cutting, i.e., the vibration frequency and vibration amplitude, etc.
[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, which is one of the operating modes of the machine tool, is on. For example, when the measurement unit 481 receives a command to start cutting while the vibration cutting mode is on, it starts measuring the execution time of vibration cutting. When the vibration cutting by the machine tool is finished, the measurement unit 481 ends measuring the execution time of vibration cutting. For example, when the measurement unit 481 receives a command to end cutting while the vibration cutting mode is on, it ends measuring the execution time of vibration cutting.
[0087] The measurement unit 481 measures the execution time of vibration cutting at each of a plurality of 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 out the cumulative time values stored for each of the plurality of positions from the shared area 434, and adds the execution time value measured in step S1 to the read cumulative time values. The ball screw data management unit 511 stores the cumulative time value to which the execution time value has been added in the shared area 434. As a result, the cumulative time value stored in the shared area 434 is updated.
[0088] In step S2, the estimation unit 482 estimates the remaining life at each of the multiple positions of the ball screw 81z. The estimation unit 482 reads out the effective operation coefficient for each of the multiple positions of the ball screw 81z from the shared area 434, and estimates the life at each of the multiple positions of the ball screw 81z based on the effective operation coefficient. The estimation unit 482 reads out the accumulated time value for each of the multiple positions of the ball screw 81z from the shared area 434, and estimates the remaining life at each of the multiple positions of the ball screw 81z by subtracting the accumulated time from the estimated life.
[0089] The estimation unit 482 stores the estimated results of the remaining life at each of the multiple positions of the ball screw 81z in the shared area 434. The output control unit 44 reads out the estimated results of the remaining life at each of the multiple positions of the ball screw 81z from the shared area 434. The output control unit 44 also reads out screen display data for displaying the remaining life at each of the multiple positions of the ball screw 81z from the display data storage area 433. The output control unit 44 outputs the screen display data reflecting the estimated results of the remaining life to the output unit 3. The output unit 3 displays the remaining life in accordance with the screen display data. Specific examples of displaying the remaining life will be described later.
[0090] In step S3, the estimation unit 482 determines whether the remaining life estimated in step S2 is equal to or less than a first threshold value. The first threshold value may be, for example, 0 hours. When the first threshold value is 0 hours, the remaining life being equal to or less than the first threshold value means that the estimated life has expired. Note that the first threshold value is not limited to 0 hours and may be a value greater than 0 hours.
[0091] If the remaining life for at least one of the multiple positions is equal to or less than the first threshold value (Yes in step S3), in step S4, the output unit 3 outputs a warning indicating that replacement of the ball screw 81z is necessary. For example, the output unit 3 displays a warning screen including a message warning that replacement of the ball screw 81z is necessary. A specific example of the warning screen will be described later. By completing step S4, the numerical control device 1 ends the processing according to the procedure shown in FIG. 7.
[0092] If the remaining life is not equal to or less than the first threshold value for any of the positions (No in step S3), in step S5, the estimation unit 482 determines whether the remaining life estimated in step S2 is equal to or less than a second threshold value. The second threshold value is, for example, 3000 hours. The second threshold value is not limited to 3000 hours and may be a value greater than or less than 3000 hours.
[0093] If the remaining life for at least one of the multiple positions is equal to or less than the second threshold value (Yes in step S5), the estimation unit 482 instructs the vibration condition changing unit 483 to calculate a life extension condition. In step S6, the vibration condition changing unit 483 calculates the life extension condition. Details of the method for calculating the life extension condition will be described later. In addition, the vibration condition changing unit 483 proposes changing the vibration condition to the calculated life extension condition.
[0094] Here, it is assumed that the numerical control device 1 receives an instruction to change to the proposed vibration conditions. When the numerical control device 1 receives the instruction to change to the proposed vibration conditions, the vibration condition change unit 483 changes the vibration conditions in accordance with the instruction to change the vibration conditions in step S7. When step S7 is completed, the numerical control device 1 ends the processing according to the procedure shown in FIG. 7.
[0095] If the remaining life is not equal to or less than the second threshold value for any of the multiple positions (step S5, No), the numerical control device 1 ends the processing according to the procedure shown in Fig. 7. If no changes to the proposed vibration conditions are made, the numerical control device 1 ends the processing according to the procedure shown in Fig. 7 without changing the vibration conditions. If the numerical control device 1 does not issue a warning or change the vibration conditions, after ending the processing according to the procedure shown in Fig. 7, it executes the processing according to the procedure shown in Fig. 7 again.
[0096] FIG. 8 is a diagram illustrating an example of a display of the remaining life estimated by the numerical control device 1 according to the first embodiment. FIG. 8 illustrates a state in which a bar graph representing the remaining life is displayed on a screen displayed by the output unit 3. In the example illustrated in FIG. 8, a curve graph representing the relationship between the operation coefficient of the ball screw 81z and the life of the ball screw 81z is displayed together with the bar graph representing the remaining life. This curve graph is the same as the graph illustrated in FIG. 4. FIG. 8 illustrates three bar graphs representing the remaining life for the above-described cases (A), (B), and (C) as an example of a display of the remaining life. Note that in FIG. 8, the notations "(A)," "(B)," and "(C)" represent case (A), case (B), and case (C), respectively, and are added for the purpose of explanation. The notations "(A)," "(B)," and "(C)" in FIG. 8 are not included in the display on the screen.
[0097] The bar graph for case (A) is shown centered at "1.6" on the horizontal axis. "1.6" is the effective operation coefficient for case (A). "120" shown in the bar graph for case (A) indicates that the ball screw position for case (A) is 120 mm. The toned portion of the bar graph for case (A) represents the cumulative time of vibration cutting at a ball screw position of 120 mm up to the present. The dashed portion of the bar graph for case (A) represents the time from the present onwards during which vibration cutting is possible at a ball screw position of 120 mm, i.e., the remaining life for a ball screw position of 120 mm. "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 shown centered at "1.56" on the horizontal axis. "1.56" is the effective operation coefficient for case (B). "126" shown in the bar graph for case (B) indicates that the ball screw position for case (B) is 126 mm. The toned portion of the bar graph for case (B) represents the cumulative time of vibration cutting at ball screw position 126 mm up to the present. The dashed portion of the bar graph for case (B) represents the time from the present onwards during which vibration cutting is possible at ball screw position 126 mm, i.e., the remaining life for ball screw position 126 mm. "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 shown centered at "1.65" on the horizontal axis. "1.65" is the effective operation coefficient for case (C). "132" shown in the bar graph for case (C) indicates that the ball screw position for case (C) is 132 mm. The toned portion of the bar graph for case (C) represents the cumulative time of vibration cutting at ball screw position 132 mm up to the present. The dashed portion of the bar graph for case (C) represents the time from the present onwards when vibration cutting is possible at ball screw position 132 mm, i.e., the remaining life for ball screw position 132 mm. "3000" shown in the bar graph for case (C) indicates that the remaining life is 3000 hours.
[0100] In the example shown in FIG. 8, of cases (A), (B), and (C), only case (C) satisfies the requirement that the remaining life is equal to or less than the second threshold value of 3000 hours.
[0101] In the example shown in Fig. 8, a mark 31 indicating that the remaining life is equal to or less than the second threshold is displayed on the bar graph for case (C). The mark 31 shown in Fig. 8 is a star-shaped mark. The shape of the mark 31 is not limited to a star and may be any shape. The output unit 3 may indicate that the remaining life is equal to or less than the second threshold by a method other than displaying the mark 31. The indication that the remaining life is equal to or less than the second threshold may be any method that allows an operator or maintenance personnel to recognize that the remaining life is equal to or less than the second threshold.
[0102] In the example shown in Fig. 8, the remaining life for each position of the ball screw 81z is displayed using a bar graph and a numerical value indicating the remaining life in hours, but the manner of displaying the remaining life is not limited to that shown in Fig. 8. The display of the remaining life may be any display that allows an operator or maintenance person to recognize the remaining life for each position of the ball screw 81z. For example, the output unit 3 may display the remaining life only using a numerical value indicating the remaining life in hours.
[0103] The vibration condition change unit 483 calculates the life extension conditions for case (C). A method for calculating the life extension conditions will be described later. In the example shown in FIG. 8 , the output unit 3 displays a message 32 on the screen, including a message urging the user to change the vibration conditions. In the example shown in FIG. 8 , it is assumed that changing the vibration conditions to the calculated life extension conditions will result in an estimated remaining life extension from 3000 hours to 3270 hours. The message 32 includes a message indicating that the life of the ball screw 81z can be extended from 3000 hours to 3270 hours. The message 32 also includes a message urging the user to make advance arrangements for the ball screw 81z.
[0104] By displaying the message 32 on the screen, the operator or maintenance person can recognize the need to change the vibration conditions for vibration cutting. The operator or maintenance person can determine whether or not to change the vibration conditions while taking into consideration the need for changing the vibration conditions.
[0105] 8 , the output unit 3 displays on the screen a button 33 for selecting a change in the vibration conditions and a button 34 for selecting not to change the vibration conditions. When the operator or maintenance person presses the button 33, information indicating that a change in the vibration conditions has been selected, i.e., an instruction to change the vibration conditions, is sent to the interpolation processing unit 48 via the input control unit 41, the data setting unit 42, and the storage unit 43. When the instruction to change the vibration conditions is input, the vibration condition change unit 483 changes the vibration conditions from the current vibration conditions to the life extension conditions. On the other hand, when the operator or maintenance person presses the button 34, information indicating that not to change the vibration conditions is sent to the interpolation processing unit 48 via the input control unit 41, the data setting unit 42, and the storage unit 43. When the information is input to the vibration condition change unit 483, the current vibration conditions are maintained without being changed.
[0106] The message 32 and buttons 33, 34 are displayed when the remaining lifespan estimated for each of the multiple positions includes a remaining lifespan that is equal to or less than the second threshold. Note that the layout of the screen on which the remaining lifespan is displayed is not limited to that shown in Fig. 8. The position or size on the screen of each of the remaining lifespan display, message 32, and buttons 33, 34 may be arbitrary.
[0107] 9 is a diagram showing an example of a warning display in the numerical control device 1 according to the first embodiment. Fig. 9 shows a warning message 36 displayed on a warning screen displayed by the output unit 3. The message 36 includes a statement urging replacement of the ball screw 81z. The warning screen is displayed when the remaining lives estimated for each of the multiple positions include a remaining life that is equal to or less than a first threshold value.
[0108] In the example shown in FIG. 9 , a curve graph showing the relationship between the operation coefficient of the ball screw 81z and the lifespan of the ball screw 81z is displayed on the warning screen. This curve graph is the same as the graph shown in FIG. 4 . In addition, in the example shown in FIG. 9 , a bar graph showing the accumulated time for each of multiple positions on the ball screw 81z is displayed together with the curve graph. As an example of the display of the accumulated time, FIG. 9 shows three bar graphs showing the accumulated time for three cases. Here, the three cases are referred to as case (A′), case (B′), and case (C′). Note that in FIG. 9 , the notations "(A′)," "(B′)," and "(C′)" represent case (A′), case (B′), and case (C′), respectively, and are added for explanatory purposes. The notations "(A′)," "(B′)," and "(C′)" in FIG. 9 are not included in the display on the screen.
[0109] Case (A') is vibration cutting with a ball screw position of 120 mm and an effective operation coefficient of 1.6. Case (A') has the same ball screw position and effective operation coefficient as case (A), but the cumulative time is different from case (A). Case (B') is vibration cutting with a ball screw position of 126 mm and an effective operation coefficient of 1.56. Case (B') is the same ball screw position and effective operation coefficient as case (B), but the cumulative time is different from case (B). Case (C') is vibration cutting with a ball screw position of 132 mm and an effective operation coefficient of 1.65. Case (C') is the same ball screw position and effective operation coefficient as case (C), but the cumulative time is different from case (C). Here, the cases where the effective operation coefficients are 1.56, 1.6, and 1.65 have been described, but even if the value of the effective operation coefficient is different from this case, a determination similar to this case can be made.
[0110] 9, the difference between the lifespan indicated by the curve graph, i.e., the estimated lifespan, and the accumulated time indicated by the bar graph corresponds to the remaining lifespan. In the example shown in Fig. 9, among cases (A'), (B'), and (C'), only case (A') satisfies the requirement that the remaining lifespan is equal to or less than the first threshold value of 0 hours.
[0111] In the example shown in FIG. 9 , a mark 35 indicating that the remaining life is equal to or less than the first threshold is displayed on the bar graph for case (A′). The mark 35 shown in FIG. 9 is a star-shaped mark. The shape of the mark 35 is not limited to a star and may be any shape. The output unit 3 may indicate that the remaining life is equal to or less than the first threshold by a method other than displaying the mark 35. The indication that the remaining life is equal to or less than the first threshold may be any method that allows an operator or maintenance personnel to recognize that the remaining life is equal to or less than the first threshold.
[0112] The message 36 displayed on the warning screen allows the operator or maintenance person to recognize that it is time to replace the ball screw 81z. In addition, the warning screen also displays a graph showing the lifespan together with the message 36, allowing the operator or maintenance person to intuitively grasp the deterioration status of the ball screw 81z.
[0113] In the example shown in Figure 9, a graph showing the lifespan is displayed together with the message 36 on the warning screen, but the output unit 3 may also be configured to display only the message 36 on the warning screen.
[0114] Next, a method for calculating the life extension condition will be described. Here, an example will be described in which the life extension condition is calculated by selecting a pattern that can be used as the life extension condition from a set of vibration conditions that have been set in advance.
[0115] Fig. 10 is a diagram showing an example of vibration conditions that are preset in the numerical control device 1 according to the first embodiment. Fig. 10 shows an example of vibration conditions that enable vibration cutting, i.e., conditions that enable chip breakage. Both the vibration conditions before and after the change are vibration conditions selected from a plurality of vibration conditions that are preset as vibration conditions that enable vibration cutting.
[0116] In the example shown in Fig. 10, the preset vibration conditions are the number of vibrations per spindle rotation, the spindle rotation speed, and the vibration frequency. A set of preset vibration conditions is a set of the number of vibrations per spindle rotation, the spindle rotation speed, and the vibration frequency. In Fig. 10, the unit of the number of vibrations per spindle rotation is "revolutions," the unit of the spindle rotation speed is "r / min," and the unit of the vibration frequency is "Hz." Note that the vibration frequency is uniquely determined from the number of vibrations per spindle rotation and the spindle rotation speed.
[0117] The vibration condition changing unit 483 selects one of a plurality of preset vibration condition sets as a changed vibration condition, i.e., a life extension condition, in which at least one of the number of vibrations per spindle revolution, the spindle rotation speed, and the vibration frequency is changed from the vibration condition before the change.
[0118] From the relationship shown in Figure 4, it can be seen that the life of the ball screw 81z is extended by reducing the operation coefficient. Furthermore, from the relationship shown in Figure 5, it can be seen that the operation coefficient can be reduced by reducing the vibration frequency. Therefore, the vibration condition change unit 483 calculates, as the life extension condition, a vibration condition that reduces at least the vibration frequency compared to before the vibration condition was changed. Note that, since the vibration frequency is uniquely determined by the number of vibrations per rotation of the spindle and the spindle rotation speed, the vibration frequency can be changed by changing at least one of the number of vibrations per rotation of the spindle and the spindle rotation speed.
[0119] In the example shown in Figure 10, the vibration conditions before the change are a vibration frequency of 1.5 times per spindle rotation, a spindle rotation speed of 3636 r / min, and a vibration frequency of 90.9 Hz. The vibration conditions after the change are a vibration frequency of 1.5 times per spindle rotation, a spindle rotation speed of 3333 r / min, and a 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. Because the vibration frequency after the change is smaller than the vibration frequency before the change, the changed vibration conditions enable the life of the ball screw 81z to be extended.
[0120] In addition, the greater the change in vibration conditions, for example, when both the number of vibrations per spindle revolution and the spindle rotation speed change significantly, the greater the change in vibration conditions will be. For this reason, in the example shown here, the number of vibrations per spindle revolution is not changed, and only the spindle rotation speed is changed.
[0121] Furthermore, if it is desired to further extend the lifespan beyond that of the above example, it is possible to keep the spindle rotation speed approximately the same as before the change and reduce the number of vibrations per spindle rotation. For example, it is possible to change the number of vibrations per spindle rotation from 1.5 to 0.5 and change the spindle rotation speed from 3636 r / min to 3529 r / min. In this case, the number of vibrations per spindle rotation decreases, resulting in longer chips than in the above example. For example, if the change in vibration conditions results in longer chips, the numerical control device 1 may display a warning to the operator or maintenance personnel on the output unit 3.
[0122] The method for calculating the life extension conditions is not limited to the above method. For example, the vibration condition changing unit 483 may be configured such that a desired life extension time is input to the numerical control device 1, and the vibration condition changing unit 483 changes at least one of the number of vibrations per rotation of the spindle and the spindle rotation speed by back-calculating from the input life extension time.
[0123] Next, a change in the vibration waveform due to a change in the vibration conditions will be described. Fig. 11 is a diagram for explaining a change in the vibration waveform due to a change in the vibration conditions in embodiment 1. The upper part of Fig. 11 shows an example of a vibration waveform before the vibration conditions are changed. The lower part of Fig. 11 shows an example of a vibration waveform after the vibration conditions are changed. In each of the upper and lower parts of Fig. 11, the vertical axis represents the axial position and the horizontal axis represents time. The axial position is the position of the driven body in the vibration direction.
[0124] In Fig. 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 of the vibration conditions. CT2 represents the vibration period after the change of the vibration conditions. In each of the upper and lower parts of Fig. 11, C n and C, which is the vibration waveform of the n+1th period. n+1 where n is an arbitrary integer. In each of the upper and lower parts of FIG. 11, S represents an idle region. The idle region is a region in the tool movement path where the tool does not come into contact with the workpiece and no cutting is performed, i.e., a region where the tool idles. In the idle region, chips that have been generated up to that point are broken up. In each of the upper and lower parts of FIG. 11, the idle region is a region below the nth cycle of the vibration waveform and above the n+1th cycle of the vibration waveform.
[0125] By changing the vibration conditions using the vibration condition change unit 483, it is possible to lower the vibration frequency while maintaining the state in which a miss-motion region occurs even after the vibration conditions are changed, as shown in Figure 11. This allows the numerical control device 1 to calculate vibration conditions that enable vibration cutting, i.e., conditions that enable cutting while breaking up chips, while also extending the life of mechanical components. Note that the vibration waveform shown in Figure 11 may be based on either a vibration waveform based on a command value or a vibration waveform based on an FB value, as long as the vibration waveform based on the actual measurement value satisfies the conditions that enable vibration cutting.
[0126] By lowering the vibration frequency from 90.9 Hz to 83.3 Hz, the remaining life after changing the vibration conditions can be expected to be extended by approximately 1.09 times (= 90.9 Hz / 83.3 Hz) compared to when the vibration conditions before the change are maintained. Therefore, in case (C) shown in Figure 8, when the same machining is performed after changing the vibration conditions as before the change, the remaining life can be extended by 270 hours, from 3000 hours to 3270 hours (= 3000 hours × 1.09). By estimating that the remaining life can be extended from 3000 hours to 3270 hours, the vibration condition change unit 483 displays a message 32 including text 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 take measures to extend the life of the ball screw 81z while enabling vibration cutting by changing the vibration conditions to the life extension conditions calculated based on the estimated remaining life.
[0128] In the above description, the estimation unit 482 estimates the remaining life of the ball screw 81z based on the accumulated time, which is the result of accumulating the execution time of vibration cutting, and the effective operation coefficient. The estimation unit 482 may also estimate the remaining life of the ball screw 81z based on the accumulated number, which is the result of accumulating the number of vibrations of the driven body during vibration cutting, and the effective operation coefficient. In other words, the estimation unit 482 estimates the remaining life of the ball screw 81z based on the accumulated value, which is the result of accumulating the execution time or the number of vibrations, and the effective operation coefficient. Here, the accumulated number for the ball screw 81z refers to the accumulated number since the current ball screw 81z began to be used.
[0129] The estimation unit 482 may acquire the value of the number of vibrations by, for example, multiplying the vibration frequency by the execution time of vibration cutting. Alternatively, the estimation unit 482 may acquire the value of the number of vibrations by counting the number of vibrations. The estimation unit 482 may count the number of vibrations based on, for example, a vibration waveform that is a basic waveform of vibration generated by the waveform generation unit 484.
[0130] By using the numerical control device 1 to estimate the remaining life of the ball screw 81z based on the cumulative value, which is the result of accumulating the execution time or number of vibrations, and the effective operation coefficient, the operator or maintenance person can grasp 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 changes the vibration conditions to extend the life of the ball screw 81z. The numerical control device 1 may also extend the life of the ball screw 81z by changing the position at which the driven body is vibrated during vibration cutting. The machining program changing unit 487 changes the position at which the driven body is vibrated during vibration cutting based on the cumulative values tallied for each of the multiple positions on the ball screw 81z.
[0132] Here, a specific example of changing the position at which the driven body is vibrated will be described. In step S5 shown in Fig. 7, when the remaining life of at least one of the multiple positions of the ball screw 81z is equal to or less than the second threshold, the machining program change unit 487 proposes a change to the machining program based on the cumulative time tallied for each of the multiple positions, accepts a change instruction for the machining program, and changes the machining program in accordance with the change instruction. By changing the machining program, the machining program change unit 487 changes the position at which the driven body is vibrated in vibration cutting.
[0133] As a specific example, when the remaining life of at least one of the multiple positions of the ball screw 81z is equal to or less than 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 a description of vibration cutting in the machining program stored in the machining program storage area 432 and analyzes the position at which the driven body is to be vibrated. Based on the analysis result, the machining program modification unit 487 selects, for example, a machining program that performs machining including vibration cutting at a position among the multiple positions of the ball screw 81z whose remaining life is greater than the second threshold. The machining program modification unit 487 selects, for example, 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 change unit 487 selects a position from among multiple positions of the ball screw 81z where the cumulative time does not exceed a predetermined upper limit time, and selects a machining program that vibrates the driven body at that position. For example, assume that the upper limit time is set to 4000 hours and the cumulative time for each ball screw position is calculated as shown in FIG. 6 . In this case, the machining program is selected for a position where the driven body is vibrated and the estimated remaining life is greater than the second threshold value. For example, because the cumulative time exceeds 4000 hours in the ball screw position range from 120 mm to 132 mm, the machining program change unit 487 selects a ball screw position outside the range from 120 mm to 132 mm. The machining program change 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 for displaying a message urging the user to change the machining program 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 message urging the user to change the machining program in accordance with the screen display data. In this way, the machining program change unit 487 proposes a change to the machining program based on the cumulative time tallied for each of the multiple positions.
[0136] The numerical control device 1 accepts the proposed instruction to change the machining program on a screen displayed on the output unit 3. The operator operates the input operation unit 2 to input the instruction to change the machining program to the numerical control device 1. The input control unit 41 sends the instruction to change the machining program to the interpolation processing unit 48 via the data setting unit 42 and the memory unit 43. The machining program change unit 487 changes the machining program in accordance with the instruction to change the machining program. The numerical control device 1 causes the machine tool to perform vibration cutting in accordance with the changed machining program. By changing the position at which the driven body is vibrated and performing vibration cutting, the numerical control device 1 can take measures to extend the life of the ball screw 81z.
[0137] The numerical control device 1 can effectively reduce uneven wear of the ball screw 81z by changing the position at which the driven body is vibrated, thereby extending the life of the ball screw 81z.
[0138] According to the first embodiment, the estimation unit 482 includes an estimation unit 482 that estimates the remaining life of mechanical components that make up the drive mechanism based on the execution time for which vibration cutting is performed or the number of vibrations of the driven body during vibration cutting. By checking the remaining life estimation result by the estimation unit 482, an operator or maintenance person can know in advance when to replace the mechanical components. This allows the operator or maintenance person to take appropriate measures to avoid malfunctions before they occur in the drive mechanism. The operator or maintenance person can take appropriate measures to avoid malfunctions before the drive mechanism actually breaks down.
[0139] In the first embodiment, it is possible to grasp the deterioration status of the ball screw 81z, which is a mechanical component, due to vibration cutting. By being able to grasp the deterioration status of the ball screw 81z, an operator or maintenance person can take appropriate measures appropriate to the deterioration status of the ball screw 81z. Furthermore, by being able to grasp the deterioration status for each of 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 being able to reduce uneven wear of the ball screw 81z, it is possible to avoid a shortened lifespan of the ball screw 81z due to uneven wear.
[0140] As described above, the numerical control device 1 according to the first embodiment has the effect of making it possible to grasp the deterioration status of the drive mechanism of a machine tool that performs processing including vibration cutting, caused by vibration cutting.
[0141] Second Embodiment In a second embodiment, an example of estimating the remaining life of at least one of a bearing built into a servo motor and a bearing that rotatably supports a ball screw will be described. The operation described in the second embodiment is realized by the numerical control device 1 shown in Fig. 1. In the second embodiment, as in the first embodiment, the processing executed by the numerical control device 1 will be described using as an example vibration cutting in which a driven body is vibrated in the Z-axis direction.
[0142] The drive mechanism 8z shown in FIG. 2 vibrates a driven body by operating a shaft 711z and a ball screw 81z within a certain angular range from a certain rotational position using a servo motor 71z. When the driven body is continuously vibrated near the same position, the longer the time the driven body is vibrated, the more unevenly grease is applied to the bearing 712z inside the servo motor 71z. If the grease is not distributed evenly throughout the bearing 712z, the bearing 712z will wear out faster. As with the bearing 712z inside the servo motor 71z, the bearings inside the support mechanisms 83z1 and 83z2 will also experience more uneven grease application and more rapid bearing wear as the time the driven body is vibrated increases. The bearings 712z inside the servo motor 71z and the bearings inside the support mechanisms 83z1 and 83z2 will need to be replaced more quickly due to increased wear. In vibration cutting, the driven body may continue to vibrate at a certain position, which may cause the bearings to wear in a manner different from that in normal cutting. The wear caused by vibration cutting is the same for the bearings of the nut 85z as for the bearings inside the support mechanisms 83z1 and 83z2, or the bearing 712z inside the servo motor 71z.
[0143] In the second embodiment, the estimation unit 482 estimates the remaining life of at least one of the mechanical components, namely, the bearing 712z inside the servo motor 71z and the bearing that rotatably supports the ball screw 81z. The estimation unit 482 determines the period during which the vibration of the driven body can be continued at the current position as the remaining life of the mechanical component, based on a continuation value that is the execution time or the number of vibrations for vibration cutting by continuing to vibrate the driven body at a fixed position. Vibration of the driven body at a fixed position refers to vibrating the driven body around a fixed position.
[0144] Next, a method for estimating the remaining life of at least one of the mechanical components, i.e., the bearing 712z inside the servo motor 71z and the bearings inside the support mechanisms 83z1 and 83z2, in the second embodiment will be described in detail. Here, an example will be described in which the estimation unit 482 estimates the remaining life of the mechanical components based on a duration value, which is the execution time of vibration cutting by continuously vibrating the driven body at a fixed position. In the following description, the duration value, which is the execution time of vibration cutting by continuously vibrating the driven body at a fixed position, will also be referred to as duration. 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 from each other and will be simply referred to as a bearing.
[0145] The bearing data management unit 512 sets a lifespan, which is the time during which vibration of the driven body can be continuously performed at each of a plurality of 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. It is desirable that the lifespan set in the bearing data management unit 512 be determined, for example, by actually performing vibration cutting using a machine tool. The lifespan set in the bearing data management unit 512 may also be a time specified by an operator.
[0146] When vibration cutting begins, the measurement unit 481 measures the duration of vibration cutting, which vibrates the driven body at the current position of the driven body. If the position at which the driven body vibrates during vibration cutting moves, the measurement unit 481 resets the duration measured for the position before the movement and measures the duration for the position after the movement. The measurement unit 481 measures the duration for each of 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 the second embodiment, the remaining life is the amount of time that vibration cutting, which vibrates the driven body at the current position of the driven body, can be continued. In the second embodiment, 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 soon expire. Note that the reference time may be any time 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] If the measured duration is equal to or greater than the reference time, the estimation unit 482 instructs the stroke operation execution unit 488 to perform stroke operation by rotating the ball screw 81z. When the stroke operation execution unit 488 receives the instruction from the estimation unit 482, it waits for the machine tool to finish machining and outputs a command for stroke operation before the next machining operation 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 in accordance with the command for stroke operation. When the drive mechanism 8z is instructed to perform stroke operation, the bearing data management unit 512 resets the duration measured for the position of the driven body before the stroke operation. Stroke operation refers to operation in which the bearing is rotated 360 degrees or more and does not involve significant axial movement.
[0149] In this way, the numerical control device 1 causes the drive mechanism 8z to perform stroke operation before the remaining life of the bearing expires. Stroke operation allows grease to be distributed throughout the entire bearing, thereby reducing bearing wear. According to the second embodiment, there is no need to periodically perform operations with large movement amounts, so machining can be stopped for less time. This makes it possible to reduce bearing wear while minimizing the decline in efficiency of the overall machining by the machine tool.
[0150] Fig. 12 is a diagram showing an example of the results of measuring the duration of vibration cutting by the numerical control device 1 according to the second embodiment. Fig. 12 shows a bar graph representing the duration for each position on the ball screw 81z. In Fig. 12, the vertical axis represents the duration of vibration cutting. The horizontal axis represents the ball screw position. In Fig. 12, the unit of duration is "hours (h)", and the unit of ball screw position is "mm".
[0151] For example, the lifespan set in the bearing data management unit 512 is assumed to be 30 hours. The reference time is assumed to be 24 hours, which corresponds to 80% of the lifespan set by the bearing data management unit 512. FIG. 12 shows three bar graphs representing the durations measured for ball screw positions of 125.7 mm, 126 mm, and 126.3 mm. The interval between each ball screw position when measuring the duration must be an interval equivalent to the amount of movement of the driven body when the ball screw 81z rotates less than one full rotation. In other words, the duration is measured by setting the interval between each ball screw position to an interval equivalent to a rotation of the ball screw 81z less than one full rotation, i.e., an interval equivalent to a rotation of the bearing less than 360 degrees. Here, the duration is measured by setting the interval between each ball screw position to 0.3 mm, which corresponds to 1 / 20 of a rotation of the ball screw 81z.
[0152] In the example shown in Fig. 12, the duration for the ball screw position 126 mm is assumed to be 25 hours. In the example shown in Fig. 12, the requirement that the measured duration for the ball screw position 126 mm is equal to or greater than the reference time is satisfied. Since the duration for the ball screw position 126 mm is equal to or greater than the reference time, the numerical control device 1 causes the drive mechanism 8z to perform a stroke operation.
[0153] Next, a processing procedure executed by the numerical control device 1 according to the second embodiment will be described. Fig. 13 is a flowchart showing an example of the processing procedure executed by the numerical control device 1 according to the second embodiment. Here, an example of the processing executed by the numerical control device 1 when vibration cutting is performed by a machine tool will be described. In addition, in the numerical control device 1, the vibration frequency of vibration cutting before change is assumed to be, for example, 90.9 Hz, the same as in the first embodiment.
[0154] As a premise for the processing according to the procedure shown in FIG. 13, the bearing data management unit 512 sets a lifespan, which is the time during which the driven body can be vibrated continuously at each of a plurality of positions on the ball screw 81z.
[0155] In step S11, the measurement unit 481 measures the duration of vibration cutting. When vibration cutting starts, the measurement unit 481 measures the duration of vibration cutting, which vibrates the driven body at the current position of the driven body. The measurement unit 481 measures the duration for each of 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 longer than a reference time. If the duration is equal to or longer than the reference time (Yes in step S12), 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. This causes the numerical control device 1 to end the processing according to the procedure shown in FIG. 13.
[0157] If the duration is not equal to or greater than the reference time (No at step S12), the numerical control device 1 ends the processing according to the procedure shown in Fig. 13. After ending the processing according to the procedure shown in Fig. 13, the numerical control device 1 executes the processing according to the procedure shown in Fig. 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 continuation number, which is the number of vibrations in vibration cutting by continuing to vibrate the driven body at a fixed position. In other words, the estimation unit 482 determines the period during which vibration of the driven body can be continued at the current position as the remaining life of the bearing based on the continuation value, which is the execution time or the number of vibrations in vibration cutting by continuing to vibrate the driven body at a predetermined position.
[0159] The estimation unit 482 may acquire the value of the number of continuations by, for example, multiplying the vibration frequency by the duration of vibration cutting. Alternatively, the estimation unit 482 may acquire the value of the number of continuations by counting the number of vibrations. The estimation unit 482 may count the number of continuations based on, for example, a vibration waveform that is a basic waveform of vibration generated by the waveform generation unit 484.
[0160] According to the second embodiment, the estimation unit 482 estimates the remaining life of the bearing, which is a mechanical component that constitutes the drive mechanism, based on the execution time of vibration cutting. The estimation unit 482 calculates the time during which vibration cutting, which vibrates the driven body at the current position of the driven body, can be continued as the remaining life of the bearing. The numerical control device 1 causes the drive mechanism to perform stroke operation based on the estimation result of the remaining life of the bearing. Because the numerical control device 1 can perform stroke operation according to the remaining life of the bearing, it is possible to avoid bearing wear due to uneven grease. By reducing bearing wear, it is possible to prevent the bearing from needing to be replaced earlier. This makes it possible to delay deterioration of the drive mechanism caused by vibration cutting.
[0161] As described above, the numerical control device 1 according to the second embodiment has the effect of making it possible to grasp the deterioration status of the drive mechanism of a machine tool that performs processing including vibration cutting, caused by vibration cutting.
[0162] In the second embodiment, the vibration condition changing unit 483 may change the vibration conditions to extend the remaining life without changing the position where vibration cutting is performed, based on the remaining life of the bearing estimated by the estimating unit 482, as in the first embodiment. Specifically, in order to extend the remaining life, the vibration condition changing unit 483 changes the vibration conditions so that the vibration frequency is lower than 90.9 Hz, which is the vibration frequency for vibration cutting before the change.
[0163] In the first and second embodiments, the numerical control device 1 performs vibration cutting by vibrating the tool, but this is not limited to this. For example, the numerical control device 1 may perform vibration cutting by vibrating the workpiece.
[0164] Next, a description will be given of the hardware configuration of the control calculation unit 4 included in the numerical control device 1. Fig. 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 the first or second embodiment.
[0165] The control calculation unit 4 is realized by a control circuit 100 shown in Fig. 14. The control circuit 100 includes a processor 101 and a memory 102. The control circuit 100 is a circuit in which the processor 101 executes software.
[0166] The control and calculation unit 4 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 102. In the control circuit 100, the processor 101 reads and executes the program stored in the memory 102, thereby realizing each function of the control and calculation unit 4. In other words, the control circuit 100 includes the memory 102 for storing a program that results in the processing of the control and calculation unit 4. This program is a numerical control program that causes a computer to execute the procedures and methods of the control and calculation unit 4. The memory 102 is also used as a temporary memory when the processor 101 executes various processes.
[0167] The processor 101 may be a CPU (Central Processing Unit), a processing unit, an arithmetic unit, a microprocessor, a microcomputer, a processor, a DSP (Digital Signal Processor), a system LSI (Large Scale Integration), etc. The memory 102 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (Electrically Erasable Programmable Read Only Memory), or a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).
[0168] The program executed by the processor 101 may be a computer program product having a computer-readable, non-transitory recording medium that includes a plurality of instructions executable by a computer to perform data processing. The program executed by the processor 101 causes the computer to execute the plurality of instructions to perform data processing.
[0169] The control and calculation unit 4 may be realized by dedicated hardware. Alternatively, some of the functions of the control and calculation unit 4 may be realized by dedicated hardware, and other parts of the functions of the control and calculation unit 4 may be realized by software or firmware.
[0170] The configurations shown in the above embodiments are examples of the contents of the present disclosure. The configurations of each embodiment can be combined with other known technologies. The configurations of each embodiment can also be combined as appropriate. Part of the configuration of each embodiment can be omitted or modified without departing from the gist of the present disclosure.
[0171] 1 Numerical control device, 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 Memory 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 Spindle motor, 71x, 71z Servo motor, 72s, 72x, 72z Detector, 73s 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 movement 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 machining including vibration cutting using a drive mechanism, an estimation unit that estimates a remaining life of a mechanical component that constitutes the drive mechanism based on an execution time of the vibration cutting and an operating condition of the machine tool; The numerical control device according to claim 1, wherein the estimation unit estimates the remaining life based on the execution time and the operating conditions that change depending on vibration conditions of the vibration cutting.
2. The estimation unit estimates the remaining life based on the execution time and an operation coefficient determined by the operating conditions, 2. The numerical control device according to claim 1, wherein the operation coefficient varies depending on the vibration condition.
3. The drive mechanism is a mechanism that converts the rotational motion of the ball screw, which is the mechanical component that rotates when power is received, into the linear motion of a driven body, The numerical control device according to claim 1 , wherein the estimating unit estimates a remaining life of the ball screw.
4. 3. The numerical control device according to claim 2, wherein the estimation unit estimates the remaining life based on a cumulative value that is a result of accumulating the execution time and an effective operation coefficient that is the operation coefficient calculated from the vibration condition, by referring to a relationship between the life of the mechanical component and the operation coefficient.
5. the drive mechanism is capable of vibrating the driven body at each of a plurality of positions in a direction of an axis that is a rotation center of the ball screw, A cumulative value is calculated for each of the plurality of positions, the cumulative value being a result of accumulating the execution time of the vibration cutting due to the vibration of the driven body at the position; 4. The numerical control device according to claim 3, wherein the estimating unit estimates the remaining life of the ball screw based on the accumulated value calculated for each of the plurality of positions.
6. The estimation unit estimates the remaining life based on the execution time and an operation coefficient determined by the operating conditions, The operating coefficient varies depending on the vibration condition, an effective operation coefficient is calculated for each of the plurality of positions, the effective operation coefficient being the operation coefficient determined from the vibration condition, based on the cumulative value calculated for each of the plurality of positions and the vibration condition when the driven body is vibrated at each of the plurality of positions; 6. The numerical control device according to claim 5, wherein the estimating unit estimates the remaining life of the ball screw based on the calculated effective operation coefficient and the accumulated value accumulated for each of the plurality of positions.
7. 7. The numerical control device according to claim 1, further comprising a first change unit that proposes a change to the vibration conditions based on the estimated remaining life, and changes the vibration conditions in accordance with an instruction to change the vibration conditions.
8. 7. The numerical control device according to claim 5, further comprising a second change unit that changes the position at which the driven body is vibrated in the vibration cutting based on the cumulative value tallied for each of the plurality of positions.
9. A numerical control device for controlling a machine tool that performs machining including vibration cutting using a drive mechanism, an estimation unit that estimates a remaining life of a mechanical component that constitutes the drive mechanism based on an execution time of the vibration cutting; The drive mechanism is capable of vibrating the driven body at each of a plurality of positions in a direction of a center line which is a rotation center of the ball screw, The numerical control device is characterized in that the estimation unit calculates the period during which vibration of the driven body can be continued at the current position as the remaining life of the mechanical component based on a continuation value, which is the execution time for the vibration cutting by continuing the vibration of the driven body at the specified position.
10. The mechanical components include bearings, The numerical control device according to claim 9 , wherein the estimating unit estimates a remaining life of the bearing.
11. 11. The numerical control device according to claim 9, further comprising a stroke operation execution unit that causes the drive mechanism to execute a stroke operation based on the estimated remaining life of the mechanical component.
12. a step of estimating a remaining life of a mechanical component constituting a drive mechanism of a machine tool that performs machining including vibration cutting using the drive mechanism, based on an execution time of the vibration cutting and an operating condition of the machine tool; A numerical control method, characterized in that the operating conditions are changed depending on the vibration conditions of the vibration cutting.
13. a step of estimating remaining life of mechanical components constituting a drive mechanism of a machine tool that performs machining including vibration cutting using the drive mechanism, based on an execution time of the vibration cutting and an operating condition of the machine tool; A numerical control program, characterized in that the operating conditions are changed depending on the vibration conditions of the vibration cutting.
