Control system, model generation method, and model generation program
The control system efficiently generates predictive maintenance models by dividing time-series data based on detected events, addressing accuracy issues caused by varying operating conditions.
Patent Information
- Application Number
- JP2021108840
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-06-30
- Publication Date
- 2025-10-07
- Estimated Expiration
- 2041-06-30
AI Technical Summary
Existing predictive maintenance models face accuracy issues due to varying operating conditions of machines, leading to inefficiencies in model generation.
A control system that includes a control device for acquiring time-series data, detecting events, dividing data based on these events, and generating trained models using section data to improve model generation efficiency.
Enhances model generation efficiency by aggregating similar data intervals and allowing for more accurate predictive maintenance models.
Smart Images

Figure 0007749952000001 
Figure 0007749952000002 
Figure 0007749952000003
Abstract
Description
[Technical Field]
[0001] The present technology relates to a control system including a control device, a model generation method, and a model generation program. [Background technology]
[0002] At various production sites, there is a need to improve equipment availability through predictive maintenance of machines and equipment. Predictive maintenance is a form of maintenance in which any abnormalities occurring in machines or equipment are detected and maintenance work such as repairs or replacement is carried out before the equipment reaches a state where it must be stopped. There is also a need to predict the behavior of machines and equipment and perform appropriate control in advance.
[0003] To achieve such predictive maintenance and behavior prediction, models generated by machine learning have been put to practical use. When generating a model, it is necessary to select appropriate features.
[0004] For example, Japanese Patent Application Laid-Open Publication No. 2020-24542 (Patent Document 1) discloses a configuration that automatically obtains features from large amounts of data and makes it possible to display features with high importance, thereby helping to gain new insights. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2020-24542 Summary of the Invention [Problem to be solved by the invention]
[0006] The configurations described in the above-mentioned prior art documents are based on the premise that the properties of the features do not change, but in actual production sites, the operating conditions of the same machines or devices often change. Therefore, even for the same features, information with different properties depending on the operating conditions may be mixed, which may cause a decrease in the accuracy of the model.
[0007] Therefore, the present technology provides a technology for assisting a user to generate a model more efficiently. [Means for solving the problem]
[0008] According to one example of the present technology, there is provided a control system including a control device for controlling a control target. The control device is configured to apply information collected from the control target to a trained model prepared in advance. The control system includes an acquisition unit that acquires time-series data of the information collected from the control target, a detection unit that detects events that occur in the control target, a division unit that divides the time-series data based on the detected events to generate section data, and a generation unit that generates a trained model based on the section data.
[0009] This configuration allows the interval data used to generate a trained model to be generated by appropriately dividing the time-series data based on events. This makes it easier to generate a model by aggregating only similar interval data, for example, and therefore allows for more efficient model generation.
[0010] The detection unit may detect the occurrence of an event when a value of specific data managed by the control device satisfies a predetermined condition. With this configuration, an event can be reliably detected based on the data managed by the control device.
[0011] The detection unit may detect the occurrence of an event in accordance with an instruction from a user. With this configuration, even if an event is difficult for the control device to detect, it can be reliably detected and recorded by an explicit instruction from the user.
[0012] The detection unit may be configured to detect the occurrence of an event if the time at which information included in the time-series data was collected is separated by a predetermined time or more. With this configuration, it is possible to detect an event such as equipment being stopped for setup change or the like.
[0013] The control system may further include a display unit that displays the time-series data in association with the detected event. With this configuration, the user can quickly determine which intervals the time-series data should be divided into based on the event.
[0014] The dividing unit may divide the time-series data based on an event selected from the detected events. With this configuration, even if multiple events are detected, the user can select only the event that is suitable for generating section data, and generate appropriate section data.
[0015] The control system may further include a calculation unit that calculates feature time-series data as the time-series data. The generation unit may generate a trained model based on section data generated by dividing the feature time-series data. With this configuration, the trained model can be appropriately generated by using the feature time-series data.
[0016] The generation unit may generate a trained model by excluding, from the section data, section data in which an event occurs within a target period. With this configuration, since section data in which an event occurs may contain unique information, excluding such section data allows for more efficient generation of the model.
[0017] According to another example of the present technology, there is provided a model generation method executed in a control system including a control device for controlling a control target. The control device is configured to apply information collected from the control target to a pre-prepared trained model. The model generation method includes the steps of acquiring time-series data of the information collected from the control target, detecting an event that has occurred in the control target, dividing the time-series data based on the detected event to generate interval data, and generating a trained model based on the interval data.
[0018] According to yet another example of the present technology, there is provided a model generation program executed on a computer connected to a control device for controlling a control target. The control device is configured to apply information collected from the control target to a pre-prepared trained model. The model generation program causes the computer to execute the following steps: acquiring time-series data of the information collected from the control target; detecting an event that has occurred in the control target; dividing the time-series data based on the detected event to generate interval data; and generating a trained model based on the interval data. [Effects of the Invention]
[0019] According to the present technology, it is possible to support a user in generating models more efficiently. [Brief explanation of the drawings]
[0020] [Figure 1] 1 is a schematic diagram illustrating an example of the overall configuration of a control system according to an embodiment of the present invention. [Figure 2] 1 is a schematic diagram illustrating an example of a main functional configuration of a control system according to an embodiment of the present invention. [Figure 3] 2 is a block diagram showing an example of the hardware configuration of a control device of the control system according to the present embodiment. FIG. [Figure 4] 2 is a block diagram showing an example of the hardware configuration of a support device of the control system according to the present embodiment. FIG. [Figure 5]FIG. 2 is a schematic diagram illustrating an example of a functional configuration for realizing a model generation process in the control system according to the present embodiment. [Figure 6] FIG. 10 is a diagram showing an example of a user interface screen related to model generation provided by the support device of the control system according to the present embodiment. [Figure 7] FIG. 2 is a schematic diagram illustrating an example of a data structure generated by the control system according to the present embodiment. [Figure 8] 1 is a schematic diagram showing an example of a configuration for realizing an event detection process by a control device of a control system according to an embodiment of the present invention. FIG. [Figure 9] FIG. 2 is a schematic diagram showing an example of a user interface screen displayed on an HMI of the control system according to the present embodiment. [Figure 10] FIG. 2 is a schematic diagram showing an example of a configuration for realizing an event detection process by a support device of the control system according to the present embodiment. [Figure 11] FIG. 10 is a diagram showing an example of a user interface screen for determining feature amount section data 272 provided by the support device of the control system according to the present embodiment. [Figure 12] 10A and 10B are diagrams for explaining an example of model generation using feature amount interval data in the control system according to the present embodiment. [Figure 13] FIG. 10 is a diagram for explaining a model generation process using clustering in the control system according to the present embodiment. [Figure 14] 10 is a flowchart showing a processing procedure in which a control device of the control system according to the present embodiment collects measurement value time series data. [Figure 15] 10 is a flowchart showing a processing procedure for generating a model by a support device of the control system according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0021] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described in detail with reference to the accompanying drawings, in which the same or corresponding parts are designated by the same reference numerals and will not be described repeatedly.
[0022] <A. Application Examples> First, an example of a scenario to which the present invention is applied will be described. Hereinafter, as an application example of a model using machine learning, an example of detecting that some abnormality has occurred in a machine or device will be described. However, the present invention is not limited to abnormality detection and is applicable to the generation of any model using machine learning.
[0023] In this specification, anything directly or indirectly related to the control operation executed by the control device is referred to as a "control target". The term "control target" includes not only machines and devices to which the control device gives commands and devices from which the control device collects information, but also any facilities and units including those machines and devices.
[0024] In this specification, any information that can be used for model generation is referred to as an "event". The term "event" may include, for example, that any event has occurred in the control target or that the user has instructed any event.
[0025] FIG. 1 is a schematic diagram showing an overall configuration example of a control system 1 according to the present embodiment. Referring to FIG. 1, the control system 1 according to the present embodiment includes, as main components, a control device 100 for controlling a control target and a support device 200 which is an example of a computer connected to the control device 100.
[0026] The control device 100 may be embodied as a kind of computer such as a PLC (Programmable Logic Controller). The control device 100 is connected to a field device group 10 via a field bus 2. The field bus 2 preferably adopts an industrial communication protocol. Known such communication protocols include EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), and the like.
[0027] The field devices 10 include devices that collect input data from controlled objects or control-related manufacturing equipment, production lines, etc. (hereinafter collectively referred to as "fields"). Possible devices for collecting such input data include input relays and various sensors. The field devices 10 further include devices that perform some kind of action on the field based on commands (hereinafter also referred to as "output data") generated by the control device 100. Possible devices for performing some kind of action on the field include output relays, contactors, servo drivers, servo motors, and any other actuators. These field devices 10 exchange data, including input data and output data, with the control device 100 via the field bus 2.
[0028] In the configuration example shown in FIG. 1, the field device group 10 includes a remote I / O (Input / Output) device 12, a relay group 14, a servo driver 18, and a servo motor 20.
[0029] The remote I / O device 12 includes a communication unit that communicates via the field bus 2 and an input / output unit (hereinafter also referred to as an "I / O unit") for collecting input data and outputting output data. Input data and output data are exchanged between the control device 100 and the field via such an I / O unit. Fig. 1 shows an example in which digital signals are exchanged as input data and output data via a relay group 14.
[0030] The I / O unit 16 may be directly connected to the field bus 2. FIG.
[0031] The servo driver 18 drives the servo motor 20 in accordance with output data (for example, a position command) from the control device 100.
[0032] As described above, input data and output data are exchanged between the control device 100 and the field device group 10 via the field bus 2, and this exchanged data is updated at extremely short intervals of the order of several hundred microseconds to several tens of milliseconds. Note that this updating process of exchanged data is sometimes referred to as "I / O refresh processing."
[0033] The control device 100 has a PLC engine (PLC engine 130 shown in FIG. 2) that executes control calculations to control controlled objects such as equipment and machinery. The PLC engine corresponds to a control calculation unit, and determines output data by executing control calculations based on input data. The control device 100 has a time series database (hereinafter also referred to as "TSDB (Time Series Data Base)") 140 that sequentially stores input data from the field device group 10, output data to the field device group 10, internal data managed within the control device 10, and the like. Hereinafter, the data stored in the TSDB 140 will also be referred to as "measurement value time series data."
[0034] The control device 100 is configured to apply information collected from a control target to a trained model (hereinafter also simply referred to as "model 160") prepared in advance. More specifically, the control device 100 has an anomaly detection engine 150 that reads the model 160 and detects anomalies in the control target. A feature (feature 152 shown in FIG. 2) calculated from information collected from the control target is input to the model 160, and a score is output. The score output by the anomaly detection engine 150 is an index indicating the possibility that some kind of anomaly has occurred in the control target. A threshold value for determining the score output from the model 160 may be provided as a parameter to the anomaly detection engine 150.
[0035] Typically, the information collected from the control target is measurement value time series data stored in the TSDB 140 (or feature amounts calculated from the measurement value time series data).
[0036] The control device 100 may be connected to a server 400 via a higher-level network 6, or may be connected to one or more HMIs (Human Machine Interfaces) 500 via a field bus 4.
[0037] The server 400 provides any information to the control device 100 or takes charge of processing such as collecting data from the control device 100 .
[0038] The HMI 500 receives an operation from a user, transmits a command or the like corresponding to the user operation to the control device 100, and graphically displays the results of calculations performed by the control device 100. As will be described later, the HMI 500 may transmit information for recording an event to the control device 100 in accordance with the operation from the user.
[0039] The support device 200 provides a development environment (program creation and editing tools, parsers, compilers, etc.) for user programs executed on the control device 100, a function for setting parameters (configurations) for the control device 100 and various devices connected to the control device 100, a function for transmitting generated user programs to the control device 100, a function for online correction and modification of user programs executed on the control device 100, etc. The support device 200 also has a function for generating a model 160 referenced by the anomaly detection engine 150 implemented in the control device 100.
[0040] Next, a description will be given of an example of main processing in the control system 1 according to the present embodiment. The control device 100 records events detected based on the information it manages and / or events given via the HMI 500 or the like.
[0041] The support device 200 acquires the measurement value time-series data stored in the TSDB 140. At this time, the support device 200 also acquires information for identifying the event recorded by the control device 100 (hereinafter also referred to as "event information").
[0042] Then, the support device 200 calculates feature time-series data to be used for generating the model 160. Furthermore, the support device 200 divides the calculated feature time-series data to generate feature interval data.
[0043] The division of the feature time series data may be performed manually or automatically. The order of calculating the feature time series data and dividing the feature time series data may be either one or the other. That is, the measurement value time series data may be divided, and then the feature time series data may be calculated from the divided measurement value time series data.
[0044] The support device 200 accepts, as necessary, designation of labels for each feature included in the feature time-series data. Finally, the support device 200 generates the model 160 using the feature time-series data to which the labels have been assigned.
[0045] The support device 200 transfers the generated model 160 to the control device 100 prior to the start of operation.
[0046] 2 is a schematic diagram showing an example of a main functional configuration of the control system 1 according to the present embodiment. Referring to FIG. 2, the control device 100 has a PLC engine 130, a TSDB 140, and an anomaly detection engine 150.
[0047] The PLC engine 130 periodically executes control operations defined by a user program 132 that is arbitrarily created according to the control target. The user program 132 makes available an AI library 134. Alternatively, the AI library 134 may be incorporated into the user program 132. The content, characteristics, behavior, etc. of the AI library 134 may be determined when the support device 200 generates a model.
[0048] When the PLC engine 130 executes the portion of the AI library 134 included in the user program 132, one or more feature quantities 152 are calculated, and the calculated feature quantities 152 are provided to the anomaly detection engine 150.
[0049] The PLC engine 130 holds input data, output data, and internal data in a form that can be referenced by the user program 132. The PLC engine 130 includes a data management unit 136 and an event management unit 138.
[0050] The values of the data managed by the data management unit 136 are updated at predetermined intervals (I / O refresh intervals) by I / O refresh processing. The data management unit 136 also collects time-series data of information collected from the control target. More specifically, pre-specified data from the data managed by the data management unit 136 is stored in the TSDB 140 at predetermined intervals. As a result, the TSDB 140 can output the value changes of the specified data at predetermined intervals, i.e., measurement value time-series data 142.
[0051] The event management unit 138 detects an event that occurs in the control target. More specifically, the event management unit 138 records the event that occurs in association with the measurement value time-series data 142 stored in the TSDB 140 in accordance with the event detection by the PLC engine 130 and / or an externally provided instruction.
[0052] The anomaly detection engine 150 determines the occurrence or possibility of an anomaly by referring to the model 160 based on the feature quantities 152 from the PLC engine 130. Typically, the model 160 is a function that outputs a value indicating the degree of anomaly (degree of deviation from normality) when one or more feature quantities 152 are input.
[0053] The support device 200 includes a model generation tool 240. The model generation tool 240 executes the generation of the model 160 and related processes. The model generation tool 240 typically provides a feature generation process 242, a feature division process 244, a labeling process 246, a model generation process 248, and an event detection process 250.
[0054] Since the control system 1 according to the present embodiment divides the feature time series data while referring to the event information and generates a model using the divided feature time series data, the model can be efficiently generated in consideration of cases where the nature of the features changes.
[0055] <B. Hardware Configuration Example> Next, a hardware configuration example of the main devices of the control system 1 according to the present embodiment will be described.
[0056] (b1: Hardware Configuration Example of the Control Device 100) FIG. 3 is a block diagram showing a hardware configuration example of the control device 100 of the control system 1 according to the present embodiment. Referring to FIG. 3, the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chip set 104, a main storage device 106, a secondary storage device 108, an upper network controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 122, field bus controllers 118, 120, and I / O units 124-1, 124-2,....
[0057] The processor 102 reads out various programs stored in the secondary storage device 108, expands them in the main storage device 106, and executes them to realize the PLC engine 130 and the abnormality detection engine 150. The chip set 104 controls data transmission between the processor 102 and each component.
[0058] The secondary storage device 108 stores a system program 131 for implementing the PLC engine 130 and the anomaly detection engine 150, as well as a user program 132 that is executed using the PLC engine 130. A portion of the area of the secondary storage device 108 may be used as a TSDB 140.
[0059] The upper network controller 110 controls the exchange of data with other devices via the upper network 6. The USB controller 112 controls the exchange of data with the support device 200 via a USB connection.
[0060] The memory card interface 114 is configured to allow a memory card 116 to be attached and detached, and allows data to be written to the memory card 116 and various data (user programs, trace data, etc.) to be read from the memory card 116.
[0061] The internal bus controller 122 is an interface for exchanging data with the I / O units 124-1, 124-2, . . . mounted on the control device 100.
[0062] Fieldbus controller 118 controls the exchange of data with other devices via fieldbus 2. Similarly, fieldbus controller 120 controls the exchange of data with other devices via fieldbus 4.
[0063] FIG. 3 shows an example of a configuration in which the processor 102 executes a program to provide the required functions, but some or all of these provided functions may be implemented using dedicated hardware circuits (e.g., an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array)). Alternatively, the main part of the control device 100 may be realized using hardware that conforms to a general-purpose architecture (e.g., an industrial PC based on a general-purpose PC). In this case, virtualization technology may be used to run multiple operating systems (OSs) for different purposes in parallel, and required applications may be executed on each OS.
[0064] (b2: Example of hardware configuration of support device 200) The support device 200 according to this embodiment is realized, for example, by executing a program using hardware (for example, a general-purpose personal computer) that conforms to a general-purpose architecture.
[0065] Fig. 4 is a block diagram showing an example of the hardware configuration of support device 200 in control system 1 according to this embodiment. Referring to Fig. 4, support device 200 includes a processor 202 such as a CPU or MPU, an optical drive 204, a main storage device 206, a secondary storage device 208, a USB controller 212, a network controller 214, an input unit 216, and a display unit 218. These components are connected via a bus 220.
[0066] The processor 202 reads out various programs stored in the secondary storage device 208, loads them into the main storage device 206, and executes them to realize various processes including a threshold setting process, which will be described later.
[0067] The secondary storage device 208 is configured with, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive). The secondary storage device 208 typically stores a PLC interface program 224 for exchanging data related to the anomaly detection function between the OS 222 and the control device 100, a development program 226 for creating user programs to be executed in the support device 200, debugging the created user programs, defining system configurations, setting various parameters, and the like, and a model generation program 228 for implementing a model generation tool 240 (FIG. 2). The secondary storage device 208 may store necessary programs other than the programs shown in FIG. 4.
[0068] The support device 200 has an optical drive 204, and a program stored in a recording medium 205 (e.g., an optical recording medium such as a DVD (Digital Versatile Disc)) that non-transiently stores a computer-readable program is read and installed in a secondary storage device 208, etc.
[0069] The various programs executed by the support device 200 may be installed via a computer-readable recording medium 205, or may be installed by downloading from a server device on a network, etc. In addition, the functions provided by the support device 200 according to this embodiment may be realized by using some of the modules provided by the OS 222.
[0070] A USB controller 212 controls data transfer to and from the control device 100 via a USB connection. A network controller 214 controls data transfer to and from other devices via any network.
[0071] The input unit 216 is made up of a keyboard, a mouse, etc., and accepts user operations. The display unit 218 is made up of a display, various indicators, a printer, etc., and outputs processing results from the processor 202, etc.
[0072] FIG. 4 shows a configuration example in which functions necessary for the processor 202 to execute a program are provided. However, some or all of these provided functions may be implemented using a dedicated hardware circuit (e.g., ASIC or FPGA, etc.).
[0073] <C. Event Recording> Next, event recording according to this embodiment will be described.
[0074] (c1: Functional Configuration) FIG. 5 is a schematic diagram showing a functional configuration example for realizing model generation processing in the control system 1 according to this embodiment. Referring to FIG. 5, the control device 100 includes a data management unit 136, an event management unit 138, and a TSDB 140.
[0075] The data management unit 136 records the value changes (measurement value time series data 142) of specified data at a predetermined period in the TSDB 140. The event management unit 138 records the generated events in association with the measurement value time series data 142. The event information 144 recorded by the event management unit 138 may be independent of the measurement value time series data 142 or may be included in the measurement value time series data 142.
[0076] The support device 200 (model generation tool 240 shown in FIG. 2) includes a feature amount calculation unit 260, a feature amount division unit 262, a model generation unit 264, an event detection unit 266, and a division interval setting unit 268.
[0077] The feature amount calculation unit 260 acquires the measurement value time series data 142 from the control device 100 (TSDB 140) and calculates the feature amount time series data 270 from the acquired measurement value time series data 142. Note that the time series data of the information collected from the control target includes the measurement value time series data 142 and the feature amount time series data 270 calculated from the measurement value time series data 142.
[0078] More specifically, the feature calculation unit 260 calculates corresponding feature time series data 270 in response to input of measurement value time series data 142. That is, the feature calculation unit 260 calculates the feature time series data 270 as time series data of information collected from the control target. The feature time series data 270 indicates changes over time in one or more feature amounts. The feature amounts included in the feature time series data 270 are information calculated from the measurement value time series data 142 by any method, and examples of such information that can be used include maximum values, minimum values, median values, average values, and standard deviations. Note that the measurement value time series data 142 can also be used directly as the feature amounts. The feature calculation unit 260 may be configured to accept selection of the feature amounts to be calculated.
[0079] The feature splitting unit 262 splits the feature time-series data 270 at specified timing to generate one or more pieces of feature interval data 272. The feature interval data 272 corresponds to a part of the feature time-series data 270. The feature splitting unit 262 may be configured to receive splitting conditions for generating the feature interval data 272.
[0080] The event detection unit 266 detects an event that has occurred in the control target based on information contained in the measurement value time series data 142 or the feature amount time series data 270.
[0081] The division interval setting unit 268 sets intervals or positions for dividing the feature time-series data 270 based on the event information 144. The division interval setting unit 268 outputs a division instruction indicating the set interval or position to the feature division unit 262.
[0082] Furthermore, the division interval setting unit 268 interacts with the user to set intervals or positions for dividing the feature amount time-series data 270. More specifically, the division interval setting unit 268 displays the feature amount time-series data 270 (or the measurement value time-series data 142) on the display unit 218 and accepts user operations.
[0083] As described above, the feature dividing unit 262 and the divided interval setting unit 268 divide the time series data (feature time series data 270 or measurement value time series data 142) based on the detected event to generate interval data (feature interval data 272 or interval data obtained by dividing the measurement value time series data 142).
[0084] The model generation unit 264 generates a model 160 (trained model) based on the section data (the feature section data 272, or the section data obtained by dividing the measurement value time-series data 142). In the configuration example shown in Fig. 5, the model generation unit 264 generates the model 160 based on the feature section data 272 generated by dividing the feature time-series data 270.
[0085] The model generation unit 264 may generate the model 160 after assigning a label to each piece of data included in the feature interval data 272. However, if the model 160 to be generated is a predictor rather than a classifier, it is not necessary to assign a label to the feature interval data 272.
[0086] The control system 1 according to this embodiment divides the measurement value time-series data 142 and / or the feature amount time-series data 270 into appropriate intervals based on the event information 144, and then generates the model 160.
[0087] Fig. 6 is a diagram showing an example of a user interface screen related to model generation provided by the support device 200 of the control system 1 according to the present embodiment. Referring to Fig. 6, a user interface screen 280 displayed on the display unit 218 of the support device 200 includes a feature quantity selection area 282 showing a list of feature quantities that can be calculated from the measurement value time-series data 142, a time-series data display area 284 displaying feature quantity time-series data for the feature quantity selected in the feature quantity selection area 282, and a histogramming display area 286 displaying a histogram of the feature quantity time-series data displayed in the time-series data display area 284.
[0088] When the user selects an arbitrary feature in the feature selection area 282, the selected feature time-series data is displayed in the time-series data display area 284. At this time, based on the event information 144, an event occurrence point 290 may be displayed superimposed on the feature time-series data displayed in the time-series data display area 284. Also, a message 292 indicating the content of the event may be displayed in association with the event occurrence point 290.
[0089] In this way, the support device 200 includes a display unit 218 that displays time-series data (feature amount time-series data or measurement value time-series data) in association with detected events.
[0090] (b2: Data structure) Next, a description will be given of an example of the data structure of the measurement value time-series data 142 and the event information 144. Fig. 7 is a schematic diagram showing an example of the data structure generated by the control system 1 according to this embodiment.
[0091] FIG. 7(A) shows an example in which measurement value time series data 142 and event information 144 are configured independently. Measurement value time series data 142 includes one or more specific values associated with timestamps. A series of measurement values corresponds to time series data. In event information 144, information indicating the type of event that occurred (such as "1", "2", etc.) is recorded in association with a timestamp indicating the time of occurrence. By referring to event information 144, the time when an event occurred and the type of event that occurred can be identified.
[0092] Fig. 7(B) shows an example of a configuration in which event measurement value time series data 142 includes event information 144. The event measurement value time series data 142 shown in Fig. 7(B) includes a column corresponding to event information 144 in addition to the event measurement value time series data 142 shown in Fig. 7(A).
[0093] The event information 144 includes information indicating the type of event that occurred (such as "1", "2", etc.) associated with a timestamp indicating the time when the event occurred. By referencing each row of the measurement value time-series data 142, it is possible to identify the measurement value and whether or not an event occurred at each time (and the type of event that occurred).
[0094] The data structures are not limited to those shown in FIGS. 7(A) and 7(B), and any data structure that can realize the processing described below can be adopted.
[0095] (b3: Event detection by the control device 100) Next, a description will be given of a processing example in which the PLC engine 130 (event management unit 138) of the control device 100 detects the occurrence of an event as described above. The PLC engine 130 (event management unit 138) of the control device 100 detects the occurrence of an event when the value of specific data managed by the control device 100 satisfies a predetermined condition.
[0096] 8 is a schematic diagram showing an example of a configuration for realizing event detection processing by the control device 100 of the control system 1 according to the present embodiment. Referring to Fig. 8, the event management unit 138 determines whether or not an event defined in the event definition table 1382 has occurred, based on the value of specific data managed by the data management unit 136 (Fig. 2).
[0097] The event definition table 1382 defines, for each event, the variable name indicating the variable used for judgment and the conditions for judging that the event has occurred. For example, if the value of the variable name "Var_LotNum" changes, it is judged that the event "Lot Change" has occurred.
[0098] The PLC engine 130 (event management unit 138) of the control device 100 detects the occurrence of an event by referring to the event definition table 1382, and registers the content of the detected event in the event information 144.
[0099] In this way, the control device 100 detects the occurrence of any event based on the information it manages. Note that the implementation is not limited to the event definition table 1382 shown in Fig. 8, and any implementation form for detecting the occurrence of any event can be adopted.
[0100] (b4: Event instruction by user) Next, an example in which a user instructs the occurrence of an event will be described. For example, a user (operator) who manages operations may instruct the occurrence of any event depending on the state of the operation. The PLC engine 130 (event management unit 138) of the control device 100 detects the occurrence of an event in accordance with the instruction from the user.
[0101] 9 is a schematic diagram showing an example of a user interface screen displayed on the HMI 500 of the control system 1 according to the present embodiment. Referring to FIG. 9, the HMI 500 capable of communicating with the control device 100 displays a user interface screen 510.
[0102] The user interface screen 510 includes buttons 512 corresponding to events. When an event occurs in accordance with the operational status or the like, the user presses the button 512 indicating the event that has occurred. By pressing the button 512, an instruction indicating the event corresponding to the pressed button 512 is transmitted from the HMI 500 to the control device 100.
[0103] The control device 100 records the corresponding event according to the instruction from the HMI 500. In this way, the control device 100 detects the occurrence of any event in accordance with an externally provided instruction. Note that the configuration is not limited to one in which a user provides an instruction via the HMI 500, and instructions from the outside may be received in any form.
[0104] (b5: Event detection by support device 200) Next, an example in which the support device 200 (event detection unit 266) detects an event based on the information included in the measurement value time-series data 142 or the feature amount time-series data 270 will be described.
[0105] FIG. 10 is a schematic diagram showing a configuration example for realizing event detection processing by the support device 200 of the control system 1 according to the present embodiment. For example, based on the time stamps included in the measurement value time-series data 142 or the feature amount time-series data 270, if there is an opening at the collected time (that is, if the period during which the measurement value and / or the feature amount is not collected is relatively long), it is highly likely that some manufacturing conditions or the like have been changed. Therefore, FIG. 10 shows an example in which an event is detected when the difference in the time at which the measurement value and / or the feature amount is collected exceeds a predetermined threshold value.
[0106] In the example shown in FIG. 10, it is detected that an event occurs between frame 3 and frame 4, an event occurs between frame 6 and frame 7, and an event occurs between frame 9 and frame 10.
[0107] When using the difference in time (time difference) as a condition for determining that an event has occurred, the length of the time difference may be varied according to the type of event. In this way, the support device 200 (event detection unit 266) detects the occurrence of an event if the time at which the information included in the time-series data (measurement value time-series data 142 or feature amount time-series data 270) is collected is separated by a predetermined time or more.
[0108] Note that the event detection processing by the above-described event detection unit 266 may be implemented in the control device 100.
[0109] <D. Usage Example of Event Information 144> Next, a usage example of the event information 144 will be described. By referring to the event information 144, the feature amounts used for generating the model 160 can be efficiently selected or extracted.
[0110] Typically, the detected events can be used as delimiters for generating the feature interval data 272. That is, the feature time-series data 270 can be divided based on the detected events. All the detected events may be used, or only some of the events may be used.
[0111] 11 is a diagram showing an example of a user interface screen for determining feature amount section data 272 provided by the support device 200 of the control system 1 according to the present embodiment. Referring to Fig. 11, an event occurrence point 290 is displayed superimposed on the feature amount time-series data in a time-series data display area 284 of the user interface screen.
[0112] An event selection button area 294 is provided corresponding to the time-series data display area 284. The event selection button area 294 includes enable buttons 2942, 2944, 2946, and 2948 associated with the respective displayed events. In the example shown in Fig. 11 , the enable button 2944 and the enable button 2946 are selected, and only the corresponding two events are used as separators for generating the feature amount section data 272. As a result, the feature amount time-series data is separated by two events, and three pieces of feature amount section data 272 are generated.
[0113] In this way, the support device 200 divides the time series data (the feature amount time series data 270 or the measurement value time series data 142) based on the event selected from the detected events.
[0114] The user determines the feature interval data 272 that is deemed appropriate for generating the model 160 while checking the divisions displayed in the time-series data display area 284 on the user interface screen.
[0115] FIG. 12 is a diagram for explaining an example of model generation using the feature amount interval data 272 in the control system 1 according to this embodiment.
[0116] 12, an event occurrence point 290 is displayed superimposed on the feature time-series data in the time-series data display area 284. The feature time-series data is divided into predetermined fixed periods to generate a plurality of feature interval data 272-1 to 272-6. In the example shown in FIG. 12, it is assumed that an event occurs in feature interval data 272-3. That is, the feature interval data 272-3 is calculated from the measurement values of the interval including the time when the event occurred.
[0117] As shown in FIG. 12(1), for example, the feature amount section data 272-3 in which an event occurs and the feature amount section data 272-1, 272-2 and 272-4 to 272-6 before and after the feature amount section data 272-3 may be processed separately.
[0118] 12 (2), for example, the feature amount section data 272-3 in which an event occurs may be excluded from the feature amount section data 272 used to generate the model 160. That is, the support device 200 may generate the model 160 by excluding, from the feature amount section data 272, the feature amount section data 272 in which an event occurs within a target period.
[0119] In the example of FIG. 12, the feature amount interval data 272-1 and 272-2 and the feature amount interval data 272-4 to 272-6 located before and after the feature amount interval data 272-3 are used to generate the model 160.
[0120] 12 (3), the feature amount interval data 272-3 in which an event occurs may be further divided into data before and after the time point at which the event occurred. Rather than excluding the feature amount interval data 272-3 from the data to be used in generating the model 160, the feature amount interval data 272-3 is divided and each divided data is used in generating the model 160, so that information contained in the acquired feature amount time-series data can be used in generating the model 160 without being discarded.
[0121] As shown in (4) of FIG. 12, the generated feature amount interval data 272-3 indicating that an event has occurred may be used for evaluating the model 160. For example, the model 160 may be generated using the feature amount interval data 272-1, 272-2, 272-4 to 272-6, and the model 160 generated using the feature amount interval data 272-3 may be evaluated. Since the feature amount interval data 272-3 is presumed to include specific feature amounts, by evaluating the model 160 using the feature amount interval data 272-3, the robustness of the model 160 and the like can be confirmed.
[0122] Note that the usage example of the event information 144 is not limited to the above-described example, and it may be used in any form.
[0123] <E. Clustering and Model Generation> After dividing the feature amount time series data 270 to generate a plurality of feature amount interval data 272, clustering may be performed, and then the model 160 may be generated.
[0124] FIG. 13 is a diagram for explaining a model generation process using clustering in the control system 1 according to the present embodiment.
[0125] Referring to FIG. 13, by dividing the feature amount time series data 270 at an arbitrary position, a plurality of feature amount interval data 272-1 to 272-6 are generated. By clustering the generated plurality of feature amount interval data 272-1 to 272-6, the feature amount groups 274-1 and 274-2 are determined. Each of the feature amount groups 274-1 and 274-2 includes feature amount interval data 272 having similar properties or tendencies.
[0126] Note that the clustering algorithm may be any algorithm. For example, an unsupervised learning method such as the K-means method can be used.
[0127] In the example shown in FIG. 13, the feature quantity group 274-1 includes the feature quantity interval data 272-1, 272-3, 272-5, and the feature quantity group 274-2 includes the feature quantity interval data 272-2, 272-4, 272-6.
[0128] Typically, the feature quantity interval data 272-1, 272-3, 272-5 included in the feature quantity group 274-1 show similar temporal changes 276-1 to each other. Similarly, the feature quantity interval data 272-2, 272-4, 272-6 included in the feature quantity group 274-2 show similar temporal changes 276-2 to each other.
[0129] The model 160 may be generated using the feature quantity interval data 272 included in the feature quantity group 274-1, and another model 160 may be generated using the feature quantity interval data 272 included in the feature quantity group 274-2.
[0130] Thus, by clustering into the feature quantity groups 274 composed of the feature quantity interval data 272 that are similar to each other and then generating the model 160, the performance of the model 160 can be further improved.
[0131] <F. Processing Procedure> Next, an example of the processing procedure of the processing executed by the control system 1 according to the present embodiment will be described.
[0132] FIG. 14 is a flowchart showing the processing procedure for the control device 100 of the control system 1 according to the present embodiment to collect the measured value time series data 142. Each step shown in FIG. 14 is typically realized by the processor 102 of the control device 100 executing the system program 131 (FIG. 3).
[0133] Referring to FIG. 14, the control device 100 determines whether the timing for acquiring the measured value time series data 142 has arrived (step S100). If the timing for acquiring the measured value time series data 142 has not arrived (NO in step S100), the processing in step S100 is repeated.
[0134] If the timing for acquiring the measurement value time series data 142 has arrived (YES in step S100), the control device 100 acquires the current value of the target measurement value (step S102), associates the acquired measurement value with a timestamp indicating the current time, and stores them in the TSDB 140 (step S104).
[0135] The control device 100 determines whether any of the predetermined conditions for event detection is satisfied (step S106). If any of the predetermined conditions for event detection is satisfied (YES in step S106), the control device 100 registers the content of the event corresponding to the satisfied condition in the event information 144 (step S108). If any of the predetermined conditions for event detection is not satisfied (NO in step S106), the processing of step S108 is skipped.
[0136] Next, the control device 100 determines whether or not an instruction regarding the occurrence of an event has been received from the outside (step S110). If an instruction regarding the occurrence of an event has been received from the outside (YES in step S110), the control device 100 registers the content of the event corresponding to the received instruction in the event information 144 (step S112). If an instruction regarding the occurrence of an event has not been received from the outside (NO in step S110), the process of step S112 is skipped. Then, the process from step S100 onwards is repeated.
[0137] 15 is a flowchart showing a processing procedure in which the support device 200 of the control system 1 according to this embodiment generates the model 160. Each step shown in FIG. 15 is typically realized by the processor 202 of the support device 200 executing the model generation program 228 (FIG. 4).
[0138] 15, the support device 200 acquires the measurement value time series data 142 and the event information 144 stored in the TSDB 140 of the control device 100 (step S200). The support device 200 calculates the feature amount time series data 270 from the acquired measurement value time series data 142 (step S202). Note that the feature amount time series data 270 may include multiple pieces of feature amount time series data. In this way, the support device 200 executes a process of acquiring the time series data of information collected from the control target.
[0139] The support device 200 determines whether or not an event to be detected exists based on the information included in the measurement value time-series data 142 and / or the feature amount time-series data 270 (step S204). If it is determined that an event to be detected exists (YES in step S204), the support device 200 registers the content of the detected event in the event information 144 (step S206). If it is determined that an event to be detected does not exist (NO in step S204), the processing of step S206 is skipped.
[0140] In this way, the support device 200 executes a process for detecting an event that occurs in a control target.
[0141] The support device 200 displays the feature amount time-series data 270 with the event occurrence point 290 superimposed thereon based on the event information 144 (step S208). Then, the support device 200 divides the feature amount time-series data 270 based on the event information 144 or in accordance with a user instruction (step S210). This generates one or more pieces of feature amount interval data 272. In this way, the support device 200 executes a process of dividing the time-series data (feature amount time-series data 270 or measurement value time-series data 142) based on the detected event to generate interval data (feature amount interval data 272 or interval data obtained by dividing the measurement value time-series data 142).
[0142] Subsequently, the support device 200 generates the model 160 from the generated one or more feature interval data 272 (step S212). That is, the support device 200 executes a process of generating the model 160 based on the interval data (feature interval data 272 or interval data obtained by dividing the measurement value time series data 142). Then, the support device 200 evaluates and outputs the accuracy of the generated model 160. (Step S214).
[0143] Subsequently, the support device 200 determines whether it has received an output instruction for the model 160 from the user (step S216). If it has not received an output instruction for the model 160 from the user (NO in step S216), the support device 200 accepts the selection of the feature interval data 272 used for generating the model 160. (Step S218). Then, the processes below step S212 are repeated.
[0144] If it has received an output instruction for the model 160 from the user (YES in step S216), the support device 200 outputs the generated model 160. (Step S220). Then, the process of model generation ends.
[0145] <G. Modified Example> In the above description, a configuration example in which the support device 200 mainly executes the process of generating the model 160 has been described. However, the process of generating the model 160 may be realized by cooperation between the support device 200 and another device, or may be realized by a device different from the support device 200 (for example, computing resources on the cloud). That is, the hardware implementing the process of generating the model 160 according to the present embodiment may be of any kind.
[0146] <H. Supplementary Note> The present embodiment as described above includes the following technical ideas.
[0147] [Configuration 1] A control system (1) including a control device (100) for controlling a control target, the control device being configured to apply information collected from the control target to a trained model (160) prepared in advance, and the control system: an acquisition unit (136; 260) that acquires time-series data (142; 270) of information collected from the control target; A detection unit (138; 266) that detects an event that occurs in the control object; a division unit (262, 268) that divides the time series data based on the detected event to generate section data (272); A control system comprising: a generation unit (264) that generates a trained model (160) based on the section data.
[0148] [Configuration 2] 2. The control system according to configuration 1, wherein the detection unit detects the occurrence of the event when a value of specific data managed by the control device satisfies a predetermined condition (1382).
[0149] [Configuration 3] 3. The control system according to configuration 1 or 2, wherein the detection unit detects the occurrence of the event in accordance with an instruction from a user.
[0150] [Configuration 4] The control system according to any one of configurations 1 to 3, wherein the detection unit detects the occurrence of the event if the times at which the information included in the time series data was collected are separated by a predetermined time or more.
[0151] [Configuration 5] 5. The control system according to any one of configurations 1 to 4, further comprising a display unit (218) that displays the time-series data and the detected event in association with each other.
[0152] [Configuration 6] 6. The control system according to any one of configurations 1 to 5, wherein the dividing unit divides the time series data based on an event selected from the detected events.
[0153] [Configuration 7] A calculation unit (260) that calculates feature time-series data (270) as the time-series data, 7. The control system according to any one of configurations 1 to 6, wherein the generation unit generates the trained model based on section data (272) generated by dividing the feature time-series data.
[0154] [Configuration 8] The control system according to any one of configurations 1 to 7, wherein the generation unit generates the trained model by excluding, from the section data, section data in which the event occurs within a target period.
[0155] [Configuration 9] A model generation method executed in a control system (1) including a control device (100) for controlling a control target, the control device being configured to apply information collected from the control target to a trained model (160) prepared in advance, the model generation method comprising: A step (S200) of acquiring time series data (142; 270) of information collected from the control object; Steps (S204, S206) of detecting an event occurring in the control target; A step (S210) of dividing the time series data based on the detected event to generate section data (272); A model generation method comprising: a step (S212) of generating a trained model (160) based on the section data.
[0156] [Configuration 10] A model generation program (228) executed on a computer (200) connected to a control device for controlling a control target, the control device being configured to apply information collected from the control target to a trained model (160) prepared in advance, the model generation program causing the computer to: A step (S200) of obtaining time-series data (142; 270) of information collected from the control target; Steps (S204, S206) of detecting an event that has occurred in the control target; A step (S210) of dividing the time-series data based on the detected event to generate interval data (272); A model generation program that causes execution of a step (S212) of generating a learned model (160) based on the interval data.
[0157] <I. Advantages> In the support device 200 according to the present embodiment, in the measurement value time-series data collected over a long period of time, 4M (Man, Machine, Material, Method) variations occur, and the properties or tendencies may change in a specific interval. When generating a learned model (model 160) using such measurement value time-series data, by dividing the time-series data based on an event to generate interval data, interval data with similar properties and tendencies can be efficiently generated and extracted. Thus, by generating a model using interval data with similar properties and tendencies, a more accurate model reflecting similar properties and tendencies can be generated. As a result, a model can be efficiently generated from the time-series data collected over a long period of time.
[0158] The embodiments disclosed this time should be considered illustrative in all respects and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and it is intended that all modifications within the meaning and scope equivalent to the claims are included.
Description of Reference Numerals
[0159] 1 Control system, 2, 4 Field bus, 6 Upper network, 10 Field devices, 12 Remote I / O devices, 14 Relays, 16, 124 I / O unit, 18 Servo driver, 20 Servo motor, 100 Control device, 102, 202 Processor, 104 Chip set, 106, 206 Main memory, 108, 208 Secondary memory, 110 Upper network controller, 112, 212 USB controller, 114 Memory card interface, 116 Memory card, 118, 120 Field bus controller, 122 Internal bus controller, 130 PLC engine, 131 System program, 132 User program, 134 AI library, 136 Data management unit, 138 Event management unit, 142 Measurement time series data, 144 Event information, 150 Anomaly detection engine, 152 Features, 160 Model, 200 Support device, 204 Optical drive, 205, recording medium, 214, network controller, 216, input unit, 218, display unit, 220, bus, 222, OS, 224, interface program, 226, development program, 228, model generation program, 240, model generation tool, 242, feature generation process, 244, feature splitting process, 246, labeling process, 248, model generation process, 250, event detection process, 260, feature calculation unit, 262, feature splitting unit, 264, model generation unit, 266, event detection unit, 268, split section setting unit, 270, feature time series data, 272, feature section data, 274, feature group, 276, temporal change, 280, 510, user interface screen, 282, feature selection area, 284, time series data display area, 286, histogramming display area, 290, event occurrence point, 292, message, 294 Event selection button area, 400 servers, 500 HMIs, 512 buttons, 1382 event definition tables, 2942,2944,2946,2948 enable buttons.
Claims
1. A control system including a control device for controlling a control target, the control device being configured to apply information collected from the control target to a trained model prepared in advance, the control system comprising: an acquisition unit that acquires time-series data of information collected from the control target; a detection unit that detects an event that occurs in the control target; a division unit that divides the time series data into predetermined periods to generate section data; a generation unit that generates a trained model based on the section data, The generation unit Among the section data, section data in which the event occurs within a target period is further divided into sections before and after the time point at which the event occurs, or A control system that uses, among the section data, section data in which the event occurs within a target period for evaluating the generated trained model.
2. A control system as described in Claim 1, wherein the detection unit detects the occurrence of the event when the value of specific data managed by the control device satisfies predetermined conditions.
3. A control system as described in claim 1 or 2, wherein the detection unit detects the occurrence of the event in accordance with instructions from a user.
4. A control system described in any one of claims 1 to 3, wherein the detection unit detects the occurrence of the event if the times at which the information contained in the time series data was collected are separated by more than a predetermined time.
5. 5. The control system according to claim 1, further comprising a display unit that displays the time-series data and the detected event in association with each other.
6. a calculation unit that calculates feature time-series data as the time-series data, The control system according to any one of claims 1 to 5, wherein the generation unit generates the trained model based on section data generated by dividing the feature time-series data.
7. A model generation method executed in a control system including a control device for controlling a control target, wherein the control device is configured to apply information collected from the control target to a trained model prepared in advance, and the model generation method includes: acquiring time series data of information collected from the control target; detecting an event occurring in the control target; dividing the time series data into predetermined periods to generate section data; generating a trained model based on the section data; The generating step includes: further dividing the section data in which the event occurs within a target period into sections before and after the event occurs, or A model generation method comprising a step of using, from the section data, section data in which the event occurs within a target period for evaluating the generated trained model.
8. A model generation program executed on a computer connected to a control device for controlling a control target, the control device being configured to apply information collected from the control target to a trained model prepared in advance, the model generation program causing the computer to: acquiring time series data of information collected from the control target; detecting an event occurring in the control target; dividing the time series data into predetermined periods to generate section data; and generating a trained model based on the interval data. The generating step includes: further dividing the section data in which the event occurs within a target period into sections before and after the event occurs, or A model generation program comprising a step of using, from the section data, section data in which the event occurs within a target period for evaluating the generated trained model.
Citation Information
Patent Citations
Localized temporal model forecasting
CN108885718A
Abnormality diagnostic method and health management method for plant or facility
JP2013152655A
Abnormality detection method and abnormality detection device
JP2015114967A
Facility state monitoring method and apparatus for the same
JP2015172945A
Abnormality detection system, setting tool device, controller, data structure of abnormality definition information, and abnormality handling function block
JP2019215674A