Abnormality detection method, abnormality detection device, and recording medium
The abnormality detection method uses spindle load data and past normal models to identify machining anomalies, addressing the challenge of limited data in existing technologies and enabling efficient detection across diverse machining processes.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- KOBE STEEL LTD
- Filing Date
- 2025-10-07
- Publication Date
- 2026-06-11
Smart Images

Figure JP2025035619_11062026_PF_FP_ABST
Abstract
Description
Abnormal Detection Method, Abnormal Detection Device, and Recording Medium
[0001] The present invention relates to an abnormal detection method, an abnormal detection device, and a recording medium storing an abnormal detection program.
[0002] Patent Document 1 discloses a machining diagnosis device that performs machining diagnosis using a learned model. Patent Document 2 discloses a method for performing abnormal detection by estimating a probability distribution followed by variations in feature amounts in consideration of fluctuations in load due to disturbances applied to a tool.
[0003] However, in the above prior art, in order to create a learned model or estimate a probability distribution, it is necessary to repeatedly perform the machining process to be targeted before actual production.
[0004] Japanese Patent No. 6949275, Japanese Patent No. 6952318
[0005] The present invention has been made in view of the above circumstances, and an object thereof is to provide an abnormal detection method, an abnormal detection device, and a recording medium that enable easy abnormal detection even in a machining process with little actual performance.
[0006] An abnormal detection method, an abnormal detection device, and an abnormal detection program according to one aspect of the present invention acquire spindle load data representing the load of a spindle during a machining process of a machine tool and process identification data for identifying the machining process, select a normal model representing the relationship between time and load during normal operation corresponding to the machining process specified by the process identification data, and detect an abnormality in the machining process using one or more feature amounts calculated based on the difference between the spindle load data and the normal model. Here, the normal model is a model representing the relationship between time and load when an abnormality is not determined by a simple load determination that determines an abnormality based on fluctuations in load during a past machining process. A recording medium according to another aspect of the present invention stores the abnormal detection program.
[0007] The above and other objects, features, and advantages of the present invention will become apparent from the following detailed description and the accompanying drawings.
[0008] This figure shows an example of an anomaly detection device. This figure shows an example of an anomaly detection method. This figure shows an example of an anomaly detection method, following Figure 2. This figure shows an example of a positional deviation determination step. This figure is for explaining positional deviation. This figure shows an example of an anomaly detection step. This figure shows an example of an anomaly detection step, following Figure 6. This figure shows an example of an anomaly detection step, following Figure 7. This figure shows an example of an anomaly detection step, following Figure 8. This figure is for explaining anomaly detection. This figure is for explaining anomaly detection. This figure is for explaining anomaly detection. This figure is for explaining anomaly detection. This figure is for explaining anomaly detection. This figure is for explaining a simplified load determination step. This figure shows an example of a correction value calculation step. This figure is for explaining a simplified load determination. This figure shows an example of a normal model update step. This figure shows an example of a normal model update step, following Figure 18.
[0009] Hereinafter, one embodiment of the present invention will be described with reference to the drawings. In each figure, components denoted by the same reference numerals are identified as the same component, and their descriptions will be omitted as appropriate. In this specification, general reference numerals are used without subscripts, while individual components are indicated by reference numerals with subscripts.
[0010] Figure 1 is a block diagram showing an example configuration of the anomaly detection device 1. The anomaly detection device 1 is a device that detects the occurrence or precursor of an anomaly in a machining process performed by the machine tool 2 and notifies the operator.
[0011] The anomaly detection device 1 is a computer equipped with a control unit 10. The control unit 10 includes a CPU (Central Processing Unit), RAM (Random Access Memory), ROM (Read Only Memory), non-volatile memory, and an input / output interface, etc. The CPU performs information processing according to a program loaded from the ROM or non-volatile memory into the RAM.
[0012] The program may be supplied to the anomaly detection device 1 via a non-temporary recording medium, or it may be supplied to the anomaly detection device 1 via a communication network.
[0013] The control unit 10 includes a processing data acquisition unit 11, a process identification unit 12, a normal model selection unit 13, a position deviation determination unit 14, an anomaly detection unit 15, a simple load determination unit 16, and a normal model update unit 17. These functional units 11 to 17 are realized by the CPU of the control unit 10 executing information processing according to a program.
[0014] The control unit 10 includes a determination information storage unit 18 and a normal model storage unit 19. These storage units 18 and 19 are located in the non-volatile memory of the control unit 10. However, the storage units 18 and 19 may be located in an external storage device.
[0015] Machine tool 2 is a machine that performs cutting, slicing, grinding, polishing, etc., on a workpiece, and is, for example, a machining center, a lathe, a milling machine, or a grinding machine. Machine tool 2 has a spindle on which a tool or workpiece is mounted and which is driven by a motor.
[0016] The data collection device 3 is a device that collects machining process data from the machine tool 2 and transmits it to the anomaly detection device 1. For example, it is an independent PC (computer) that collects data from the machine tool 2 via a network and transmits it to the anomaly detection device 1.
[0017] The machining process data includes spindle load data, machining information, and position coordinate data. Spindle load data represents the load on the spindle during the machining process and includes, for example, motor power consumption, motor voltage, motor current, or motor torque.
[0018] Machining information includes, for example, the main program number, subprogram number, machine tool operating status, cutting signal, M code command signal, tool number, and spindle speed.
[0019] Of these, the main program number, subprogram number, and tool number are examples of process identification data used to identify the machining process. The spindle speed is data representing the rotation speed of the spindle during the machining process.
[0020] Position coordinate data is data that represents the machining position during the machining process, and includes, for example, tool position data based on the machine tool's specific coordinate system, or tool position data based on a coordinate system with an arbitrary point within the machine tool as the origin.
[0021] The machining data acquisition unit 11 acquires machining process data collected from the machine tool 2 by the data acquisition device 3 (machining data acquisition step). Specifically, the machining data acquisition unit 11 acquires spindle load data, process identification data (program number, etc.), spindle rotation speed data, and position coordinate data, etc. The machining data acquisition unit 11 sequentially provides the machining process data at that time, collected from the machine tool 2 by the data acquisition device 3, to the process identification unit 12, etc.
[0022] The process identification unit 12 identifies the machining process currently being machined from the machining process data acquired from the machining data acquisition unit 11 (process identification step). More specifically, the process identification unit 12 identifies the machining process currently being machined based on the main program number, subprogram number, and tool number, which are included in the machining process data as process identification data. However, information that directly identifies the machining process may also be included in the machining process data.
[0023] The normal model selection unit 13 selects a normal model corresponding to the machining process identified by the process identification unit 12 (normal model selection step). That is, based on the identified machining process, the normal model selection unit 13 selects a normal model for the same machining process as the one currently being machined from among the normal models stored in the normal model storage unit 19. The normal model storage unit 19 stores a normal model for each machining process.
[0024] The normal model is a model that represents the relationship between time and load under normal conditions. Specifically, the normal model is a model that represents the relationship between time and load in past machining processes when no abnormality was detected in the simplified load determination step by the simplified load determination unit 16 described later. The normal model may further include the relationship between time and machining position under normal conditions.
[0025] The normal model is created based on machining process data from one or more identical machining steps that were not identified as abnormal in the simplified load determination step. In other words, the relationship between time and load in the normal model is generated based on a predetermined number of spindle load data that were not identified as abnormal in the simplified load determination step. The relationship between time and machining position in the normal model is generated based on a predetermined number of position coordinate data that were not identified as abnormal in the simplified load determination step.
[0026] The position deviation determination unit 14 compares the position coordinate data included in the machining process data with the normal model to determine the position deviation of the machining position (position deviation determination step). That is, the position deviation determination unit 14 determines the position deviation of the machining position by comparing the machining position represented by the position coordinate data of the machining process in progress with the machining position represented by the selected normal model. Note that the position deviation determination unit 14 may be omitted.
[0027] The anomaly detection unit 15 detects anomalies in the machining process using one or more feature quantities calculated based on the difference between the spindle load data included in the machining process data and the normal model (anomaly detection step). In other words, the anomaly detection unit 15 determines that an anomaly has occurred in the machining process when the feature quantity calculated based on the difference between the load represented by the spindle load data of the machining process in progress and the load represented by the selected normal model is greater than or equal to a threshold.
[0028] If the position deviation determination unit 14 determines that a position deviation has occurred, or if the abnormality detection unit 15 detects an abnormality, a notification of the position deviation or load abnormality is sent to a designated terminal, such as a terminal held by the operator (notification step).
[0029] The simplified load determination unit 16 determines an abnormality based on the load variation in the spindle load data included in the machining process data (simplified load determination step). The simplified load determination unit 16 determines an abnormality using only the acquired single piece of machining process data. In other words, the simplified load determination unit 16 determines an abnormality based on the machining process data itself without comparing it with a normal model.
[0030] The simplified load determination unit 16 detects abnormalities by using the absolute value of the difference between the average value and the root mean square of multiple spindle load data with different elapsed times in the same machining process as a simplified load determination index. More specifically, the simplified load determination index is the error between the average value and the root mean square of a predetermined number of recent load points in the spindle load data.
[0031] The simplified load determination unit 16 may correct the simplified load determination index based on the spindle speed included in the machining process data. More specifically, the simplified load determination unit 16 considers the section in which the spindle speed changes as not being in machining and corrects the simplified load determination index to a smaller value in that section.
[0032] The judgment information storage unit 18 stores parameters such as thresholds used for judgment by the position deviation judgment unit 14, the anomaly detection unit 15, and the simplified load judgment unit 16. The judgment information storage unit 18 also stores the judgment results from the position deviation judgment unit 14, the anomaly detection unit 15, and the simplified load judgment unit 16.
[0033] The normal model update unit 17 generates or updates a normal model based on the spindle load data and position coordinate data included in the machining process data, if no abnormality is detected in the simplified load determination step by the simplified load determination unit 16 (normal model generation step, normal model update step).
[0034] More specifically, when the process identification unit 12 determines that the process has changed to a different processing step, the normal model update unit 17 refers to the determination information storage unit 18, and if the determination result from the simplified load determination unit 16 is normal, it updates the normal model based on the processing process data of that processing step.
[0035] The normal model update unit 17 generates or updates the relationship between time and load in the normal model based on the spindle load data in which no abnormalities were detected. The normal model update unit 17 generates or updates the relationship between time and machining position in the normal model based on the position coordinate data in which no abnormalities were detected.
[0036] For example, the normal model update unit 17 excludes the spindle load data with the largest degree of difference from the spindle load data that was not found to be abnormal in the simplified load determination step by the simplified load determination unit 16 and a predetermined number of spindle load data from the normal model, and generates a normal model based on the remaining predetermined number of spindle load data. The same applies to position coordinate data.
[0037] According to this embodiment, by using a normal model that represents the relationship between time and load when no abnormality was detected by the simplified load judgment during past machining processes, abnormality detection becomes easier even in machining processes with little track record. Since abnormality detection is performed based on the spindle load, it is not necessary to install high-precision sensors in the machining area of the machine tool.
[0038] Conventional machining anomaly detection technologies often use machine learning to create a normal model and then detect anomalies by comparing the actual machining data to this model. However, this method has the problem of requiring a large amount of machining data to create a normal model. In addition, it is extremely difficult to intentionally generate sudden anomalies, and in supervised learning, it may not even be possible to prepare training data in the first place. Even in the case of unsupervised learning, if training is done using data without anomalies, variations within the normal range may be automatically classified, which can lead to over-detection. There are also methods that can determine anomalies using only the target data without using machine learning, but in machining, where there are countless processes depending on the part being machined, it is not possible to completely estimate the normal range in the target process using only data, and measures such as limiting the target process in advance are necessary.
[0039] In contrast, the abnormality detection device of the present embodiment, as well as the abnormality detection method and the abnormality detection program implemented therein, shorten the time (number of processes) until the abnormality detection functions by combining the validity evaluation of the load of the target data alone and the comparison with the past performance data, and enable application to a wide range of processes. Since it automatically determines whether to adopt normal processing performance data based on the validity evaluation alone, even when a new process without processing performance is implemented on a machine tool where the abnormality detection is operating, it is possible to start the abnormality detection without prior preparation.
[0040] FIGS. 2 and 3 are flowcharts showing an example of the procedure of the abnormality detection method realized in the abnormality detection device 1. The control unit 10 of the abnormality detection device 1 executes the information processing shown in these figures according to a program.
[0041] The control unit 10 starts the abnormality detection at a predetermined cycle (for example, a cycle of 0.5 seconds) (S11).
[0042] First, the control unit 10 acquires the processing process data of the current time from the data collection device 3 (S12, processing data acquisition step, processing of the processing data acquisition unit 11).
[0043] Next, the control unit 10 identifies the current processing step (hereinafter, also simply referred to as "step") based on the main program number, sub-program number, and tool number included in the processing process data of the current time (S13, step identification step, processing of the step identification unit 12).
[0044] Next, the control unit 10 compares the currently processing step with the step one cycle before and determines whether the step has changed (S14).
[0045] When there is no step one cycle before, or when the currently processing step is different from the step one cycle before (that is, when the step one cycle before has ended), the control unit 10 proceeds to S15. On the other hand, when the currently processing step is the same as the step one cycle before, the control unit 10 proceeds to S17.
[0046] More specifically, the processing process data at the current time is compared with the processing process data one cycle ago. If any of the main program number, sub-program number, and tool number is different, it is considered that the process has changed. If all are the same, it is considered that the process is continuing.
[0047] During the period when the same main program and sub-program continue, if there are multiple discontinuous periods of the same tool number due to tool change (referring to the change to another type of tool, distinguished from replacement with a new product), even if the combination of the main program, sub-program, and tool number is the same, each is regarded as a different process.
[0048] Restrictions are set on the main program number, sub-program number, and tool number for which abnormality detection is targeted. When the specified process is an out-of-scope process, the abnormality detection at that time may be terminated, and the abnormality detection of the next processing process data may be shifted to.
[0049] In S14, when there is no process one cycle ago, or when the currently processed process is different from the process one cycle ago, the control unit 10 determines whether a normal model corresponding to the currently processed process exists in the normal model storage unit 19 (S15).
[0050] When a normal model corresponding to the currently processed process exists (S15: YES), the control unit 10 selects the normal model (S16, normal model selection step, processing as the normal model selection unit 13). On the other hand, when a normal model corresponding to the currently processed process does not exist (S15: NO), the control unit 10 proceeds to S24.
[0051] In this embodiment, the normal model is a model that combines a series of processing process data from the start timing to the end timing of the maximum N times (for example, 5 times) for which no abnormality was determined by simple load determination among the same processes as the process implemented in the past. N is not particularly limited as long as it is a positive integer of 2 or more.
[0052] In S14, if the process currently being processed is the same as the process one cycle prior, or after selecting a normal model in S16, the control unit 10 extracts normal model data (load and processing position) from the selected normal model in which the elapsed time from the start of the process is the same as the process currently being processed (S17).
[0053] As shown in Figure 3, the control unit 10 then calculates the amount of misalignment and determines whether the calculated amount of misalignment is below a threshold (S18-S19, misalignment determination step, processing as the misalignment determination unit 14). Details of the calculation of the amount of misalignment (S18) will be described later.
[0054] If the amount of positional deviation exceeds the threshold (S19: NO), the control unit 10 notifies a predetermined terminal, such as a terminal held by the operator, of a positional deviation alarm (S20, notification step), and then proceeds to S24.
[0055] If the amount of misalignment is below a threshold (S19: YES), the control unit 10 determines whether there is a load abnormality and whether the load abnormality determination result is normal or not (S21-S22, abnormality detection step, processing as the abnormality detection unit 15). Details of the load abnormality determination (S21) will be described later.
[0056] If the load abnormality determination result is found to be abnormal (S22: NO), the control unit 10 notifies a predetermined terminal, such as a terminal held by the operator, of the load abnormality alarm (S23, notification step), and proceeds to S24.
[0057] If the load abnormality detection result is found to be normal (S22: YES), the control unit 10 stores the acquired processing process data in memory (S24). The control unit 10 also stores all data from the start of the process (processing process data, calculated values, and detection results, etc.) in memory (S25).
[0058] The control unit 10 repeatedly executes the processes S12 to S25 described above until the predetermined period ends, and then terminates the abnormality detection (S26).
[0059] Furthermore, the control unit 10 performs a simplified load determination based on the processing process data in parallel with the abnormality detection (S31, simplified load determination step, processing as the simplified load determination unit 16), and stores the simplified load determination result in memory (S32). Details of the simplified load determination (S31) will be described later.
[0060] In S14, if the process currently being processed is different from the process one cycle prior (i.e., the process one cycle prior has been completed), the control unit 10 checks the simplified load determination result of the completed process (S33).
[0061] If the simplified load assessment results for the completed process are all OK (S33: All OK), the control unit 10 updates the normal model of the completed process (S34, normal model update step, processing as the normal model update unit 17). Details of the normal model update (S34) will be described later.
[0062] If the simplified load judgment result for a completed process includes an NG (S33: NG is included), or after the completion of a normal model update (S34), the control unit 10 outputs the data of the completed process as an abnormal judgment log (S35) and deletes the data of the completed process from memory (S36).
[0063] Figure 4 is a flowchart showing a specific example of the procedure for calculating the amount of positional displacement (S18). Figure 5 is a graph showing an example of positional coordinate data when a positional displacement actually occurs.
[0064] In this embodiment, the Euclidean distance in spatial coordinates is calculated as the positional displacement. More specifically, first, the control unit 10 acquires the latest tool coordinate data from the machining process data (S41). Next, the control unit 10 calculates the elapsed time from the start of the target process to the time when the latest tool coordinate data is acquired (S42). Next, the control unit 10 extracts tool coordinate data from the normal model around the same elapsed time (for example, n points before and after) (S43). In order to correct for deviations in data acquisition timing, the tool coordinate data extracted from the normal model consists of the data corresponding to the same elapsed time and the data from n points before and after it.
[0065] Next, the control unit 10 calculates the Euclidean distance between the latest tool coordinate data and the extracted tool coordinate data of the normal model (S44). Then, the control unit 10 outputs the positional displacement amount, using the minimum value among the calculated Euclidean distances as the positional displacement amount at that time (S45, S46).
[0066] If the calculated displacement exceeds a threshold, it is determined that the machining position has shifted, and a displacement alarm, distinct from the occurrence of a machining abnormality, is sent to the operator (S19, S20). By including this displacement detection, it is possible to distinguish data deviations caused by operator intervention in machine operation, thereby suppressing false positives.
[0067] Figure 5 shows time-series data of the coordinates of one axis of a machine tool during the same process. The horizontal axis represents the elapsed time from the start of the process. According to this, the coordinates begin to shift around 3000 seconds into the process. By detecting such shifts, it is possible to distinguish differences due to variations in machining position from machining abnormalities.
[0068] Figures 6 to 9 are flowcharts showing specific procedure examples for load abnormality detection (S21). Figure 10 is a graph showing an example of the discrepancy between the motor load and the normal model. Figures 11 to 14 are graphs showing examples of feature quantities. In this embodiment, four feature quantities are used: load discrepancy degree, cumulative discrepancy degree, randomness frequency, and randomness frequency discrepancy degree.
[0069] As shown in Figure 6, first, the control unit 10 acquires the spindle load data from the start of the target process to the present time, and uses this as the current data (S51).
[0070] Next, the control unit 10 calculates the elapsed time from the start of the target process to the current time (S52). Next, the control unit 10 extracts the spindle load data from the start of the process to the same elapsed time in the normal model and uses this as standard data (S53).
[0071] Next, the control unit 10 calculates the absolute value of the difference between the current data and the standard data, each with the average values of the most recent n points (S54). Next, the control unit 10 calculates the correction value 1 (S55). The correction value 1 is expressed by the following equation 1. The correction value 1 is a value that emphasizes the absolute value of the difference as the load of the normal model decreases. Equation 1: (Correction value 1) = (1 + (Average of the most recent n points of standard data)) -0.2
[0072] After calculating the current data (S51), the control unit 10 calculates a correction value 2 (S56). The correction value 2 is expressed by the following equation 2. The correction value 2 is a value that emphasizes the absolute value of the difference, to the greater the load at the current time exceeds the maximum load from the start of the process to immediately before the current time. Equation 2: (Correction value 2) = (1 + max (0, ((Current time data) - 0.8 × (Current data maximum value)))) 2 Here, the operator max(A, B) is an operator that finds the larger of A and B.
[0073] Next, the control unit 10 calculates and outputs the load deviation (S57, S58). The load deviation is expressed by the following equation 3. Next, the control unit 10 calculates the maximum value of the load deviation for the most recent 120 points and sets this as the maximum load deviation (S59).
[0074] In other words, the load deviation is calculated by multiplying the absolute value of the difference between the process load and the load of the normal model by correction value 1 and correction value 2. The load deviation can be used to determine whether a sudden change in load is occurring. Equation 3: (Load deviation) = (Absolute value of the difference in mean values) × (Correction value 1) × (Correction value 2)
[0075] After calculating the standard data (S53), the control unit 10 calculates the difference between the current data and the average values of the most recent n points of the standard data (S61).
[0076] Next, the control unit 10 calculates and outputs the cumulative deviation using the correction value 1 and the cumulative deviation from the previous cycle (S62, S63). The cumulative deviation is expressed by the following formula 4. Next, the control unit 10 calculates the maximum value of the cumulative deviation for the most recent 1200 points and sets this as the maximum cumulative deviation (S64).
[0077] In other words, the cumulative deviation is calculated by calculating the difference between the process load and the load of the normal model, multiplying it by a correction value of 1, and adding the value obtained by multiplying the cumulative deviation calculated one cycle earlier by a cumulative coefficient of 0.99. Unlike the load deviation, the cumulative deviation does not take the absolute value of the difference, but also takes into account the value up to the previous cycle, so it can represent the trend of increase or decrease in load. Equation 4: (Cumulative deviation) = (Difference in mean values) × (Correction value 1) + 0.99 × (Cumulative deviation from one cycle earlier)
[0078] As shown in Figure 7, after calculating the standard data (S53), the control unit 10 calculates the absolute value of the difference between the standard data and the data from 0.5 seconds (1 cycle) ago (S65). Next, the control unit 10 defines a discrete probability distribution of the absolute value of the difference, with the 60 most recent data points as the population (S66).
[0079] After calculating the current data (S51), the control unit 10 calculates the absolute value of the difference between the current data and the data from 0.5 seconds (1 cycle) ago (S67). Next, the control unit 10 defines a discrete probability distribution of the absolute value of the difference, using the 60 most recent data points as the population (S68).
[0080] Next, the control unit 10 calculates the Kullback-Leibler distance (KLD) between the discrete probability distributions of the standard data and the current data (S69).
[0081] Next, the control unit 10 calculates and outputs the randomness deviation (S70, S71). The randomness deviation is expressed by the following equation 5. Next, the control unit 10 calculates the maximum value of the randomness deviation for the most recent 1200 points and sets this as the maximum randomness deviation (S72).
[0082] The randomness deviation is a value that compares the range of load fluctuations with that of the normal model. The amount of fluctuation for each data interval in the most recent 60 points is calculated, and the proportion of data intervals with a fluctuation of n is used as the probability distribution C(n) and S(n) for the processed interval and the normal model, respectively. The Kullback-Leibler distance (a measure of the difference between probability distributions) between these two probability distributions is then calculated. The randomness deviation allows us to determine whether the range of load fluctuations is larger than under normal conditions. Equation 5: (Randomness Deviation) = 0.01 × KLD + 0.99 × (Randomness Deviation from the previous cycle)
[0083] As shown in Figure 8, after calculating the absolute value of the difference (S67), the control unit 10 calculates and outputs the individual randomness frequency of the absolute value of the difference for the 60 most recent data points (S73, S74). The individual randomness frequency is expressed by the following formula 6. Next, the control unit 10 calculates the maximum value of the individual randomness frequency for the most recent 1200 points and sets this as the maximum individual randomness frequency (S75).
[0084] In other words, the individual randomness frequency is calculated by determining the amount of variation in each data interval at the most recent 60 points of the process load, and then using the ratio of the number of data intervals with a variation of a certain value or more to the total number of data points. The individual randomness frequency can represent the range of variation in the load of the target data. Equation 6: (Individual Randomness Frequency) = (Number of data points with an absolute difference of 3 or more) / 60
[0085] As shown in Figure 9, whether or not an anomaly has occurred is evaluated by combining four feature quantities: load deviation, cumulative deviation, randomness frequency, and randomness frequency deviation. By appropriately combining AND conditions, OR conditions, threshold size, etc., to determine whether or not a threshold has been exceeded, it becomes possible to detect various anomaly states.
[0086] The following is an example of the determination. First, the control unit 10 determines whether the conditions are met: maximum load deviation > 100, maximum cumulative deviation > 20, and maximum randomness deviation > 0 or maximum single randomness >> 0 (S76). If these conditions are met (S76: YES), the control unit 10 notifies "abnormality (alarm level: 2)" (S77).
[0087] If the above conditions are not met (S76: NO), the control unit 10 determines whether the conditions are met: maximum load deviation > 30, maximum cumulative deviation > 80, and maximum randomness deviation > 2 or maximum single randomness > 0.03 (S78). If these conditions are met (S78: YES), the control unit 10 notifies "abnormal (alarm level: 2)" (S79).
[0088] If the above conditions are not met (S78: NO), the control unit 10 determines whether the conditions of maximum load deviation > 40 and maximum randomness deviation > 0 or maximum single randomness > 0 are met (S80). If these conditions are met (S80: YES), the control unit 10 notifies "Confirmation required (alarm level: 1)" (S81).
[0089] If the above conditions are not met (S80: NO), the control unit 10 notifies "No abnormality (alarm level: 0)" (S82).
[0090] Figure 10 shows an example of motor load and normal model data when a discrepancy occurs. The motor load represents the ratio (%) of the current motor power consumption to the maximum rated output. Figures 11 to 14 show each feature quantity during the machining process shown in Figure 10. Figures 11 to 14 show that the timing of the increase in value differs for each feature quantity.
[0091] Figure 15 is a flowchart showing a specific example of the procedure for simplified load determination (S31).
[0092] First, the control unit 10 acquires spindle load data for the most recent n points (S91). n is an integer greater than or equal to 2, for example, 10.
[0093] Next, the control unit 10 calculates the average value of the spindle load data for the most recent n points (S92), and also calculates the root mean square of the spindle load data for the most recent n points (S93).
[0094] Next, the control unit 10 calculates the absolute value of the difference between the average value and the root mean square as a simplified load determination index (S94).
[0095] The control unit 10 acquires the spindle rotation speed at the nearest m point (S95) and calculates a correction value (S96). Details of the correction value calculation (S96) will be described later.
[0096] The control unit 10 calculates the absolute value of the difference (S94) and the correction value (S96), and then multiplies the absolute value of the difference by the correction value, and uses the resulting value as the determination value (S97).
[0097] Next, the control unit 10 determines whether the judgment value is below a threshold (S98).
[0098] If the judgment value is below the threshold (S98: YES), the control unit 10 outputs an "OK" judgment result (S99). On the other hand, if the judgment value exceeds the threshold (S98: NO), the control unit 10 outputs an "NG" judgment result (S100).
[0099] Figure 16 is a flowchart showing a specific example of the procedure for calculating the correction value (S96).
[0100] First, the control unit 10 determines whether the spindle rotation speed values at the most recent m point are all 0 (S101). If the spindle rotation speed values at the most recent m point are all 0 (S101: YES), the control unit 10 outputs a correction value of "0" (S102).
[0101] On the other hand, if the spindle rotation speed values at the most recent m point are not all zero (S101: NO), the control unit 10 determines whether the spindle rotation speed values at the most recent m point have changed (S103). If the spindle rotation speed values at the most recent m point have not changed (S103: YES), the control unit 10 outputs a correction value of "1" (S104).
[0102] On the other hand, if the value of the spindle rotation speed at the most recent m point is changing (S103: NO), the control unit 10 calculates the maximum value of the absolute difference between the spindle rotation speeds at each point at the most recent m point and sets this as the maximum change (S105). The control unit 10 calculates the minimum value of the spindle rotation speed at the most recent m point and sets this as the minimum value (S106).
[0103] Next, the control unit 10 calculates a correction value using the maximum change and the minimum value (S107). The correction value is expressed by the following equation 7. Equation 7: (Correction value) = (Minimum value) / ((Maximum change) × (Minimum value + 1))
[0104] The root mean square represents the degree of variation in values, and when calculated using a group of values that are relatively similar, it will yield a value close to the average. Therefore, in the simplified load determination (S31), the control unit 10 detects the moment when the absolute value of the difference between the average and the root mean square becomes large, as a moment when the load has changed rapidly compared to the recent trend.
[0105] On the other hand, another time when the load changes rapidly is when the motor's rotational speed changes. Normally, the motor's rotational speed does not change during machining; it only changes when accelerating from a standstill or decelerating to stop. These changes are within the range of normal operation.
[0106] Therefore, using spindle speed data, at the moment the rotational speed changes, the simplified load determination index is multiplied by a correction value calculated from the spindle speed data, thereby correcting the simplified load determination index to be smaller in accordance with the amount of change in rotational speed.
[0107] By using the simplified load assessment (S31), it is possible to detect data that is clearly abnormal without even comparing it to a normal model. By excluding this data, a highly reliable normal model can be created even with limited processing data. Because it can detect obvious abnormalities, there is no need to provide correct data as in supervised learning in machine learning.
[0108] Figure 17 shows an example of the relationship between motor load and a simplified load determination index when an abnormality occurs. Similar to Figure 10, the motor load represents the ratio (%) of the current motor power consumption to the maximum rated output.
[0109] The figure shows that the simplified load assessment index increases when an anomaly occurs, but in other areas, even when the load increases, the simplified load assessment index does not change significantly. This allows for the identification of clear anomalies.
[0110] Figures 18 and 19 are flowcharts illustrating specific procedure examples for a normal model update (S34).
[0111] As shown in Figure 18, first, the control unit 10 acquires all the data of the completed process (S111). Next, the control unit 10 determines whether or not a normal model of the completed process exists (S112).
[0112] If a normal model exists for the completed process (S112: YES), the control unit 10 acquires the normal model for the completed process (S113).
[0113] Next, the control unit 10 determines whether the number of actual data points constituting the normal model is n or more (S114). n is an integer of 2 or more, for example, 5.
[0114] If the number of actual data points constituting the normal model is n or more (S114: YES), the control unit 10 performs an update of the normal model as described below.
[0115] Specifically, the control unit 10 calculates the average value of the spindle load for the current data and the past n data points, totaling n+1 data points, for each elapsed time since the start of the process (S115). Next, the control unit 10 calculates the square of the difference between each of the n+1 data points and their average values for each elapsed time since the start of the process (S116).
[0116] Furthermore, the control unit 10 calculates the average value of the tool coordinates of the current data and the past n records, totaling n+1 records, for each elapsed time since the start of the process (S117). Next, the control unit 10 calculates the square of the difference between each of the n+1 records and their respective average values for each elapsed time since the start of the process (S118).
[0117] In this embodiment, the mean was calculated as an example of a standard value, but the method is not limited to this; for example, the median, maximum value, or minimum value may also be used as a standard value.
[0118] As shown in Figure 19, the control unit 10 then sums up the squared differences for each of the n+1 data points and uses this as the difference score (S119). Next, the control unit 10 selects n data points from the n+1 data points, excluding the one with the largest difference score (S120).
[0119] Next, the control unit 10 calculates the average values of the spindle load and tool coordinates for each of the n selected data points over time to generate a normal model (S121). Then, the control unit 10 outputs the generated normal model (average values over time) and the selected actual data (S124).
[0120] If a normal model does not exist for a completed process (S112: NO), or if the number of actual data points constituting the normal model is less than n (S114: NO), the control unit 10 saves the data of the completed process as new actual data in the normal model and outputs it (S123, S124).
[0121] Since the repeatability of machining processes is expected to be very high when performed with the same NC program, and the number of abnormal processes is expected to be very small compared to normal processes, this update method can be used to avoid abnormal data remaining in the normal model.
[0122] Furthermore, when the number of updates is low, abnormal data may be temporarily included, and there is a possibility that normally processed data may be mistaken for an anomaly. Therefore, the decision of whether to update the normal model will be made independently of the anomaly detection results, and only data that is clearly judged to be abnormal in the simplified load assessment will be excluded from updating.
[0123] The program may be stored on, for example, a non-temporary storage medium, or it may be downloaded via, for example, a network.
[0124] This specification discloses various aspects of technology as described above, but the main technologies are summarized below.
[0125] An abnormality detection method according to one embodiment comprises: an acquisition step of acquiring spindle load data representing the load on the spindle during a machining process and process identification data for identifying the machining process of a machine tool equipped with a spindle on which a tool or workpiece is mounted and which is driven by a motor; a selection step of selecting a normal model that represents the relationship between time and load during normal operation, corresponding to the machining process identified by the process identification data; and an abnormality detection step of detecting an abnormality in the machining process using one or more feature quantities calculated based on the difference between the spindle load data and the normal model, wherein the normal model is a model that represents the relationship between time and load in past machining processes when an abnormality was not detected by a simple load determination that determines an abnormality based on load variability.
[0126] According to this, it becomes easier to detect abnormalities even in processing steps with little track record.
[0127] In another embodiment, the abnormality detection method described above may further include a simplified load determination step that determines an abnormality based on the variation in the load in the spindle load data.
[0128] In another embodiment, in the abnormality detection method described above, the simplified load determination step may determine an abnormality by using the error between the average value and the root mean square of a predetermined number of recent points of the load in the spindle load data as a simplified load determination index.
[0129] In another embodiment, in the above-described abnormality detection method, the acquisition step may further acquire spindle speed data representing the spindle speed, and the simplified load determination step may correct the simplified load determination index to a smaller value in the interval in which the spindle speed changes.
[0130] In another embodiment, the above-described abnormality detection method may further include an update step in which the normal model is updated based on the spindle load data if no abnormality is detected in the simplified load determination step.
[0131] In another embodiment, in the abnormality detection method described above, the normal model is generated based on a predetermined number of spindle load data, and the update step excludes the spindle load data with the largest degree of difference from the spindle load data for which abnormality was not determined in the simplified load determination step and a predetermined number of spindle load data for the normal model, and generates the normal model based on the remaining predetermined number of spindle load data.
[0132] In another embodiment, the above-described anomaly detection method further includes a position deviation determination step in which the acquisition step further acquires position coordinate data representing the machining position during the machining process, the normal model further includes the relationship between time and machining position during normal conditions, and the position deviation determination step compares the position coordinate data with the normal model to determine the position deviation of the machining position.
[0133] In another embodiment, the above-described anomaly detection method may further include a notification step in which a notification is sent to a predetermined terminal when an anomaly is detected by the anomaly detection step or when a positional misalignment is determined by the positional misalignment determination step.
[0134] In another embodiment, these anomaly detection methods described above may further include a specific step of identifying the processing process using the process identification data.
[0135] A method for generating a normal model according to another embodiment includes: an acquisition step of acquiring spindle load data representing the load on the spindle of a machine tool equipped with a spindle on which a tool or workpiece is mounted and which is driven by a motor during a machining process; a simplified load determination step of determining an abnormality based on the variation in the load in the spindle load data; and a generation step of generating a normal model representing the relationship between time and load under normal conditions based on the spindle load data, if no abnormality is determined in the simplified load determination step.
[0136] An abnormality detection device according to another embodiment comprises: an acquisition unit that acquires spindle load data representing the load on the spindle during a machining process and process identification data for identifying the machining process of a machine tool having a spindle on which a tool or workpiece is mounted and which is driven by a motor; a selection unit that selects a normal model representing the relationship between time and load during normal operation, corresponding to the machining process identified by the process identification data; and an abnormality detection unit that detects abnormalities in the machining process using one or more feature quantities calculated based on the difference between the spindle load data and the normal model, wherein the normal model is a model representing the relationship between time and load in past machining processes when no abnormality was detected by a simple load determination that determines abnormalities based on load variability.
[0137] According to this, it becomes easier to detect abnormalities even in processing steps with little track record.
[0138] A recording medium according to another embodiment records the following anomaly detection program. This anomaly detection program causes a computer to perform the following actions: acquire spindle load data representing the load on the spindle during a machining process and process identification data for identifying the machining process of a machine tool having a spindle on which a tool or workpiece is mounted and which is driven by a motor; select a normal model representing the relationship between time and load under normal conditions, corresponding to the machining process identified by the process identification data; and detect anomalies in the machining process using one or more feature quantities calculated based on the difference between the spindle load data and the normal model. The normal model is a model representing the relationship between time and load in past machining processes when no anomaly was detected by a simplified load determination that determines anomalies based on load variability.
[0139] According to this, a storage medium containing an anomaly detection program can be provided, which facilitates the detection of anomalies even in processing steps with limited track record.
[0140] This application is based on Japanese Patent Application No. 2024-212491, filed on December 5, 2024, the contents of which are included in this application.
[0141] In order to express the present invention, the embodiments have been adequately and fully described above with reference to the drawings. However, those skilled in the art should recognize that it is easy to modify and / or improve upon the above embodiments. Therefore, unless such modifications or improvements implemented by those skilled in the art fall outside the scope of the claims, such modifications or improvements shall be considered to be included within the scope of the claims.
[0142] According to the present invention, an abnormality detection method and an abnormality detection device for detecting abnormalities in a machining process using a machine tool, as well as a recording medium storing an abnormality detection program for detecting abnormalities in a machining process using a machine tool, can be provided.
Claims
1. An anomaly detection method comprising: an acquisition step of acquiring spindle load data representing the load on the spindle during a machining process and process identification data for identifying the machining process of a machine tool having a spindle on which a tool or workpiece is mounted and which is driven by a motor; a selection step of selecting a normal model that represents the relationship between time and load under normal conditions, corresponding to the machining process identified by the process identification data; and an anomaly detection step of detecting an anomaly in the machining process using one or more feature quantities calculated based on the difference between the spindle load data and the normal model, wherein the normal model is a model that represents the relationship between time and load in past machining processes when an anomaly was not detected by a simple load determination that determines an anomaly based on load variability.
2. The abnormality detection method according to claim 1, further comprising a simplified load determination step of determining an abnormality based on the load variation in the spindle load data.
3. The abnormality detection method according to claim 2, wherein the simplified load determination step determines an abnormality by using the error between the average value and the root mean square of a predetermined number of recent points of the load in the spindle load data as a simplified load determination index.
4. The abnormality detection method according to claim 3, wherein the acquisition step further acquires spindle speed data representing the rotational speed of the spindle, and the simplified load determination step corrects the simplified load determination index to a smaller value in the section in which the rotational speed of the spindle changes.
5. The abnormality detection method according to claim 2, further comprising an update step of updating the normal model based on the spindle load data if no abnormality is detected in the simplified load determination step.
6. The abnormality detection method according to claim 5, wherein the normal model is generated based on a predetermined number of spindle load data, and the update step excludes the spindle load data with the largest degree of difference from the spindle load data for which abnormalities were not determined in the simplified load determination step and a predetermined number of spindle load data for the normal model, and generates the normal model based on the remaining predetermined number of spindle load data.
7. The abnormality detection method according to claim 1, wherein the acquisition step further acquires position coordinate data representing the machining position during the machining process, the normal model further includes the relationship between time and machining position during normal operation, and the method further comprises a position deviation determination step of comparing the position coordinate data with the normal model to determine a position deviation of the machining position.
8. The anomaly detection method according to claim 7, further comprising a notification step of executing a notification to a predetermined terminal when an anomaly is detected by the anomaly detection step or when a positional misalignment is determined by the positional misalignment determination step.
9. The abnormality detection method according to claim 1, further comprising a step of identifying the processing process using the process identification data.
10. A method for generating a normal model, comprising: an acquisition step of acquiring spindle load data representing the load on the spindle during a machining process of a machine tool having a spindle on which a tool or workpiece is mounted and which is driven by a motor; a simplified load determination step of determining an abnormality based on the load variation in the spindle load data; and a generation step of generating a normal model representing the relationship between time and load under normal conditions based on the spindle load data, if no abnormality is determined in the simplified load determination step.
11. An abnormality detection device comprising: an acquisition unit that acquires spindle load data representing the load on the spindle during a machining process and process identification data for identifying the machining process of a machine tool having a spindle on which a tool or workpiece is mounted and which is driven by a motor; a selection unit that selects a normal model representing the relationship between time and load under normal conditions, corresponding to the machining process identified by the process identification data; and an abnormality detection unit that detects abnormalities in the machining process using one or more feature quantities calculated based on the difference between the spindle load data and the normal model, wherein the normal model is a model representing the relationship between time and load in past machining processes when no abnormality was detected by a simple load determination that determines abnormalities based on load variability.
12. A recording medium storing an anomaly detection program, wherein the normal model is a model representing the relationship between time and load in past machining processes when an anomaly was not detected by a simplified load determination that determines an anomaly based on load variability during machining processes, and the normal model is a model representing the relationship between time and load in past machining processes. The normal model is a model representing the relationship between time and load in past machining processes when an anomaly was not detected by a simplified load determination that determines an anomaly based on load variability.