This patent application is based on and claims priority pursuant to 35 U.S.C. § 119(a) to Japanese Patent Application No. 2021-043916, filed on Mar. 17, 2021, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
Embodiments of this disclosure relate to a diagnostic apparatus, a system, a diagnostic method, and recording medium.
There is an abnormality detector that detects an abnormality of a tool of a machine tool. Fur example, an abnormality detector acquires a plurality of measurement values related to the tool as measurement data, generates a normal model, by machine learning, based on one class classification, of measurement data acquired during machining in a normal state. The abnormality detector determines whether measurement data is normal or abnormal based on the normal model while acquiring the measurement data during processing after the normal model is generated. The abnormality detector re-diagnoses the measurement data having been determined as abnormal.
An embodiment of the present disclosure provides a diagnostic apparatus that includes circuitry that acquires a detection result of a time-varying physical quantity generated by a machine that performs a plurality of processes; generates a determination result of the processing based on the detection result; and outputs, to the machine, batch determination information in units of a plurality of same type processes performed by the machine. The batch determination information indicates whether at least one of the plurality of same type processes is determined as abnormal. Based on the batch determination information, the machine performs an action.
Another embodiment provides a system that includes the machine and the diagnostic apparatus described above.
Another embodiment provides a diagnostic method that includes acquiring a detection result of a time-varying physical quantity generated by a machine that performs a plurality of processes; generating a determination result of the processing based on the detection result; and outputting, to the machine, batch determination information in units of a plurality of same type processes performed by the machine. The batch determination information indicates whether at least one of the plurality of same type processes is determined as abnormal. Based on the batch determination information, the machine performs an action.
Another embodiment provides a non-transitory recording medium storing a plurality of program codes which, when executed by one or more processors, causes the processors to perform the method described above.
A more complete appreciation of the disclosure and many of the attendant advantages and features thereof can be readily obtained and understood from the following detailed description with reference to the accompanying drawings, wherein:
The accompanying drawings are intended to depict embodiments of the present invention and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted. Also, identical or similar reference numerals designate identical or similar components throughout the several views.
In describing embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have a similar function, operate in a similar manner, and achieve a similar result.
Referring now to the drawings, embodiments of the present disclosure are described below. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
Descriptions are given below in detail of a diagnostic apparatus, a diagnostic method, a diagnosis program, and a diagnostic system according to embodiments, with reference to the accompanying drawings.
The machine 200 and the diagnostic apparatus 100 may be connected in any connection form. For example, the machine 200 and the diagnostic apparatus 100 are connected by a dedicated connection line, a wired network such as a wired local area network (LAN), or a wireless network.
The machine 200 includes a numerical control unit 201, a communication control unit 202, and a machine tool 203. The machine tool 203 includes a sensor 211, a driver 212, and a tool 213.
The machine tool 203 is a machine that processes a workpiece (subject to be machined) under the control of the numerical control unit 201. The machine tool 203 includes the driver 212 that operates under the control of the numerical control unit 201. The driver 212 is a motor, for example. The tool 213 is a part that is driven by the driver 212. The tool 213 may be any tool, such as a drill and an end mill, which performs machining on a workpiece and is subjected to numerical control. The machine tool 203 may include two or more drivers 212.
In the present embodiment, the machine tool 203 and the machine 200 including the machine tool 203 are subjected to diagnosis. However, the technical idea of the present disclosure is not limited to diagnosis of a machine tool and an apparatus including the machine tool. That is, the apparatus to be diagnosed may be any machine such as an assembly machine, a measurement machine, an inspection machine, or a cleaning machine.
The numerical control unit 201 performs numerical control of the machining by the machine tool 203. For example, the numerical control unit 201 generates and outputs numerical control data for controlling the operation of the driver 212. The numerical control unit 201 outputs operation information to the communication control unit 202. The operation information is information determined for each type of action of the machine tool 203. The operation information is also referred to as context information. The operation information includes, for example, information identifying the tool 213 driven by the driver 212 (e.g., information such as tool type, tool manufacturer, and tool diameter), the spindle rotation speed of the driver 212 during machining, the rotation speed and feed speed of the driver 212 during machining, movement information (spindle coordinate values) of the driver 212 and the tool 213 during machining, and the current value of the spindle of the driver 212 during machining.
The numerical control unit 201 transmits, for example, operation information of the current operation of the tool 223 to the diagnostic apparatus 100 via the communication control unit 202. In machining on the workpiece to be machined, the numerical control unit 201 changes the type of the tool 213 driven by the driver 212 or the drive state (rotation number, rotation speed, etc.) of the driver 212 in accordance with the machining process. When the type of operation of the tool 233 is changed, the numerical control unit 201 sequentially transmits operation information corresponding to the changed type of operation to the diagnostic apparatus 100 via the communication control unit 202.
The communication control unit 202 controls communication with an external device such as the diagnostic apparatus 100. For example, the communication control unit 202 transmits operation information corresponding to the current operation of the tool 223 to the diagnostic apparatus 100.
The sensor 211 detects a physical quantity that changes according to the operation of the machine 200 and outputs a detection result (sensor data). The type of the sensor 211 and the type of the physical quantity to be detected are not limited. For example, the sensor 211 detects a physical quantity and outputs the detected physical quantity information as a detection result (sensor data) to the diagnostic apparatus 10. The physical quantity detected is vibration, sound, or the like generated when the tool (such as a drill, end mill, cutting tool tip, or grindstone) installed in the machine tool 203 contacts the workpiece to be machined during the processing, or vibration, sound, or the like generated by the tool or the machine 70 itself.
For example, the sensor 211 is a microphone, a vibration sensor, an accelerometer, or an acoustic emission (AE) sensor, and outputs acoustic data, vibration data, acceleration data, or data indicating an AE wave as a detection result. The sensor 211 is installed adjacent to the tool 213 or adjacent to a motor of the machine tool 203, so as to detect vibration, sound, or the like. Note any number of sensors 211 may be used. The plurality of sensors 211 may be of the same type to detect the same physical quantity, or of different types to detect different physical quantities.
For example, when a blade of the tool 213 used for machining is broken or chipped, the sound during machining changes. Accordingly, an abnormality of the machine tool 203 is determined by acquiring acoustic data using the sensor 211 (microphone) and comparing the acoustic data with a model indicating a normal sound.
The diagnostic apparatus 100 includes a communication control unit 101, a feature value calculation unit 103, and a determining unit 104. The communication control unit 101 controls communication with an external device such as the machine 200. For example, the communication control unit 101 receives the operation information and the detection result from the machine 200. The communication control unit 101 transmits (outputs) a signal (batch determination macro variable described later) corresponding to the determination by the determining unit 104 to the communication control unit 202 of the machine 200.
The feature value calculation unit 103 calculates a feature value used in determination by the determining unit 104 from the operation information and the detection result. In the present embodiment, information including at least the operation information and the detection result is referred to as “operation-related information.”
The determining unit 104 determines an abnormality degree of the machine tool 203 based on the feature value calculated from the operation-related information. The determining unit 104 generates a signal for the machine tool 203 based on the determination.
Specific functions of the feature value calculation unit 103 and the determining unit 104 will be described in detail later.
The CPU 51 controls the entire operation of the machine 200. The CPU 51 executes a program stored in the ROM 52 or the like using, for example, the RAM 53 as a work area, to control the entire operation of the machine 200 and implement machining functions.
The communication I/F 54 is an interface for communicating with an external apparatus such as the diagnostic apparatus 100. The drive control circuit 55 is a circuit that controls the drive of the motor 56. The motor 56 drives the tool 213 such as a drill, a cutter, a table, and the like, used for machining The motor 56 corresponds to, for example, the driver 212 in
The numerical control unit 201 and the communication control unit 202 illustrated in
When a machining programs is performed a plurality of times on different workpieces, the processes 1-1, 2-1, and N-1 in which similar machining is performed are regarded as the same type of machining In this way, the same type of machining is associated with processes in the same machining program or with a plurality of workpieces. Whether the machining is the same type is determined based on, in addition to the type of the tool 213, machining information such as the number of times of machining, a machining cycle, a machining program, spindle rotation speed, and a sequence number. The diagnostic apparatus 100 acquires the machining information from the machine 200. The above-mentioned operation-related information may include the machining information in addition to the operation information and the detection result.
The CPU 61 controls the entire operation of the diagnostic apparatus 100. The CPU 61 executes a program stored in the ROM 62 or the like using, for example, the RAM 63 as a work area, to control the entire operation of the diagnostic apparatus 100 and implement various diagnostic functions. The communication I/F 64 is an interface for communicating with an external apparatus such as the machine 200. The HDD 65 stores information such as setting information of the diagnostic apparatus 100, operation information and machining information transmitted by the numerical control unit 201 of the machine 200 and received via the communication control unit 202, and detection results transmitted from the sensor 211. The diagnostic apparatus 100 may include, instead or in addition to the HDD 65, a nonvolatile memory such as an electrically erasable programmable read-only memory (EEPROM) or a solid state drive (SSD).
The communication control unit 101, the reception unit 102, the feature value calculation unit 103, the determining unit 104, and the generation unit 105 illustrated in
The communication control unit 101 includes a receiving unit 101a and a transmission unit 101b. The receiving unit 101a is an example of an acquisition unit that acquires a detection result of a time-varying physical quantity generated when the machine 200 performs machining, and receives various types of information transmitted from an external device such as the machine 200. For example, the receiving unit 101a receives operation information corresponding to the current operation of the machine tool 203, machining information, and a detection result (corresponding to the current operation of the machine tool 203) transmitted from the sensor 211. The received operation information, the machining information, and the detection result are associated with each other and sent to the signal processing unit 106. The transmission unit 101b transmits various kinds of information to the external device. In particular, the transmission unit 101b transmits (outputs) control signals, generated in accordance with the abnormality degree by the determining unit 104, to the communication control unit 202 of the machine 200. The transmission unit 101b is an example of an output unit.
The signal processing unit 106 receives the operation information, the machining information, and the detection result associated with each other, and performs pre-processing.
The feature value calculation unit 103 receives the pre-processed operation information, the machining information, and the detection results (operation-related information). The feature value calculation unit 103 classifies the operation information and the detection results by the type of machining, and calculates a feature value (feature information) corresponding to the current operation of the machine tool 203. The feature value may be any information that indicates a feature of the detection result. For example, when the detection result is acoustic data collected by a microphone, the feature value calculation unit 103 may calculates a feature value such as energy, a frequency spectrum, or mel-frequency cepstrum coefficients (MFCC) of the detection result.
The determining unit 104 determines an abnormality degree of the machine tool 203 based on the feature value calculated from the operation-related information, and the diagnostic apparatus 100 causes the machine tool 203 to perform an action corresponding to the abnormality degree.
In other words, the determining unit 104 calculates the abnormality value corresponding to the current operation of the machine tool 203, using the feature value calculated by the feature value calculation unit 103. The abnormality value is a quantitative value calculated based on the feature value with respect to the tool 213 of the machine 200, the motor and the spindle of the driver 212, and the like. The abnormality value is calculated using, for example, threshold processing of the feature value, or machine learning using the feature value as an input. Examples of machine learning include support-vector machine (SVM) and neural network. Note that the method of calculating the abnormality value is not limited thereto, and any method for calculating the abnormality value from the feature value may be used. For example, the abnormality degree is not directly compared with a threshold value. Alternatively, the threshold value may be compared with a value indicating a variation of the abnormality degree, to indirectly calculate the abnormality degree.
The determining unit 104 sequentially determines the abnormality degree related to the machine tool 203 based on time-series information of the calculated abnormality value, and the machine tool 203 performs an action according to the determined abnormality degree. For example, when the determining unit 104 determines that the abnormality degree indicates a characteristic (change) that is significantly different from that of a similar machining, the machine tool 203 immediately stops the machining based on the abnormality degree.
The storing unit 111 stores various kinds of information used for a diagnosis function of the diagnostic apparatus 100, a program dedicated to execution of a diagnostic process described later, and the like. The storing unit 111 is implemented, for example, by the RAM 63 (in
The diagnostic apparatus 100 of the diagnostic system initializes (set to false) the values of a batch determination enabling flag and an individual determination enabling flag (step S1). False means invalid, and true means valid.
Next, the diagnostic apparatus 100 determines whether to perform the batch determination based on a user input to the reception unit 102 (step S2). In the case of the individual determination (No in S2), the diagnostic apparatus 100 sets the individual determination enabling flag to true (step S3), and the transmission unit 101b ends the process.
In the case of the batch determination (Yes in step S2), the diagnostic apparatus 100 sets the batch determination enabling flag to true (step S4).
In the individual determination, the diagnostic apparatus 100 transmits a determination result for each machining process (e.g., the process 1-1 in
In the individual determination, when an abnormality occurs, machining can be immediately stopped, but the cycle time is long. In the batch determination, when an abnormality occurs, machining is not immediately stopped, but the cycle time is short.
Following step S4, the diagnostic apparatus 100 determines whether to use prefetch function of a numerical control (NC) program based on a user input to the reception unit 102 (step S5). When the prefetch function is used, the diagnostic apparatus 100 describes the tool change processing before the feedback processing in the NC program (step S6), and ends the process.
An example of the prefetch function of the NC program is presented below. With the prefetch function, while a first code line is being executed, a second code line is executed.
M6T2// change tool at spindle to tool B
M98P1000// call feedback processing (subprogram)
For example, the user determines whether to use prefetch function in the batch determination, considering whether the machining cycle involves tool change and whether further reduction of cycle time is preferred.
In
When diagnostic apparatus 100 determines to perform the batch determination in the step S2 illustrated in
In
Next, after the process 2 ends, the diagnostic apparatus 100 determines, with the determining unit 104, the machining state of the process 2 based on the detection result, and writes the determination result (1: abnormal) to the batch determination macro variable. The diagnostic apparatus 100 transmits, with the communication control unit 101, the batch determination macro variable to the machine 200 based on a fact that the value “1” (abnormal) is written to the batch determination macro variable (t3).
After the end of the process 3, the diagnostic apparatus 100 determines, with the determining unit 104, the machining state of the process 3 based on the detection result (t4). However, the determining unit 104 does not change the batch determination macro variable regardless of the determination result (0: normal) of the process 3.
The diagnostic apparatus 100 performs, with the determining unit 104, the same processing for the processes 4 to 9, and determines the machining state of the process 9, based on the detection result, after the process 9 ends (t6). However, determining unit 104 does not change the batch determination macro variable regardless of the determination result (0: normal) of the process 9.
The machine 200 has received the batch determination macro variable at the t3. Accordingly, the machine 200 changes the tool (t5) after the end of the process 9 and before the determination of machining state of the process 9 (t6). Then, the machine 200 performs feedback processing (t7).
The diagnostic apparatus 100 determines, with the determining unit 104, the machining state of the machining process based on the detection result (step S11). The diagnostic apparatus 100 confirms the determination result (step S12), and ends the process based on the determination result indicating normal.
When the determination result indicates abnormal, the diagnostic apparatus 100 checks the batch determination enabling flag illustrated in
When the batch determination enabling flag is true (Yes in S13), the diagnostic apparatus 100 writes the value “1” indicating abnormal to the batch determination macro variable (step S14). The transmission unit 101b of the diagnostic apparatus 100 transmits the batch determination macro variable to the machine 200 (step S15).
The diagnostic apparatus 100 repeats the process illustrated in
The abnormality may be determined a plurality of times in step S12 during the processes 1 to 9. In such a case, in step 15, the batch determination macro variable may be transmitted to the machine 200 each time the abnormality is determined, or only the first determination of the abnormality.
In the present embodiment, the determination results are integrated into one macro variable by logical disjunction (OR) of the determination results. However, the variable processing is not limited thereto. Alternatively, macro variables to store the respective determination results of the processes may be provided. In this case, feedback processing is performed with reference to the value of each macro variable.
Further, in the present embodiment, the value of the batch determination macro variable is updated after each machining process, but variable values may be collectively written after the last machining process (the process 9 in the example of
In the present embodiment, the diagnostic apparatus 100 transmits the batch determination macro variable to the machine 200 so that the machine 200 performs an action based on the determination result of the determining unit 104. The action to be performed is determined by the machine 200 based on the batch determination macro variable (and, for example, the operation-related information).
The machine 200 waits for completion of writing of the batch determination macro variable based on the reception status of the batch determination macro variable transmitted from the diagnostic apparatus 100 (step S21).
The machine 200 checks the value of the batch determination macro variable (step S22). When the value “1” of the batch determination macro variable is not received from the diagnostic apparatus 100, the batch determination macro variable is 0, that is, the variable indicates normal. Thus, the machine 200 ends the process.
On the other hand, when the value “1” of the batch determination macro variable is received from the diagnostic apparatus 100, the machine 200 outputs an alert message (step S23) and stops (ends) the NC program (step S24). When resuming the NC program, the machine 200 initializes the batch determination macro variable to 0.
The machine 200 may execute only one of the steps S23 and S24.
Referring to
In
The diagnostic apparatus 100 performs a similar processing for the processes 2 to 9. After the process 9 ends, the diagnostic apparatus 100 determines, with the determining unit 104, the machining state of the process 9 based on the detection result, and writes the determination result in the individual determination macro variable. The diagnostic apparatus 100 transmits, with communication control unit 101, the individual determination macro variable to the machine 200 (t18). The machine 200 performs feedback processing (t19) based on the individual determination macro variable, and then changes the tool (t20). The individual determination macro variable is an example of individual determination information for the machine 200 to perform an action based on the determination result in a unit of one machining process of the plurality of machining processes.
Here, a cycle time is defined as the time from the macro variable initialization to either of the tool change completion or the feedback completion that occurs later. The cycle time of the diagnostic process in
Specifically, in the comparative example, the feedback processing is performed each time the determination result is written to the individual determination macro variable after the machining process. Accordingly, the cycle time increases by “number of machining processes multiplied by feedback processing time.”
On the other hand, in the present embodiment, the feedback processing is performed once. Further, the order of the feedback processing and the tool change is switched after the last machining process, and the feedback processing is prefetched to be executed during the tool change. This configuration reduces the increase in the cycle time to “feedback processing time minus tool change time.”
As illustrated in step S2 of
As described above, the diagnostic apparatus 100 according to an embodiment of the present disclosure includes the receiving unit 101a that is an example of an acquisition unit that acquires a detection result of a time-varying physical quantity generated when the machine 200 (an example of a machine performs processing), and the determining unit 104 that determines a state of the processing based on the detection result and causes the machine 200 to perform an operation based on a determination result of the determining unit 104, and the diagnostic apparatus 100 causes the machine 200 to perform an action based on the determination result by the determining unit 104. The diagnostic apparatus 100 further includes the transmission unit 101b that is an example of an output unit to output a batch determination macro variable. The batch determination macro variable is an example of instruction information according to which the machine 200 performs an action based on the determination result by the determining unit 104 in units of a plurality of machining processes of same type. Accordingly, the machine performs an action based on the determination result of the machining state with a reduced standby time.
The transmission unit 101b outputs the batch determination macro variable to the machine 200 based on the respective determination results, determined by the determining unit 104, of the plurality of machining processes.
The transmission unit 101b outputs, to the machine 200, either the batch determination macro variable or the individual determination macro variable (an example of individual determination information for the machine 200 to perform an action based on the determination result for each of a plurality of processes).
The machine 200 performs machining (processing) with the plurality of tools 213. The transmission unit 101b outputs, to the machine 200, the batch determination macro variable for the machine 200 to perform an action based on the determination result in units of a plurality of processes of the same tool 213.
A diagnostic method according to an embodiment of the present disclosure includes acquiring, with the receiving unit 101a, a detection result of a time-varying physical quantity generated when the machine 200 performs machining; determining, with a determining unit 104, the state of the machining based on the detection result; outputting, with the transmission unit 101b, a determination result (the batch determination macro variable) for the machine 200 to perform an action based on the determination result by the determining unit 104 in units of a plurality of machining processes of same type; and performing, with the machine 200, an action based on the determination result.
Any one of the above-described operations may be performed in various other ways, for example, in an order different from the one described above.
The above-described embodiments are illustrative and do not limit the present invention. Thus, numerous additional modifications and variations are possible in light of the above teachings. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), and conventional circuit components arranged to perform the recited functions.
Number | Date | Country | Kind |
---|---|---|---|
2021-043916 | Mar 2021 | JP | national |