Processing device, processing method, system, and computer program
The processing device synchronizes sensor data with machine tool information to enhance cutting process analysis, simplifying abnormality detection and parameter adjustments, thus improving cutting efficiency and reducing reliance on skilled worker experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SUMITOMO ELECTRIC INDUSTRIES LTD
- Filing Date
- 2024-11-15
- Publication Date
- 2026-05-21
AI Technical Summary
Existing NC programs struggle to accurately identify and address abnormalities in cutting processes, relying heavily on simulation and skilled worker experience, making it difficult to correlate sensor data with actual machining processes and modify parameters effectively.
A processing device that combines sensor data from cutting tools with machine tool information to calculate and display physical quantities in synchronization with cutting programs, enabling identification of abnormalities and facilitating parameter modifications without relying on skilled worker experience.
Facilitates easy identification of abnormal processes and improves cutting efficiency by correlating sensor data with machining programs, allowing for effective parameter adjustments to prevent tool damage and optimize cutting processes.
Smart Images

Figure JP2024040559_21052026_PF_FP_ABST
Abstract
Description
Processing device, processing method, system, and computer program
[0001] The present disclosure relates to a processing device, a processing method, a system, and a computer program.
[0002] Machine tools in which cutting is performed by a numerical control (NC) program are known. For example, Patent Document 1 below discloses checking an NC program of an NC machine tool using a general-purpose device such as a personal computer without using the actual NC machine tool. That is, by simulation using a general-purpose device, for each block of the machining program, interference blocks, abnormal approach blocks, and cutting speed abnormal blocks are detected, and these blocks are displayed so as to be distinguishable from other blocks, causing the programmer to correct the machining program. Further, Patent Document 2 below discloses automatically adjusting parameters of an NC program for cutting by an end mill mounted on a spindle. That is, during machining performed according to an NC program expressed by a combination of predetermined fixed cycles, the cutting resistance actually applied to the end mill is obtained from the current value of the spindle drive motor detected by a motor current sensor, and the parameters of the NC program are adjusted by performing feedforward control on this result.
[0003] Japanese Unexamined Patent Application Publication No. 2003-271215 Japanese Unexamined Patent Application Publication No. 2006-338625
[0004] A processing device according to an aspect of the present disclosure includes a communication unit, a processing unit that processes data received by the communication unit, and a display unit that displays a processing result by the processing unit. The communication unit receives sensor data, which is an output value of a sensor mounted on the cutting tool, from the cutting tool, and receives a cutting program from a machine tool that performs cutting using the cutting tool. The processing unit calculates a physical quantity related to cutting from the sensor data received by the communication unit, and calculates a statistical quantity of the physical quantity in synchronization with the cutting program. The display unit displays the statistical quantity and the cutting program in association with each other.
[0005] Figure 1 is a schematic diagram showing the configuration of a system according to the first embodiment of this disclosure. Figure 2 is a schematic side view showing the cutting tool (turning tool) shown in Figure 1. Figure 3 is a block diagram showing the configuration of a sensor module attached to the cutting tool shown in Figure 1. Figure 4 is a schematic perspective view showing a milling tool. Figure 5 is a block diagram showing the configuration of a machine tool shown in Figure 1. Figure 6 is a block diagram showing the configuration of a data processing device shown in Figure 1. Figure 7 is a block diagram showing the functional configuration of the data processing device shown in Figure 1. Figure 8 is a diagram showing an example of an NC program displayed on the data processing device. Figure 9 is a graph showing the cutting resistance and blocks of the NC program in synchronization. Figure 10 is a graph showing the average value of the cutting resistance and blocks of the NC program in synchronization. Figure 11 is a diagram showing the state in which blocks of the NC program are highlighted. Figure 12 is a graph showing the cutting resistance measured while the NC program for turning is being executed. Figure 13 is a graph showing the cutting resistance measured by modifying the parameters of the NC program for turning and executing it. Figure 14 is a graph showing the cutting resistance measured while executing the NC program for milling. Figure 15 is a graph showing the torque measured while executing the NC program for milling. Figure 16 is a graph showing the cutting resistance measured by modifying and executing the parameters of the NC program for milling. Figure 17 is a graph showing the torque measured by modifying and executing the parameters of the NC program for milling. Figure 18 is a diagram showing a two-dimensional plot of the XY force components measured while executing the NC program for milling. Figure 19 is a diagram showing a two-dimensional plot of the XY force components measured by modifying and executing the NC program for milling. Figure 20 is a flowchart showing the processing performed by the data processing device according to the first embodiment. Figure 21 is a block diagram showing the functional configuration of the data processing device according to the second embodiment of this disclosure. Figure 22 is a Pareto chart showing the results of cutting by the NC program. Figure 23 is a flowchart showing the processing performed by the data processing device according to the second embodiment.
[0006] [Problems this disclosure aims to solve] As disclosed in Patent Document 1, it is difficult to realize an NC program that can solve problems that occur in actual cutting processes using only simulations with general-purpose devices. As disclosed in Patent Document 2, by receiving and analyzing data detected by sensors mounted on a machine tool, cutting resistance can be calculated, the machining state can be evaluated, and abnormalities such as tool damage can be detected. However, even if sensor data is analyzed in isolation, it is difficult to correlate it with the actual machining process, and when an abnormality occurs, it is not easy to find which process is causing the problem, and it often depends on the experience of skilled workers. Furthermore, when modifying machining parameters to solve a problem, it also depends on the experience of skilled workers.
[0007] Therefore, the present disclosure aims to provide a processing device, processing method, system, and computer program that can process a combination of information from a machine tool and measurement data from a sensor mounted on a cutting tool.
[0008] [Effects of this disclosure] This disclosure provides a processing device, processing method, system, and computer program that can process a combination of machine tool information and measurement data from sensors mounted on cutting tools.
[0009] [Description of Embodiments of this Disclosure] The embodiments of this disclosure are described below. At least some of the embodiments described below may be combined in any way.
[0010] (1) The processing device relating to the first aspect of this disclosure includes a communication unit, a processing unit that processes data received by the communication unit, and a display unit that displays the processing results of the processing unit. The communication unit receives sensor data, which is the output value of a sensor mounted on a cutting tool, from a cutting tool, and receives a cutting program from a machine tool that performs cutting using the cutting tool. The processing unit calculates physical quantities related to cutting from the sensor data received by the communication unit, calculates statistical quantities of the physical quantities in synchronization with the cutting program, and displays the statistical quantities and the cutting program in correspondence. This makes it possible to process information from the machine tool and measurement data from a sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool damage occurs, it becomes easier to identify the process causing the abnormality and take countermeasures.
[0011] (2) In (1) above, the statistical quantity may be at least one of the average, maximum, and minimum values of multiple physical quantities calculated from multiple sensor data corresponding to each block included in the cutting program, and the display unit may display the statistical quantity in correspondence with the block. This makes it possible to know physical quantities related to cutting, such as cutting resistance, for each block of the cutting program, and to easily identify areas for improvement in the cutting process.
[0012] (3) The above (2) may further include an abnormality detection unit that detects abnormalities in the cutting process from statistical data, and a block identification unit that identifies the block related to the abnormality after an abnormality has been detected by the abnormality detection unit, and the display unit may highlight the block identified by the block identification unit and display the cutting process program. This makes it easier to identify the parts in the cutting process program where abnormalities such as tool breakage occur, and makes it easier to identify areas for improvement in the cutting process program itself (such as the tool path).
[0013] (4) The above (3) may further include an accumulation unit that accumulates the number of times a block has been identified by the block identification unit for each block, and the display unit may display a Pareto chart using the number of times accumulated by the accumulation unit and information representing the block. This makes it possible for even young, inexperienced workers to easily identify bottleneck processes in cutting processes, without relying on the experience of skilled workers, and facilitates process improvement.
[0014] (5) The above (2) may include an abnormality detection unit that detects abnormalities in the cutting process from statistical data, a block identification unit that identifies the block related to the abnormality after an abnormality has been detected by the abnormality detection unit, and an accumulation unit that accumulates the number of times the block has been identified by the block identification unit for each block, and the display unit may display a Pareto chart using the number of times accumulated by the accumulation unit and information representing the block. This makes it possible for even young workers with little experience to easily identify bottleneck processes in the cutting process, without relying on the experience of skilled workers, and makes it easier to improve the process.
[0015] (6) In any one of (3) to (5) above, a parameter modification unit may be further included that modifies the machining parameters included in the block after the block identification unit has identified the block related to the abnormality. This makes it possible to appropriately improve the cutting process without relying on the experience of skilled workers.
[0016] (7) The above (2) may further include an abnormality detection unit that detects abnormalities in the cutting process from statistical data, a block identification unit that identifies a block related to the abnormality after the abnormality detection unit has detected an abnormality, and a parameter modification unit that modifies the machining parameters included in the block after the block identification unit has identified a block related to the abnormality. This makes it possible to appropriately improve the cutting process without relying on the experience of skilled workers.
[0017] (8) The above (2) may further include an abnormality detection unit that detects abnormalities in the cutting process from statistical data, a block identification unit that identifies the block related to the abnormality after an abnormality has been detected by the abnormality detection unit, an accumulation unit that accumulates the number of times the block has been identified by the block identification unit for each block, and a parameter modification unit that modifies the machining parameters included in the block for which the number of times accumulated by the accumulation unit is equal to or greater than a predetermined value. This makes it possible to identify bottleneck processes in the cutting process and appropriately improve the cutting process without relying on the experience of skilled workers.
[0018] (9) In any one of (1) to (8) above, the sensor may be a strain sensor, and the processing unit may calculate the cutting resistance as a physical quantity from the output value. This makes it possible to know the cutting resistance in block units of the cutting program, and thus easily identify areas for improvement in the cutting process.
[0019] (10) The system relating to the second aspect of the present disclosure includes a cutting tool equipped with a sensor, a machine tool that performs processing using the cutting tool, and a processing device described in any one of (1) to (9) above, wherein the cutting tool includes a first communication unit that transmits the output value of the sensor to the processing device, and the machine tool includes a second communication unit that transmits information relating to the processing performed using the cutting tool to the processing device. This makes it possible to process information from the machine tool and measurement data from the sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool damage occurs, it becomes easier to identify the process causing the abnormality and take countermeasures.
[0020] (11) The processing method relating to the third aspect of the present disclosure includes the steps of: a communication device receiving sensor data from a cutting tool, which is the output value of a sensor mounted on the cutting tool; a communication device receiving a cutting program from a machine tool that performs cutting using the cutting tool; a processing device calculating physical quantities related to cutting from the sensor data received by the communication device; a processing device calculating statistical quantities of the physical quantities in synchronization with the cutting program; and a display device displaying the statistical quantities in correspondence with the cutting program. This makes it possible to process information from the machine tool and measurement data from a sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool damage occurs, it becomes easier to identify the process causing the abnormality and take countermeasures.
[0021] (12) The computer program relating to the fourth aspect of this disclosure provides the computer with the following functions: a function to receive sensor data, which is the output value of a sensor mounted on a cutting tool, from a cutting tool; a function to receive a cutting program from a machine tool that performs cutting using the cutting tool; a function to calculate physical quantities related to cutting from the received sensor data; a function to calculate statistical quantities of physical quantities in synchronization with the cutting program; and a function to display the statistical quantities in correspondence with the cutting program. This makes it possible to process information from the machine tool and measurement data from a sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool damage occurs, it becomes easier to identify the process causing the abnormality and take countermeasures.
[0022] [Details of Embodiments of the Disclosure] In the following embodiments, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, a detailed description of them will not be repeated.
[0023] (First Embodiment) (Overall Configuration) Referring to Figure 1, the system 100 according to the first embodiment of the present disclosure includes a data processing device 102, a communication device 104, and a machine tool 106. The machine tool 106 is, for example, a lathe. A cutting tool 108 (turning tool and milling tool) including a sensor module 122 is mounted on the tool holder 110 of the machine tool 106. The workpiece 900, which is the object of cutting, is held by a chuck 112. The workpiece 900 is rotated by a drive device (such as a motor) which rotates the spindle on which the chuck 112 is mounted. With the workpiece 900 rotating, the tool holder 110 is moved to bring the cutting edge of the cutting tool 108 into contact with the workpiece 900, thereby machining the workpiece 900. The machining state by the cutting tool 108 is reflected in the measurement value (i.e., the sensor output value) by the sensor module 122. The sensor output value is transmitted wirelessly. The communication device 104 outputs the sensor output value received from the sensor module 122 to the data processing device 102.
[0024] The data processing device 102 acquires machining information from the machine tool 106 via the communication line 114. The data processing device 102 is implemented, for example, by a computer. In Figure 1, the communication device 104 is shown to be located outside the data processing device 102, but the communication device 104 may also be included in the data processing device 102.
[0025] (Configuration of Turning Tool) Referring to Figure 2, a turning tool is shown as an example of a cutting tool 108. The cutting tool 108 includes a shank 120 and a plurality of sensor modules 122 (specifically, sensor module 122A and sensor module 122B). The cutting edge 124 is detachably attached to the shank 120 by fixing members 126 and 128. The cutting tool 108 is an indexable cutting tool, i.e., a throwaway cutting tool. The tip portion 130 of the cutting edge 124 contacts the workpiece to be cut, and the workpiece is turned. The shank 120 may have a cutting edge instead of being able to attach one. During cutting, the cutting tool 108 is fed towards the workpiece (work material 900) along the central axis 132 by the movement of the tool holder 110.
[0026] Sensor module 122A is positioned on the side of the shank 120, and sensor module 122B is positioned on the top surface (upper surface) of the shank 120. Both sensor module 122A and sensor module 122B are positioned in the center with respect to the width direction of the surface on which they are positioned. Figure 2 shows an example of the position of sensor module 122A and sensor module 122B in the direction of the central axis 132, and the position of sensor module 122A and sensor module 122B in the direction of the central axis 132 is arbitrary. With respect to the central axis 132, sensor module 122A and sensor module 122B may be positioned in the same position, or sensor module 122A may be positioned closer to the cutting edge 124 than sensor module 122B. Sensor module 122A and sensor module 122B are assumed to contain the same type of sensor and have the same configuration. Therefore, when they are not distinguished, they are referred to as sensor module 122.
[0027] Referring to Figure 3, the sensor module 122 includes a sensor 140, an AD conversion unit 142, a memory 144, a control unit 146, a communication unit 148, a bus 150, and a power supply unit 152. The sensor 140 is located in a position corresponding to either the sensor module 122A or the sensor module 122B shown in Figure 2. The sensor 140 is, for example, a strain sensor. The sensor 140 may be a sensor other than a strain sensor, for example, an acceleration sensor. The AD conversion unit 142 converts the input analog signal into a digital signal and outputs it. That is, the AD conversion unit 142 samples the analog signal (i.e., output value) output from the sensor 140 at a predetermined sampling frequency to generate a digital signal (hereinafter referred to as sensor data). The generated sensor data is transmitted to the memory 144 via the bus 150. The memory 144 is, for example, a rewritable non-volatile semiconductor memory and stores the sensor data transmitted via the bus 150. Furthermore, the memory 144 stores the computer program (hereinafter simply referred to as "the program") that the control unit 146 executes.
[0028] The control unit 146 includes a CPU (Central Processing Unit). The control unit 146 reads sensor data stored in the memory 144 and outputs it to the communication unit 148. The communication unit 148 transmits the input sensor data to the outside of the sensor module 122, i.e., to the communication device 104. The communication unit 148 has wireless communication capabilities, such as Wi-Fi. Specifically, the communication unit 148 generates and transmits a communication packet containing the sensor data input from the control unit 146, the address of the communication device 104 as the destination address, and the address of the communication unit 148 as the source address. As a result, the communication packet transmitted from the communication unit 148 is received by the communication device 104 and output to the data processing unit 102. As a result, the data processing unit 102 can acquire sensor data from sensor modules 122A and 122B. The data processing device 102 can determine whether the data was obtained from the misalignment between sensor modules 122A and 122B based on the source address included in the communication packet. The bus 150 transmits data exchanged between the AD conversion unit 142, memory 144, and control unit 146. The power supply unit 152 supplies the power necessary for each component of the sensor module 122 to function. The power supply unit 152 is, for example, a battery.
[0029] Sensor data may be transmitted immediately from the sensor module 122, or it may be transmitted after being buffered for a certain amount. If the sensor data is transmitted immediately, the data processing device 102 stores the time of receipt in association with the sensor data. If the sensor data is buffered and then transmitted in a certain amount at once, information indicating the generation time of the sensor data is added before transmission. If the sampling period is constant, for example, by adding the time of the first data and transmitting it in a format that indicates the sampling order (such as arranging the data in sampling order), the data processing device 102 can calculate the time corresponding to each sensor data.
[0030] The above describes a case where one sensor module contains one sensor, but it is not limited to this. One sensor module 122 may contain multiple sensor modules. For example, one sensor module 122 may contain two sensors, and each sensor may be positioned in a location corresponding to sensor module 122A and sensor module 122B shown in Figure 2. In that case, sensor module 122 includes a total of two AD conversion units 142, one for each of the two sensors 140. Each AD conversion unit 142 samples the output value of the corresponding sensor 140 to generate a digital output value, which is stored in memory 144 as time-series data. When the control unit 146 transmits sensor data to the communication device 104 via the communication unit 148, it transmits the data in a way that allows the data processing device 102 to distinguish which sensor each transmitted sensor data belongs to. For example, when the control unit 146 transmits sensor data, it may attach information (sensor ID) that identifies the sensor corresponding to the sensor data.
[0031] The cutting tool 108 may also be a milling tool. Referring to Figure 4, the milling tool 200 is a milling tool such as an end mill having a cutting section 210. The cutting section 210, shown by the diagonal pattern, includes an outer cutting edge (not shown) formed on the side surface of the cylinder and a bottom cutting edge (not shown) formed on the tip 212. When the cutting tool 108 is rotated around the central axis 214, the cutting section 210 comes into contact with the workpiece 900 and cuts the workpiece 900. Sensor modules 202A, 202B, 202C, and 202D are arranged on the side surface of the milling tool 200. The spacing between adjacent modules in the rotational direction of sensor modules 202A, 202B, 202C, and 202D is 90 degrees around the rotation axis (i.e., central axis) of the milling tool 200. Sensor modules 202A, 202B, 202C, and 202D contain the same type of sensor and have the same configuration. The sensors included in each of the sensor modules 202A, 202B, 202C, and 202D only need to be positioned on the side of the milling tool 200, and the parts of each sensor module excluding the sensor may be housed in a cylindrical housing (not shown) positioned around the milling tool 200.
[0032] (Configuration of the machine tool) Referring to Figure 5, the machine tool 106 includes a control panel 160 and a machining unit 162 that performs machining under the control of the control panel 160. The machining unit 162 includes a drive unit 176 such as a motor for rotating the spindle and a sensor 178 arranged in the drive unit 176, etc.
[0033] The control panel 160 includes a control unit 164, a memory 166, an IF unit 168, an operation unit 170, a display unit 172, and a bus 174. The control unit 164 is configured to include a CPU. The memory 166 is, for example, a rewritable non-volatile semiconductor memory and stores the program executed by the control unit 164. The memory 166 may also be an HDD (Hard Disk Drive). The memory 166 provides the work area for the program executed by the control unit 164. The memory 166 also stores information about the machine tool 106 (hereinafter referred to as machine tool data). The machine tool data includes information about the machine tool itself (such as the rapid traverse speed of the cutting tool), a cutting program (hereinafter also referred to as an NC program), information about the cutting tool (hereinafter referred to as tool data), and machining conditions (for example, the rotational speed of the spindle, the feed rate of the cutting tool, etc.). Tool data includes information such as the shape, dimensions, material, number of cutting edges, position of each cutting edge, and placement of the sensor module of the cutting tool (see cutting tool 108 and milling tool 200). Machining conditions can also be directly described in the NC program. The machine tool data may also include information during the cutting process. Information during the cutting process is, for example, time-series sensor data output from the sensor 178 located in the machining section 162, and includes information such as the current of each axis in the drive section 176 and the position information of the cutting tool 108.
[0034] The operation unit 170 includes, for example, a computer keyboard and touch panel. The display unit 172 includes an image display device such as a liquid crystal display device. The operation unit 170 and the display unit 172 may be an integrally formed touch panel display. The IF unit 168 is an interface for exchanging data with the operation unit 170, the display unit 172 and an external data processing device 102. The IF unit 168 transmits instructions input by operating the operation unit 170 to the control unit 164 via the bus 174. A portion of the memory 166 functions as a video memory that stores video data corresponding to images to be displayed on the display unit 172. The IF unit 168 transmits the data from the video memory of the memory 166 to the display unit 172, causing the display unit 172 to display it as an image (such as the operation screen of the machine tool 106).
[0035] The IF unit 168 transmits the above-mentioned machine tool data (information relating to the machine tool 106) to the data processing unit 102 via the communication line 114. The IF unit 168 has the functionality of, for example, a serial interface (such as RS232C) to communicate with the data processing unit 102 via the communication line 114. The interface for communicating with the data processing unit 102 is not limited to a serial interface. If the communication line 114 is an Ethernet communication cable, the IF unit 168 has the functionality to communicate according to a communication protocol such as TCP / IP. Furthermore, communication between the control panel 160 and the data processing unit 102 is not limited to wired communication; it may also be wireless. For example, the IF unit 168 may have wireless communication functionality similar to that of the communication unit 148 of the sensor module 122 described above.
[0036] (Configuration of the data processing device) Referring to Figure 6, the data processing device 102 includes a control unit 180, a memory 182, an IF unit 184, an operation unit 186, a display unit 188, and a bus 190. The control unit 180 is configured to include a CPU. The memory 182 is, for example, a rewritable non-volatile semiconductor memory and stores the program executed by the control unit 180. The memory 182 may also be an HDD. The memory 182 provides a work area for the program executed by the control unit 180. The operation unit 186 includes, for example, a computer keyboard, mouse, and touch panel. The display unit 188 includes an image display device such as a liquid crystal display device.
[0037] As will be described later, the data processing device 102 stores and analyzes data (such as sensor data) acquired by the communication device 104, calculates physical quantities (such as cutting resistance) and their statistical quantities related to the cutting tool according to instructions from the operation unit 186, and displays the calculated statistical quantities on the display unit 188.
[0038] The IF unit 184 is an interface for exchanging data with the external communication device 104 and machine tool 106, as well as the internal operation unit 186 and display unit 188. The IF unit 184 transmits data (i.e., sensor data) transmitted from the communication device 104 to the memory 182 via the bus 190 for storage. The IF unit 184 has, for example, a serial interface (such as RS232C) for communicating with the machine tool 106 via the communication line 114. The interface for communicating with the machine tool 106 is not limited to a serial interface. If the communication line 114 is an Ethernet communication cable, the IF unit 184 has the function of communicating according to a communication protocol such as TCP / IP. The IF unit 184 may also have wireless communication functionality similar to the communication unit 148 of the sensor module 122 described above.
[0039] The IF unit 184 transmits the instructions input by the operation of the operation unit 186 to the control unit 180 via the bus 190. The control unit 180 then executes the processing described later and stores the processing results in the memory 182. A portion of the memory 182 functions as a video memory, storing video data corresponding to images displayed on the display unit 188. The IF unit 184 transmits the video memory data of the memory 182 to the display unit 188, where it displays the images. As described above, the memory 182 also stores sensor data received via the communication device 104 and machine tool data received via the communication line 114.
[0040] (Functional Configuration of Data Processing Device) The functions of the data processing device 102 will now be described. Referring to Figure 7, the data processing device 102 includes a communication unit 300, a storage unit 302, a display unit 304, a processing unit 306, an anomaly detection unit 308, a block identification unit 310, and a parameter correction unit 312. The communication unit 300 receives sensor data transmitted from the sensor module 122 of the cutting tool 108 and machine tool data transmitted from the machine tool 106 via the communication line 114. The received sensor data and machine tool data are output to the storage unit 302. The communication unit 300 is realized by the communication device 104 and the IF unit 184 described above. The storage unit 302 stores the data input from the communication unit 300. The storage unit 302 is realized by the memory 182.
[0041] The processing unit 306 reads the sensor data and machine tool data stored in the storage unit 302 and synchronizes the sensor data with the NC program included in the machine tool data. The processing unit 306 is implemented by the control unit 180. "Synchronization" means associating each block of the NC program with the sensor data generated by the execution of that NC program, or physical quantities (such as cutting resistance) generated from the sensor data. For example, when the execution of the NC program (cutting) of the cutting tool 108 begins, the sensor module 122 transmits sensor data from the communication unit 148 until the end of the NC program. As described above, the transmitted sensor data is received by the communication unit 300 via the communication device 104 and stored in the storage unit 302 as time-series data. The NC program includes a step of moving the cutting tool to the target position without performing cutting, but sensor data is transmitted from the sensor module 122 during that time as well.
[0042] The NC program is composed of a plurality of blocks, and the processing unit 306 can identify the processing (such as the movement of the cutting tool) by analyzing the description content (text information) of each block. FIG. 8 shows a state where a window 320 including an example NC program is displayed on the display unit 188. At the left end of the window 320, the block numbers of the NC program are shown. From the beginning of the line to ";", it is one block. Hereinafter, taking i as a natural number, the description (block) of the i-th line is referred to as block i. Note that the block is not limited to one line, and there may be a case where a plurality of lines form one block. Instructions for the cutting tool are described in each block. The instructions are described by G codes, M codes, position-related information (X, Y, Z), and machining parameters (such as S for specifying the spindle speed and F for specifying the feed rate). Therefore, by analyzing the description (text) of each block and identifying symbols (such as G, M, S, F, X, Y, and Z) and numerical values, the processing content can be identified.
[0043] For example, in FIG. 8, block 1 is an instruction to rotate forward (M3) at ** revolutions per minute (S**) and perform rapid traverse (G00) to the reference position (X0, Y0). In FIG. 8, "**" represents an arbitrary numerical value, and in an actual NC program, specific numerical values are set. Block 2 is an instruction to perform rapid traverse to the machining height specified by Z**. Block 3 is an instruction to perform rapid traverse to the position (Y25) beside the edge where machining starts. Block 4 is an instruction to perform rapid traverse to X38. It is assumed that with the instructions of the blocks up to here, the cutting tool does not contact the workpiece and cutting is not performed. Cutting is performed from block 5. Block 5 is an instruction to perform circular interpolation (G03) counterclockwise at a feed rate of ** (F**) from the position specified by I6 (increasing the X coordinate by 6) to a predetermined position (X6, Y - 6) (that is, move in an arc). The X, Y, and Z coordinates of the center of the circular interpolation are specified by the numerical values following I, J, and K, respectively. Block 6 is an instruction to perform linear interpolation (G01) at a feed rate of ** (F**) to a predetermined position (X32) (that is, move in a straight line). Blocks 7 and subsequent can be interpreted similarly.
[0044] The processing unit 306 can calculate the time required to process each block from the cutting conditions (such as feed rate) included in each block and the characteristics of the machine tool itself (such as rapid traverse speed), which are obtained by analyzing the description (text) of each block. Therefore, the processing unit 306 can calculate the start and end times of processing for each block from the start time of the NC program. Since the sensor data is generated by sampling at a fixed period, the time when the sensor data was first received can be matched with the start time of the NC program to identify the sensor data corresponding to each block (sensor data generated while processing by each block is being executed).
[0045] The processing unit 306 calculates physical quantities related to the cutting tool from the sensor data. Assume that the storage unit 302 stores sensor data received from the sensor modules 122A and 122B of the cutting tool 108. The processing unit 306 reads the stored sensor data (e.g., strain value) from each of the sensor modules 122A and 122B. The processing unit 306 also reads machine tool data from the storage unit 302. Using the shape and material (e.g., Poisson's ratio) of the cutting tool 108 included in the machine tool data, and the placement positions of the sensor modules 122A and 122B, the processing unit 306 calculates physical quantities related to the cutting tool 108 from the sensor data, such as the load (i.e., cutting resistance) and moment applied to the cutting tool 108. The processing unit 306 stores each component of the calculated load (X component, Y component, and Z component) as time-series data in the storage unit 302. Since the physical quantities of the cutting tool (such as cutting resistance) are calculated from the data of each sensor, the processing unit 306 can identify the physical quantities corresponding to each block. The physical quantities calculated from the sensor data include the deviation of the cutting resistance (i.e., the difference from the average value), the combined value of the cutting resistance Fx and cutting resistance Fy (i.e., (Fx 2 +Fy 2 ) -1/2 ) is also acceptable.
[0046] Fig. 9 shows a state where the calculated physical quantity (the magnitude of cutting resistance) and the corresponding block are displayed synchronously. The vertical axis represents the calculated cutting resistance, and the horizontal axis represents the time axis. On the time axis, the blocks of the executed NC program are shown. The block number is shown between the start time and the end time of that block. That is, between time t1 and time t2, the processing of block i is executed, and the cutting resistance calculated from the sensor data obtained during that period is 0. While block i is being executed, cutting is not being performed. Between time t2 and time t3, the processing of block i + 1 is executed, and the cutting resistance calculated from the sensor data obtained during that period is greater than 0. By block i + 1, cutting of the workpiece is performed. The same applies hereinafter.
[0047] The processing unit 306 calculates a statistical quantity from the physical quantities of the cutting tools corresponding to each block. For example, the processing unit 306 calculates an average value as the statistical quantity. The statistical quantity to be calculated may be the maximum value of the physical quantities corresponding to each block, or may be the minimum value of the physical quantities corresponding to each block. Also, other statistical quantities may be used. The processing unit 306 outputs the calculated statistical quantity and the information (hereinafter referred to as block identification information) (such as a block number) for identifying the corresponding block to the storage unit 302 and stores it in the storage unit 302. The display unit 304 reads out the statistical quantity and the block identification information stored in the storage unit 302 and displays them synchronously. The display unit 304 displays, for example, the window 322 shown in Fig. 10. In the window 322, the average value of the cutting resistance (see Fig. 9) calculated from the sensor data generated by executing the NC program 1 for each block is displayed. The display unit 304 is realized by the display unit 188, and the window 322 is displayed on the display unit 188. Note that the form of synchronously displaying the statistical quantity and the block identification information is not limited to Fig. 10. For example, the statistical quantity may be displayed as a line graph.
[0048] The abnormality detection unit 308 reads physical and statistical quantities of the cutting tool from the storage unit 302 and detects abnormalities such as damage to the cutting tool. Abnormalities include, for example, damage to the cutting tool (such as chipping), wear of the cutting tool, and adhesion of chips to the cutting tool. Chipping means, for example, a chip at the tip 130 (see Figure 2). The abnormality detection unit 308 is implemented by the control unit 180. For example, the abnormality detection unit 308 determines that an abnormality has occurred if the physical quantity of the cutting tool has changed by more than a predetermined value from the reference. When cutting multiple workpieces of the same material using the same NC program, time-series data of the physical quantity of the cutting tool obtained when cutting was performed normally (see Figure 9) is stored in the storage unit 302 in advance as a reference. The reference may be time-series data generated by averaging the time-series data of the physical quantity obtained from multiple normal cutting operations over the number of operations. The anomaly detection unit 308 compares time-series data of physical quantities obtained from a single cutting operation with reference time-series data, and determines that an anomaly has occurred if a difference of a predetermined value or more is detected. If the anomaly detection unit 308 determines that an anomaly has occurred, it outputs information that identifies the statistical quantity for which a difference of a predetermined value or more was detected (hereinafter referred to as anomaly data identification information) to the storage unit 302 and stores it in the storage unit 302. The anomaly data identification information is, for example, a number from the beginning of the time-series data. The anomaly detection unit 308 also outputs information indicating that an anomaly has occurred (hereinafter referred to as anomaly occurrence information) to the block identification unit 310.
[0049] The processing of the anomaly detection unit 308 may be performed by a person (such as an administrator). For example, if the display unit 304 displays time-series data of physical quantities obtained from a single cutting operation and reference time-series data, a person can visually detect anomalies and identify abnormal statistical quantities.
[0050] Upon receiving anomaly occurrence information, the block identification unit 310 reads the physical quantity of the cutting tool (time-series data), the corresponding block identification information (block number, etc.), and the anomaly data identification information from the storage unit 302, and identifies the block where the anomaly occurred from these. That is, the block identification unit 310 identifies the location of the anomaly in the time-series data from the anomaly data identification information and identifies the corresponding block. The block identification unit 310 outputs the block identification information of the identified anomaly-occurring block to the storage unit 302 as anomaly occurrence block identification information. The storage unit 302 stores the input anomaly occurrence block identification information. The block identification unit 310 also outputs the anomaly occurrence block identification information to the display unit 304 and the parameter correction unit 312.
[0051] The display unit 304, upon receiving abnormal block identification information from the block identification unit 310, displays the corresponding NC program and highlights the block identified by the abnormal block identification information. The display unit 304 displays the NC program, for example, as shown in Figure 11. In Figure 11, block 6, displayed with white text against a black background, is highlighted, indicating the block where the abnormality occurred. The highlighting may be, for example, a blinking display, or it may be displayed in a different color from other blocks.
[0052] Upon receiving abnormal block identification information from the block identification unit 310, the parameter modification unit 312 reads information from the storage unit 302 about the block identified by the abnormal block identification information within the corresponding NC program. The parameter modification unit 312 analyzes the read block to identify the parameter settings and corrects those values. For example, if the read block contains S, the parameter modification unit 312 identifies the following number as the spindle speed. If the read block contains F, the parameter modification unit 312 identifies the following number as the feed rate. The block identification unit 310 corrects the identified parameters to appropriate values, generates a new block, and outputs it to the storage unit 302. The storage unit 302 updates the corresponding NC program with the newly input block. Note that the correction is not limited to correcting only the parameters of one block identified by the abnormal block identification information. The parameters of the blocks before and after it may also be corrected. For example, when correcting a cutting path, it may be necessary to correct coordinate parameters included in multiple blocks.
[0053] (First example of parameter modification) Referring to Figures 12 and 13, an example of how to modify parameters in an NC program for turning is given. In Figures 12 and 13, the horizontal axis represents time (in seconds), and the vertical axis represents the cutting resistance (in N) calculated from sensor data output from a sensor attached to the turning tool. A CNC (Computer Numerical Control) lathe was used as the machine tool, and the outer diameter, corners, end faces, and chamfering of a carbon steel workpiece were performed by wet machining. The machining path by the NC program includes six paths in machining order: an outer diameter machining path, a first corner machining path, a second corner machining path, a third corner machining path, an end face machining path, and a chamfering path.
[0054] First, by running the NC program with the cutting conditions (parameters) set to cutting speed vc = 400 (m / min), feed rate vf = 0.4 (mm / rev), and depth of cut ap = 1 (mm), the graph shown in Figure 12 was obtained. In Figure 12, as indicated by the dashed circles, two peaks were observed where the vertical load was larger than the expected value (high load). Of the two peaks, the left peak was observed in the first corner machining pass, and the right peak was observed in the second corner machining pass. When the load is this high, there is a high possibility of sudden damage to the cutting tool. The two peaks in Figure 12 can be detected by comparing the vertical load with a predetermined threshold. The block in the NC program to which the detected peaks correspond can be identified from the time of the peak position. The parameters included in the identified block will be subject to modification.
[0055] Next, to suppress the load, the feed rate vf, one of the parameters included in the block corresponding to the peak, was reduced. That is, the cutting speed vc and depth of cut ap were left unchanged, and the feed rate vf was changed to 0.2 (mm / rev). By executing the NC program with these cutting conditions, the graph in Figure 13 was obtained. Of the two peaks indicated by dashed circles in Figure 12, the left peak corresponds to the peak indicated by the left dashed circle in Figure 13. Of the two peaks indicated by dashed circles in Figure 12, the right peak corresponds to the peak indicated by the right dashed circle in Figure 13. In Figure 13, the height of the peak under vertical load was reduced by approximately 30%, indicating that the load was suppressed. Cutting tools are prone to breakage when suddenly subjected to a load, so sudden breakage can be suppressed by keeping the load constant (suppressing changes). In Figure 12, the two peak values within the dashed circles exceed 900 N, but in Figure 13, both peak values under vertical load are less than 900 N. By modifying the parameters, we were able to suppress sudden breakage in the cutting tool.
[0056] (Second example of parameter modification) Referring to Figures 14 to 19, an example of how to modify parameters in an NC program for milling is given. In Figures 14 to 17, the horizontal axis represents time (in seconds). In Figures 14 and 16, the vertical axis represents the cutting resistance (in N) calculated from sensor data output from a sensor installed on the milling tool. In Figures 15 and 17, the vertical axis represents the torque (in N·m) calculated from sensor data output from a sensor installed on the milling tool. In Figures 18 and 19, the horizontal axis represents the X component force Fx (in N) in a plane perpendicular to the central axis of the milling tool, and the vertical axis represents the Y component force Fy (in N).
[0057] A vertical machining center was used as the machine tool, and a four-flute end mill with a diameter of φ=6 (mm) was used as the milling tool to process a carbon steel workpiece by dry machining. First, the cutting conditions (parameters) were set to a cutting speed vc = 70 (m / min) and a feed rate vf = 743 (mm / min). The spindle speed was 3714 (min). -1 The feed rate per tooth of the end mill was fz = 0.05 (mm / tooth). By executing the NC program using these cutting conditions, the measurement results in Figures 14, 15, and 18 were obtained. In Figures 14 and 15, multiple peaks were observed where the cutting resistance (absolute value) was larger than the expected value. Peak A occurred in the machining path of a circular arc with radius R = 6 (mm), and peak B occurred in the machining path of a circular arc with radius R = 3 (mm). Figure 18 shows the data when the end mill broke at peak A. It can be seen that vibration occurred at the time of breakage, and the XY plot is spread out and discrete.
[0058] Next, to suppress the load, the feed rate vf, one of the parameters in the blocks corresponding to peak A and peak B, was reduced to 50% and 75%, respectively. Specifically, the cutting speed vc was left unchanged, while the feed rate vf was changed to 372 (mm / min) for the block corresponding to peak A, and to 557 (mm / min) for the block corresponding to peak B. By executing the NC program with these cutting conditions, the measurement results in Figures 16, 17, and 19 were obtained. In Figures 16 and 17, peaks A and B, which were observed in Figures 14 and 15, were reduced, and both the cutting resistance and torque no longer exceeded the dashed lines. In Figure 19, the XY plots converge in the center, indicating that vibration was suppressed. By modifying the parameters, the occurrence of vibration in the end mill was suppressed, and end mill breakage was prevented.
[0059] The parameters of a block where an anomaly has occurred may be modified by a human. For example, as shown in Figure 11, if a block is highlighted, a human can modify the parameters included in the highlighted block (in Figure 11, the feed rate specified by F**). A human can also operate the control unit 186 and directly edit the NC program displayed in window 320 using a text editor or the like.
[0060] As a result, the information from the machine tool 106 (machine tool data) and the measurement data from the sensor module 122 mounted on the cutting tool 108 can be combined and processed. Therefore, in the event of an abnormality such as damage to the cutting tool, it becomes easier to take countermeasures in the relevant NC program, such as identifying the block causing the abnormality, correcting the parameters, inspecting the tool, and replacing it if necessary.
[0061] As described above, at least one of the average, maximum, and minimum values calculated from the sensor data corresponding to each block included in the NC program is used as a statistical measure. This makes it possible to know physical quantities related to cutting, such as cutting resistance, for each block of the NC program, and to easily identify areas for improvement in the cutting process.
[0062] As described above, the data processing device 102 includes an abnormality detection unit 308 that detects abnormalities in cutting processes from statistical data, and a block identification unit 310 that identifies blocks related to the abnormality after an abnormality has been detected by the abnormality detection unit 308. The display unit 304 highlights the blocks identified by the block identification unit 310 and displays the NC program. This makes it easier to identify parts of the NC program where abnormalities such as tool breakage occur, and makes it easier to understand areas for improvement in the NC program itself (such as tool paths).
[0063] As described above, the data processing device 102 further includes a parameter modification unit 312 that modifies the machining parameters included in the block after the block identification unit 310 has identified the block related to the abnormality. This makes it possible to appropriately improve the cutting process without relying on the experience of skilled workers.
[0064] As described above, the sensor 140 included in the sensor module 122 is a strain sensor, and the processing unit 306 of the data processing device 102 calculates the cutting resistance as a physical quantity from the sensor data. This makes it possible to know the cutting resistance in block units of the NC program, making it easy to identify areas for improvement in the cutting process.
[0065] (Operation of the Data Processing Unit) The operation of the data processing unit 102 will be explained with reference to Figure 20. The process shown in Figure 20 is realized when the control unit 180 (see Figure 6) reads a predetermined program from the memory 182 and executes it after the operation unit 186 is operated and an instruction is input to the data processing unit 102.
[0066] In step 400, the control unit 180 performs initial setup. Specifically, the control unit 180 acquires the machine tool data described above from the machine tool 106. The machine tool data includes the NC program, tool data, and machining conditions. Here, it is assumed that the control unit 180 acquires one NC program, the tool data of the cutting tool used with it, and the machining conditions. The control unit 180 also displays a screen on the display unit 188 for a user to select whether or not to automatically perform the modification of the cutting parameters, as described later, and accepts the selection made by the operation unit 186. The control unit 180 stores the selection result in the memory 182. For example, if a flag area is allocated in the memory 182 and automatic modification is selected, the flag is set to 1. If automatic modification is not selected, the flag is set to 0. If automatic modification is not selected, the user may modify the parameters. After that, the control proceeds to step 402. The control unit 180 may also perform a process to synchronize the clocks of the machine tool 106 and the cutting tool 108 as an initial setup.
[0067] In step 402, the control unit 180 determines whether or not cutting has started. For example, when the machine tool 106 starts cutting according to the NC program received by the control unit 180 in step 400, it transmits predetermined start information to the data processing device 102. If the control unit 180 receives the start information, it determines that cutting has started, and the control proceeds to step 404. Otherwise, step 402 is repeated.
[0068] In step 404, the control unit 180 receives sensor data transmitted from the sensor module 122 of the cutting tool 108 used for cutting. The control unit 180 stores the received sensor data in memory 182 in chronological order. After that, the control proceeds to step 406.
[0069] In step 406, the control unit 180 determines whether or not machining has been completed. Completion of machining means that all blocks of the NC program have been executed once. For example, when the machine tool 106 executes all blocks of the NC program once, it sends predetermined completion information to the data processing device 102, and the control unit 180 determines that machining has been completed when it receives the completion information. The control unit 180 may also determine that machining has been completed when it stops receiving sensor data from the sensor module 122. If it is determined that machining has been completed, control proceeds to step 408. Otherwise, control returns to step 404. As a result, from the time the control unit 180 receives the start information in step 402 until the NC program is executed once, the sensor data is stored in memory 182 in chronological order.
[0070] In step 408, the control unit 180 synchronizes the time-series sensor data stored in the memory 182 in step 404 with the NC program received in step 400. The control unit 180 performs the process of associating the sensor data with blocks of the NC program, as described above as a function of the processing unit 306. The control unit 180 stores information representing the synchronization result in the memory 182. For example, the control unit 180 associates block identification information (e.g., block number) with information (data number) that identifies the first and last data of the sensor data corresponding to that block, and stores it in the memory 182. After that, the control proceeds to step 410.
[0071] In step 410, the control unit 180 calculates physical quantities of the cutting tool from the sensor data, performs statistical processing on the calculated physical quantities, and displays the results on the display unit 188. After that, the control proceeds to step 412. As described above as a function of the processing unit 306, the control unit 180 calculates, for example, the cutting resistance from the sensor data and calculates the average value of the cutting resistance corresponding to each block. The control unit 180 displays the processing results on the display unit 188 as shown in Figure 10. The calculated statistical quantities may be maximum and minimum values, etc.
[0072] In step 412, the control unit 180 determines whether or not an abnormality has been detected. As described above as a function of the abnormality detection unit 308, the control unit 180 determines whether or not an abnormality has occurred in the cutting process based on statistical quantities calculated from the sensor data. The presence or absence of an abnormality is determined by comparing the statistical quantities calculated from the sensor data with a standard, as described above. If it is determined that an abnormality has occurred, the control unit 180 stores abnormality identification information (such as a data number) in the memory 182, and control proceeds to step 414. Otherwise, control proceeds to step 418. If a person is to determine whether or not an abnormality has occurred, they can make the determination by looking at the graph displayed on the display unit 188 in step 410. If a person detects that an abnormality has occurred, they input that information by operating the operation unit 186, and the control unit 180 determines that an abnormality has occurred.
[0073] In step 414, the control unit 180 identifies the block corresponding to the abnormality detected in step 412 and highlights that block. As described above, the block identification unit 310 identifies the block causing the abnormality in the NC program used for machining. As shown in Figure 11, the control unit 180 displays the NC program with the corresponding block highlighted on the display unit 188. After that, the control proceeds to step 416.
[0074] In step 416, the control unit 180 reads a flag from the memory 182 and modifies the parameters included in the block identified in step 414 according to the flag's setting. If the flag is set to 1, the control unit 180 modifies parameters such as spindle speed and feed rate as described above as a function of the parameter modification unit 312. If the flag is set to 0, the operation unit 186 is operated by a human to modify the parameters. The control unit 180 rewrites the parameters of the corresponding block of the NC program received in step 400. After that, control proceeds to step 418.
[0075] In step 418, the control unit 180 determines whether or not to terminate the program. For example, if the control unit 180 receives a termination instruction by operating the operation unit 186, it determines to terminate and terminates the program. Otherwise, control returns to step 402. For example, when machining multiple workpieces, once machining of all workpieces is complete, the user operates the operation unit 186 to instruct termination. If there are still unmachined workpieces remaining, the user does not instruct termination. If control returns to step 402, and an abnormality has occurred and the NC program has been modified, the control unit 180 executes the above-described process targeting the NC program after the modification in step 416.
[0076] As a result, the data processing device 102 can process information from the machine tool 106 (machine tool data) in combination with sensor data from the sensor module 122 mounted on the cutting tool 108. Therefore, in the event of an abnormality such as tool breakage, it becomes easier to identify the block causing the abnormality in the NC program and take countermeasures.
[0077] The above describes a case where steps 408 to 416 are executed after it is determined that machining is complete in step 406, but the system is not limited to this. For example, the control unit 180 may execute a program that executes steps 402 to 406 and a program that executes steps 408 to 416 in parallel. This makes it possible to detect abnormalities during machining, and if an abnormality is detected, it becomes possible to identify the relevant block, highlight it, and make corrections.
[0078] (Second Embodiment) In the above, the data processing device described a case in which, when an abnormality is detected, the data processing device highlights the corresponding block in the NC program and modifies the NC program, but is not limited to this. Even if an abnormality is detected, the cutting process may be continued for a certain period of time. The data processing device according to the second embodiment modifies the parameters after continuing the cutting process.
[0079] The data processing device according to the second embodiment is configured similarly to the data processing device 102 shown in Figure 6 as the first embodiment. Furthermore, the overall system configuration, machine tools, and cutting tools used in the data processing device according to the second embodiment are the same as those in the first embodiment (see Figures 1 to 5).
[0080] (Functional Configuration of Data Processing Device) The data processing device according to the second embodiment includes, with reference to Figure 21, a communication unit 300, a storage unit 314, a display unit 304, a processing unit 306, an anomaly detection unit 308, a block identification unit 310, and a parameter correction unit 318. Figure 21 is the same as Figure 7, which shows the functions of the data processing device according to the first embodiment, but with the storage unit 302 and parameter correction unit 312 replaced by the storage unit 314 and parameter correction unit 318, respectively. The storage unit 314 has the same functions as the storage unit 302 and also has an accumulation unit 316. The communication unit 300, display unit 304, processing unit 306, anomaly detection unit 308, and block identification unit 310 shown in Figure 21 have the same functions as those shown in Figure 7. Therefore, in the following, we will mainly explain the differences without repeating redundant explanations. In addition, reference numerals from Figures 1 to 6 will be referenced as appropriate.
[0081] As described above, upon detection of an anomaly by the anomaly detection unit 308, the block identification unit 310 identifies the block where the anomaly occurred. The block identification unit 310 outputs the block identification information of the identified block as anomaly occurrence block identification information to the storage unit 314. The storage unit 314 stores the input anomaly occurrence block identification information in the accumulation unit 316. For example, the accumulation unit 316 includes a counter corresponding to each block of the NC program, and each time anomaly occurrence block identification information is input, the counter of the corresponding block is incremented by 1. For example, the initial value of all counters is 0, and the value of the counter represents the number of times an anomaly occurred due to the execution of the corresponding block (cumulative value).
[0082] The parameter correction unit 318 checks the value (cumulative value) of each counter in the accumulation unit 316 at a predetermined timing and corrects the parameters of the block corresponding to the counter that is greater than or equal to a predetermined value. For example, the parameter correction unit 318 reads the counter values (cumulative values) from the accumulation unit 316, arranges them in descending order, and creates a Pareto chart as shown in Figure 22. The Pareto chart is displayed, for example, in a window 324 displayed on the display unit 188. In Figure 22, the horizontal axis represents the block number, and the left vertical axis represents the number of abnormal occurrences (count value) for each block. Each abnormal occurrence is shown by a bar graph with diagonal lines. The bar graph is displayed from left to right in descending order, with the largest abnormal occurrence being displayed at the far left. The display order of block numbers with an abnormal occurrence count of 0 is arbitrary. In Figure 22, block numbers with an abnormal occurrence count of 0 are displayed in ascending order from left to right. The solid line graph is the ratio (in %) of the total number of values obtained by adding the abnormal occurrence counts from left to right, and the scale is shown by the vertical axis on the right. The parameter correction unit 318 creates a Pareto chart at intervals such as lot units, daily units, or monthly units, using data obtained by performing cutting operations using the same machine tool and the same NC program. The parameter correction unit 318 corrects the parameters in the Pareto chart for blocks where the number of abnormal occurrences exceeds a predetermined value, in the same manner as the parameter correction unit 312 described above.
[0083] The parameter modification unit 318 may display the created Pareto chart on the display unit 304 (display unit 188). For example, the parameter modification unit 318 stores the created Pareto chart in the storage unit 314 and notifies the display unit 304 that the Pareto chart has been created. Upon receiving the notification, the display unit 304 reads the Pareto chart from the storage unit 314 and displays it. For example, as shown in Figure 22, once the Pareto chart is displayed, a person can visually identify the block that needs to be corrected. Therefore, a person can correct the parameters of the block where the anomaly occurred. A person may also operate the operation unit 186 to display the NC program on the display unit 304 using a text editor or the like and edit it directly.
[0084] Alternatively, the NC program may be displayed with blocks identified from the Pareto chart as having an abnormality count exceeding a predetermined value highlighted (see Figure 11). A person may directly edit the parameters included in the highlighted blocks using a text editor or the like by operating the operation unit 186.
[0085] As described above, by creating and displaying a Pareto chart, even inexperienced young workers can easily identify blocks with a high frequency of abnormalities as bottlenecks in the cutting process, without relying on the experience of skilled workers, thus facilitating process improvement.
[0086] As described above, the data processing device 102 includes a block identification unit 310 that identifies the block related to the abnormality when an abnormality is detected by the abnormality detection unit 308, and an accumulation unit 316 that accumulates the number of times the block has been identified by the block identification unit for each block. The data processing device 102 further includes a parameter correction unit 318 that corrects the machining parameters included in blocks for which the number of times accumulated by the accumulation unit exceeds a predetermined value. This makes it possible to identify bottleneck processes in cutting processes and appropriately improve cutting processes without relying on the experience of skilled workers.
[0087] (Operation of the Data Processing Device) The operation of the data processing device 102 according to the second embodiment will be described with reference to Figure 23. The process shown in Figure 23 is realized when the control unit 180 (see Figure 6) reads a predetermined program from the memory 182 and executes it after the operation unit 186 is operated and an instruction is input to the data processing device 102. In Figure 23, steps 414 and 416 are replaced by step 430, step 418 is replaced by step 432, and steps 434 to 438 are added to the flowchart shown in Figure 20. The other steps in Figure 23 are the same as the steps with the same reference numerals in Figure 20. In the following, without repeating explanations, the differences will be described mainly.
[0088] If step 412 determines that an abnormality has been detected, in step 430 the control unit 180 identifies the block corresponding to the abnormality detected in step 412 and increases the cumulative value of the number of abnormal occurrences for the identified block by 1. As described above as a function of the accumulation unit 316, the control unit 180 increases the corresponding counter by 1 among the counters provided for each block of the NC program used for machining. After that, the control proceeds to step 432.
[0089] In step 432, the control unit 180 determines whether it is time to display the Pareto chart. If it is determined that it is time to display the Pareto chart, the control proceeds to step 434. Otherwise, the control returns to step 402. For example, if the timing for displaying the Pareto chart is specified in lot units, the control unit 180 determines that it is time to display the Pareto chart once the processing of the specified number of lots is completed. If the timing for displaying the Pareto chart is specified in daily units, the control unit 180 determines that it is time to display the Pareto chart once the processing of the specified number of days is completed. If the timing for displaying the Pareto chart is specified in monthly units, the control unit 180 determines that it is time to display the Pareto chart once the processing of the specified number of months is completed.
[0090] In step 434, the control unit 180 creates a Pareto chart and displays it on the display unit 188. The control unit 180 creates and displays a Pareto chart as a function of the parameter modification unit 318 as described above (see Figure 22). After that, the control proceeds to step 436.
[0091] In step 436, the control unit 180 determines whether or not the NC program needs to be modified. The control unit 180 determines that modification is necessary if there is a block in the Pareto diagram created in step 434 where the number of abnormal occurrences exceeds a predetermined value. If modification is determined to be necessary, the control proceeds to step 438. Otherwise, the program terminates.
[0092] In step 438, the control unit 180 modifies the NC program used for cutting. As described above as a function of the parameter modification unit 318, the control unit 180 modifies the parameters for blocks in the Pareto chart where the number of abnormal occurrences is greater than or equal to a predetermined value.
[0093] As described above, by displaying a Pareto chart (see Figure 22), multiple block numbers with a high frequency of abnormal occurrences can be easily identified. Therefore, the machining paths specified by these blocks can be easily identified as paths that lead to cutting tool breakage and defective machined products, and that require modification. By modifying the parameters of the corresponding blocks, the machining paths can be corrected to appropriate paths.
[0094] The above describes a case where sensor data from a sensor module mounted on a cutting tool is used as the target, and the physical or statistical quantities obtained from it are synchronized with an NC program. However, the description is not limited to this. For example, data obtained during cutting from a sensor 178 located in the machining section 162 of a machine tool 106 may be used as the target, and synchronized with an NC program. In that case, the data during cutting is used for abnormality detection.
[0095] Each of the above-described embodiments (each function) may be implemented by a processing circuit (Circuitry) including one or more processors. The processing circuit may consist of an integrated circuit that combines one or more memory, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memory stores a program (instruction) that causes the one or more processors to execute each of the above processes. The one or more processors may execute each of the above processes according to the program read from the one or more memory, or they may execute each of the above processes according to a logic circuit that has been designed in advance to execute each of the above processes. The above-mentioned processor may be any type of processor suitable for computer control, such as a CPU, GPU (Graphics Processing Unit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), or ASIC (Application Specific Integrated Circuit).
[0096] Furthermore, a recording medium can be provided that stores a program that causes a computer to execute the processing performed by the data processing device 102 (for example, the processing shown in Figures 20 and 23). The recording medium is, for example, an optical disc (such as a DVD (Digital Versatile Disc)) or a removable semiconductor memory (such as a USB (Universal Serial Bus) memory). The computer program can be transmitted via a communication line, but the recording medium refers to a non-temporary recording medium. By having a computer read the program stored on the recording medium, the computer can acquire cutting data, calculate physical quantities (for example, cutting resistance), and simultaneously display a graph and a distribution image on a display device, as described above.
[0097] (Note) In other words, the computer-readable non-temporary recording medium stores a computer program that enables the computer to perform the following functions: receiving sensor data, which is the output value of a sensor mounted on a cutting tool, from a cutting tool; receiving a cutting program from a machine tool that performs cutting using the cutting tool; calculating physical quantities related to cutting from the received sensor data; calculating statistical quantities of the physical quantities in synchronization with the cutting program; and displaying the statistical quantities in correspondence with the cutting program.
[0098] The present disclosure has been described above by describing embodiments, but the embodiments described above are illustrative and the present disclosure is not limited to the embodiments described above. The scope of the present disclosure is given by each claim, with reference to the description in the detailed description of the invention, and includes all modifications within the meaning and scope equivalent to the wording contained herein.
[0099] 100 System 102 Data Processing Unit 104 Communication Device 106 Machine Tool 108 Cutting Tool 110 Tool Holder 112 Chuck 114 Communication Line 120 Shank 122, 122A, 122B, 202A, 202B, 202C, 202D Sensor Module 124 Cutting Edge 126, 128 Fixing Member 130, 212 Tip 132, 214 Central Axis 140, 178 Sensor 142 AD Conversion Unit 144, 166, 182 Memory 146, 164, 180 Control Unit 148, 300 Communication Unit 150, 174, 190 Bus 152 Power Supply Unit 160 Control Panel 162 Machining Unit 168, 184 IF Unit 170, 186 Operation Unit 172, 188, 304 Display Unit 176 Drive Unit 200 Milling Tool 210 Cutting Unit 302, 314 Memory Unit 306 Processing Unit 308 Anomaly Detection Unit 310 Block Identification Unit 312, 318 Parameter Correction Unit 316 Accumulation Unit 320, 322, 324 Window 900 Workpiece A, B Peak
Claims
1. A processing device comprising: a communication unit; a processing unit for processing data received by the communication unit; and a display unit for displaying the processing results by the processing unit, wherein the communication unit receives sensor data, which is the output value of a sensor mounted on a cutting tool, from a cutting tool, and receives a cutting program from a machine tool that performs cutting using the cutting tool; the processing unit calculates physical quantities related to cutting from the sensor data received by the communication unit, calculates statistical quantities of the physical quantities in synchronization with the cutting program, and the display unit displays the statistical quantities in correspondence with the cutting program.
2. The apparatus according to claim 1, wherein the statistical quantity is at least one of the average, maximum, and minimum values of a plurality of physical quantities calculated from a plurality of sensor data corresponding to each block included in the cutting program, and the display unit displays the statistical quantity in correspondence with the block.
3. The processing apparatus according to claim 2, further comprising: an abnormality detection unit that detects an abnormality in the cutting process from the statistical quantity; and a block identification unit that, upon receiving the detection of the abnormality by the abnormality detection unit, identifies the block related to the abnormality, wherein the display unit highlights the block identified by the block identification unit and displays the cutting process program.
4. The processing apparatus according to claim 3, further comprising an accumulation unit that accumulates the number of times a block has been identified by the block identification unit for each block, wherein the display unit displays a Pareto chart using the number of times accumulated by the accumulation unit and information representing the block.
5. The processing apparatus according to claim 2, comprising: an abnormality detection unit that detects abnormalities in cutting processes from the statistical quantities; a block identification unit that identifies the block related to the abnormality in response to the detection of the abnormality by the abnormality detection unit; and an accumulation unit that accumulates the number of times the block has been identified by the block identification unit for each block, wherein the display unit displays a Pareto chart using the number of times accumulated by the accumulation unit and information representing the block.
6. The processing apparatus according to any one of claims 3 to 5, further comprising a parameter modification unit that modifies the processing parameters included in the block after the block identification unit has identified the block related to the abnormality.
7. The apparatus according to claim 2, further comprising: an abnormality detection unit that detects an abnormality in cutting from the statistical quantity; a block identification unit that identifies the block related to the abnormality in response to the detection of the abnormality by the abnormality detection unit; and a parameter modification unit that modifies the machining parameters included in the block in response to the identification of the block related to the abnormality by the block identification unit.
8. The apparatus according to claim 2, further comprising: an abnormality detection unit that detects an abnormality in cutting from the above statistics; a block identification unit that identifies the block related to the abnormality in response to the detection of the abnormality by the abnormality detection unit; an accumulation unit that accumulates the number of times a block has been identified by the block identification unit for each block; and a parameter modification unit that modifies the machining parameters included in blocks for which the number of times accumulated by the accumulation unit is equal to or greater than a predetermined value.
9. The processing apparatus according to any one of claims 1 to 8, wherein the sensor is a strain sensor, and the processing unit calculates the cutting resistance from the output value as the physical quantity.
10. A system comprising a cutting tool equipped with a sensor, a machine tool that performs processing using the cutting tool, and a processing device according to any one of claims 1 to 9, wherein the cutting tool includes a first communication unit that transmits the output value of the sensor to the processing device, and the machine tool includes a second communication unit that transmits information relating to processing performed using the cutting tool to the processing device.
11. A processing method comprising: a communication device receiving sensor data from a cutting tool, which is the output value of a sensor mounted on the cutting tool; a communication device receiving a cutting program from a machine tool that performs cutting using the cutting tool; a processing device calculating a physical quantity related to cutting from the sensor data received by the communication device; a processing device calculating a statistical quantity of the physical quantity in synchronization with the cutting program; and a display device displaying the statistical quantity in correspondence with the cutting program.
12. A computer program that enables the following functions for a computer: receiving sensor data, which is the output value of a sensor mounted on a cutting tool, from a cutting tool; receiving a cutting program from a machine tool that performs cutting using the cutting tool; calculating physical quantities related to cutting from the received sensor data; calculating statistical quantities of the physical quantities in synchronization with the cutting program; and displaying the statistical quantities in correspondence with the cutting program.