Numerical control device, machine tool, control method, program, and storage medium
The numerical control device improves machining load monitoring by synchronizing acquisition timing with fixed cycle commands, reducing memory requirements, and detecting abnormalities, addressing inefficiencies in existing detection devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-10
AI Technical Summary
Existing detection devices fail to monitor machining load accurately during the period when the tool and workpiece are in contact, leading to inefficiencies in machining load monitoring.
A numerical control device that includes a control unit to read start and stop commands for processing load acquisition, perform determination processes to identify fixed cycle commands, and execute load acquisition and monitoring processes to synchronize and adjust machining load monitoring based on reference loads, thereby enhancing precision and reducing memory requirements.
The solution enables accurate monitoring of machining load during desired periods, synchronizing load acquisition timing, and reducing memory usage, while detecting abnormalities and fluctuations in machining load.
Smart Images

Figure 2026094885000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a numerical control device, a machine tool, a control method, a program, and a storage medium.
Background Art
[0002] The detection device described in Patent Document 1 monitors the machining load of a tool. The detection device includes an actual machining load amount acquisition unit and a detection unit. The actual machining load amount acquisition unit acquires the load amount of a tool during an air feed operation and an actual machining operation as the machining load. The air feed operation is an operation mode in which machining of a workpiece by a tool is not performed. The actual machining operation is an operation mode in which machining of a workpiece by a tool is performed. When the air feed operation is executed, the detection unit detects whether the machining load exceeds an air feed threshold value. When the actual machining operation is executed, the detection unit detects whether the machining load exceeds an actual machining threshold value.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the above detection device, although the cutting feed of the tool is performed during the actual machining operation, a time difference occurs until the tool contacts the workpiece during this cutting feed period. In this case, the detection device could not monitor the machining load only for the period during which the tool and the workpiece are in contact, for example, during the cutting feed period of the actual machining operation.
[0005] An object of the present invention is to provide a numerical control device, a machine tool, a control method, a program, and a storage medium that can monitor the machining load acquired during a desired period in machining of a workpiece.
Means for Solving the Problems
[0006] A numerical control device according to a first aspect of the present invention is a numerical control device comprising a control unit that controls a machine tool that processes a workpiece with a tool based on an NC program, wherein the control unit performs a reading process that reads a first command from the NC program that indicates a start time for starting to acquire the processing load in processing the workpiece, and a second command that indicates a stop time for ending the acquisition of the processing load, a first determination process that determines whether there is a fixed cycle command that performs the same processing at multiple different positions on the workpiece over the period from when the first command is read in the reading process until the second command is read in the reading process, and a cycle monitoring process that performs monitoring for each of the same processing operations in the fixed cycle command if the first determination process determines that there is a fixed cycle command, wherein the cycle monitoring process comprises a first load acquisition process that acquires the processing load, and a first monitoring process that performs monitoring based on the processing load acquired in the first load acquisition process. The numerical control device can monitor the processing load acquired over a desired period.
[0007] In the numerical control device of the present invention, the first monitoring process may monitor the machining load acquired in the first load acquisition process based on the reference machining load stored in the memory device, which serves as the basis for monitoring one of the same machining operations in the fixed cycle command. The numerical control device monitors the machining load based on the same reference machining load in the same machining operation of the fixed cycle command. Therefore, the numerical control device can suppress insufficient memory device capacity compared to the case where the memory device stores the machining load that serves as the basis for monitoring all machining operations in the fixed cycle command.
[0008] In the numerical control device of the present invention, the first load acquisition process may start acquiring the machining load after the positioning movement of either or both the tool and the workpiece, which is performed prior to the first cutting movement in the fixed cycle command, is completed. The numerical control device can synchronize the timing of the start of machining load acquisition in the machining of the fixed cycle command. Therefore, the numerical control device can correctly monitor the machining load for each machining operation of the fixed cycle command.
[0009] In the numerical control device of the present invention, the control unit may perform a second determination process to determine whether a cutting feed command was issued before the fixed cycle command during the period from when the first command is read in the reading process until when the second command is read in the reading process, and if the second determination process determines that the cutting feed command was issued before the fixed cycle command, instead of performing monitoring by the cycle monitoring process, it may perform a second load acquisition process to acquire the machining load during the cutting feed, and a second monitoring process to perform monitoring based on the machining load acquired in the second load acquisition process. The numerical control device can monitor the machining load for the cutting feed when a cutting feed command is issued before the fixed cycle command.
[0010] In the numerical control device of the present invention, the fixed cycle command includes a machining command that determines the machining conditions, and a third determination process is provided to determine whether a fixed cycle command or machining command of a different type from the same machining in the fixed cycle command has been commanded after the fixed cycle command during the period from when the first command is read in the reading process until when the second command is read in the reading process, and if the third determination process determines that a fixed cycle command or machining command of a different type from the same machining in the fixed cycle command has been commanded after the fixed cycle command, the first load acquisition process may terminate the acquisition of the machining load. The numerical control device terminates the acquisition of the machining load when a machining process different from the same machining in the fixed cycle command is commanded after the fixed cycle command. Therefore, the numerical control device can suppress monitoring of machining based on the machining load in the same machining and different machining in the fixed cycle command.
[0011] In the numerical control device of the present invention, the fixed cycle command includes a first cycle command and a second cycle command different from the first cycle command, and the control unit may perform a third load acquisition process to acquire the reference machining load from the time the first command is read in the read process until the second command is read in the read process, and a storage control process to store the reference machining load acquired by the third load acquisition process in the storage device. The numerical control device can monitor the machining load based on the reference machining load.
[0012] In the numerical control device of the present invention, the control unit performs a first setting process to set a monitoring start time for the period from when the first cycle command is read until when the second cycle command is read, based on the reference machining load stored in the storage control process, and a second setting process to set a monitoring end time for the period from when the first cycle command is read until when the second cycle command is read, based on the reference machining load stored in the storage control process, and the first monitoring process monitors the machining load acquired in the first load acquisition process for the period from when the first cycle command is read until when the second cycle command is read, based on the reference machining load stored in the storage control process, and the first monitoring process monitors the machining load acquired in the first load acquisition process for the period from when the monitoring start time is set in the first setting process until when the monitoring end time is set in the second setting process. The numerical control device can perform monitoring of the machining load for the period necessary for monitoring from when the monitoring start time is read until when the monitoring end time is read, among the acquired machining loads.
[0013] In the numerical control device of the present invention, the control unit may perform a third setting process to set an upper limit load based on the reference machining load stored in the memory control process, and a fourth setting process to set a lower limit load based on the reference machining load stored in the memory control process, and the first monitoring process may monitor the machining load acquired in the first load acquisition process based on the upper limit load set in the third setting process and the lower limit load set in the fourth setting process. The numerical control device can monitor the machining load based on the upper limit load and lower limit load based on the reference machining load.
[0014] In the numerical control device of the present invention, the first monitoring process may include a first notification control process that notifies of an abnormality in the machining load when it is determined that the machining load acquired in the first load acquisition process is greater than the upper limit load set in the third setting process, and a second notification control process that notifies of an abnormality in the machining load when it is determined that the machining load acquired in the first load acquisition process is lower than the lower limit load set in the fourth setting process. The operator of the numerical control device can recognize the abnormality in the machining load.
[0015] In the numerical control device of the present invention, the control unit executes a third setting process to set an upper limit load based on the reference machining load stored in the storage control process, The aforementioned first monitoring process is: If the machining load acquired in the first load acquisition process is determined to be greater than the upper limit load set in the third setting process, the first notification control process notifies of the abnormality in the machining load. It may also be equipped with the following: The operator of the numerical control device can recognize abnormalities in the machining load.
[0016] In the numerical control device of the present invention, the control unit executes a fourth setting process to set a lower limit load based on the reference machining load stored in the storage control process, and the first monitoring process determines that the machining load acquired in the first load acquisition process is lower than the lower limit load set in the fourth setting process, and then performs a second notification control process to notify of an abnormality in the machining load. It may also be equipped with the following: The operator of the numerical control device can recognize abnormalities in the machining load.
[0017] In the numerical control device of the present invention, the control unit may perform a display control process that overlays and displays on the display unit the reference machining load stored in the storage control process, the upper limit load set in the third setting process, the lower limit load set in the fourth setting process, and the machining load acquired in the first load acquisition process. With the numerical control device, the operator can visually confirm the machining load.
[0018] In the numerical control device of the present invention, the upper limit load is calculated based on the reference machining load and an upper limit machining load that is a predetermined offset amount, and the lower limit load is calculated based on the reference machining load and a lower limit machining load that is a predetermined offset amount. The control unit performs a first correction process to correct the upper limit machining load based on the amount of change in the reference machining load with respect to the sampling time of the reference machining load, and a second correction process to correct the lower limit machining load set in the fourth setting process based on the amount of change. The third setting process sets the value calculated based on the reference machining load and the corrected upper limit machining load as the upper limit load, and the fourth setting process sets the value calculated based on the reference machining load and the corrected lower limit machining load as the lower limit load. The numerical control device can appropriately correct the upper limit machining load and the lower limit machining load based on the magnitude of the change in the reference machining load.
[0019] In the numerical control device of the present invention, the third load acquisition process acquires the reference machining load for each tool used in machining the workpiece based on the NC program, the storage control process stores the reference machining load acquired for each tool in the third load acquisition process in association with the corresponding tool, the first load acquisition process acquires the machining load when the workpiece is machined with any one specific tool among the tools, and the first monitoring process monitors the machining load acquired in the first load acquisition process based on the reference machining load associated with the specific tool among the reference machining loads stored in association with each tool in the storage control process. The numerical control device can monitor the machining load based on the reference machining load associated with each tool.
[0020] A machine tool according to a second aspect of the present invention is a machine tool equipped with a control unit that processes a workpiece with a tool based on an NC program, wherein the control unit performs a reading process that reads a first command from the NC program that indicates a start time for acquiring the processing load in the processing of the workpiece, and a second command that indicates a stop time for acquiring the processing load, and a first determination process that determines whether there is a fixed cycle command that performs the same processing at multiple different positions on the workpiece during the period from when the first command is read in the reading process until the second command is read in the reading process, and if the first determination process determines that there is a fixed cycle command, it performs a cycle monitoring process that performs monitoring for each of the same processing operations in the fixed cycle command, wherein the cycle monitoring process comprises a first load acquisition process that acquires the processing load, and a first monitoring process that performs monitoring based on the processing load acquired in the first load acquisition process.
[0021] A third aspect of the present invention is a control method for a numerical control device that controls a machine tool that processes a workpiece with a tool based on an NC program, characterized in that the control method includes: a reading step of reading a first command from the NC program that indicates a start time for starting to acquire the processing load in processing the workpiece, and a second command that indicates a stop time for ending the acquisition of the processing load; a first determination step of determining whether there is a fixed cycle command that performs the same processing at multiple different positions on the workpiece during the period from when the first command is read in the reading step until when the second command is read in the reading step; and a cycle monitoring step of performing monitoring for each of the same processing operations in the fixed cycle command if the first determination step determines that a fixed cycle command exists, wherein the cycle monitoring step includes a first load acquisition step of acquiring the processing load and a first monitoring step of performing monitoring based on the processing load acquired in the first load acquisition step.
[0022] The program according to the fourth aspect of the present invention causes a computer of a numerical control device that controls a machine tool for machining a workpiece with a tool based on an NC program to perform a reading step of reading, among the commands of the NC program, a first command indicating an acquisition start timing for starting acquisition of a machining load in machining of the workpiece, and a second command indicating an acquisition end timing for ending acquisition of the machining load; a first determination step of determining whether there is a fixed cycle command for performing the same machining at a plurality of different positions of the workpiece during a period from when the first command is read in the reading step to when the second command is read in the reading step; and when the first determination step determines that the fixed cycle command exists, a cycle monitoring step of executing monitoring for each of the same machining in the fixed cycle command and causing the cycle monitoring step to execute a first load acquisition step of acquiring the machining load and a first monitoring step of executing monitoring based on the machining load acquired in the first load acquisition step.
[0023] The storage medium according to the fifth aspect of the present invention stores a program that causes a computer of a numerical control device that controls a machine tool for machining a workpiece with a tool based on an NC program to perform a reading step of reading, among the commands of the NC program, a first command indicating an acquisition start timing for starting acquisition of a machining load in machining of the workpiece, and a second command indicating an acquisition end timing for ending acquisition of the machining load; a first determination step of determining whether there is a fixed cycle command for performing the same machining at a plurality of different positions of the workpiece during a period from when the first command is read in the reading step to when the second command is read in the reading step; and when the first determination step determines that the fixed cycle command exists, a cycle monitoring step of executing monitoring for each of the same machining in the fixed cycle command, and causing the cycle monitoring step to execute a first load acquisition step of acquiring the machining load and a first monitoring step of executing monitoring based on the machining load acquired in the first load acquisition step.
[0024] The second, third, fourth, and fifth aspects have the same effects as the first aspect.
Brief Description of the Drawings
[0025] [Figure 1] It is a front view of the machine tool 1. [Figure 2] It is a block diagram showing the electrical configuration of the machine tool 1. [Figure 3] It is a diagram showing the NC program P1. [Figure 4] It is a diagram showing the NC program P2. [Figure 5] It is a diagram showing the NC program P3. [Figure 6] It is a diagram showing the NC program P4. [Figure 7] It is a diagram showing the tool 4 that moves based on the fixed cycle command. [Figure 8] It is a diagram showing the waveforms of the machining load Fm and the reference machining load Fr. [Figure 9] It is a flowchart of the trial machining process. [Figure 10] It is a flowchart of the main process. [Figure 11] It is a flowchart of the main process and is a continuation of Figure 10. [Figure 12] It is a flowchart of the main process and is a continuation of Figure 10. [Figure 13] Flowchart of the relative monitoring process. [Figure 14] Diagram showing the change amount of the reference machining load Fr with respect to the sampling time. [Figure 15] Diagram showing the relationship between the upper limit load Fh and the lower limit load Fl before correction and the reference machining load Fr. [Figure 16] Diagram showing the relationship between the upper limit load Fh and the lower limit load Fl after correction and the reference machining load Fr.
Embodiments for Carrying Out the Invention
[0026] Referring to Figure 1, the machine tool 1 according to the present invention will be described. The upper, lower, left, right, front, and rear sides of Figure 1 are defined as the upper, lower, left, right, front, and rear sides of the machine tool 1, respectively. The left-right direction, front-back direction, and up-down direction of the machine tool 1 are the X-axis, Y-axis, and Z-axis directions of the machine tool 1, respectively. The right, front, and up directions are positive directions, respectively, while the left, rear, and down directions are negative directions, respectively.
[0027] Machine tool 1 performs cutting on a workpiece (not shown) by rotating the tool 4 shown in Figure 7. Machine tool 1 is a vertical machine tool with a spindle (not shown) extending in the Z-axis direction. Machine tool 1 comprises a base 2, a workbench (not shown), a machine body 3, a cover 5, a storage box (not shown), and an operation panel 13 shown in Figure 2.
[0028] The base 2 is an iron base. The workbench is located at the front upper part of the base 2. The workpiece is fixed to the top surface of the workbench. The machine body 3 is located at the rear upper part of the base 2. The machine body 3 has a spindle. The spindle can be fitted with a tool 4.
[0029] Cover 5 is fixed to the upper part of the base 2. Cover 5 surrounds the machine body 3 and the workbench. The storage box is located behind cover 5. The storage box houses the numerical control device 30 shown in Figure 2. The numerical control device 30 controls the operation of the machine tool 1.
[0030] The control panel 13 is located on the right side of the front surface 5B of the cover 5. The control panel 13 has a display unit 15 and an operation unit 24. The display unit 15 displays a settings screen. The settings screen allows for the selection of various programs and the setting of machining conditions for the NC program. The display unit 15 also displays the waveform of the machining load Fm, as shown in Figure 8, which will be described later.
[0031] The control unit 24 is used by the operator to input various operation settings into the machine tool 1. The operator operates the control unit 24 while checking the display unit 15 to select various programs, set machining conditions for the NC program, and perform other operations.
[0032] Referring to Figure 2, the electrical configuration of the machine tool 1 will be explained. The machine tool 1 includes a numerical control device 30, an operation panel 13, drive circuits 201 to 204, an X-axis motor 51, a Y-axis motor 52, a Z-axis motor 53, a spindle motor 54, etc. The numerical control device 30 has a CPU 31, a ROM 32, a RAM 33, a timer 23, a memory device 29, a disturbance estimation unit 25, and interfaces 34 and 35.
[0033] The CPU 31 provides overall control over the operation of the machine tool 1. The ROM 32 stores various programs, such as a trial machining program and a monitoring program. The trial machining program executes the trial machining process (see Figure 9), which will be described later. The monitoring program executes the main process (see Figure 10), which will be described later. The RAM 33 temporarily stores various data.
[0034] The memory device 29 is non-volatile and stores the NC programs P1 to P4, which will be described later. The memory device 29 also stores the reference machining load Fr, which will be described later.
[0035] The disturbance estimation unit 25 estimates the disturbance force of the spindle motor 54, for example. Any known method can be used for this estimation, for example, from information such as the output torque, inertia, angular acceleration, viscosity, angular velocity, and Coulomb friction of the spindle motor 54. This estimated disturbance force of the spindle motor 54 will be referred to below as "machining load Fm".
[0036] Furthermore, the machining load Fm may be the force applied to the workpiece in the X, Y, and Z axes as measured by a force sensor. The machining load Fm may also be the torque applied to the workpiece around the spindle as measured by a torque sensor. The machining load Fm may also be the amplitude of vibration and the work done on the vibration of the workpiece in the X, Y, and Z axes as measured by an acceleration sensor. The machining load Fm may also be the amplitude of vibration and the work done on the vibration of the machine body 3 in the X, Y, and Z axes.
[0037] Timer 23 measures, for example, the elapsed time from the acquisition of the machining load Fm to its completion. The display unit 15 and the operation unit 24 are connected to the CPU 31 via interface 34. Based on the control of the CPU 31, the display unit 15 displays various screens, such as the waveform of the machining load Fm, which will be described later. The operation unit 24 receives various information and operation instructions from the operator and outputs them to the CPU 31. The drive circuits 201 to 204 are connected to the CPU 31 via interface 35.
[0038] The drive circuit 201 is connected to the X-axis motor 51 and the encoder 51a. The drive circuit 201 controls the rotation of the X-axis motor 51 based on the control of the CPU 31. The encoder 51a outputs the rotational position information of the X-axis motor 51 to the drive circuit 201.
[0039] The drive circuit 202 is connected to the Y-axis motor 52 and the encoder 52a. The drive circuit 202 controls the rotation of the Y-axis motor 52 based on the control of the CPU 31. The encoder 52a outputs the rotational position information of the Y-axis motor 52 to the drive circuit 202.
[0040] The drive circuit 203 is connected to the Z-axis motor 53 and the encoder 53a. The drive circuit 203 controls the rotation of the Z-axis motor 53 based on the control of the CPU 31. The encoder 53a outputs the rotational position information of the Z-axis motor 53 to the drive circuit 203.
[0041] The drive circuit 204 is connected to the spindle motor 54 and the encoder 54a. The drive circuit 204 controls the rotation of the spindle motor 54 based on the control of the CPU 31. The encoder 54a outputs the rotational position information of the spindle motor 54 to the drive circuit 204.
[0042] Referring to Figures 3 to 6, the control of the NC program and the numerical control device 30 will be explained. The NC program is a program for cutting the workpiece. In the trial machining process and the main machining process, which will be described later, the workpiece is machined based on the NC program. In the trial machining process, the workpiece is machined experimentally before the workpiece is machined in the main machining process.
[0043] An NC program consists of multiple blocks. Each block includes at least one control command, such as a cutting feed command, a rapid traverse command, an acquisition start command, an acquisition end command, and an end command.
[0044] The cutting feed command is a control command that moves the spindle at a specified feed rate. The rapid traverse command is a control command that moves the spindle at rapid traverse speed. In rapid traverse, the spindle moves at the maximum speed of the X-axis motor 51, Y-axis motor 52, and Z-axis motor 53, respectively. The acquisition start command is a control command that starts the acquisition of the machining load Fm during the machining of the workpiece. The acquisition end command is a control command that ends the acquisition of the machining load Fm that was started by the acquisition start command. The end command is a control command that ends the execution of the NC program.
[0045] In NC programs, line numbers are associated with control commands. In NC program P1, each line number is indicated by a number specified after N. In the main processing described later, control commands are executed one by one in order from the smallest line number. In the following explanation, the height of the workpiece is assumed to be, for example, 35 mm in the Z-axis position.
[0046] The machining process based on the NC program P1 shown in Figure 3 will now be explained. G00 in line N010 is a rapid traverse command, and the CPU 31 moves the spindle rapidly to a Z-axis position of 100 mm. Also in line N010, the CPU 31 rotates the spindle at 3000 revolutions per minute according to the rotational speed S.
[0047] Line N020, M341 is an acquisition start command, and the CPU 31 starts acquiring the machining load Fm during the machining of the workpiece. More specifically, the CPU 31 acquires the machining load Fm over time from the disturbance estimation unit 25. The CPU 31 performs LPF (low-pass filter) processing on the acquired machining load Fm to remove noise and stores the machining load Fm in the memory device 29.
[0048] G01 in line N030 is a cutting feed command, and the CPU 31 moves the spindle to a Z-axis position of 10 mm using the cutting feed. In this embodiment, the feed rate in line N030 is indicated by a combination of F and a number. The CPU 31 moves the spindle at a speed of 1000 mm per minute in accordance with the cutting command F1000.
[0049] Line N040 is a cutting feed command, and the CPU31 moves the spindle to a Z-axis position of 15 mm using the cutting feed. In line N040, the feed rate is F200, and the CPU31 moves the spindle at a speed of 200 mm per minute in accordance with the cutting command.
[0050] M340 on line N050 is an acquisition end command, and the CPU 31 ends the acquisition of the machining load Fm that was started by the acquisition start command on line N020. The storage device 29 stores the data that constitutes the waveform of the machining load Fm shown in Figure 8. As will be described in detail later, the numerical control device 30 monitors the acquired machining load Fm. Monitoring the machining load Fm here means periodically determining whether the value of the machining load Fm is normal or abnormal in cutting operations. The mode in which the numerical control device 30 monitors the machining load Fm is called the monitoring mode. In other words, the acquisition start command is a command to start the monitoring mode, and the acquisition start command is a command to end the monitoring mode.
[0051] Line N060 is a rapid traverse command, causing CPU31 to move the spindle rapidly to a Z-axis position of 100mm. Line N070 is a termination command, ending the execution of the NC program.
[0052] As shown in Figure 8, the CPU 31 displays the waveform of the machining load Fm on the display unit 15. Fr shown in Figure 8 is the reference machining load. The reference machining load Fr is the machining load Fm obtained in the trial machining process.
[0053] In the main process, the machining load Fm is monitored based on the reference machining load Fr. The main process monitors whether the acquired machining load Fm is between the lower limit load Fl and the upper limit load Fh. The upper limit load Fh is obtained by adding a predetermined offset amount, the upper limit machining load A, to the reference machining load Fr. The lower limit load Fl is obtained by subtracting a predetermined offset amount, the lower limit machining load B, from the reference machining load Fr.
[0054] More specifically, the upper load limit Fh and the lower load limit Fl are derived as follows. CPU31 obtains the slope α by referring to (Equation 1) below. α = |Frt - Frt - 1| ÷ sampling time ... (Equation 1) Here, Frt-1 is the reference machining load Fr at time t-1 of the previous sampling. Frt is the reference machining load Fr at time t of the current sampling.
[0055] CPU31 corrects the upper limit machining load A based on the slope α. Here, the following formula (Equation 2) is used to correct the upper limit machining load A. A' = α × tc When α × tc > A, When A α × tc ≤ A... (Math 2) Here, A' is the corrected upper limit machining load. α is the slope. tc is the allowable variation time. The allowable variation time tc is a parameter determined according to the variation of the machine tool 1, the workpiece, the tool, etc.
[0056] When the slope α is greater than A, the corrected upper limit machining load A' increases proportionally, and when the slope α is less than or equal to A, the corrected upper limit machining load A' is the same as A before correction (see Figure 14).
[0057] Similar to the upper limit machining load A, CPU31 corrects the lower limit machining load B. The following formula (Equation 3) is used to correct the lower limit machining load B. When B' = α × tc and α × tc > B, When B α × tc ≤ B... (Math 3) Here, B' is the corrected lower limit machining load. α is the slope. tc is the allowable time for variation.
[0058] The CPU 31 derives the upper limit load Fh by adding the corrected upper limit machining load A' to the standard machining load Fr. The CPU 31 calculates the lower limit load Fl by subtracting the corrected lower limit machining load B' from the standard machining load Fr.
[0059] As shown in Figure 15, when there is no correction between the upper limit machining load A and the lower limit machining load B, the distances between the reference machining load Fr, the upper limit load Fh, and the lower limit load Fl are close. Therefore, if the machining load Fm varies in the time axis direction due to variations in the machine tool 1, the workpiece, the tool, etc., the CPU 31 is likely to falsely detect an abnormality in the machining load Fm.
[0060] On the other hand, as shown in Figure 16, when the upper limit machining load A and the lower limit machining load B are corrected, that is, when the corrected upper limit machining load A' and lower limit machining load B' are used, the distance between the upper limit load Fh and the lower limit load Fl with respect to the reference machining load Fr increases. Therefore, even if the machining load Fm fluctuates in the time axis direction due to variations in the machine tool 1, the workpiece, tools, etc., the CPU 31 becomes less likely to falsely detect abnormalities in the machining load Fm. Thus, this correction does not affect the detection capability during periods when the fluctuation of the machining load Fm is small, and is effective in making the system less susceptible to the effects of fluctuations during periods when the fluctuation of the machining load Fm is large.
[0061] The time constant shown in Figure 8 is used for LPF processing. The operator checks the waveform of the machining load Fm displayed on the display unit 15 and adjusts the LPF time constant by operating the control unit 24. By performing LPF processing, the waveforms of the machining load Fm and the reference machining load Fr are smoothly adjusted. Therefore, by the operator appropriately adjusting the LPF time constant, the CPU 31 can reduce the impact of variations in the machining load Fm on monitoring.
[0062] Returning to the explanation of the NC program, we will describe machining based on the NC program P2 shown in Figure 4. Line N010 is a rapid traverse command, and the CPU 31 controls it in the same way as the control command for line N010 shown in Figure 3. Line N020 is an acquisition start command, and the CPU 31 starts acquiring the machining load Fm in the same way as the control command for line N020 shown in Figure 3. Line N030 is a rapid traverse command, and the CPU 31 moves the spindle in rapid traverse to an X-axis position of 10 mm, a Y-axis position of 10 mm, and a Z-axis position of 50 mm.
[0063] Lines N040, N050, and N060 are fixed cycle commands. G81 in line N040 indicates a fixed cycle command for drilling. Fixed cycle commands are issued when the same machining operation is to be performed at multiple locations.
[0064] A fixed cycle command includes a machining command. The machining command represents the machining conditions in the fixed cycle. The machining command in the fixed cycle commands on lines N040, N050, and N060 is indicated by (Z 10.R40.F1000) on line N040.
[0065] Referring to Figure 7, the spindle control in the fixed cycle commands of lines N040, N050, and N060 will be explained. When the rapid traverse command of line N040 is completed, the spindle is at the positions of 10 mm on the X axis, 10 mm on the Y axis, and 50 mm on the Z axis. The spindle is also rotating at 3000 revolutions per minute.
[0066] In a fixed cycle command, the CPU 31 first rapidly moves the spindle to the specified X-axis and Y-axis positions. Next, the CPU 31 rapidly moves the spindle to the Z-axis position indicated by the number after R. In fixed cycle commands on lines N040, N050, and N060, the CPU 31 rapidly moves the spindle to the Z-axis position of 40 mm. The rapid traverse movement of the spindle in a fixed cycle command is called positioning movement.
[0067] After the positioning movement, the CPU 31 moves the spindle at cutting feed to the Z-axis position indicated by the number after Z. In the fixed cycle commands in lines N040, N050, and N060, the CPU 31 moves the spindle at cutting feed to the Z-axis position of 10 mm. After the cutting movement, the CPU 31 moves at rapid traverse to the Z-axis position of 50 mm.
[0068] Next, the CPU 31 rapidly traverses the spindle to the X-axis and Y-axis positions indicated in row N040 as a positioning movement. That is, the CPU 31 rapidly traverses the spindle to the X-axis position of 20 mm and the Y-axis position of 20 mm. After that, the CPU 31 rapidly traverses the spindle to the Z-axis position of 40 mm as a positioning movement.
[0069] CPU31 moves the spindle to a Z-axis position of 10mm using cutting feed as part of the cutting movement. After the cutting movement, CPU31 moves to a Z-axis position of 50mm using rapid traverse.
[0070] Next, the CPU 31 rapidly traverses the spindle to the X-axis and Y-axis positions indicated in line N050 as a positioning movement. That is, the CPU 31 rapidly traverses the spindle to the X-axis position of 30 mm and the Y-axis position of 30 mm. After that, the CPU 31 rapidly traverses the spindle to the Z-axis position of 40 mm as a positioning movement.
[0071] The CPU 31 moves the spindle to a Z-axis position of 10 mm using cutting feed as part of the cutting movement. After the cutting movement, the CPU 31 moves to a Z-axis position of 50 mm using rapid traverse. In this way, with a fixed cycle command, the cutting movement from a Z-axis position of 40 mm to a Z-axis position of 10 mm is performed at multiple different positions on the workpiece.
[0072] Returning to the explanation of NC program P2 shown in Figure 4, line N070 is an acquisition termination command, and the CPU 31 controls it in the same way as the control command on line N050 shown in Figure 3. Line N080 is a fast traverse command, and the CPU 31 controls it in the same way as the control command on line N060 shown in Figure 3. Line N080 is a fast traverse command, and the CPU 31 controls it in the same way as the control command on line N060 shown in Figure 3.
[0073] The NC program P3 shown in Figure 5 differs from the NC program P2 in that a fixed cycle command is inserted between the control command on line N060 and the control command on line N070 shown in Figure 4.
[0074] In NC program P3, the machining commands on lines N040, N050, and N060 are indicated by (R40.F1000) on line N040. The machining command on line N070 is indicated by (R40.F2000). Thus, the machining commands for the fixed cycle commands on lines N040, N050, and N060 are different from those for the fixed cycle command on line N070.
[0075] The NC program P4 shown in Figure 6 differs from NC program P3 in that, instead of the control command in line N030 shown in Figure 5, the rapid traverse command N030 and the cutting command N040 are issued. In NC program P4, the cutting command is issued before the fixed cycle command.
[0076] This section describes the monitoring of the machining load Fm in a fixed cycle command. Monitoring of the machining load Fm in a fixed cycle command is performed during the cutting movement in each line. In line N030 of NC program P2, after the positioning movement to the X-axis position 10 mm, Y-axis position 10 mm, and Z-axis position 40 mm is completed, the CPU 31 starts acquiring the machining load Fm. Then, after the monitoring start time ts has elapsed since the start of acquiring the machining load Fm, the CPU 31 starts monitoring the machining load Fm. After the monitoring end time te has elapsed since the start of acquiring the machining load Fm, the CPU 31 stops monitoring the machining load Fm. The monitoring start time ts is the time when monitoring of the machining load Fm begins, within the period from reading the acquisition start command to reading the acquisition end command. The monitoring end time te is the time when monitoring of the machining load Fm ends, within the period from reading the acquisition start command to reading the acquisition end command.
[0077] In line N040, after positioning movement to X-axis position 20mm, Y-axis position 20mm, and Z-axis position 40mm is completed, CPU31 temporarily stops acquiring the machining load Fm and then starts acquiring the machining load Fm again. After the monitoring start time ts has elapsed since the start of acquiring the machining load Fm, CPU31 starts monitoring the machining load Fm. After the monitoring end time te has elapsed since the start of acquiring the machining load Fm, CPU31 stops monitoring the machining load Fm.
[0078] In line N050, after positioning movement to X-axis position 30mm, Y-axis position 30mm, and Z-axis position 40mm is completed, CPU31 temporarily stops acquiring the machining load Fm and then starts acquiring the machining load Fm again. After the monitoring start time ts has elapsed since the start of acquiring the machining load Fm, CPU31 starts monitoring the machining load Fm. After the monitoring end time te has elapsed since the start of acquiring the machining load Fm, CPU31 stops monitoring the machining load Fm.
[0079] In a fixed cycle command, the acquisition of the machining load Fm is initiated with each cutting movement in each row. Monitoring does not continue from the start of monitoring mode in row N020 until it ends in row N070 (described later), so the time from the start to the end of monitoring each time is short, and the capacity of the reference machining load Fr stored in the memory device 29 can be reduced. In addition, it is not necessary to issue an acquisition start command before each row of the fixed cycle command, and an acquisition end command after each row of the fixed cycle command, so the readability of the NC program is not deteriorated. Since the acquisition of the machining load Fm is initiated after the positioning movement in each row of the fixed cycle command is completed, the timing of acquiring the machining load Fm can be synchronized between each row of the fixed cycle command.
[0080] As shown in NC program P2 in Figure 4 and NC program P3 in Figure 5, if a fixed cycle command is issued after the acquisition start command but before the cutting feed command is issued, the CPU 31 monitors the machining load Fm in the fixed cycle command. On the other hand, as shown in NC program P4 in Figure 6, if a cutting feed command is issued after the acquisition start command but before the fixed cycle command is issued, the CPU 31 does not monitor the machining load Fm in the fixed cycle command, but monitors the machining load Fm in the cutting feed command.
[0081] The machining load Fm monitoring modes include a cutting monitoring mode and a multiple-hole monitoring mode. The cutting monitoring mode is a mode that monitors the machining load Fm in cutting feed commands, and the multiple-hole monitoring mode is a mode that monitors the machining load Fm in fixed-cycle commands.
[0082] As shown in NC program P3 in Figure 5, if a different type of fixed cycle command or machining command is issued after a fixed cycle command has been issued, the CPU 31 terminates the multiple hole monitoring mode and ends the acquisition of the machining load Fm.
[0083] Referring to Figure 9, the trial machining process will be explained. The operator sets the machine tool 1 to trial machining operation. The operator attaches tool 4 to the spindle and sets the workpiece on the table. The operator operates the control unit 24 to select and execute an NC program. The CPU 31 reads the trial machining program stored in ROM 32 and starts the trial machining process. Once the trial machining process starts, the CPU 31 performs machining on the workpiece based on the selected NC program (S1).
[0084] The CPU 31 acquires the machining load Fm output from the disturbance estimation unit 25 as the reference machining load Fr (S3). The period for acquiring the reference machining load Fr is from the time the acquisition start command M341 is read until the acquisition end command M340 is read. The reference machining load Fr is acquired at a predetermined sampling time. The sampling time may be set as appropriate. If the NC program includes a fixed cycle command, the machining load Fm from the time the first block of the fixed cycle command is read until the next block of the fixed cycle command is read is acquired as the reference machining load Fr. For example, in the NC program P2 in Figure 4, the CPU 31 acquires the machining load Fm from the time the fixed cycle command on line N040 is read until the fixed cycle command on line N050 is read as the reference machining load Fr.
[0085] After acquiring the reference machining load Fr, the CPU 31 displays the waveform of the acquired reference machining load Fr on the display unit 15 (S5). For example, the operator checks the waveform of the machining load Fm displayed on the display unit 15 and presses the registration button ("Set as reference") shown in Figure 8. As a result, the CPU 31 stores the reference machining load Fr in the storage device 29 (S7). The reference machining load Fr is stored in association with, for example, the NC program number of the NC program, the machining conditions of the workpiece (type of tool 4, tool number), etc. The reference machining load Fr serves as the basis for monitoring the machining load Fm. The NC program number is identification information assigned to identify the NC program.
[0086] The operator removes the workpiece and sets a new workpiece on the table. The operator selects and executes the NC program executed in S1 again. When the NC program is executed, the CPU 31 performs machining on the workpiece (S9). The CPU 31 obtains the machining load Fm during machining from the disturbance estimation unit 25 (S11). The timing of obtaining the machining load Fm is the same as in S3, from reading M341 to reading M340.
[0087] The CPU 31 displays the acquired machining load Fm on the display unit 15 (S13). As shown in Figure 8, the display unit 15 displays the upper limit load Fh, the lower limit load Fl, and the machining load Fm acquired in S11 superimposed on the reference machining load Fr.
[0088] The CPU 31 sets the time constant of the LPF (S15). The operator checks the waveform of the machining load Fm on the display unit 15 and adjusts the time constant of the LPF. By performing LPF processing, the waveforms of the machining load Fm and the reference machining load Fr can be smoothly adjusted. Therefore, by appropriately adjusting the time constant of the LPF, the CPU 31 can reduce the impact of variations in the machining load Fm on monitoring.
[0089] The CPU 31 enables the setting of the upper limit machining load A (S27). The upper limit machining load A represents the amount of upward offset from the waveform of the reference machining load Fr. The CPU 31 enables the setting of the lower limit machining load B (S29). The lower limit machining load B represents the amount of downward offset from the waveform of the reference machining load Fr. The offset amounts for the upper limit machining load A and the lower limit machining load B may be the same or different. For example, the operator sets the upper limit machining load A and the lower limit machining load B by operating the operation unit 24. These settings will be used in the relative monitoring process described later. The CPU 31 terminates the trial machining process.
[0090] The operator performs the above trial machining process for each NC program. The machining conditions for the workpiece differ for each NC program. Therefore, the numerical control device 30 acquires a reference machining load Fr for each machining condition of the NC program and for each tool 4 used.
[0091] The main process will be explained with reference to Figures 10 to 13. The operator sets the machine tool 1 to monitored operation. The operator operates the control unit 24 to select and execute an NC program. The CPU 31 reads the monitoring program stored in the ROM 32 and starts the main process.
[0092] When the main processing starts, the CPU 31 reads one block of the NC program (S33). In the process of S33, the CPU 31 determines whether or not it has read the termination command (S35). If the CPU 31 determines that it has not read the termination command (S35: NO), it determines whether or not it is in monitoring mode (S37).
[0093] If CPU 31 determines that it is not in monitoring mode (S37: NO), it determines in S33 whether or not it has read the acquisition start command M341 (S39). If CPU 31 determines that it has not read the acquisition start command M341 (S39: NO), it executes various processes based on the control commands of the read block (S53). CPU 31 returns to S33.
[0094] If CPU31 determines that it has read the acquisition start command M341 (S39: YES), it sets to monitoring mode and starts monitoring the machining load Fm (S41). In the process of S41, CPU31 sets the monitoring mode to undetermined mode. Undetermined mode is included in the monitoring mode and is the state before setting to cutting monitoring mode or multiple hole monitoring mode. CPU31 returns to process S33.
[0095] If CPU31 determines that it is in monitoring mode (S37:YES), it determines whether it is in cutting monitoring mode or not (S43). If CPU31 determines that it is not in cutting monitoring mode (S43:NO), it determines whether it is in multiple hole monitoring mode or not (S45).
[0096] If CPU31 determines that it is not in multi-hole monitoring mode (S45:NO), it determines in S33 whether or not it has read the cutting feed command (S47). If CPU31 determines that it has not read the cutting feed command (S47:NO), it determines in S33 whether or not it has read the fixed cycle command (S49).
[0097] If CPU 31 determines that it has not read a fixed cycle command (S49: NO), it determines in S33 whether or not it has read the acquisition end command M340 (S51). If CPU 31 determines that it has not read the acquisition end command M340 (S51: NO), it executes various processes (S53) and returns to S33.
[0098] If the CPU 31 determines that it has read the cutting feed command (S47:YES), it sets the monitoring mode to cutting monitoring mode as shown in Figure 11 (S61). The CPU 31 starts the cutting feed based on the reading cutting feed command (S65).
[0099] The CPU 31 initializes the timer 23's time t to 0 (S67). The CPU 31 obtains the machining load Fm from the disturbance estimation unit 25 (S68). The CPU 31 performs the relative monitoring process shown in Figure 13 (S69).
[0100] Referring to Figure 13, the relative monitoring process performed in the main process will be explained. The CPU 31 obtains the reference machining load Fr from the storage device 29 (S303). In this case, the CPU 31 obtains the reference machining load Fr at the same time t indicated by the timer 23. The CPU 31 performs LPF processing on the machining load Fm and the reference machining load Fr with the time constant set in the trial machining process (S305).
[0101] The CPU 31 obtains the slope α by referring to (Equation 1) (S307). Based on (Equation 2) and the slope α, the CPU 31 corrects the upper limit machining load A set in the trial machining process (S309). Based on (Equation 3) and the slope α, the CPU 31 corrects the lower limit machining load B (S310).
[0102] CPU 31 sets the upper limit load Fh (S311). In the process of S311, CPU 31 adds the corrected upper limit machining load A' to the reference machining load Fr. CPU 31 sets the lower limit load Fl (S313). In the process of S313, CPU 31 subtracts the corrected lower limit machining load B' from the reference machining load Fr.
[0103] The CPU 31 determines whether the time t indicated by the timer 23 has reached the monitoring start time ts (S315). If it determines that the time t indicated by the timer 23 has not reached the monitoring start time ts (S315: NO), the CPU 31 terminates the relative monitoring process and returns processing to the main process.
[0104] If the timer 23 determines that the time t has reached the monitoring start time ts (S315: YES), the CPU 31 determines whether the time t has reached the monitoring end time te (S317). If the timer 23 determines that the time t has exceeded the monitoring end time te (S317: NO), the CPU 31 terminates the relative monitoring process and returns processing to the main process.
[0105] On the other hand, if the timer 23 determines that the time t indicated has not reached the monitoring end time te (S317: YES), the CPU 31 determines whether the acquired machining load Fm is greater than the upper limit load Fh (S319).
[0106] If the CPU 31 determines that the machining load Fm is less than or equal to the upper limit load Fh (S319: NO), it determines whether the machining load Fm is lower than or equal to the lower limit load Fl (S321). If the CPU 31 determines that the machining load Fm is greater than or equal to the lower limit load Fl (S321: NO), it terminates the relative monitoring process and returns processing to the main process.
[0107] On the other hand, if the CPU 31 determines that the machining load Fm is greater than the upper limit load Fh (S319: YES), that is, if an abnormality has occurred in the machining load Fm, the CPU 31 will issue an alarm indicating that the upper limit load Fh has been exceeded (S323). The alarm may be displayed on the display unit 15 with a string such as "There is an abnormality in the machining load." Alternatively, the alarm may be issued by sounding a buzzer or the like. The CPU 31 will stop the machine tool 1 from running (S327) and return the process to the main process.
[0108] If the CPU 31 determines that the machining load Fm is lower than the lower limit load Fl (S321: YES), it issues an alarm indicating that the load is below the lower limit load Fl (S325). The CPU 31 stops the machine tool 1 (S327) and returns to the main process.
[0109] As shown in Figure 11, after the CPU 31 performs relative monitoring (S69), it terminates the cutting feed that was started in S65 (S71). The CPU 31 determines whether or not the machine tool 1 has stopped running (S73). If the CPU 31 determines that the machine tool 1 has stopped running based on the process in S327 in Figure 13 (S73: YES), it terminates the main process. If the CPU 31 determines that the machine tool 1 has not stopped running (S73: NO), it returns to processing S33.
[0110] If the CPU 31 determines that it is in cutting monitoring mode (S43: YES, see Figure 10), it determines whether or not it has read the cutting feed command in the process of S33 (see Figure 10) as shown in Figure 11 (S63). If the CPU 31 determines that it has not read the cutting feed command (S63: NO), it executes various processes based on the control command read in the process of S33 (S75) and returns to the process of S33. If the CPU 31 determines that it has read the cutting feed command (S63: YES), it proceeds to S65, and in the processes of S65 to S73, it monitors the cutting feed and machining load Fm and returns to the process of S33.
[0111] If the CPU 31 determines that it has read a fixed cycle command (S49: YES, see Figure 10), it sets the monitoring mode to the multiple-hole monitoring mode as shown in Figure 12 (S91). The CPU 31 stores the machining commands included in the read fixed cycle command in the RAM 33 (S93).
[0112] The CPU 31 rapidly moves the spindle to the position indicated by the fixed cycle command (S95). The CPU 31 temporarily ends monitoring of the machining load Fm (S97) and then starts monitoring of the machining load Fm again (S99).
[0113] The CPU 31 starts the cutting movement based on the fixed cycle command (S101). The CPU 31 initializes the timer 23's time t to 0 (S103). The CPU 31 obtains the machining load Fm from the disturbance estimation unit 25 (S104). The CPU 31 performs the relative monitoring process shown in Figure 13 (S105).
[0114] After the CPU 31 performs relative monitoring (S105), it terminates the cutting movement that was started in S101 (S107). The CPU 31 determines whether or not the machine tool 1 has stopped moving (S109).
[0115] If the CPU 31 determines that the machine tool 1 has stopped running based on the process in S327 of Figure 13 (S109: YES), it terminates the main process. If the CPU 31 determines that the machine tool 1 has not stopped running (S109: NO), it moves the spindle to the initial Z-axis position at rapid traverse (S113). The CPU 31 returns to process S33.
[0116] If the CPU 31 determines that it is in multiple-hole monitoring mode (S45: YES, see Figure 10), it determines whether or not it has read a fixed cycle command in the process of S33 (see Figure 10), as shown in Figure 12 (S81). If the CPU 31 determines that it has read a fixed cycle command (S81: YES), it determines whether the read fixed cycle command is of a different type, or whether the machining commands included in the fixed cycle command are different from the machining commands stored in S93 (S83). Fixed cycle commands include drilling fixed cycle commands indicated by G81 in NC programs P2 to P4, as well as tapping fixed cycle commands indicated by G84, boring fixed cycle commands indicated by G85, etc. Machining commands include Z, R, and F as well as P which commands the pause time at the bottom of the hole, S which commands the spindle speed, etc. An example of different machining commands stored in the memory device 29 is shown in NC program P3 in Figure 5.
[0117] If the CPU 31 determines that the read fixed cycle command is of the same type and that the machining command included in the fixed cycle command is the same as the machining command stored in S93 (S83: NO), it proceeds to S95. In the processes from S95 to S113, the CPU 31 monitors the cutting movement and machining load Fm based on the fixed cycle command, and then returns to S33.
[0118] If the CPU 31 determines that the read fixed cycle command is of a different type, or that the machining command included in the fixed cycle command is different from the machining command stored in S93 (S83: YES), it terminates the monitoring mode started in S41 in Figure 10 and ends the acquisition of the machining load Fm (S87). The CPU 31 executes various processes based on the control command read in the process of S33 (S89) and returns the process to S33.
[0119] If CPU31 determines that it has not read a fixed cycle command in processing S33 (S81: NO), it determines whether or not it has read a cutting feed command (S85). If CPU31 determines that it has read a cutting feed command (S85: YES), it exits monitoring mode (S87) and proceeds to processing S89. If CPU31 determines that it has not read a cutting feed command (S85: NO), it proceeds to processing S89.
[0120] As shown in Figure 10, if the CPU 31 determines that it has read the acquisition termination command M340 in the process of S33 (S51: YES), it terminates the monitoring mode started in S41 (S55) and returns processing to S33. If the CPU 31 determines that it has read the termination command in the process of S33 (S35: YES), it terminates the main process.
[0121] As explained above, the CPU 31 of the numerical control device 30 reads the acquisition start command M341 and the acquisition end command M340 in the processing of S33. The CPU 31 determines whether or not it has read a fixed cycle command during the period from when it reads the acquisition start command M341 until when it reads the acquisition end command M340 (S49). If the CPU 31 determines that it has read a fixed cycle command (S49: YES), it performs monitoring of the machining load Fm in block units of the NC program (S105). In monitoring the machining load Fm, the CPU 31 acquires the machining load Fm (S104) and performs monitoring based on the acquired machining load Fm (S319, S321).
[0122] The numerical control device 30 specifies the start and end times for acquiring the machining load Fm using the NC program acquisition start command M341 and acquisition end command M340. Therefore, the numerical control device 30 can monitor the machining load Fm acquired over a desired period. Furthermore, since the machining load Fm is monitored in each block of the fixed cycle command, the time from the start to the end of monitoring is shorter compared to the case where monitoring of the machining load Fm continues from the time the acquisition start command is read until the acquisition end command is read, thus reducing the capacity of the reference machining load Fr stored in the storage device 29. Moreover, it is not necessary to issue an acquisition start command before each block of the fixed cycle command and an acquisition end command after each block of the fixed cycle command, so the readability of the NC program does not deteriorate.
[0123] The memory device 29 of the numerical control device 30 stores the reference machining load Fr through the processing in S7. The CPU 31 monitors the machining load Fm in a fixed cycle command using the upper limit load Fh and lower limit load Fl based on the reference machining load Fr (S319, S321). The numerical control device 30 monitors the machining load Fm in each block of the fixed cycle command based on the same reference machining load Fr. Therefore, the numerical control device 30 can suppress the capacity shortage of the memory device 29 compared to the case where the memory device 29 stores the reference machining load Fr for each block in the fixed cycle command.
[0124] In the numerical control device 30, the CPU 31 acquires the machining load Fm (S104) after the positioning movement (S95) in the fixed cycle command is completed. This allows the numerical control device 30 to synchronize the timing of the start of acquiring the machining load Fm between each block of the fixed cycle command. Therefore, the numerical control device 30 can correctly monitor the machining load Fm for each block of the fixed cycle command.
[0125] In the numerical control device 30, the CPU 31 determines whether a cutting feed command was issued before a fixed cycle command was issued during the period from when it reads the acquisition start command M341 until when it reads the acquisition end command M340 (S47). If a cutting feed command is issued before a fixed cycle command is issued, the CPU 31 acquires the machining load Fm during the cutting feed (S68) and monitors the machining load Fm based on the acquired machining load Fm (S69). The numerical control device 30 can monitor the machining load Fm for cutting feed when a cutting feed command is issued before a fixed cycle command.
[0126] In the numerical control device 30, a fixed cycle command includes a machining command that determines the machining conditions. The CPU 31 determines whether the read fixed cycle command is of a different type, or whether the machining command included in the fixed cycle command is different from the machining command stored in S93 (S83). If the CPU 31 determines that the read fixed cycle command is of a different type, or that the machining command included in the fixed cycle command is different from the machining command stored in S93 (S83: YES), it terminates the monitoring mode and terminates the acquisition of the machining load Fm (S87). Therefore, the numerical control device 30 can suppress monitoring based on the machining load in machining performed by a different type of fixed cycle command or a fixed cycle command with different machining commands.
[0127] In the numerical control device 30, the CPU 31 acquires the machining load Fm as the reference machining load Fr (S3). If the NC program includes a fixed cycle command, the CPU 31 acquires the machining load Fm from the time the first block of the fixed cycle command is read until the next block of the fixed cycle command is read as the reference machining load Fr. Therefore, the numerical control device 30 can monitor the machining load Fm based on the reference machining load Fr.
[0128] In the numerical control device 30, the CPU 31 sets a monitoring start time ts to begin monitoring the machining load Fm during the period from when the first block of the fixed cycle command is read until when the next block of the fixed cycle command is read, based on the stored reference machining load Fr (S17). The CPU 31 also sets a monitoring end time te to end monitoring the machining load Fm during the period from when the first block of the fixed cycle command is read until when the next block of the fixed cycle command is read, based on the stored reference machining load Fr (S19). The CPU 31 monitors the acquired machining load Fm for the period from the set monitoring start time ts to the set monitoring end time te. The numerical control device 30 can perform monitoring of the acquired machining load Fm for the period required for monitoring from the monitoring start time ts to the monitoring end time te.
[0129] In the numerical control device 30, the CPU 31 sets an upper limit load Fh based on the stored reference machining load Fr (S27). The CPU 31 sets a lower limit load Fl based on the stored reference machining load Fr (S29). The CPU 31 monitors the machining load Fm based on the set upper limit load Fh and the set lower limit load Fl. The numerical control device 30 can monitor the machining load Fm based on the upper limit load Fh and lower limit load Fl, which are based on the reference machining load Fr. The numerical control device 30 can perform monitoring appropriately, for example, even when there are large fluctuations in the reference machining load Fr.
[0130] In the numerical control device 30, the CPU 31 notifies of an abnormality in the machining load Fm if it determines that the acquired machining load Fm is greater than the set upper limit load Fh (S323). The CPU 31 also notifies of an abnormality in the machining load Fm if it determines that the acquired machining load Fm is lower than the set lower limit load Fl (S325). The operator of the numerical control device 30 can recognize the abnormality in the machining load Fm.
[0131] In the numerical control device 30, the CPU 31 displays the stored reference machining load Fr, the set upper limit load Fh, the set lower limit load Fl, and the acquired machining load Fm on the display unit 15 (S5, S13). With the numerical control device 30, the operator can visually confirm the machining load Fm.
[0132] In the numerical control device 30, the upper limit load Fh is obtained by adding a predetermined offset amount, the upper limit load A, to the reference machining load Fr. The lower limit load Fl is obtained by subtracting a predetermined offset amount, the lower limit machining load B, from the reference machining load Fr. The CPU 31 corrects the set upper limit machining load A based on the amount of change of the reference machining load Fr with respect to the sampling time (S309). The CPU 31 corrects the set lower limit machining load B based on the amount of change (S310). The numerical control device 30 can appropriately correct the upper limit machining load A and the lower limit machining load B based on the magnitude of the change in the reference machining load Fr.
[0133] In the numerical control device 30, the CPU 31 acquires a reference machining load Fr for each tool 4 used in machining the workpiece based on the NC program. The CPU 31 stores the reference machining load Fr acquired for each tool 4, associating it with the corresponding tool 4. The CPU 31 acquires the machining load Fm when machining the workpiece with any one of the tools 4. The CPU 31 monitors the acquired machining load Fm based on the reference machining load Fr associated with the tool 4 currently mounted on the spindle, from among the reference machining load Fr stored in association with each tool 4. The numerical control device 30 can monitor the machining load Fm based on the reference machining load Fr associated with each tool 4.
[0134] In the above description, CPU31 is an example of the control unit of the present invention. Acquisition start command M341 is an example of the first instruction of the present invention. Acquisition end command M340 is an example of the second instruction of the present invention. S33 is an example of the read process and read step of the present invention. Lines N040, N050, and N060 of NC program P2, lines N040, N050, and N060 of NC program P3, and lines N050, N060, N070, and N080 of NC program P4 are examples of fixed cycle instructions of the present invention. S49 and S81 are examples of the first decision process and first decision step of the present invention. The process starting from S99 is an example of the cycle monitoring process and cycle monitoring step of the present invention. S104 is an example of the first load acquisition process and first load acquisition step of the present invention. S105 is an example of the first monitoring process and first monitoring step of the present invention. S47 is an example of the second decision process of the present invention. S68 is an example of the second load acquisition process of the present invention. S69 is an example of the second monitoring process of the present invention. The machining command is an example of the machining instruction of the present invention. S83 is an example of the third decision process of the present invention. Line N040 of NC program P2, line N040 of NC program P3, and line N050 of NC program P4 are examples of the first cycle instruction of the present invention. Line N050 of NC program P2, line N050 of NC program P3, and line N060 of NC program P4 are examples of the second cycle instruction of the present invention. S3 is an example of the third load acquisition process of the present invention. S17 is an example of the first setting process of the present invention. S19 is an example of the second setting process of the present invention. S27 is an example of the third setting process of the present invention. S29 is an example of the fourth setting process of the present invention. S323 is an example of the first notification control process of the present invention. S325 is an example of the second notification control process of the present invention. S5 and S13 are examples of the display control process of the present invention. S309 is an example of the first correction process of the present invention. S310 is an example of the second correction process of the present invention.
[0135] The present invention is not limited to the embodiments described above. Although the machine tool 1 in the above embodiments is a vertical machine tool in which the spindle extends in the Z-axis direction, the present invention can also be applied to horizontal machine tools in which the spindle extends horizontally. Furthermore, the machine tool 1 may be a table traverse type in which the table moves on the XY plane, or a column traverse type in which the spindle moves on the XY plane.
[0136] In the above embodiment, if the NC program includes a fixed cycle command, the CPU 31 acquires the machining load Fm from the time the first block of the fixed cycle command is read until the next block of the fixed cycle command is read as the reference machining load Fr. Alternatively, the machining load Fm from the time the Nth (N>1) block of the fixed cycle command is read until the (N+1)th block of the fixed cycle command is read may be used as the reference machining load Fr. The reference machining load Fr is not limited to the machining load Fm acquired in the trial machining process, but may also be a predetermined value stored in the storage device 29 beforehand, or a value input from the operation unit 24. The magnitude of the reference machining load Fr may differ for each block of the fixed cycle command.
[0137] In the above embodiment, the acquisition of the machining load Fm was started after the positioning movement in the fixed cycle command was completed. Alternatively, the acquisition of the machining load Fm may be started at the start of the positioning movement.
[0138] In the above embodiment, if the cutting feed command is read before the fixed cycle command is read, the machining load Fm in the cutting feed command is monitored instead of the machining load Fm in the fixed cycle command. However, the machining load Fm in the fixed cycle command may also be monitored.
[0139] If a fixed cycle command of a different type than the fixed cycle command is issued, it is not necessary to terminate the acquisition of the machining load Fm. If a fixed cycle command of a different machining command is issued, it is not necessary to terminate the acquisition of the machining load Fm.
[0140] In the above embodiment, the command to start acquiring the machining program M341 and the command to end acquiring the machining program M340 were read during the cutting feed, but are not limited to this. M341 and M340 may also be input by the operator from the control unit 24 as appropriate.
[0141] In the above embodiment, the monitoring start time ts was set to 1000 msec and the monitoring end time te was set to 2000 msec or 3000 msec, but it is not limited to these. For example, the monitoring start time ts may be set to coincide with time t0, i.e., the start time of acquiring the machining load. The monitoring start time ts should be set appropriately according to the reference machining load Fr. The same applies to the monitoring end time te.
[0142] In the above embodiment, the reference machining load Fr was obtained once, but this is not limited to that. The reference machining load Fr may be updated depending on the situation.
[0143] In the above embodiment, the upper limit machining load A and the lower limit machining load B were corrected using the slope α, but this correction is not necessary. To exclude areas where the slope α is steep, the monitoring start time ts and monitoring end time te can be set appropriately.
[0144] In the above embodiment, a comparison was made between the upper limit load Fh and the lower limit load Fl, but this is not limited to this. For example, monitoring may be performed using only one of the upper limit load Fh or the lower limit load Fl. For example, the CPU 31 may simply set the upper limit load Fh based on the stored reference machining load Fr. If the CPU 31 determines that the acquired machining load Fm is greater than the set upper limit load Fh, it will notify that there is an abnormality in the machining load Fm. On the other hand, the CPU 31 may simply set the lower limit load Fl based on the stored reference machining load Fr. If the CPU 31 determines that the acquired machining load Fm is lower than the set lower limit load Fl, it will notify that there is an abnormality in the machining load Fm. Even in this case, the operator of the numerical control device 30 can recognize the abnormality in the machining load Fm. Alternatively, the machining load Fm may be monitored by looking at the discrepancy between the reference machining load Fr and the machining load Fm. For example, as a comparison value, the amount of change per sampling time of the reference machining load Fr may be compared with the amount of change of the machining load Fm.
[0145] In the above embodiment, the upper limit load Fh is calculated by adding a predetermined offset amount, the upper limit load A, to the reference machining load Fr, and the lower limit load Fl is calculated by subtracting a predetermined offset amount, the lower limit machining load B, from the reference machining load Fr, but the method is not limited to this. For example, the upper limit load Fh may be calculated by subtracting, multiplying, or dividing the reference machining load Fr by a predetermined coefficient, Ar. The upper limit load Fh may also be a predetermined value. Similarly, the lower limit load Fl may be calculated by adding, multiplying, or dividing the reference machining load Fr by a predetermined coefficient, Br. The lower limit load Fl may also be a predetermined value.
[0146] In the above embodiment, the reference machining load Fr, upper limit load Fh, lower limit load Fl, and machining load Fm are displayed superimposed, but the embodiment is not limited to this. For example, at least one of the reference machining load Fr, upper limit load Fh, lower limit load Fl, and machining load Fm may be displayed. The waveform to be displayed may be set as appropriate by the operator.
[0147] In the above embodiment, the reference machining load Fr is stored in the storage device 29 without LPF processing, but this is not limited to this. The reference machining load Fr may be stored after LPF processing. In this case, the acquired machining load Fm can also be monitored by performing LPF processing with the same time constant. The reference machining load Fr is not limited to being stored in the storage device 29. The reference machining load Fr may be stored in the storage device of an external device connected via interfaces 34 and 35. The CPU 31 may receive the reference machining load Fr from the external device and store it in the storage device 29. Alternatively, the reference machining load Fr may be stored in a well-known storage medium connectable to interfaces 34 and 35. The CPU 31 may receive the reference machining load Fr from the storage medium and store it in the storage device 29.
[0148] In the above embodiment, the CPU 31 monitored the machining load Fm each time it read a fixed cycle command when in multi-hole monitoring mode, but is not limited to this. For example, the CPU 31 may monitor the machining load Fm of the cutting operation based on the read fixed cycle command when the number of times it has read a fixed cycle command is a multiple of 2. In cutting monitoring mode, the CPU 31 monitored the machining load Fm each time it read a cutting feed command, but is not limited to this. For example, the CPU 31 may monitor the machining load Fm of the cutting operation based on the read fixed cycle command when the number of times it has read a fixed cycle command is a multiple of 3. The interval for monitoring the machining load Fm may be changed as appropriate. [Explanation of symbols]
[0149] 1: Machine tool 15:Display section 29: Storage device 30: Numerical control device 31: CPU M341: Acquisition start command M340: Acquisition completion command Fm: Machining load Fr: Standard machining load A, A': Upper limit machining load B, B': Lower limit machining load Fh: Upper limit load Fl: Lower limit load α: slope
Claims
1. In a numerical control device equipped with a control unit that controls a machine tool that processes a workpiece with a tool based on an NC program, The control unit, A reading process that reads, from among the instructions of the NC program, a first instruction indicating the start time for acquiring the machining load in the machining of the workpiece, and a second instruction indicating the end time for acquiring the machining load. A first determination process determines whether there is a fixed cycle command that performs the same machining at multiple different positions on the workpiece during the period from when the first command is read in the aforementioned reading process until when the second command is read in the aforementioned reading process, If the first determination process determines that the aforementioned fixed cycle instruction exists, a cycle monitoring process is performed to monitor each of the same processing steps in the aforementioned fixed cycle instruction. Execute, The aforementioned cycle monitoring process is: A first load acquisition process for acquiring the aforementioned processing load, A first monitoring process that performs monitoring based on the processing load acquired in the first load acquisition process. A numerical control device characterized by having the following features.
2. The numerical control device according to claim 1, characterized in that the first monitoring process monitors the machining load acquired in the first load acquisition process based on the reference machining load stored in the memory device, which is the reference machining load for monitoring one of the same machining operations in the fixed cycle command, in the same machining operation in the fixed cycle command.
3. The numerical control device according to claim 1, characterized in that the first load acquisition process is performed prior to the first cutting movement in the fixed cycle command, and the acquisition of the machining load is started after the positioning movement of either or both of the tool and the workpiece is completed.
4. The control unit, A second determination process determines whether a cutting feed command that performs cutting feed before the fixed cycle command was issued during the period from when the first command is read in the aforementioned reading process until when the second command is read in the aforementioned reading process, If the second determination process determines that the cutting feed command was issued before the fixed cycle command, instead of performing the monitoring by the cycle monitoring process, During the aforementioned cutting feed, a second load acquisition process is performed to acquire the machining load, The process executes a second monitoring process that performs monitoring based on the processing load acquired in the second load acquisition process. The numerical control device according to feature 1.
5. The fixed cycle command includes a machining command that determines the machining conditions, and includes a third determination process that determines whether a fixed cycle command or machining command of a different type from the same machining in the fixed cycle command was issued after the fixed cycle command during the period from when the first command is read in the reading process until when the second command is read in the reading process. If the third determination process determines that a different type of fixed cycle command or machining command has been issued after the fixed cycle command, the first load acquisition process terminates the acquisition of the machining load. The numerical control device according to feature 1.
6. The fixed cycle instruction comprises a first cycle instruction and a second cycle instruction different from the first cycle instruction. The control unit, A third load acquisition process acquires the reference machining load during the period from when the first instruction is read in the aforementioned reading process until when the second instruction is read in the aforementioned reading process, specifically from when the first cycle instruction is read until when the second cycle instruction is read. A storage control process that stores the reference machining load obtained by the third load acquisition process in the storage device. The numerical control device according to claim 2, characterized by performing the following:
7. The control unit, Based on the reference machining load stored in the memory control process, a first setting process sets a monitoring start time during the period from when the first cycle command is read to when the second cycle command is read, in which the monitoring of the machining load by the first monitoring process begins. Based on the reference machining load stored in the memory control process, a second setting process sets a monitoring end time during the period from when the first cycle command is read to when the second cycle command is read, in which the monitoring of the machining load by the first monitoring process ends. Execute, The first monitoring process monitors the machining load acquired in the first load acquisition process for a period from the monitoring start time set in the first setting process to the monitoring end time set in the second setting process. The numerical control device according to feature 6.
8. The control unit, A third setting process that sets an upper limit load based on the reference machining load stored in the memory control process, A fourth setting process that sets a lower limit load based on the reference machining load stored in the memory control process, Execute, The first monitoring process monitors the machining load acquired in the first load acquisition process, based on the upper limit load set in the third setting process and the lower limit load set in the fourth setting process. The numerical control device according to feature 6.
9. The aforementioned first monitoring process is: If it is determined that the machining load acquired in the first load acquisition process is greater than the upper limit load set in the third setting process, a first notification control process is performed to notify of the abnormality of the machining load. If the machining load acquired in the first load acquisition process is determined to be lower than the lower limit load set in the fourth setting process, a second notification control process is performed to notify of the abnormality in the machining load. Equipped with The numerical control device according to feature 8.
10. The control unit executes a third setting process to set an upper limit load based on the reference machining load stored in the memory control process. The aforementioned first monitoring process is: If the machining load acquired in the first load acquisition process is determined to be greater than the upper limit load set in the third setting process, the first notification control process notifies of the abnormality in the machining load. Equipped with The numerical control device according to feature 6.
11. The control unit executes a fourth setting process to set a lower limit load based on the reference machining load stored in the memory control process. The aforementioned first monitoring process is: If the machining load acquired in the first load acquisition process is determined to be lower than the lower limit load set in the fourth setting process, a second notification control process will be performed to notify of the abnormality in the machining load. Equipped with The numerical control device according to feature 6.
12. The control unit performs a display control process that overlays and displays the reference machining load stored in the memory control process, the upper limit load set in the third setting process, the lower limit load set in the fourth setting process, and the machining load acquired in the first load acquisition process on the display unit. The numerical control device according to claim 8, characterized by performing the following:
13. The aforementioned upper limit load is calculated based on the aforementioned standard machining load and the upper limit machining load which is a predetermined offset amount. The aforementioned lower limit load is calculated based on the reference machining load and a predetermined offset amount, which is the lower limit machining load. The control unit, A first correction process corrects the upper limit machining load based on the amount of change in the reference machining load with respect to the sampling time of the reference machining load, A second correction process corrects the lower limit machining load set in the fourth setting process based on the amount of change. Execute, The third setting process sets the upper limit load as a value calculated based on the standard machining load and the corrected upper limit machining load. The fourth setting process sets the value calculated based on the reference machining load and the corrected lower limit machining load as the lower limit load. The numerical control device according to feature 8.
14. The third load acquisition process acquires the reference machining load for each tool used in machining the workpiece based on the NC program. The memory control process stores the reference machining load acquired for each tool in the third load acquisition process, associating each of them with the corresponding tool. The first load acquisition process acquires the machining load when the workpiece is machined with any one of the tools, The first monitoring process monitors the machining load acquired in the first load acquisition process, based on the reference machining load associated with the specific tool from the reference machining loads stored in association with each tool in the memory control process. The numerical control device according to feature 6.
15. In a machine tool equipped with a control unit that processes a workpiece with a tool based on an NC program, The control unit, A reading process that reads, from among the instructions of the NC program, a first instruction indicating the start time for acquiring the machining load in the machining of the workpiece, and a second instruction indicating the end time for acquiring the machining load. A first determination process determines whether there is a fixed cycle command that performs the same machining at multiple different positions on the workpiece during the period from when the first command is read in the aforementioned reading process until when the second command is read in the aforementioned reading process, If the first determination process determines that the aforementioned fixed cycle instruction exists, a cycle monitoring process is performed to monitor each of the same processing steps in the aforementioned fixed cycle instruction. Execute, The aforementioned cycle monitoring process is: A first load acquisition process for acquiring the aforementioned processing load, A first monitoring process that performs monitoring based on the processing load acquired in the first load acquisition process. A machine tool characterized by having the following features.
16. In a control method for a numerical control device that controls a machine tool that processes a workpiece with a tool based on an NC program, A reading step that reads, from among the instructions of the NC program, a first instruction indicating the start time for acquiring the machining load in the machining of the workpiece, and a second instruction indicating the end time for acquiring the machining load, A first determination step determines whether there is a fixed cycle instruction that performs the same machining at multiple different positions on the workpiece during the period from when the first instruction is read in the reading step to when the second instruction is read in the reading step, If the first determination step determines that a fixed cycle instruction exists, the cycle monitoring step executes monitoring for each identical processing step in the fixed cycle instruction. Execute, The cycle monitoring step described above is: A first load acquisition step for acquiring the aforementioned processing load, A first monitoring step which performs monitoring based on the processing load acquired in the first load acquisition step, A control method characterized by performing the following.
17. In the computer of the numerical control device that controls a machine tool that processes a workpiece with a tool based on an NC program, A reading step that reads, from among the instructions of the NC program, a first instruction indicating the start time for acquiring the machining load in the machining of the workpiece, and a second instruction indicating the end time for acquiring the machining load, A first determination step determines whether there is a fixed cycle instruction that performs the same machining at multiple different positions on the workpiece during the period from when the first instruction is read in the reading step to when the second instruction is read in the reading step, If the first determination step determines that a fixed cycle instruction exists, the cycle monitoring step executes monitoring for each identical processing step in the fixed cycle instruction. Make it run, The cycle monitoring step described above is: A first load acquisition step for acquiring the aforementioned processing load, A first monitoring step which performs monitoring based on the processing load acquired in the first load acquisition step, A program characterized by causing the execution of a specific action.
18. In the computer of the numerical control device that controls a machine tool that processes a workpiece with a tool based on an NC program, A reading step that reads, from among the instructions of the NC program, a first instruction indicating the start time for acquiring the machining load in the machining of the workpiece, and a second instruction indicating the end time for acquiring the machining load, A first determination step determines whether there is a fixed cycle instruction that performs the same machining at multiple different positions on the workpiece during the period from when the first instruction is read in the reading step to when the second instruction is read in the reading step, If the first determination step determines that a fixed cycle instruction exists, the cycle monitoring step executes monitoring for each identical processing step in the fixed cycle instruction. Make it run, The cycle monitoring step described above is: A first load acquisition step for acquiring the aforementioned processing load, A first monitoring step which performs monitoring based on the processing load acquired in the first load acquisition step, A storage medium characterized by storing a program that causes it to execute.