Processing device, processing method, system and computer program

JPWO2026105280A1Active Publication Date: 2026-05-21SUMITOMO ELECTRIC INDUSTRIES LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025551132
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2026-05-21
Estimated Expiration
2044-11-15

AI Technical Summary

Technical Problem

Existing NC programs struggle to identify and address abnormalities in cutting processes, relying heavily on expert experience for analysis and parameter modification, as simulations alone are insufficient and sensor data correlation with the actual process is difficult.

Method used

A processing device that combines machine tool information with measurement data from a sensor-mounted cutting tool, calculating physical quantities and displaying statistics synchronized with the cutting program, enabling easy identification of abnormalities and facilitating parameter corrections without expert intervention.

Benefits of technology

Enables easy identification of abnormal processes and improvements in cutting operations, allowing inexperienced workers to address tool-related issues effectively by correlating sensor data with the cutting program and adjusting parameters accordingly.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The processing device includes a communication unit, a processing unit that processes data received by the communication unit, and a display unit that displays the processing results by the processing unit. The communication unit receives sensor data from the cutting tool, which is the output value of a sensor mounted on the 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 and calculates statistical quantities of the physical quantities in synchronization with the cutting program. The display unit displays the statistical quantities in correspondence with the cutting program.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a processing device, a processing method, a system, and a computer program. [Background technology]

[0002] Machine tools that perform cutting operations based on numerical control (NC) programs are known. For example, Patent Document 1 below discloses checking an NC machine tool's machining program using a general-purpose device such as a personal computer, without using the actual NC machine tool. Specifically, the general-purpose device performs simulations to detect interference blocks, abnormal approach blocks, and abnormal cutting speed blocks for each block of the machining program, and displays these blocks in a way that distinguishes them from other blocks, prompting the programmer to modify the machining program. Patent Document 2 below also discloses automatically adjusting NC program parameters for cutting operations using an end mill attached to a spindle. Specifically, during machining performed according to an NC program expressed by a combination of predetermined fixed cycles, the actual cutting resistance applied to the end mill is calculated from the current value of the spindle drive motor detected by a motor current sensor, and feedforward control is performed based on this result to adjust the NC program parameters. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-271215 [Patent Document 2] Japanese Patent Application Laid-Open No. 2006-338625 Summary of the Invention

[0004] A processing device according to one 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 processing results by the processing unit, wherein the communication unit receives sensor data from the cutting tool, which is the output value of a sensor mounted on the 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. [Brief explanation of the drawings]

[0005] [Figure 1] FIG. 1 is a schematic diagram showing the configuration of a system according to a first embodiment of the present disclosure. [Figure 2] FIG. 2 is a side view schematically showing the cutting tool (turning tool) shown in FIG. [Figure 3] FIG. 3 is a block diagram showing the configuration of a sensor module attached to the cutting tool shown in FIG. [Figure 4] FIG. 4 is a perspective view schematically showing a milling tool. [Figure 5] FIG. 5 is a block diagram showing the configuration of the machine tool shown in FIG. [Figure 6] FIG. 6 is a block diagram showing the configuration of the data processing device shown in FIG. [Figure 7] FIG. 7 is a block diagram showing a functional configuration of the data processing device shown in FIG. [Figure 8] FIG. 8 is a diagram showing an example of an NC program displayed on the data processing device. [Figure 9] Figure 9 is a graph showing the cutting force and the NC program blocks in sync. [Figure 10] FIG. 10 is a graph showing the average cutting resistance and the NC program blocks in synchronization. [Figure 11] FIG. 11 shows a state in which a block of an NC program is highlighted. [Figure 12]FIG. 12 is a graph showing the cutting resistance measured during execution of an NC program for turning. [Figure 13] FIG. 13 is a graph showing cutting resistance measured by modifying and executing the parameters of an NC program for turning. [Figure 14] FIG. 14 is a graph showing the cutting resistance measured during execution of an NC program for milling. [Figure 15] FIG. 15 is a graph showing torque measured during execution of an NC program for milling. [Figure 16] FIG. 16 is a graph showing cutting resistance measured by modifying and executing the parameters of an NC program for milling. [Figure 17] FIG. 17 is a graph showing torque measured by modifying and executing the parameters of an NC program for milling. [Figure 18] FIG. 18 is a diagram showing a two-dimensional plot of XY component forces measured during execution of an NC program for milling. [Figure 19] FIG. 19 is a diagram showing a two-dimensional plot of XY component forces measured by modifying and executing the parameters of an NC program for milling. [Figure 20] FIG. 20 is a flowchart showing the processing executed by the data processing device according to the first embodiment. [Figure 21] FIG. 21 is a block diagram showing the functional configuration of a data processing device according to the second embodiment of the present disclosure. [Figure 22] FIG. 22 is a Pareto chart showing the results of cutting processing by the NC program. [Figure 23] FIG. 23 is a flowchart showing the processing executed by the data processing device according to the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0006] [Problem to be solved by this disclosure] As disclosed in Patent Document 1, it is difficult to realize an NC program that can solve problems that arise in actual cutting processing using only a simulation using a general-purpose device. As disclosed in Patent Document 2, by receiving and analyzing data detected by a sensor mounted on a machine tool, it is possible to calculate cutting resistance, evaluate the processing state, and detect abnormalities such as tool chipping. However, analyzing sensor data alone makes it difficult to correlate it with the actual processing process. When an abnormality occurs, it is not easy to identify which process is causing the problem, and this often relies on the experience of an expert. Furthermore, modifying processing parameters to solve the problem also relies on the experience of an expert.

[0007] Therefore, an object of the present disclosure is to provide a processing device, processing method, system, and computer program that can process a combination of machine tool information and measurement data from a sensor mounted on a cutting tool.

[0008] [Effects of this disclosure] According to the present disclosure, it is possible to provide a processing device, a processing method, a system, and a computer program that can process a combination of machine tool information and measurement data obtained by a sensor mounted on a cutting tool.

[0009] [Description of the embodiments of the present disclosure] The contents of the embodiments of the present disclosure will be listed and described below. At least some of the embodiments described below may be combined in any desired manner.

[0010] (1) A processing device according to a first 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 processing results by the processing unit. The communication unit receives sensor data from a cutting tool, which is the output value of a sensor mounted on the 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, synchronizes the data with the cutting program, and calculates statistics of the physical quantities. The display unit displays the statistics in correspondence with the cutting program. This allows for processing of machine tool information and measurement data from the sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool loss occurs, it becomes easy to identify the process that caused the abnormality and take measures.

[0011] (2) In the above (1), the statistical quantity may be at least one of an average value, a maximum value, and a minimum value 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 may display the statistical quantity in correspondence with the block. This makes it possible to know the 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) In (2) above, the program may further include an abnormality detection unit that detects abnormalities in the cutting process from statistics, and a block identification unit that identifies blocks related to the abnormality upon detection of an abnormality by the abnormality detection unit, and the display unit may display the cutting process program by highlighting the blocks identified by the block identification unit. This makes it easy to identify parts of the cutting process program where abnormalities such as tool loss occur, and makes it easy to understand areas for improvement in the cutting process program itself (such as the tool trajectory).

[0013] (4) In (3) above, an accumulation unit may be further included 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 allows even inexperienced workers to easily identify bottleneck processes in cutting processing without relying on the experience of experts, making it easier to improve the process.

[0014] (5) In (2) above, the apparatus may include an anomaly detection unit that detects anomalies in cutting processing from statistics, a block identification unit that identifies blocks related to the anomaly upon detection of an anomaly by the anomaly detection unit, and 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 allows even inexperienced workers to easily identify processes that are bottlenecks in cutting processing without relying on the experience of experts, making it easier to improve the process.

[0015] (6) In any one of (3) to (5) above, the apparatus may further include a parameter correction unit that corrects the machining parameters included in the block when the block identification unit identifies the block related to the abnormality. This allows the cutting process to be appropriately improved without relying on the experience of a skilled worker.

[0016] (7) In the above (2), the cutting process may further include an abnormality detection unit that detects abnormalities in the cutting process from statistics, a block identification unit that identifies a block related to the abnormality in response to the abnormality being detected by the abnormality detection unit, and a parameter correction unit that corrects the machining parameters included in the block in response to the block related to the abnormality being identified by the block identification unit. This allows the cutting process to be appropriately improved without relying on the experience of a skilled worker.

[0017] (8) In the above (2), the apparatus may further include an abnormality detection unit that detects an abnormality in the cutting process from statistics, a block identification unit that identifies a block related to the abnormality in response to the abnormality detected 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 correction unit that corrects a machining parameter included in a 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 a process that is a bottleneck in the cutting process without relying on the experience of an expert, and to appropriately improve the cutting process.

[0018] (9) In any one of the above (1) to (8), 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 allows the cutting resistance for each block of the cutting program to be known, making it easy to identify areas for improvement in the cutting process.

[0019] (10) A system according to a second aspect of the present disclosure includes a cutting tool equipped with a sensor, a machine tool that performs machining using the cutting tool, and the processing device described in any one of (1) to (9) above, wherein the cutting tool includes a first communication unit that transmits an output value of the sensor to the processing device, and the machine tool includes a second communication unit that transmits information related to machining performed using the cutting tool to the processing device. This allows for processing of a combination of information from the machine tool and measurement data from the sensor equipped on the cutting tool. Therefore, when an abnormality such as tool loss occurs, it becomes easy to identify the process that caused the abnormality and take measures.

[0020] (11) A processing method according to a third aspect of the present disclosure includes the steps of: a communication device receiving, from a cutting tool, sensor data representing output values ​​of a sensor mounted on the cutting tool; a communication device receiving, from the cutting tool, a cutting program from a machine tool that performs cutting using the cutting tool; a processing device calculating, from the sensor data received by the communication device, physical quantities related to cutting from the sensor data received by the communication device; a processing device calculating, in synchronization with the cutting program, statistics of the physical quantities; and a display device displaying the statistics in correspondence with the cutting program. This allows for processing in combination with machine tool information and measurement data from the sensor mounted on the cutting tool. Therefore, when an abnormality such as tool loss occurs, it becomes easy to identify the process that caused the abnormality and take measures.

[0021] (12) A computer program according to a fourth aspect of the present disclosure causes a computer to perform the following functions: receive sensor data from a cutting tool, which is the output value of a sensor mounted on the cutting tool; receive a cutting program from a machine tool that performs cutting using the cutting tool; calculate physical quantities related to cutting from the received sensor data; calculate statistics of the physical quantities in synchronization with the cutting program; and display the statistics in correspondence with the cutting program. This allows for processing of machine tool information and measurement data from the sensor mounted on the cutting tool in combination. Therefore, when an abnormality such as tool loss occurs, it becomes easy to identify the process that caused the abnormality and take measures.

[0022] [Details of the embodiments of the present disclosure] In the following embodiments, the same components are denoted by the same reference numerals, and their names and functions are also the same, so detailed descriptions thereof will not be repeated.

[0023] (First embodiment) (Overall composition) Referring to FIG. 1 , a system 100 according to a 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 (a turning tool and a milling tool) including a sensor module 122 is mounted on a tool holder 110 of the machine tool 106. A workpiece 900, which is an object (workpiece) of cutting processing, is held by a chuck 112. A spindle on which the chuck 112 is mounted is rotated by a drive device (such as a motor), thereby rotating the workpiece 900. While the workpiece 900 is 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 of the cutting tool 108 is reflected in a measurement value (i.e., a sensor output value) of 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 information about machining from the machine tool 106 via the communication line 114. The data processing device 102 is realized by, for example, a computer. Note that while Fig. 1 shows a case where the communication device 104 is disposed outside the data processing device 102, the communication device 104 may be configured to be included in the data processing device 102.

[0025] (Turning tool configuration) Referring to FIG. 2, a turning tool is shown as an example of the cutting tool 108. The cutting tool 108 includes a shank 120 and multiple sensor modules 122 (specifically, sensor module 122A and sensor module 122B). A cutting blade 124 is detachably attached to the shank 120 by a fixing member 126 and a fixing member 128. The cutting tool 108 is a replaceable cutting tool, i.e., a throw-away cutting tool. A tip 130 of the cutting blade 124 is brought into contact with a workpiece to be cut, thereby turning the workpiece. Note that the shank 120 may have a cutting blade instead of being able to have a cutting blade attached. During cutting, the cutting tool 108 is advanced toward the workpiece (workpiece 900) along a central axis 132, for example, by movement of the tool holder 110.

[0026] The sensor module 122A is disposed on a side surface of the shank 120, and the sensor module 122B is disposed on the top surface (upper surface) of the shank 120. Both the sensor module 122A and the sensor module 122B are disposed at the center in the width direction of the surface on which they are disposed. FIG. 2 shows an example of the positions of the sensor module 122A and the sensor module 122B in the direction of the central axis 132, and the positions of the sensor module 122A and the sensor module 122B in the direction of the central axis 132 are arbitrary. In the direction of the central axis 132, the sensor module 122A and the sensor module 122B may be disposed at the same position, or the sensor module 122A may be disposed closer to the cutting edge 124 than the sensor module 122B. The sensor module 122A and the sensor module 122B include the same type of sensor and have the same configuration. Therefore, when there is no need to distinguish between them, they will be referred to as sensor module 122.

[0027] Referring to FIG. 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 disposed at a position corresponding to either the sensor module 122A or the sensor module 122B shown in FIG. 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 an input analog signal into a digital signal and outputs the digital signal. That is, the AD conversion unit 142 samples the analog signal (i.e., the 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 nonvolatile semiconductor memory, and stores the sensor data transmitted via the bus 150. The memory 144 also stores a computer program (hereinafter simply referred to as a 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 a wireless communication function, such as Wi-Fi. Specifically, the communication unit 148 generates and transmits a communication packet including the sensor data input from the control unit 146, the address of the communication device 104 as a destination address, and the address of the communication unit 148 as a 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 device 102. As a result, the data processing device 102 can acquire sensor data from the sensor module 122A and the sensor module 122B. Note that the data processing device 102 can determine whether the data was acquired from a difference between the sensor module 122A and the sensor module 122B based on the source address included in the communication packet. The bus 150 transmits data exchanged between the AD conversion unit 142, the memory 144, and the control unit 146. The power supply unit 152 supplies the power necessary for the functions of each unit constituting the sensor module 122. The power supply unit 152 is, for example, a battery.

[0029] The sensor data may be transmitted immediately from the sensor module 122, or may be transmitted after a certain amount of data has been buffered. When the sensor data is transmitted immediately, the data processing device 102 stores the time of reception in association with the sensor data. When a certain amount of sensor data is transmitted collectively after buffering, the sensor data is transmitted with information indicating the time at which the sensor data was generated. If the sampling period is constant, for example, the time of the first data may be added and the data may be transmitted in a format that indicates the sampling order (such as by arranging the data in the order of sampling), allowing the data processing device 102 to calculate the time corresponding to each piece of sensor data.

[0030] In the above description, one sensor module includes one sensor, but the present invention is not limited to this. Sa For example, one sensor module 122 may include two sensors, each of which may be located at a position corresponding to sensor module 122A and sensor module 122B shown in FIG. 2 . In this case, the sensor module 122 includes 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, and stores the digital output value in the memory 144 as time-series data. When transmitting sensor data to the communication device 104 via the communication unit 148, the control unit 146 transmits the sensor data in a manner that allows the data processing device 102 to distinguish which sensor each piece of sensor data belongs to. For example, the control unit 146 may transmit the sensor data together with information (sensor ID) that identifies the sensor corresponding to the sensor data.

[0031] The cutting tool 108 may be a milling tool. Referring to FIG. 4, the milling tool 200 is a milling tool such as an end mill having a cutting portion 210. The cutting portion 210, indicated by a diagonal line pattern, includes a peripheral cutting edge (not shown) formed on the side surface of a cylinder and a bottom cutting edge (not shown) formed on a tip portion 212. When the cutting tool 108 rotates around a central axis 214, the cutting portion 210 abuts against a workpiece 900 and cuts the workpiece 900. The milling tool 200 has sensor modules 202A, 202B, 202C, and 202D arranged on its side surface. The spacing between adjacent modules in the rotational direction of the sensor modules 202A, 202B, 202C, and 202D is 90 degrees around the rotation axis (i.e., the central axis) of the milling tool 200. Sensor module 202A, sensor module 202B, sensor module 202C, and sensor module 202D include the same type of sensors and have the same configuration. Note that it is sufficient that the sensors included in each of sensor module 202A, sensor module 202B, sensor module 202C, and sensor module 202D are arranged on the side surface of milling tool 200, and the portion of each sensor module excluding the sensors may be housed in a cylindrical housing (not shown) arranged around milling tool 200.

[0032] (Machine tool configuration) 5, machine tool 106 includes a control panel 160 and a processing unit 162 that performs processing under the control of control panel 160. Processing unit 162 includes a drive unit 176 such as a motor for rotating the spindle, and a sensor 178 disposed in drive unit 176 or the like.

[0033] Control panel 160 includes control unit 164, memory 166, IF unit 168, operation unit 170, display unit 172, and bus 174. Control unit 164 is configured to include a CPU. Memory 166 is, for example, a rewritable nonvolatile semiconductor memory, and stores programs executed by control unit 164. Memory 166 may be an HDD (Hard Disk Drive). Memory 166 provides a work area for programs executed by control unit 164. Memory 166 also stores information about 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 feed rate 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 (such as the rotational speed of the spindle and the feed rate of the cutting tool). The tool data includes information such as the shape, dimensions, material, number of cutting edges, position of each cutting edge, and location of the sensor module of the cutting tool (see cutting tool 108 and milling tool 200). Machining conditions may also be directly described in the NC program. The machine tool data may also include information during cutting. The information during cutting is, for example, time-series sensor data output from a sensor 178 disposed in the machining unit 162, and includes information such as the currents of each axis in the drive unit 176 and the position of the cutting tool 108.

[0034] The operation unit 170 includes, for example, a computer keyboard and a 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 integrated touch panel display. The IF unit 168 is an interface for exchanging data with the operation unit 170, the display unit 172, and the 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 part 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 data from the video memory of the memory 166 to the display unit 172 and causes the display unit 172 to display the data 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 related to the machine tool 106) to the data processing device 102 via the communication line 114. The IF unit 168 has, for example, a serial interface (RS232C or the like) function to communicate with the data processing device 102 via the communication line 114. The interface for communicating with the data processing device 102 is not limited to a serial interface. If the communication line 114 is an Ethernet communication cable, the IF unit 168 has a function to communicate in accordance with a communication protocol such as TCP / IP. Furthermore, communication between the control panel 160 and the data processing device 102 is not limited to being wired, and may be wireless. For example, the IF unit 168 may have a wireless communication function similar to that of the communication unit 148 of the sensor module 122 described above.

[0036] (Configuration of data processing device) 6, data processing device 102 includes control unit 180, memory 182, IF unit 184, operation unit 186, display unit 188, and bus 190. Control unit 180 is configured to include a CPU. Memory 182 is, for example, a rewritable nonvolatile semiconductor memory, and stores programs executed by control unit 180. Memory 182 may be a HDD. Memory 182 provides a work area for programs executed by control unit 180. Operation unit 186 includes, for example, a computer keyboard, a mouse, and a touch panel. 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 (sensor data, etc.) acquired by the communication device 104, calculates physical quantities (cutting resistance, etc.) related to the cutting tool and their statistical quantities in accordance with 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 with 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 a function for communicating in accordance with a communication protocol such as TCP / IP. The IF unit 184 may have a wireless communication function similar to that of the communication unit 148 of the sensor module 122 described above.

[0039] IF unit 184 transmits instructions input by operating operation unit 186 to control unit 180 via bus 190. In response to this, control unit 180 executes processing described below and stores the processing results in memory 182. A part of memory 182 functions as a video memory that stores video data corresponding to images to be displayed on display unit 188. IF unit 184 transmits data from the video memory of memory 182 to display unit 188, causing display unit 188 to display the data as an image. As described above, memory 182 also stores sensor data received via communication device 104 and machine tool data received via communication line 114.

[0040] (Functional configuration of data processing device) The functions of data processing device 102 will be described. With reference to FIG. 7 , data processing device 102 includes a communication unit 300, a storage unit 302, a display unit 304, a processing unit 306, an abnormality detection unit 308, a block identification unit 310, and a parameter correction unit 312. Communication unit 300 receives sensor data transmitted from sensor module 122 of cutting tool 108 and machine tool data transmitted from machine tool 106 via communication line 114. The received sensor data and machine tool data are output to storage unit 302. Communication unit 300 is realized by communication device 104 and IF unit 184 described above. Storage unit 302 stores data input from communication unit 300. Storage unit 302 is realized by memory 182.

[0041] The processing unit 306 reads the sensor data and machine tool data stored in the memory unit 302 and synchronizes the sensor data with the NC program included in the machine tool data. The processing unit 306 is realized by the control unit 180. "Synchronization" means associating each block of the NC program with the sensor data generated by executing the NC program or with physical quantities (such as cutting resistance) generated from the sensor data. For example, when the execution of the NC program (cutting processing) begins, the sensor module 122 of the cutting tool 108 transmits sensor data from the communication unit 148 until the NC program ends. As described above, the transmitted sensor data is received by the communication unit 300 via the communication device 104 and stored in the memory unit 302 as time-series data. Note that the NC program includes a step of moving the cutting tool to a target position without performing cutting, but sensor data is still transmitted from the sensor module 122 during this process.

[0042] An NC program is composed of multiple blocks, and the processing unit 306 can identify the processing (such as cutting tool movement) by analyzing the description (text information) of each block. FIG. 8 shows a window 320 containing an example NC program displayed on the display unit 188. The left edge of the window 320 indicates the block numbers of the NC program. A block is defined from the beginning of a line to a semicolon (;). Hereinafter, "i" denotes a natural number, and the description (block) on the i-th line is referred to as "block i." Note that a block does not necessarily have to consist of a single line; multiple lines may constitute a single block. Each block contains instructions for the cutting tool. The instructions are written using G-code, M-code, positional information (X, Y, Z), and machining parameters (such as S for specifying the spindle speed and F for specifying the feed rate). Therefore, the processing content can be identified by analyzing the description (text) of each block and identifying symbols (such as G, M, S, F, X, Y, and Z) and numerical values.

[0043] For example, in Figure 8, block 1 is an instruction to rotate forward (M3) at ** rotations per minute (S**) and fast forward (G00) to the reference position (X0, Y0). Note that in Figure 8, "**" represents an arbitrary value; in an actual NC program, a specific value is set. Block 2 is an instruction to fast forward to the machining height specified by Z**. Block 3 is an instruction to fast forward to a position (Y25) next to the edge where machining begins. Block 4 is an instruction to fast forward to X38. It is assumed that the instructions in the blocks up to this point will not cause the cutting tool to contact the workpiece, and cutting will not be performed. Cutting begins in block 5. Block 5 is an instruction to perform circular interpolation (G03) counterclockwise (i.e., move in an arc) at feed rate ** (F**) from the position specified by I6 (increase the X coordinate by 6) to the specified position (X6, Y-6). The numbers following I, J, and K specify the X, Y, and Z coordinates of the center of the circular interpolation, respectively. Block 6 is an instruction to execute linear interpolation (G01) (i.e., move in a straight line) at feed rate ** (F**) to a specified position (X32). Blocks 7 and on can be interpreted in the same way.

[0044] The processing unit 306 can calculate the time required to process each block from the cutting conditions (feed rate, etc.) included in each block and the characteristics of the machine tool itself (rapid feed rate, etc.) obtained by analyzing the description (text) of each block. Therefore, the processing unit 306 can calculate the start time and end time of processing each block from the start time of the NC program. Because sensor data is generated by sampling at regular intervals, the sensor data corresponding to each block (sensor data generated during execution of processing by each block) can be identified by matching the time when the sensor data was first received with the start time of the NC program.

[0045] The processing unit 306 calculates physical quantities related to the cutting tool 108 from the sensor data. Assume that the storage unit 302 stores sensor data received from the sensor module 122A and the sensor module 122B of the cutting tool 108. The processing unit 306 reads out the stored sensor data (e.g., strain values) of each of the sensor modules 122A and 122B. The processing unit 306 also reads out the machine tool data from the storage unit 302. The processing unit 306 uses the shape and material (e.g., Poisson's ratio) of the cutting tool 108 included in the machine tool data and the positions of the sensor modules 122A and 122B to calculate physical quantities related to the cutting tool 108, such as the load (i.e., cutting resistance) and moment acting on the cutting tool 108, from the sensor data. The processing unit 306 stores each component (X component, Y component, and Z component) of the calculated load in the storage unit 302 as time-series data. Since the physical quantities of the cutting tool (such as cutting resistance) are calculated from each sensor data, 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 composite value of the cutting resistance Fx and the cutting resistance Fy (i.e., (Fx 2 +Fy 2 ) -1 / 2 ) may also be used.

[0046] Figure 9 shows a synchronized display of the calculated physical quantity (magnitude of cutting resistance) and the corresponding block. The vertical axis represents the calculated cutting resistance, and the horizontal axis represents the time axis. The time axis shows the executed NC program blocks. Block numbers are shown between the start and end times of the block. In other words, from time t1 to time t2, processing of block i is executed, and the cutting resistance calculated from the sensor data obtained during that time is 0. While block i is executed, no cutting is performed. From time t2 to time t3, processing of block i+1 is executed, and the cutting resistance calculated from the sensor data obtained during that time is greater than 0. Cutting of the workpiece is performed by block i+1. The same applies below.

[0047] The processing unit 306 calculates a statistical quantity from the physical quantity of the cutting tool corresponding to each block. For example, the processing unit 306 calculates an average value as the statistical quantity. The calculated statistical quantity may be the maximum value of the physical quantity corresponding to each block, or the minimum value of the physical quantity corresponding to each block. It may also be any other statistical quantity. The processing unit 306 outputs the calculated statistical quantity and information identifying the corresponding block (hereinafter referred to as block identification information) (e.g., block number) to the memory unit 302 and stores them in the memory unit 302. The display unit 304 reads out the statistical quantity and the block identification information stored in the memory unit 302 and displays them synchronously. The display unit 304 displays, for example, a window 322 shown in FIG. 10. The window 322 displays the average value for each block of the cutting resistance (see FIG. 9) calculated from the sensor data generated by executing the NC program 1. The display unit 304 is realized by the display unit 188, and the window 322 is displayed on the display unit 188. The form in which the statistical amount and the block identification information are displayed in synchronization is not limited to Fig. 10. For example, the statistical amount may be displayed as a line graph.

[0048] The anomaly detection unit 308 reads the physical and statistical quantities of the cutting tool from the storage unit 302 and detects anomalies such as chipping of the cutting tool. Examples of anomalies include chipping of the cutting tool (e.g., chipping), wear of the cutting tool, and adhesion of chips (swarf) to the cutting tool. Chipping refers to, for example, chipping of the tip 130 (see FIG. 2). The anomaly detection unit 308 is implemented by the control unit 180. For example, the anomaly detection unit 308 determines that an anomaly has occurred when a physical quantity of the cutting tool has deviated from a reference value by a predetermined value or more. When cutting multiple workpieces of the same material using the same NC program, time-series data of the physical quantities of the cutting tool obtained when cutting is performed normally (see FIG. 9) is stored in advance in the storage unit 302 as a reference. The reference may be time-series data generated by averaging the time-series data of the physical quantities obtained from multiple normal cutting operations. The anomaly detection unit 308 compares the time-series data of the physical quantity obtained by one cutting process with the 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 identifying the statistical quantity in which a difference of a predetermined value or more has been detected (hereinafter referred to as abnormal data identification information) to the storage unit 302, and stores the information in the storage unit 302. The abnormal data identification information is, for example, a number from the beginning of the time-series data. Furthermore, the anomaly detection unit 308 outputs information indicating that an anomaly has occurred (hereinafter referred to as abnormality 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 a manager). For example, if the display unit 304 displays the time-series data of the physical quantity obtained by one cutting operation and the reference time-series data, a person can visually detect anomalies and identify abnormal statistics.

[0050] Upon receiving the abnormality occurrence information, the block identification unit 310 reads the physical quantities (time-series data) of the cutting tool, the corresponding block identification information (such as a block number), and the abnormal data identification information from the storage unit 302, and identifies the block in which the abnormality occurred from these. That is, the block identification unit 310 identifies the position of the abnormal physical quantity in the time-series data from the abnormal data identification information, and identifies the corresponding block. The block identification unit 310 outputs the block identification information of the identified block in which the abnormality occurred to the storage unit 302 as abnormality occurrence block identification information. The storage unit 302 stores the input abnormality occurrence block identification information. The block identification unit 310 also outputs the abnormality occurrence block identification information to the display unit 304 and the parameter correction unit 312.

[0051] Upon receiving the abnormality-occurring block identification information from the block identification unit 310, the display unit 304 displays the corresponding NC program and highlights the block identified by the abnormality-occurring block identification information. The display unit 304 displays the NC program, for example, as shown in FIG. 11. In FIG. 11, block 6, which is displayed in white letters against a black background, is highlighted to indicate the block in which the abnormality occurred. The highlighting may be, for example, a blinking display or a display in a color different from the other blocks.

[0052] Upon receiving the abnormality-occurring block identification information from the block identification unit 310, the parameter correction unit 312 reads, from the storage unit 302, information on the block identified by the abnormality-occurring block identification information in the corresponding NC program. The parameter correction unit 312 analyzes the read block to identify parameter settings and corrects those values. For example, if the read block contains an S, the parameter correction unit 312 identifies the value following the S as the spindle speed. If the read block contains an F, the parameter correction unit 312 identifies the value following the F 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 based on the new block input. Note that the correction is not limited to correcting the parameters of only one block identified by the abnormality-occurring block identification information. The correction may also include parameters of blocks before and after the block. 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) 12 and 13, a method for correcting parameters in an NC program for turning will be illustrated. In FIGS. 12 and 13, the horizontal axis represents time (unit: seconds), and the vertical axis represents cutting resistance (unit: N) calculated from sensor data output from a sensor attached to a turning tool. A CNC (Computer Numerical Control) lathe was used as the machine tool, and external diameter machining, corner machining, end face machining, and chamfering were performed on a carbon steel workpiece by wet machining. The machining paths of the NC program included six paths, in order of machining: an external diameter machining path, a first corner machining path for corner machining, a second corner machining path and a third corner machining path, an end face machining path, and a chamfering path.

[0054] First, the graph in Figure 12 was obtained by running the NC program under the cutting conditions (parameters): cutting speed vc = 400 (m / min), feed rate vf = 0.4 (mm / rev), and depth of cut ap = 1 (mm). As indicated by the dashed circles in Figure 12, two peaks were observed where the normal load was greater than the expected value (high load). Of the two peaks, the left peak was observed during the first corner machining pass, and the right peak was observed during the second corner machining pass. Such high loads are likely to cause sudden breakage of the cutting tool. The two peaks in Figure 12 can be detected by comparing the normal load with a predetermined threshold. The block in the NC program to which the detected peak corresponds can be identified from the time of the peak position. The parameters in the identified block are then subject to modification.

[0055] Next, to reduce the load, the feed rate vf was reduced among the parameters included in the block corresponding to the peak. Specifically, the cutting speed vc and depth of cut ap were left unchanged, and the feed rate vf was changed to 0.2 (mm / rev). The graph shown in Figure 13 was obtained by running the NC program under these cutting conditions. 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 in the normal load was reduced by approximately 30%, successfully reducing the load. Because cutting tools are prone to breakage when a sudden load is applied, maintaining a constant load (reducing changes) can prevent sudden breakage. In Figure 12, the two peak values ​​within the dashed circles exceed 900 N, whereas in Figure 13, both peak values ​​in the normal load are less than 900 N. Modifying the parameters successfully prevented sudden breakage of the cutting tool.

[0056] (Second example of parameter modification) 14 to 19, a method for correcting parameters in an NC program for milling will be illustrated. In FIGS. 14 to 17, the horizontal axis represents time (unit: seconds). In FIGS. 14 and 16, the vertical axis represents cutting resistance (unit: N) calculated from sensor data output from a sensor attached to the milling tool. In FIGS. 15 and 17, the vertical axis represents torque (unit: N m) calculated from sensor data output from a sensor attached to the milling tool. In FIGS. 18 and 19, the horizontal axis represents the X-component force Fx (unit: N) in a plane perpendicular to the central axis of the milling tool, and the vertical axis represents the Y-component force Fy (unit: 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 machine a carbon steel workpiece by dry machining. First, the cutting conditions (parameters) were set as follows: cutting speed vc = 70 (m / min), feed rate vf = 743 (mm / min). The spindle rotation speed was 3714 (min -1 ), and the feed rate per tooth of the end mill was fz = 0.05 (mm / tooth). By running the NC program using these cutting conditions, the measurement results shown in Figures 14, 15, and 18 were obtained. Figures 14 and 15 show multiple peaks where the cutting resistance (absolute value) was greater than the expected value. Peak A occurred in the machining path of a circular arc with a radius R = 6 (mm), and Peak B occurred in the machining path of a circular arc with a radius R = 3 (mm). Figure 18 shows the data when breakage occurred in the end mill at Peak A. It can be seen that vibration occurs at the time of breakage, and the XY plot spreads and becomes discrete.

[0058] Next, to reduce the load, the feed rate vf of the parameters included in the blocks corresponding to Peak A and Peak B was reduced to 50% and 75%, respectively. Specifically, the cutting speed vc was unchanged, and 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 running the NC program under these cutting conditions, the measurement results shown in Figures 16, 17, and 19 were obtained. In Figures 16 and 17, Peak A and Peak B, which were seen in Figures 14 and 15, were reduced, and neither the cutting force nor the torque exceeded the dashed lines. In Figure 19, the XY plots converge to the center, indicating that vibration was suppressed. Modifying the parameters suppressed vibration in the end mill and prevented breakage of the end mill.

[0059] The parameters of the block in which the abnormality occurred may be manually corrected. For example, when the block is highlighted as shown in Fig. 11, the user can manually correct the parameters included in the highlighted block (the feedrate specified by F** in Fig. 11). The user may also directly edit the NC program displayed in window 320 using a text editor or the like by operating operation unit 186.

[0060] As described above, it is possible to process a combination of information from machine tool 106 (machine tool data) and measurement data from sensor module 122 mounted on cutting tool 108. Therefore, when an abnormality such as chipping of the cutting tool occurs, it becomes easy to identify the block causing the abnormality in the corresponding NC program and take measures such as correcting parameters or 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 quantity. This makes it possible to know the physical quantities related to cutting, such as cutting resistance, for each block of the NC program, and easily identify areas for improvement in cutting processing.

[0062] As described above, the data processing device 102 includes the abnormality detection unit 308 that detects abnormalities in cutting processing from statistics, and the block identification unit 310 that identifies blocks related to the abnormality in response to an abnormality 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 easy to identify parts of the NC program where abnormalities such as tool loss occur, and makes it easy to understand areas for improvement in the NC program itself (such as the tool trajectory).

[0063] As described above, the data processing device 102 further includes a parameter correction unit 312 that corrects the machining parameters included in a block when the block related to the abnormality is identified by the block identification unit 310. This allows the cutting process to be appropriately improved without relying on the experience of a skilled worker.

[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 for each block of the NC program, and therefore to easily find areas for improvement in the cutting process.

[0065] (Operation of data processing device) The operation of data processing device 102 will be described with reference to Fig. 20. The processing shown in Fig. 20 is realized by control unit 180 (see Fig. 6) reading out and executing a predetermined program from memory 182 in response to an instruction being input to data processing device 102 by operating operation unit 186.

[0066] In step 400, the control unit 180 performs initial configuration. Specifically, the control unit 180 acquires the above-described machine tool data from the machine tool 106. The machine tool data includes an NC program, tool data, machining conditions, and the like. Here, the control unit 180 acquires one NC program, tool data for a cutting tool used by the NC program, and machining conditions for the cutting tool. The control unit 180 also displays a screen on the display unit 188 for a user to select whether or not to automatically correct cutting parameters (described later), and accepts the selection via operation of the operation unit 186. The control unit 180 stores the selection result in the memory 182. For example, a flag area is reserved in the memory 182, and if automatic correction is selected, the flag is set to 1. If automatic correction is not selected, the flag is set to 0. If automatic correction is not selected, the parameters may be manually corrected. Then, control proceeds to step 402. Note that the control unit 180 may execute a process to synchronize the clocks of the machine tool 106 and the cutting tool 108 as the initial configuration.

[0067] In step 402, control unit 180 determines whether cutting has started. For example, when machine tool 106 starts cutting according to the NC program received by control unit 180 in step 400, it transmits predetermined start information to data processing device 102. If control unit 180 has received the start information, it determines that cutting has started, and control proceeds to step 404. If not, 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 being used for cutting. The control unit 180 stores the received sensor data in chronological order in the memory 182. Thereafter, control proceeds to step 406.

[0069] In step 406, the control unit 180 determines whether machining has ended. End 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 transmits predetermined end information to the data processing device 102, and the control unit 180 determines that machining has ended upon receiving the end information. The control unit 180 may determine that machining has ended when it no longer receives sensor data from the sensor module 122. If it is determined that machining has ended, control proceeds to step 408. Otherwise, control returns to step 404. As a result, the sensor data is stored in memory 182 in chronological order while the NC program is being executed once after the control unit 180 receives the start information in step 402.

[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. As described above as a function of the processing unit 306, the control unit 180 executes the process of associating the sensor data with blocks of the NC program. The control unit 180 stores information representing the synchronization results in the memory 182. For example, the control unit 180 associates block identification information (e.g., a block number) with information (data numbers) identifying the first data and last data of the sensor data corresponding to that block, and stores the information in the memory 182. Thereafter, control proceeds to step 410.

[0071] In step 410, the control unit 180 calculates the 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. Thereafter, control proceeds to step 412. As described above as a function of the processing unit 306, the control unit 180, for example, calculates cutting resistance from the sensor data and calculates an 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 FIG. 10. The calculated statistical quantities may be maximum and minimum values, etc.

[0072] In step 412, the control unit 180 determines whether an abnormality has been detected. As described above as a function of the abnormality detection unit 308, the control unit 180 determines whether an abnormality has occurred in the cutting process from the statistics calculated from the sensor data. As described above, the presence or absence of an abnormality is determined by comparing the statistics calculated from the sensor data with a reference value. If it is determined that an abnormality has occurred, the control unit 180 stores abnormality-specific information (such as a data number) in the memory 182, and control proceeds to step 414. Otherwise, control proceeds to step 418. Note that if the determination of the presence or absence of an abnormality is performed manually, the determination can be made by the person looking at the graph displayed on the display unit 188 in step 410. If a person detects the occurrence of an abnormality, the control unit 180 determines that an abnormality has occurred by operating the operation unit 186 and inputting that information.

[0073] In step 414, the control unit 180 identifies the block corresponding to the abnormality detected in step 412 and highlights the block. As described above as a function of the block identification unit 310, the control unit 180 identifies the block that is the cause of the abnormality in the NC program used for machining. As shown in FIG. 11, the control unit 180 displays the NC program with the relevant block highlighted on the display unit 188. Thereafter, control proceeds to step 416.

[0074] In step 416, the control unit 180 reads the flag from the memory 182 and modifies the parameters included in the block identified in step 414 according to the setting value of the flag. If the flag is set to 1, the control unit 180 modifies parameters such as the spindle speed and feed rate as described above as the function of the parameter modification unit 312. If the flag is set to 0, the operation unit 186 is operated by a person to modify the parameters. The control unit 180 rewrites the parameters of the corresponding block of the NC program received in step 400. Thereafter, 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 an instruction to terminate by operating the operation unit 186, it determines that the program should be terminated and terminates the program. If not, control returns to step 402. For example, when machining multiple workpieces, once machining of all workpieces has been completed, a person operates the operation unit 186 to instruct termination. If unmachined workpieces remain, the person does not instruct termination. When control returns to step 402, if an abnormality has occurred and the NC program has been corrected, the control unit 180 performs the above-described processing on the NC program after correction in step 416.

[0076] This allows the data processing device 102 to process a combination of information from the machine tool 106 (machine tool data) and sensor data from the sensor module 122 mounted on the cutting tool 108. Therefore, when an abnormality such as tool loss occurs, it becomes easy to identify the block in the NC program that is causing the abnormality and take measures.

[0077] In the above, a case has been described in which steps 408 to 416 are executed after it is determined in step 406 that machining has ended, but this is not limiting. 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 cutting, and if an abnormality is detected, it becomes possible to identify the relevant block, highlight it, and correct it.

[0078] (Second embodiment) In the above description, the data processing device highlights the corresponding block in the NC program when an abnormality is detected and corrects the NC program, but this is not limiting. Even if an abnormality is detected, cutting may be continued for a certain period of time. The data processing device according to the second embodiment corrects the parameters after continuing cutting.

[0079] The data processing device according to the second embodiment has the same configuration as the data processing device 102 shown in Fig. 6 as the first embodiment. The overall configuration of the system in which the data processing device according to the second embodiment is used, the machine tool, and the cutting tool are the same as those in the first embodiment (see Figs. 1 to 5).

[0080] (Functional configuration of data processing device) Referring to FIG. 21, the data processing device according to the second embodiment includes 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 modification unit 318. In FIG. 21, the storage unit 302 and the parameter modification unit 312 in FIG. 7, which shows the functions of the data processing device according to the first embodiment, are replaced with a storage unit 314 and a parameter modification unit 318, respectively. The storage unit 314 has the same functions as the storage unit 302 and further includes an accumulation unit 316. The communication unit 300, the display unit 304, the processing unit 306, the anomaly detection unit 308, and the block identification unit 310 shown in FIG. 21 have the same functions as those shown in FIG. 7. Therefore, the following description will mainly focus on the differences, without repeating redundant explanations. Also, reference numerals from FIGS. 1 to 6 will be quoted as appropriate.

[0081] As described above, when an abnormality is detected by the abnormality detection unit 308, the block identification unit 310 identifies the block in which the abnormality has occurred. The block identification unit 310 outputs block identification information for the identified block to the storage unit 314 as abnormality occurrence block identification information. The storage unit 314 stores the input abnormality occurrence block identification information in the accumulator 316. For example, the accumulator 316 includes a counter corresponding to each block of the NC program, and increments the counter for the corresponding block by 1 each time abnormality occurrence block identification information is input. For example, the initial values ​​of all counters are 0, and the counter values ​​represent the number of times (accumulated value) that an abnormality has occurred due to the execution of the corresponding block.

[0082] The parameter modification unit 318 checks the value (accumulation value) of each counter in the accumulator 316 at a predetermined timing and modifies the parameters of the blocks corresponding to counters with a predetermined value or greater. For example, the parameter modification unit 318 reads the counter values ​​(accumulation values) from the accumulator 316, arranges them in descending order, and creates a Pareto chart, such as that shown in FIG. 22. The Pareto chart is displayed, for example, in a window 324 displayed on the display unit 188. In FIG. 22, the horizontal axis represents the block number, and the left vertical axis represents the number of abnormality occurrences (count value) for each block. Each abnormality occurrence count is represented by a bar graph with diagonal lines. The bar graph is displayed in descending order from left to right, with the largest abnormality occurrence count being displayed at the left end. The order in which block numbers with a zero abnormality occurrence count can be displayed is arbitrary. In FIG. 22, block numbers with a zero abnormality occurrence count are displayed in ascending order from left to right. The solid line graph represents the percentage (unit: %) of the total value obtained by adding up the abnormality occurrence counts from the left end, with the scale indicated by the vertical axis on the right. The parameter correction unit 318 creates a Pareto chart for data obtained by performing cutting processing using the same machine tool and the same NC program, for example, on a lot-by-lot, daily, or monthly basis. The parameter correction unit 318 corrects parameters in the same way as the parameter correction unit 312 described above for blocks in the Pareto chart where the number of abnormality occurrences is equal to or greater than a predetermined value.

[0083] The parameter correction unit 318 may display the created Pareto chart on the display unit 304 (display unit 188). For example, the parameter correction 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 out the Pareto chart from the storage unit 314 and displays it. For example, as shown in FIG. 22 , when the Pareto chart is displayed, a person can visually identify the block that should be corrected. Therefore, the person can correct the parameters of the block in which an abnormality has occurred. A person may operate the operation unit 186 to display the NC program on the display unit 304 using a text editor or the like and directly edit the NC program.

[0084] Also, a block identified from the Pareto chart as having a predetermined number of abnormal occurrences or more may be highlighted and displayed as an NC program (see FIG. 11). A person may directly edit the parameters included in the highlighted block by operating the operation unit 186 using a text editor or the like.

[0085] As described above, by creating and displaying a Pareto chart, even a young, inexperienced worker can easily identify blocks with a high number of abnormalities as bottlenecks in the cutting process, without relying on the experience of a skilled worker, making it easier to improve the process.

[0086] As described above, the data processing device 102 includes a block identification unit 310 that identifies a block related to the abnormality when the abnormality detection unit 308 detects an abnormality, and an accumulation unit 316 that accumulates the number of times that 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 machining parameters included in a 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 processes that are bottlenecks in cutting processing and to appropriately improve the cutting processing without relying on the experience of an expert.

[0087] (Operation of data processing device) The operation of the data processing device 102 according to the second embodiment will be described with reference to Fig. 23. The processing shown in Fig. 23 is realized by the control unit 180 (see Fig. 6) reading and executing a predetermined program from the memory 182 in response to an instruction being input to the data processing device 102 by operating the operation unit 186. Fig. 23 is a flowchart shown in Fig. 20 in which steps 414 and 416 are replaced by step 430, step 418 is replaced by step 432, and steps 434 to 438 are added. The other steps in Fig. 23 are the same as the steps with the same reference numerals in Fig. 20. In the following, overlapping explanations will not be repeated and differences will mainly be described.

[0088] If it is determined in step 412 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 increments the cumulative value of the number of times the abnormality has occurred in the identified block by 1. As described above as a function of the accumulator 316, the control unit 180 increments the corresponding counter among the counters provided for each block of the NC program used in machining by 1. Thereafter, 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, control proceeds to step 434. If not, control returns to step 402. For example, if the timing to display the Pareto chart is specified in units of lots, the control unit 180 determines that it is time to display the Pareto chart when processing of the specified number of lots is completed. If the timing to display the Pareto chart is specified in units of days, the control unit 180 determines that it is time to display the Pareto chart when processing for the specified number of days is completed. If the timing to display the Pareto chart is specified in units of months, the control unit 180 determines that it is time to display the Pareto chart when processing for the specified number of months is completed.

[0090] In step 434, control unit 180 creates a Pareto chart and displays it on display unit 188. Control unit 180 creates and displays a Pareto chart as described above as a function of parameter correction unit 318 (see FIG. 22). Thereafter, control proceeds to step 436.

[0091] In step 436, the control unit 180 determines whether or not the NC program needs to be modified. If there is a block in the Pareto chart created in step 434 where the number of abnormality occurrences is equal to or greater than a predetermined value, the control unit 180 determines that modification is necessary. If it is determined that modification is necessary, control proceeds to step 438. If not, this program ends.

[0092] In step 438, the control unit 180 corrects the NC program used for cutting. As described above as a function of the parameter correction unit 318, the control unit 180 corrects parameters for blocks in the Pareto chart where the number of abnormality occurrences is equal to or greater than a predetermined value.

[0093] As described above, by displaying a Pareto chart (see Figure 22), it is possible to easily identify multiple block numbers with a high number of abnormalities. Therefore, it is easy to identify the machining paths specified by those blocks as paths that lead to breakage of cutting tools and defects in machined products, and therefore paths that need to be corrected. By correcting the parameters of the relevant blocks, the machining paths can be corrected to appropriate paths.

[0094] In the above, a case has been described in which sensor data from a sensor module mounted on a cutting tool is used as the target and physical or statistical quantities obtained from the sensor data are synchronized with an NC program, but this is not limiting. For example, data obtained during cutting processing from a sensor 178 disposed in the processing unit 162 of the machine tool 106 may be synchronized with the NC program. In this case, the data during cutting processing is used to determine an abnormality.

[0095] Each process (each function) in the above-described embodiments may be implemented by a processing circuit including one or more processors. The processing circuit may be configured by an integrated circuit that combines one or more memories, various analog circuits, and various digital circuits in addition to the one or more processors. The one or more memories store programs (instructions) that cause the one or more processors to execute the processes. The one or more processors may execute the processes according to the programs read from the one or more memories, or according to logic circuits pre-designed to execute the processes. The processor may be a CPU, a graphics processing unit (GPU), a digital signal processor (DSP), a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or any other processor suitable for computer control.

[0096] It is also possible to provide a recording medium on which is recorded a program that causes a computer to execute the processes of the data processing device 102 (for example, the processes shown in FIGS. 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). Although the computer program can be transmitted over a communication line, the recording medium is a non-transitory recording medium. By having a computer load the program stored in the recording medium, the computer can acquire cutting data and calculate physical quantities (for example, cutting resistance), as described above, and simultaneously display a graph and a distribution image on a display device.

[0097] (Addendum) That is, the computer-readable non-transitory recording medium is On the computer, a function of receiving sensor data from the cutting tool, the sensor data being an output value of a sensor mounted on the cutting tool; a function of receiving a cutting program from a machine tool that performs cutting using the cutting tool; a function of calculating a physical quantity related to cutting from the received sensor data; a function of calculating statistics of the physical quantities in synchronization with the cutting processing program; The computer program stores a function to display the statistics in association with the cutting program.

[0098] Although the present disclosure has been described above by explaining the embodiments, the above-described embodiments are merely examples, and the present disclosure is not limited to only the above-described embodiments. The scope of the present disclosure is defined by the claims in the scope of the claims, taking into consideration the description of the detailed description of the invention, and includes all modifications within the meaning and scope equivalent to the wordings described therein. [Explanation of symbols]

[0099] 100 systems 102 Data processing device 104 Communication equipment 106 Machine tools 108 Cutting tools 110 Tool holding stand 112 Zipper 114 Communication Line 120 shank 122, 122A, 122B, 202A, 202B, 202C, 202D Sensor Modules 124 cutting edge 126, 128 Fixing members 130, 212 Tip 132, 214 center axis 140, 178 sensors 142 AD conversion section 144, 166, 182 memory 146, 164, 180 Control section 148, 300 Communications Department 150, 174, 190 buses 152 Power supply section 160 Control Panel 162 Processing Department 168, 184 IF Section 170, 186 Operation section 172, 188, 304 display section 176 Drive Unit 200 Turning Tools 210 Cutting section 302, 314 Storage section 306 Processing Section 308 Anomaly detection unit 310 Block Specific Section 312, 318 Parameter correction section 316 Accumulation Division 320, 322, 324 windows 900 Work material A and B peaks

Claims

1. A processing device, The Communications Department and a processing unit that processes data received by the communication unit; a display unit that displays a processing result by the processing unit, The communication unit receiving, from the cutting tool, sensor data that is an output value of a sensor mounted on the cutting tool; receiving a cutting program including a plurality of blocks from a machine tool that performs cutting using the cutting tool; The processing unit calculating a physical quantity related to cutting from the sensor data received by the communication unit; Calculating statistics of the physical quantities for each block of the cutting program; the display unit displays the statistics in association with the blocks; The processing device includes: an abnormality detection unit that detects an abnormality in cutting processing from the statistics; a block specifying unit that specifies a block related to the abnormality among blocks included in the cutting program in response to the abnormality being detected by the abnormality detection unit; and a cumulation unit that accumulates, for each block, the number of times that the block has been identified by the block identification unit.

2. The processing device according to claim 1 , wherein the statistical quantity is at least one of an average value, a maximum value, and a minimum value of the plurality of physical quantities calculated from the plurality of sensor data corresponding to each block included in the cutting processing program.

3. The processing device according to claim 1 or 2, wherein the display unit displays the cutting program while highlighting the block identified by the block identification unit.

4. The processing device according to claim 1 , wherein the display unit displays a Pareto chart using the number of times accumulated by the accumulator and information representing the blocks.

5. 3. The processing device according to claim 1, further comprising a parameter correction unit that corrects processing parameters included in the block when the block related to the abnormality is identified by the block identification unit.

6. 3. The processing device according to claim 1, further comprising a parameter correction unit that corrects a processing parameter included in a block for which the number of times accumulated by said accumulator is equal to or greater than a predetermined value.

7. the sensor is a strain sensor; The processing device according to claim 1 , wherein the processing unit calculates a cutting resistance as the physical quantity from the output value.

8. a cutting tool equipped with a sensor; a machine tool that performs processing using the cutting tool; and the processing device according to claim 1 or 2, the cutting tool includes a first communication unit that transmits an output value of the sensor to the processing device; The system includes a second communication unit that transmits information regarding machining performed using the cutting tool to the processing device.

9. receiving, by the communication device, sensor data from the cutting tool, which is an output value of a sensor mounted on the cutting tool; receiving, by the communication device, a cutting program including a plurality of blocks from a machine tool that performs cutting using the cutting tool; a step in which a processing device calculates a physical quantity related to cutting from the sensor data received by the communication device; a step of the processing device calculating statistics of the physical quantities for each block of the cutting program; a step of displaying the statistics and the blocks in correspondence with each other on a display device; an abnormality detection step in which the processing device detects an abnormality in the cutting process from the statistics; a block specifying step in which the processing device, upon receiving that the abnormality has been detected by the abnormality detection step, specifies a block related to the abnormality among blocks included in the cutting program; and a step by the processing device of accumulating, for each block, the number of times that the block has been identified in the block identifying step.

10. On the computer, a function of receiving sensor data from the cutting tool, the sensor data being an output value of a sensor mounted on the cutting tool; a function of receiving a cutting program including a plurality of blocks from a machine tool that performs cutting using the cutting tool; a function of calculating a physical quantity related to cutting from the received sensor data; a function of calculating statistics of the physical quantities for each block of the cutting program; a function of displaying the statistics in correspondence with the blocks; an anomaly detection function that detects anomalies in cutting processing from the statistics; a block identification function that identifies a block related to the abnormality among blocks included in the cutting program in response to the abnormality being detected by the abnormality detection function; and and a cumulative function of accumulating, for each block, the number of times that the block has been identified by the block identification function.