Control device, control system, method and program
The control device addresses the challenge of collecting necessary information from manufacturing equipment by using causal relationship scanning to identify and collect relevant data, enhancing quality control accuracy and resource efficiency.
Patent Information
- Application Number
- JP2021038265
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-10
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2041-03-10
AI Technical Summary
Existing technologies do not effectively collect necessary information from manufacturing equipment based on the operating status to maintain quality control accuracy while optimizing resource usage.
A control device that includes an acquisition means to gather measured values, a causal relationship storage, an event detection means to identify events, and a determination means to scan causal relationships to collect relevant information based on the operating state of the manufacturing equipment.
The control device efficiently collects and stores necessary measurement values based on causal relationships, allowing for accurate quality control and optimized resource utilization by detecting events and their related factors.
Smart Images

Figure 0007613168000001 
Figure 0007613168000002 
Figure 0007613168000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a control device, a control system, a method, and a program, and more particularly to a control device, a control system, a method, and a program capable of collecting information. [Background technology]
[0002] With the recent advances in information and communication technology (ICT), there is a demand to collect information about manufacturing equipment and use the collected information to further improve quality control. Regarding the collection of information about industrial machinery, for example, Patent Document 1 (JP Patent Publication No. 2020-13526) discloses data logging. More specifically, in Patent Document 1, the PLC records data acquired from a field device as log data in a memory (e.g., a ring buffer) until a predetermined output condition is met, and when the predetermined output condition is met, writes the log data in the memory to a memory card or internal memory (non-volatile memory) (see paragraphs 0102, 0103, 0147, etc.).
[0003] The data collection unit of the PLC in Patent Document 2 (International Publication No. 2012 / 111653) collects device data output by the controlled device and stores it in a device data memory unit, and then transfers the device data in the device data memory unit to a storage device such as a ring buffer for transfer to a host computer. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2020-13526 A [Patent Document 2] International Publication No. 2012 / 111653 Summary of the Invention [Problem to be solved by the invention]
[0005] When collecting information from manufacturing equipment, it is desirable to determine and collect necessary information according to the operating status of the manufacturing equipment from the viewpoint of saving resources for data collection while maintaining the accuracy of quality control. Patent Documents 1 and 2 do not propose a configuration from this viewpoint.
[0006] An object of the present disclosure is to provide a control device, a method, and a program for collecting necessary information according to the operating state of a controlled object. [Means for solving the problem]
[0007] In the present disclosure, a control device for controlling a control object includes an acquisition means for acquiring a plurality of measurement values related to the control object, a causal information storage means for storing causal relationships between a plurality of events that may occur in the control object and, for each of the plurality of events, an identifier of a measurement value related to the event, an event detection means for detecting an event of the monitored object or detecting a precursor of the event based on a measurement value identified by an identifier corresponding to the event of the monitored object, a determination means for scanning the causal relationships and determining one or more events related to the event of the monitored object in response to detection by the event detection means, and a collection means for collecting, from the plurality of measurement values acquired by the acquisition means, measurement values identified by identifiers corresponding to the event of the monitored object and each event determined by the determination means.
[0008] According to the above disclosure, when a monitored event or a precursor to the monitored event is detected in a controlled object, the control device collects one or more events related to the monitored event determined by scanning for causal relationships, and measurement values identified by corresponding identifiers for each of the monitored events.
[0009] Therefore, the control device can collect necessary measurement value information based on causal relationships according to the state of the controlled object.
[0010] In the above disclosure, the determining means, in response to detection by the event detecting means, scans for causal relationships and determines one or more events related to the monitored event as contributing factors to the event.
[0011] According to the above disclosure, a causal event that causes a monitored event in a causal relationship can be included in the target event for which measurement values are collected.
[0012] In the above disclosure, the determining means, in response to detection by the event detecting means, scans for causal relationships and determines one or more events related to the monitored event as a consequence of the event.
[0013] According to the above disclosure, a result event that may occur as a result of a monitored event in a causal relationship can be included in the target event for which measurement values are collected.
[0014] In the above disclosure, the controlled object includes a plurality of objects, the causal relationships include causal relationships corresponding to each of the plurality of objects, the control device detects objects in operation among the plurality of objects, and the event detection means scans the causal relationships corresponding to the operating objects among the plurality of objects, and detects an event of the monitored object or detects a precursor to the event based on a measurement value identified by an identifier corresponding to the event of the monitored object.
[0015] According to the above disclosure, when a controlled object is in operation, an event or a sign of a monitored object is detected by using a causal relationship corresponding to the controlled object.
[0016] In the above disclosure, the control device further includes a means for storing in a memory unit the measurement values collected by the collecting means, the collecting means including a first collecting means for collecting predetermined types of measurement values in chronological order during operation of the controlled object, and the storing means stores in the memory unit, in response to detection by the event detection means, the measurement values collected by the first collecting means that are identified by an identifier corresponding to the event of the monitored object and that have been collected during a predetermined period prior to the detection of the event.
[0017] According to the above disclosure, the control device can store, among the measurement values collected by the first collection means, measurement values that are identified by an identifier corresponding to the event being monitored and that have been collected during a predetermined period preceding the detection of the event being monitored or its precursor.
[0018] In the above disclosure, in response to detection by the event detection means, the control device transmits a command to another control device, the command including an identifier corresponding to the event determined by the determination means and an instruction to collect a measurement value identified by the identifier.
[0019] According to the above disclosure, when an event or a sign of a monitored object is detected, the control device transmits a command to the other control device. By executing the command in the other control device, the control device can collect measurement values of the same type as the measurement values collected by the collection means of the control device and that can be obtained from the controlled object of the other control device.
[0020] In the above disclosure, the control device further includes a means for displaying a UI including an image representing a causal relationship between a plurality of events, and a means for receiving a user operation for specifying an event to be monitored from the plurality of events in the causal relationship.
[0021] According to the above disclosure, a UI for specifying an event to be monitored can be provided to a user as an image showing a causal relationship between a plurality of events.
[0022] In the present disclosure, the control system is a control system configured by connecting the multiple control devices described above via a network, and the multiple control devices are time-synchronized with each other, and when a predetermined notification is transferred to the network, one of the multiple control devices receives, aggregates, and manages measurement values acquired by the other control devices via an acquisition means or measurement values collected by a collection means from the other control devices.
[0023] According to this disclosure, in the control system, one of a plurality of control devices can aggregate and manage measurement values from the other control devices according to a predetermined timing at which a notification is transferred.
[0024] In the present disclosure, the control system is a control system configured by connecting multiple control devices described above via a network, wherein the multiple control devices are time-synchronized with each other, and each control device communicates via the network with a higher-level system that aggregates and manages measurement values from each control device, and when a predetermined notification is transferred to the network, each control device transfers the measurement values acquired by the acquisition means of the control device or the measurement values collected by the collection means to the higher-level system.
[0025] According to this disclosure, in the control system, measurement values from a plurality of control devices can be aggregated and managed in a host system according to a predetermined timing at which a notification is transferred.
[0026] In the present disclosure, the method is a method implemented by a computer having a means for storing causal relationships between a plurality of events that may occur in a controlled object and, for each of the plurality of events, an identifier of a measurement value related to the event. The method includes a step of acquiring a plurality of measurement values related to the controlled object, a step of detecting the monitored event or detecting a precursor of the monitored event based on the measurement values identified by an identifier corresponding to the monitored event, a step of scanning the causal relationships and determining one or more events related to the monitored event in response to the detection, and a step of collecting a measurement value identified by an identifier corresponding to each event determined in the step of determining the monitored event from the plurality of measurement values acquired in the acquiring step.
[0027] According to the above disclosure, when a monitored event or a precursor to the monitored event is detected in a controlled object, one or more events related to the monitored event determined by scanning for causal relationships and measurement values identified by corresponding identifiers for each of the monitored events are collected.
[0028] Therefore, the computer can collect necessary measurement value information based on causal relationships according to the state of the controlled object.
[0029] In the present disclosure, a program for causing a processor to execute the above method is provided. Effect of the Invention
[0030] According to the present disclosure, it is possible to collect information on measurement values according to the state of a controlled object. [Brief description of the drawings]
[0031] [Figure 1] FIG. 2 is a diagram illustrating components included in a PLC of information according to the present embodiment. [Diagram 2] 1 is a diagram illustrating a schematic configuration of a control system according to an embodiment of the present invention. [Diagram 3] 2 is a block diagram showing an example of a hardware configuration of a PLC according to the present embodiment. FIG. [Figure 4] 1 is a diagram illustrating a hardware configuration of a support device according to an embodiment of the present invention. [Diagram 5] FIG. 1 is a schematic diagram showing an example of a manufacturing facility according to an embodiment of the present invention. [Figure 6] FIG. 2 is a diagram illustrating an example of a causal model according to the present embodiment. [Figure 7] FIG. 11 is a diagram illustrating an example of calculation of a causal relationship according to the present embodiment. [Figure 8] FIG. 7 is a diagram showing an example of a data structure of a node in the causal model of FIG. 6. [Figure 9] FIG. 13 is a diagram showing an example of a UI screen for specifying an event to be monitored according to the present embodiment. [Figure 10] FIG. 2 is a diagram showing the process according to the present embodiment in relation to a control period 30. [Figure 11] 13 is a flowchart illustrating an example of a process of an event selection UI according to the present embodiment. [Figure 12] 11 is a flowchart showing an example of a collection process according to the present embodiment.
Best Mode for Carrying Out the Invention
[0032] Hereinafter, embodiments will be described with reference to the drawings. In the following description, the same parts and components are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0033] <A. Application Example> First, an example of a scenario to which the present invention is applied will be described. FIG. 1 is a diagram schematically showing components included in a PLC 100 for information according to the present embodiment. A PLC (Programmable Logic Controller) 100 controls FA (Factory Automation) manufacturing equipment and collects a plurality of "measurement values" related to the manufacturing equipment that is the control target. The measurement value can include one or more of various values that can be measured in relation to the control target, such as an output value calculated by the processor of the PLC 100 executing a control operation, an intermediate value calculated during the execution of the control operation, and a state value 92 described later indicating the state of the control target. The output value calculated by the control operation includes a control command 91 described later.
[0034] In the present embodiment, as a typical example of the "control device", the PLC 100 is described as a specific example. However, the technical idea disclosed in this specification is applicable to any control device without being limited to the name of the PLC.
[0035] The manufacturing equipment includes a plurality of field devices 90. The field device 90 operates according to the control command 91 and can change the state of the field device 90 depending on the operation result.
[0036] The PLC 100 executes an I / O refresh 93 for each control period, and executes a control operation by the control module 81. More specifically, when the I / O refresh 93 is executed, the PLC 100 writes the status values 92 received from each field device 90 to an I / O variable table 94, and transmits the control command 91 written in the I / O variable table 94 to the field device 90. The I / O refresh 93 is an embodiment of an "acquisition means" for acquiring a plurality of status information items indicating the status of the manufacturing equipment. The control command 91 indicates a value related to the control of the field device 90. When the control operation is executed, the PLC 100 calculates a value related to the control based on the status values 92 in the I / O variable table 94, and updates the control command 91 in the I / O variable table 94 based on the calculation result. In this way, the PLC 100 executes the I / O refresh 93 and the control operation for each control period, thereby being able to keep the control command 91 and the status values 92 in the I / O variable table 94 up to date.
[0037] Furthermore, with regard to the collection of measurement values, the PLC 100 has a causal model 70, an event detection module 82, a collection target determination module 83, and a collection engine 84 that collects measurement values. The PLC 100 also has a switching unit 86 for switching the measurement values to be collected in association with the collection engine 84, and a buffer 85 for storing the collected information. The PLC 100 also has a backup engine 88 and a time-series DB (Data Base) 87 for backing up the collected information.
[0038] The causal model 70 has causal relationships between multiple events that may occur in the manufacturing equipment to be controlled, and for each event, an identifier of a measurement value related to the event. The causal model 70 is stored in the storage unit of the PLC 100. The multiple events include a result event in the causal relationship and one or more causal events that are factors that cause the result event, and the result event and the causal event that caused the result event can be statistically obtained for the manufacturing equipment. In this embodiment, the control program is a program that follows variable programming, so the identifier of the measurement value related to each event corresponds to the variable name assigned to the measurement value.
[0039] In this embodiment, the concept of "event" includes changes in the state of the manufacturing equipment to be monitored, abnormalities, signs of state changes (abnormalities), and the like.
[0040] The event detection module 82 detects an event to be monitored based on a measurement value that is identified by an identifier corresponding to the event to be monitored in the causal model 70, out of the multiple measurement values in the I / O variable table 94.
[0041] For example, the event detection module 82 compares the change over time of the measured value identified by the identifier corresponding to the monitored event with a predetermined change pattern (change tendency) and detects the change in the state based on the result of the comparison. Furthermore, if a pattern for detecting an anomaly is used as the change pattern, the occurrence of an anomaly can be detected based on the result of the comparison.
[0042] The event detection module 82 also includes a sign detection module 821 that detects signs of an event of a monitoring target using a prediction model.
[0043] The above-mentioned events to be monitored are specified by selected event data 160 received by the PLC 100 through a user operation. In this embodiment, the PLC 100 executes the event detection module 82 in synchronization with the above-mentioned control period.
[0044] In response to detection from the event detection module 82, i.e., when a monitored event is detected, the collection target determination module 83 determines one or more events related to the monitored event based on the causal relationships in the causal model 70. For example, when a certain event occurs, the collection target determination module 83 scans the causal relationships and determines one or more events Y related to the event X based on the results of the scan. The collection target determination module 83 obtains an identifier corresponding to each event Y determined to be a monitored event from the causal model 70, and outputs the collection switching command 61 having the obtained identifier.
[0045] The switching unit 86 controls the collection engine 84 in accordance with the collection switching command 61 from the collection target determination module 83 to read out the measurement value identified by the identifier indicated by the collection switching command 61 from the I / O variable table 94 .
[0046] The collection engine 84 has a first collection unit 841 that, during operation, reads out measurement values identified by identifiers indicated by standard target designation data 162 (described later) from the I / O variable table 94 and collects them in time series. When controlled by the switching unit 86, the collection engine 84 switches the measurement values to be collected. For example, the collection engine 84 starts collecting measurement values related to an event Y determined by the collection target determination module 83, in addition to the measurement values that have been collected up until then by the first collection unit 841 according to the standard target designation data 162. In this embodiment, "collection" refers to a series of processes from reading out measurement values from the I / O variable table 94 to storing the read measurement values in the buffer 85 with a timestamp indicating the time when the event was detected.
[0047] The backup engine 88 executes a backup process of the information stored in the buffer 85. The backup process includes, for example, a process of copying the information in the buffer 85 and storing (writing) the copied information in a storage medium different from the buffer 85. The storage medium in which the copied information is stored typically includes a nonvolatile storage medium having a nonvolatile storage area. The backup engine 88 constitutes a means for storing the measurement values 95 collected by the collection engine 84 in the storage unit (time-series DB 87).
[0048] The storage area into which information is written by the backup engine 88 constitutes a time-series DB 87. The time-series DB 87 has, for example, an area E1 and an area E2. Area E1 stores records 50 of information collected when a monitored event is detected, and area E2 stores records 60 of information collected at other times.
[0049] The record 50 in area E1 includes a time 51, a detected event 52 of the monitoring target, and a collected value 53. The collected value 53 includes an event ID 531 of an event related to the event 52 of the monitoring target in a causal relationship, one or more identifiers 532 associated with the related event, and a measured value 95 identified by each identifier 532. The time 51 is the time when the event 52 of the record 50 was detected and indicates the timestamp attached to the measured value 95 by the collection engine 84. The record 60 in area E2 includes a time 51 and a collected value 54. The collected value 54 includes a measured value 95 and an identifier 532 of the measured value 95.
[0050] The time-series DB87 is provided in the PLC100 in this embodiment, but may be provided outside the PLC100. For example, the time-series DB87 may be configured by a storage medium detachably attached to the PLC100 or a storage managed by an information processing device including an external server. The external server may include a cloud-based server or an on-premises server.
[0051] When the PLC100 detects an event of the monitoring target selectively specified by the user in the control target, it determines one or more events related to the event of the monitoring target from the causal relationship of the causal model 70, and collects the measured values 95 (including the control command 91 and the state value 92) related to the event of the monitoring target and each determined event. Therefore, the PLC100 can collect information of a type corresponding to the detected event, that is, corresponding to the state of the manufacturing equipment of the control target. Hereinafter, more specific application examples of this embodiment will be described.
[0052] <B. Configuration Example of Hardware> FIG. 2 is a diagram schematically showing the configuration of the control system 10 according to the embodiment of the present invention. Referring to FIG. 2, the control system 10 applicable to FA has a network connected at a plurality of levels, and although not limited, for example, four levels of networks 11, 12, 13, and 14 are provided.
[0053] The network 11 is a control level network. In addition to the multiple PLCs 100A, 100B, and 100C and HMI (Human Machine Interface) 280 shown in FIG. 1, an equipment / line management device 190 is connected to the network 11. The equipment / line management device 190 and HMI 280 correspond to devices that manage the equipment and production line connected to the network. In FIG. 2, three PLCs 100A, 100B, and PLC 100C are connected to the network 11, but the number of devices is not limited. In the following description, PLCs 100A, 100B, and PLC 100C are collectively referred to as PLC 100.
[0054] Network 12 is connected to equipment / line management device 190, which manages equipment and lines, and manufacturing management devices 380 and 390, which manage manufacturing plans and the like. Equipment / line management device 190 and manufacturing management devices 380 and 390 exchange management information such as manufacturing plans, and equipment or line information, via network 12.
[0055] Network 13 is provided as a computer-level network. Manufacturing management devices 380 and 390, and a manufacturing execution system (EMS) 410 that manages data using a storage unit 450 are connected to network 13. Manufacturing management devices 380 and 390, and manufacturing execution system 420 exchange production management and information system data via network 13. Storage unit 450 includes an area for storing data of time-series DB 87.
[0056] The network 14 includes an external network such as the Internet. The manufacturing execution system 420 and external devices on the cloud are connected to the network 14. The manufacturing execution system 420 transfers data in the time-series DB 87 to the cloud computing device by exchanging data with the devices on the cloud.
[0057] The protocol of networks 11 and 12 belonging to the factory network may be EtherNet / IP (registered trademark), which is an industrial open network that implements a control protocol on general-purpose Ethernet (registered trademark). Also, EtherCAT (registered trademark), which is an example of a machine control network, may be adopted as the protocol of network 110. Note that the protocol of network 11 (first protocol) and the protocol of network 110 may be the same or different. By adopting such a network technology suitable for machine control, it is possible to provide real-time performance with a guaranteed time required for transmission between devices.
[0058] In order to ensure a diversity of connection destinations, a general-purpose Ethernet or the like is used as a protocol for the networks 13 and 14. By adopting a general-purpose Ethernet, restrictions on the amount of data that can be transmitted can be eliminated.
[0059] One or more field devices 90 of a manufacturing facility are connected to the PLC 100 via a network 110. In some cases, the field devices 90 are directly connected to the PLC 100 via an associated input / output unit (not shown). Each of the field devices 90 includes an actuator that exerts some physical action on the manufacturing facility, and an input / output device that exchanges information with the field.
[0060] Data exchanged between the PLC 100 and the field device 90 via the network 110 is updated at very short intervals of the order of several hundreds of μsec to several tens of msec. The update process of such exchanged data is realized by an I / O refresh 93.
[0061] The PLC 100 can be connected to the support device 500. The support device 500 provides support tools to assist the user in operating the control system 10. The support tools include preparation setting tools such as the execution environment of the control program or the communication environment with the PLC 100, and also include the creation tool for the causal model 70, the creation tool for the prediction model or the learning model used by the omen detection module 821. The support tools are provided to the user, for example, through a UI (User Interface).
[0062] The HMI 280 provides a SCADA (Supervisory Control And Data Acquisition) function, graphically displays data for monitoring or controlling the system processed by SCADA, and accepts user operations. In the control system 10, the PLC 100, the support device 500, and the HMI 280 are configured separately, but a configuration may be adopted in which all or part of these functions are integrated into a single device. The support device 500 may be connected to the network 11, or may be built into the PLC 100, or may be provided as a portable terminal.
[0063] The PLCs 100A, 100B, and 100C connected to the network 11 of the control system 10 are respectively provided for different processes 3A, 3B, and 3C. In the present embodiment, each of the PLCs 100A, 100B, and 100C has the configuration shown in FIG. 1, and collects measurement values related to events related to the monitored event to be detected based on the causal relationship corresponding to the control target (manufacturing equipment of the process) of the PLC.
[0064] <C. Time Synchronization> In the network 110 of FIG. 2, since the arrival time of data needs to be guaranteed, the PLC 100 and the field device 90 connected to the PLC 100 have timers that are time-synchronized with each other. The PLCs 100A, 100B, and 100C have timers 101A, 101B, and 101C that are time-synchronized with each other. Thereby, the control system 10 realizes coordinated control based on the synchronized times of a plurality of field devices 90 connected to different PLCs 100, that is, a plurality of field devices 90 between different processes. Hereinafter, in the common description of the timers 101A, 101B, and 101C, they are collectively referred to as the timer 101. "Time synchronization" means that the time of the timer 101 of the PLC 100 is adjusted to the time of the timer of another PLC 100. In time synchronization, a timer with high accuracy is used as the master, and other timers are used as slaves, and the slaves are adjusted to match the master. The master determines, for example, the timer 101 of the PLC 100 that the control system 10 has, which has the highest accuracy, but the method for determining the master is not limited to this.
[0065] The time 51 attached to the collected values 53 and 54 of the time-series DB87 of the PLC 100 shown in FIG. 1 corresponds to a time stamp based on the output of the timer 101. Thereby, among the collected values 53 collected by each PLC 100, the same time stamp indicating the same time 51 can be attached to the collected values 53 collected at a common timing among the PLCs 100. The same applies to the collected value 54.
[0066] Note that in the present embodiment, the "time 51" represents a concept such as the timing at which some event occurs, or a time width shorter than time, or a time, or a certain moment.
[0067] <Configuration of the PLC 100> 3 is a block diagram showing an example of a hardware configuration of a PLC 100 according to the present embodiment. The PLC 100 includes a processor 102, a chipset 104, a main memory device 106, a secondary memory device 108, a host network controller 105, a Universal Serial Bus (USB) controller 107, a memory card interface 114, a field network controller 118, a timer 126, and an input / output I / F (Interface) 127 that connects an operation panel 129. The operation panel 129 is provided as a touch panel equipped with a display 130 that displays information. A user can input information including selected event data 160 to the PLC 100 via the operation panel 129.
[0068] The processor 102 is composed of a central processing unit (CPU), a microprocessor unit (MPU), a graphics processing unit (GPU), etc., and realizes control according to the control target and various processes to be described later by reading various programs stored in the secondary storage device 108, and expanding and executing them in the main storage device 106. The secondary storage device 108 is composed of a non-volatile storage device such as a hard disk drive (HDD) or a solid state drive (SSD), for example.
[0069] The chipset 104 realizes processing of the PLC 100 as a whole by controlling the processor 102 and each device.
[0070] The upper network controller 105 exchanges data with the HMI 280, the manufacturing execution system 420, or a device on the cloud (see FIG. 2) via the upper network 11. The USB controller 107 controls the exchange of data with the support device 500 via a USB connection.
[0071] The memory card interface 114 is configured to allow a memory card 116 to be attached and detached, and is capable of writing various data to the attached memory card 116 and reading various data from the memory card 116. The memory card 116 constitutes an external storage medium in which the time-series DB 87 is stored by the backup engine 88.
[0072] The timer 126 is used as a time reference for managing the execution timing of various processes in the PLC 100. The timer 126 is typically configured to include a counter that increments or decrements a counter value at predetermined intervals. The timer 101 can be configured by the timer 126.
[0073] The field network controller 118 controls the exchange of data between the PLC 100 and the field devices 90 via the network 110 .
[0074] The secondary storage device 108 stores system programs for implementing basic functions including an OS (Operating System) 150, a scheduler program 151 for implementing a scheduler described later, an I / O refresh program 152 for implementing an I / O refresh 93, a UPG, a backup program 159, one or more causal models 70, selected event data 160, an event selection UI program 161 executed to provide an event selection UI described later, standard target designation data 162, backup conditions 163, and multiple learning models 164 and prediction models 165 used to determine the occurrence of each event. The learning models 164 and prediction models 165 are assigned corresponding event IDs.
[0075] UPG 153 includes a control program 154 for realizing a control calculation of a control target, an event detection program 155 that realizes an event detection module 82 when executed, a collection target determination program 156 that realizes a collection target determination module 83 when executed, a collection program 157 that realizes a collection engine 84 when executed, a switching program 158 that realizes a switching unit 86 when executed, and a backup program 159 that realizes a backup engine 88 when executed. Event detection program 155 includes a symptom detection program 1551 that realizes a symptom detection program 1551 when executed.
[0076] The one or more causal models 70 include a causal model 70 for each manufacturing facility, i.e., for each process. The PLC 100 collects information using, of the one or more causal models 70, a causal model 70 corresponding to the process in which the PLC 100 is located.
[0077] The standard target specification data 162 includes data specifying the identifiers of the multiple measured values 95 that should be collected by the collection engine 84 as standard. In this embodiment, the measured values 95 that should be collected as standard include measured values 95 identified by each variable of a collection target variable group 553 (described later) for each event of the causal model 70.
[0078] The backup conditions 163 indicate conditions regarding the backup of the data in the buffer 85 by the backup engine 88. The backup based on the backup conditions 163 will be described later.
[0079] The processor 102 reads out the program from the secondary storage device 108, develops it in the main storage device 106, and executes it.
[0080] FIG. 1 shows a configuration example in which various modules are provided by the processor 102 executing a program. However, some or all of these provided modules may be implemented using dedicated hardware circuits (e.g., ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array), etc.). Alternatively, the main part of the PLC 100 may be realized using hardware that follows a general-purpose architecture (e.g., an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs (Operating Systems) with different uses in parallel and to execute necessary applications on each OS.
[0081] <E. Example of Event Detection Method> The event detection module 82 according to the present embodiment detects an event by executing an inference process for inferring whether or not an event has occurred using, for example, a learning model 164 corresponding to the event to be monitored. The inference process is not limited, but the processor 102 calculates a feature amount based on the measured value 95 related to the event to be monitored acquired by the I / O refresh 93, evaluates the degree of deviation from the learning model 164 (also referred to as an inference model) of the feature amount, and detects (infers) whether or not an event has occurred according to the evaluation result. The model data of the learning model 164 can be determined by a known data mining method. Examples of methods applicable to the inference process based on the degree of deviation include the k-nearest neighbor method, the LoF (local outlier factor) method, the iForest (isolation forest) method, etc. Also, as another method, DBT (Deep Binary Tree) can be used. The inference process can appropriately update the model data based on the result of learning or a rule base.
[0082] Also, the omen detection module 821 according to the present embodiment calculates the values of the feature quantities used for obtaining the prediction model 165 corresponding to the event to be monitored from the measurement values 95 identified by the identifier corresponding to the event to be monitored. The omen detection module 821 applies the calculated values of the feature quantities to the prediction model 165 to detect whether there is an omen of the event to be monitored in the manufacturing facility. The support device 500 creates the prediction model 165. More specifically, for each of the normal time when the manufacturing facility normally produces a product and the abnormal time when an abnormality occurs in the produced product, the feature quantities are obtained from the measurement values 95 of the manufacturing facility, and from among the plurality of types of feature quantities obtained at the normal time and the abnormal time, based on a predetermined algorithm, the feature quantities significant for predicting the abnormality are extracted, and using the extracted feature quantities, a prediction model 165 for predicting the occurrence of the abnormality is created. Note that the method for creating the prediction model 165 is not limited to this.
[0083] <Hardware Configuration of Support Device 500> FIG. 4 is a diagram schematically showing the hardware configuration of the support device 500 according to the present embodiment. Referring to FIG. 4, the support device 500 includes a CPU 510, a memory 511 composed of a volatile storage device such as a DRAM (Dynamic Random Access Memory), a timer 512, a hard disk 513 composed of a non-volatile storage device such as an HDD, an input interface 514 to which a keyboard 522 is connected, a display controller 515 for controlling a display 520, a communication interface 516 for communicating with the PLC 100 or the device / line management device 190 via USB, and a data reader / writer 517 for reading and writing data of a memory card 519 that is detachably attached. These respective units are connected via a bus 518 so as to be capable of data communication with each other.
[0084] The CPU 510 reads the program from the hard disk 513, expands it in the memory 511, and executes it. The program stored in the hard disk 513 includes a system program including the OS 520 and a support program 521. When the support program 521 is executed, it provides various support tools to assist the user in operating the control system 10.
[0085] Note that the memory card 116 in FIG. 3 and the memory card 519 in FIG. 4 include a volatile storage medium or a non-volatile storage medium, for example, a general-purpose semiconductor storage device such as CF (Compact Flash, registered trademark), SD (registered trademark, Secure Digital), or a magnetic storage medium such as a flexible disk (Flexible Disk), or an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory).
[0086] The support device 500 transfers the causal model 70 created by the support tool and the learning data or prediction model for detecting events or omens to the PLC 100.
[0087] <G. Examples of Events and Measured Values of Manufacturing Equipment> FIG. 5 is a schematic diagram showing an example of manufacturing equipment according to the present embodiment. Although FIG. 5 shows a packaging machine 400 as an example, the manufacturing equipment is not limited to the packaging machine 400. With reference to the packaging machine 400 in FIG. 5, the events to be monitored and the measured values 95 to be collected will be described.
[0088] The packaging machine 400 is composed of a plurality of mechanisms that operate in cooperation with each other. Specifically, it includes a supply mechanism 402 for the packaging base material 410, a cutting mechanism 406 for cutting the packaging material 412 to generate individual packages 418, and a work transfer mechanism 404 for transferring the work 414 covered with the packaging material 412 from the supply mechanism 402 to the cutting mechanism 406. The supply mechanism 402 and the cutting mechanism 406 constitute a film transfer mechanism.
[0089] The supply mechanism 402 sequentially delivers roll-shaped packaging material 410 using supply rollers 408, and covers workpieces 414 supplied from a line not shown with the packaging material 410, thereby continuously supplying packaging material 412 containing workpieces 414 to the work transport mechanism 404.
[0090] The workpiece conveying mechanism 404 sequentially conveys the packaging material 412 in which the workpiece 414 is enclosed to the cutting mechanism 406 in a conveying direction 411. The cutting mechanism 406 drives a pair of cutting rollers 416 in accordance with a predetermined timing to cut and seal the packaging material 412 and sequentially generate individual packages 418.
[0091] For example, the PLC 100 can acquire the torque value generated in the supply roller 408 of the supply mechanism 402 and the torque value generated in the cutting roller 416 of the cutting mechanism 406 as the status values 92. Based on the temporal changes in the status values 92 collected from each of these mechanisms, it is possible to detect an event or a sign of an event to be monitored for the packaging machine 400. The torque value of the cutting roller 416 is measured, for example, by the torque sensor 401, and the torque value of the supply roller 408 is similarly measured by a torque sensor (not shown). The PLC 100 acquires the measurement values of these sensors as the status values 92.
[0092] In the packaging machine 400, for example, the torque fluctuates relatively greatly at the timing of cutting by the cutting roller 416, and the torque generated by the supply roller 408 may also fluctuate due to the influence of cutting the packaging material 412. That is, there is a significant correlation between the torque value generated by the supply roller 408 and the torque value generated by the cutting roller 416. Therefore, for example, when "roller imbalance abnormality" is specified as an event to be monitored by the selected event data 160, the event detection module 82 acquires the torque value generated by the supply roller 408 and the torque value generated by the cutting roller 416 as the state value 92 related to the event, and detects the event using the acquired torque values and a learning model. In addition, the precursor detection module 821 can detect a precursor of the event by applying these acquired torque values to a prediction model.
[0093] The work transport mechanism 404 of the packaging machine 400 has, for example, a pair of rollers 55 and 56 on the upstream and downstream sides of the transport direction 411, and a transport belt 417 is stretched between the two rollers with an appropriate tension. The packaging material 412 on the transport belt 417 is transported in the transport direction 411 by the rotation of both rollers.
[0094] In the workpiece transport mechanism 404, for example, the rollers 55 and 56 are attached to the rollers with the rotation axes of the rollers at a predetermined inclination angle with respect to a virtual axis extending in the transport direction 411. The inclination angle of the rotation axis may vary due to vibrations caused by the transport or cutting operation of the cutting roller 416. This variation may be larger in the roller 56 closer to the cutting roller 416. When the inclination angle of the rotation axes of the rollers 55 and 56 varies, the torque value generated in the rollers also varies with this variation. Therefore, the inclination angle of the rotation axis and the torque value have a significant correlation. In the workpiece transport mechanism 404, when the inclination angle of the rotation axes of the rollers 55 and 56 varies, the phenomenon of "vibration of the transport system" or "distortion of the transport system" may occur. Therefore, for example, when "vibration of the conveyor system" or "distortion of the conveyor system" is specified as an event to be monitored by the selected event data 160, the event detection module 82 acquires the torque values generated by the rollers 55 and 56 and the tilt angles of the rotation shafts of the rollers 55 and 56 as state values 92 related to the event, and detects the event using the acquired torque values, tilt angles, and learning model. Also, the precursor detection module 821 can detect a precursor of the event by applying the acquired tilt angles and torque values to a prediction model. The tilt angles and torques of the rotation shafts of the rollers 55 and 56 are measured by the tilt sensor 57 and the torque sensor 58, respectively.
[0095] In addition, the packaging machine 400 has a camera 409 that images the conveyance path. The camera 409 processes the captured image using the feature amount of the image, and as the state value 92, detects the amount of meandering or the degree of undulation of the film of the resin material constituting the packaging material 412. The state value 92 output by the camera 409 includes this amount of meandering or the degree of undulation.
[0096] When fluctuations occur in the torque value of the supply roller 408 or the cutting roller 416 described above, fluctuations in the torque value of the roller 55 or the roller 56, fluctuations in the inclination angle of the rotation axis of the roller 55 or the roller 56, etc., the greater the fluctuations, the greater the physical action on the packaging material 412, and as a result, the above-mentioned film meandering or undulation occurs. Therefore, there is a significant correlation between the torque value of the supply roller 408 or the cutting roller 416, the torque value of the roller 55 or the roller 56, the inclination angle of the rotation axis of the roller 55 or the roller 56, and the film meandering amount or undulation amount. Thus, for example, when "film meandering" or "film undulation" is designated as the event to be monitored by the selection event data 160, the event detection module 82 acquires, as the measurement value 95 related to the event, the torque value of the supply roller 408 or the cutting roller 416, the torque value of the roller 55 or the roller 56, the inclination angle of the rotation axis of the roller 55 or the roller 56, and the film meandering amount or undulation amount, and uses these acquired state values 92 and the learning model to detect the event. Also, the omen detection module 821 can detect an omen of the event by applying these acquired state values 92 to the prediction model.
[0097] <H. Configuration of Causal Model> FIG. 6 is a diagram schematically showing an example of the causal model 70 according to the present embodiment. In the present embodiment, the causal model 70 is created for each process in which the PLC 100 can be arranged by the support device 500, that is, for each manufacturing facility. FIG. 6 shows the causal model 70 of the packaging machine 400 in FIG. 5 as the manufacturing facility.
[0098] 6, the causal model 70 includes a partial model 71 showing a causal relationship corresponding to the controlled mechanisms constituting the manufacturing equipment, i.e., the supply mechanism 402 and the cutting mechanism 406, and a partial model 72 showing a causal relationship corresponding to the work transport mechanism 404. The causal model 70 shows a causal relationship between a plurality of types of events that may occur, i.e., may be detected, in the manufacturing equipment. More specifically, the causal model 70 includes nodes N(i) (where i=1, 2, 3, . . .) corresponding to each of a plurality of events, and each node N(i) is connected to one or more nodes N(i) by an arrow edge. In this way, a causal relationship is shown by an edge connecting one node N(i) to one or more nodes N(i). More specifically, for each node N(i), one or more other edges extending from the node N(i) to the left side of the drawing show a causal relationship in which the node N(i) is a result event and the other one or more nodes N(i) are cause events. In contrast, for each node N(i), one or more other edges extending from the node N(i) to the right side of the drawing indicate a causal relationship in which the node N(i) is a cause event and the other one or more nodes N(i) that may occur are result events. Thus, in causal model 70, an event corresponding to node N(i) can be either a cause event or a result event, or both, in a causal relationship.
[0099] In a manufacturing facility, for example, when an event X occurs, it can be defined as a function P(Xm:Yn) indicating a possibility P that a factor Yn is a factor causing an event Xm (n, m: both are positive integers). FIG. 7 is a diagram showing an example of calculation of a causal relationship according to this embodiment. Referring to FIG. 7, the support device 500 implements the function P(Xm:Yn) as a two-dimensional array, thereby making it possible to calculate, for any event Xm, the possibility that each factor Yn caused the event Xm.
[0100] Furthermore, complex factors in which multiple factors are related to one event can be defined as a multidimensional function. For example, it can be defined as a function P(Xm:Yn',Yn") which indicates the possibility P that factors Yn' and Yn" are factors that caused event Xm (n, m: both positive integers) when an event X occurs. It is also possible to associate more factors. Alternatively, the correlation coefficient a(Yn',Yn") between factors may be obtained in advance, and the complex factors for event Xm may be identified by multiplying the product of functions P(Xm:Yn') and P(Xm:Yn") by the correlation coefficient a(Yn',Yn").
[0101] By carrying out such an analysis, the support device 500 calculates the possibility of each factor causing an event Xm in the manufacturing facility, and outputs the causal relationship based on the calculation results.
[0102] Causal relationships can be identified using such functions by using so-called big data analysis techniques, etc., from data generated in the past at the manufacturing equipment to be controlled, or data obtained at manufacturing equipment similar to the manufacturing equipment to be controlled.
[0103] FIG. 8 is a diagram showing an example of a data structure of a node N(i) of the causal model 70 of FIG. 6. Referring to FIG. 8, the node N(i) of an event includes an event ID 551 for identifying the event, a read variable group 552 including one or more variable names of measurement values, a collection target variable group 553 including one or more variable names of measurement values, a pointer 554 to a previous event, and a pointer 555 to a next event. The event ID 551 includes the name of the event, etc. The read variable group 552 indicates variable names RV(j) (j=1, 2, 3, . . . , n) of one or more measurement values 95. When the node N(i) is a monitoring target event according to the selected event data 160, the event detection module 82 acquires the measurement value 95 identified by the variable name RV(j) indicated by the read variable group 552 of the node N(i) and detects the event based on the acquired measurement value 95. The sign detection module 821 also detects signs of an event using a measurement value 95 identified by a variable name indicated by the read variable group 552. The collection target variable group 553 indicates variable names CV(k) (k=1, 2, 3, . . . , n) of one or more measurement values 95. When a node N(i) is an event determined by the collection target determination module 83, the collection engine 84 collects a measurement value 95 identified by an identifier of the variable name CV(k) of the collection target variable group 553 of the node N(i). The collection target variable group 553 may include a variable name of the corresponding read variable group 552.
[0104] The pointer 554 to the previous event indicates one or more nodes N(i) located on the right side of the drawing in the causal relationship of FIG. 6, and the pointer 555 to the next event indicates one or more nodes N(i) located on the left side of the drawing in the causal relationship of FIG. 6. These multiple nodes N(i) may constitute the composite factors described above for the event. In FIG. 8, one node N(i - 1) is indicated by the pointer 554 to the previous event, and one node N(i + 1) is indicated by the pointer 555 to the previous event, but the number of nodes N(i) indicated by each pointer may be multiple. In addition, when there is no next event or previous event in the causal relationship, null is set for the pointer of the node N(i). In this embodiment, the structure of the causal model 70 is shown using pointers, but the structure of the causal model 70 is not limited to the structure using pointers as long as the causal relationship can be defined.
[0105] In this embodiment, when the support program 521 is executed by the user operating the support device 500, the CPU 510 generates a causal model 70 of the manufacturing facility to be controlled. More specifically, the CPU 510 calculates the causal relationship by executing the operations in FIG. 7. In addition, the CPU 510 sets the read variable group 552 and the collection target variable group 553 for each node N(i) of the causal relationship based on the user operation via the keyboard 522. For example, the user specifies the FB (function block) related to the event of the node N(i) from the control program 154 displayed by the CPU 510, and extracts the variable names of the input / output values of the specified FB from the list of variable names defined in the control program 154. The CPU 510 sets the variable names extracted by the user in the read variable group 552 or the collection target variable group 553 of the node N(i) of the event. The support device 500 installs the generated causal model 70 in the PLC 100.
[0106] <I. Specification of Events to be Monitored> In this embodiment, when the event selection UI program 161 is executed, the processor 102 realizes means for displaying on the display 130 a UI including an image representing the causal relationship between a plurality of events, and means for receiving a user operation for designating an event to be monitored from among the plurality of events in the causal relationship.
[0107] FIG. 9 is a diagram showing an example of a UI screen for designating an event to be monitored according to this embodiment. When the event selection UI program 161 of the PLC 100 is executed, the processor 102 controls the display 130 according to the display control data based on the causal model 70. As a result, the display 130 displays the UI screen shown in FIG. 9. Referring to FIG. 9, the UI screen displays while assigning the name of the event ID 551 of the node N(i) to the causal relationship. The user selects the node N(i) of the event to be monitored in the causal relationship of the UI screen via the operation panel 129 according to the message 131 on the UI screen. In FIG. 9, the selected event is highlighted. For example, "abnormal roller balance", "film meandering", "film ripple", and "film biting" are selected. The processor 102 receives the selected event data 160 indicating these events.
[0108] <J. Periodic Control> In this embodiment, an environment in which backup can be performed is provided while guaranteeing the execution of the UPG of the control calculation and data collection process within a predetermined period. The predetermined period corresponds to, for example, the control period. FIG. 10 is a diagram showing the processing according to this embodiment in association with the control period 30. The processing executed within the control period of FIG. 10 is similarly implemented for each PLC 100.
[0109] The PLC 100 realizes a scheduler by executing a scheduler program 151. The scheduler manages a plurality of programs to be executed by the processor 102 in order of priority within a control period 30 based on the output of a timer 126. The plurality of programs managed by the scheduler mainly include a first program and a second program. The first program is a program with a high priority to be executed by the processor in the control period 30, and includes an I / O refresh program 152 and a UPG. The UPG includes a control program 154 for control calculation and a program related to collection processing. The program related to collection processing has an event detection program 155 (a sign detection program 1551), a collection target determination program 156, a collection program 157, and a switching program 158.
[0110] The second program has a lower execution priority than the first program and includes a program for a second process to be executed during the idle time 73 of the processor 102 in the control period 30. More specifically, the second process includes a backup process, and the second program includes a backup program 159. Thus, when an event to be monitored is detected within the control period 30, the measured value 95 identified by the variable name of the collection target variable group 553 corresponding to one or more events related to the event to be monitored in the causal relationship can be collected and backed up. In the backup, data compression processing may be executed.
[0111] In the present embodiment, it is assumed that the collection processing is executed every control period 30, but the execution period may be settable. Also, the backup processing may be executed every N times (N = 1, 2, 3, ···) the control period 30. The execution period of the backup processing can be specified by a backup condition 163.
[0112] <K. Processing Flowchart> Fig. 11 is a flowchart showing an example of the processing of the event selection UI according to the present embodiment. When the event selection UI program 161 is executed, the processor 102 presents the UI screen of Fig. 9 on the display 130 based on the causal model 70 (step S5), accepts a user operation via the UI screen, that is, an operation to select an event to be monitored (step S7), and sets the selected event data 160 based on the accepted user operation (step S8).
[0113] 12 is a flowchart showing an example of a collection process according to the present embodiment. When the PLC 100 is in operation, the processor 102, as the collection engine 84, collects measured values 95 identified by variables specified by the standard target specification data 162 (step S10). In parallel with this collection, the processor 102, as the event detection module 82, detects an event specified by the selected event data 160 (step S12). In step S12, a sign of the specified event may be detected.
[0114] If a monitored event is not detected (NO in step S13), the series of processes ends, but if a monitored event is detected (YES in step S13), the processor 102 starts collecting data on the monitored event.
[0115] More specifically, the processor 102, as the collection target determination module 83, scans the causal relationships of the causal model 70 based on the node N(i) of the detected event to identify nodes N(i) corresponding to one or more related events, and determines the collection target variable group 553 of each identified node N(i) as collection target data (step S15). The processor 102 outputs the collection switch command 61 including the names of each variable in the determined collection target variable group 553 (step S17).
[0116] The processor 102 controls, as the switching unit 86, the collection engine 84 to switch to the collection target including the collection target variable group 553 in accordance with the collection switching command 61 (step S19). As the collection engine 84, the processor 102 starts collecting the collection target variable group 553 in addition to the previous collection target (i.e., the standard collection target).
[0117] The processor 102 determines whether the backup condition 163 is satisfied (step S21). If it is determined that the backup condition 163 is not satisfied (NO in step S21), the series of processes ends. However, if it is determined that the backup condition 163 is satisfied (YES in step S21), the processor 102 performs backup processing as the backup engine 88 (step S23).
[0118] <L. Determination of Causal Relationship of Scanning Target> The processor 102 may be provided with means for detecting an operating mechanism among a plurality of mechanisms that are control targets of the manufacturing facility, and determine that the causal relationship to be scanned is the causal relationship corresponding to the operating mechanism.
[0119] More specifically, as shown in FIG. 5, in the manufacturing facility, the film conveyance mechanism and the work conveyance mechanism 404 operate in cooperation with each other. However, when the type of the work 414 is changed, one of these mechanisms stops, and only the other mechanism operates to manufacture the work. The processor 102 detects which mechanism is operating, and enables one or both of the causal models 70 corresponding to the detected mechanism, that is, the partial model 71 or the partial model 72, so that the causal relationship becomes the scanning target.
[0120] In the present embodiment, the processor 102 detects an operating mechanism from the state value 92 of a predetermined variable or the measured value 95 of the control command 91 acquired via the I / O variable table 94. For example, when it is determined that the variable of the supply roller 408 or the cutting roller 416 indicates a significant value, the film conveyance mechanism is detected, and when it is determined that the variable of the roller 55 or the roller 56 indicates a significant value, the work conveyance mechanism is detected as being in operation, respectively.
[0121] The processor 102 sets a causal model (sub-model 71 or sub-model 72) corresponding to the operating mechanism as the scanning target. The processor 102 scans the causal relationship of the scanning target based on the event to be monitored as the event detection module 82 (or the omen detection module 821), and detects whether the event to be monitored has occurred based on the measured value 95 identified by the variable name of the read variable group 552 corresponding to the event specified by the scan. Note that the method for determining the operating mechanism is not limited to the method of determining from the measured value 95, and for example, it may be determined from a user operation.
[0122] Thereby, the processor 102 can narrow down the causal relationship to be scanned to the causal relationship corresponding to the operating mechanism, and can shorten the scanning time and reduce the load related to the scanning of the causal relationship compared to the case of scanning the causal relationships corresponding to all the mechanisms of the manufacturing facility.
[0123] <M. Retroactive backup> In the present embodiment, when an event to be monitored is detected, the data collected in a predetermined period retroactively from the detection time 51 can also be backed up.
[0124] More specifically, each record 60 collected by the collection engine 84 in accordance with the variable name specified by the standard target specification data 162 includes a wide range of collection values 54 of the manufacturing facility including the collection value 54 of the event to be monitored. When an event to be monitored is detected, the backup engine 88 stores, in the time-series DB 87, the measurement values 95 identified by each identifier of the collection target variable group 553 corresponding to the event to be monitored among the measurement values 95 collected by the first collection unit 841, where the measurement values 95 are collected in a predetermined period retroactively from the detection time 51 of the event to be monitored.
[0125] More specifically, when an event (or omen of an event) to be monitored is detected, the backup engine 88 backs up and stores in the area E1 the records 60 in the buffer 85 collected in a predetermined period retroactively from the detection time 51, where each record 60 has an identifier 532 for each variable name of the collection target variable group 553 corresponding to the event to be monitored. The length of this predetermined period may be set according to the type of the event to be monitored, and may be specified by the backup condition 163, for example.
[0126] Thereby, as an analysis target of the factor causing the event to be monitored, it is possible to include the measurement values 95 collected retroactively from the time when the event to be monitored is detected.
[0127] <Backup due to the state of other PLCs 100> In the present embodiment, the PLC 100 may collect the measurement values 95 in response to commands transmitted from other PLCs 100.
[0128] More specifically, when PLC 100 detects a monitored event, it transmits a command to the other PLC. This command includes the variable names of collection target variable group 553 corresponding to each event determined by collection target determination module 83, the time 51 at which the event was detected, and a collection command. When the other PLC 100 receives the command, it causes collection engine 84 to collect measured values 95 identified by the variable names specified in the command in accordance with the collection command. In the other PLC 00, records 60 having the collected measured values 95 are stored in time-series DB 87 by backup engine 88.
[0129] When equipment in the manufacturing facility of the PLCs 100 is common to the PLCs 100, the equipment is time-synchronized, so that the control system 10 can acquire backup data including collected values 54 of the equipment acquired individually by different PLCs 100 (different processes) by substantially matching the time axis indicated by the time 51 of the backup data between the different PLCs 100. Therefore, by specifying the time 51 during analysis, it is possible to easily identify the backup data corresponding to the specified time 51 for the equipment common to the different PLCs 100. This allows the analysis to be performed efficiently.
[0130] The above commands may include time period data that specifies the period of time to be collected. (n1. Aggregation and Management) Any one of the multiple PLCs 100 collects records 50 or 60 from each of the other PLCs 100 and stores them in the time-series DB 87 .
[0131] More specifically, any one of the PLCs 100 responds to a predetermined trigger and receives from each of the other PLCs 100 the measured values 95 (record 50 or record 60) collected for the events to be monitored in that PLC 100, and stores them in the time-series DB 87 of that one PLC 100. That is, while each PLC 100 maintains the configuration of the distributed DB that manages the measured values 95 in its own time-series DB 87, any one of the PLCs 100 centrally manages in the time-series DB 87 the measured values 95 corresponding to the events to be monitored collected by all the PLCs 100 connected to the network 11.
[0132] Alternatively, each PLC 100 of the control system 1 may, in response to the above trigger, search for record 50 or record 60 from area E1 or E2 of its own device and transfer it to the manufacturing execution system 420, which is the upper-level system, so that it is centrally managed in the time-series DB of the storage unit 450. Even in this case, while maintaining the configuration of the distributed DB, the upper-level system can centrally manage the measured values 95 corresponding to the events to be monitored collected by all the PLCs 100.
[0133] The above trigger may be a notification of a predetermined type. This notification may be transferred from any one of the PLCs 100 to the other PLCs 100 via the network 11 at the timing when any one of the PLCs 100 detects an event to be monitored or detects an omen of the event.
[0134] In the present embodiment, since the PLCs 100 operate in time synchronization with each other, one PLC 100 can aggregate and manage in the time-series DB 87 the measured values 95 (record 50) received from the other PLCs 100 in time series based on the synchronized time. Similarly, in the storage unit 450 of the manufacturing execution system 420, the measured values 95 (record 50) from each PLC 100 can be managed in the time-series DB. The thus-aggregated measured values 95 can be used as traceability information for analyzing the operation of the control system 1.
[0135] <O. Other Examples of Collection> In the above-described embodiment, the collection engine 84 performs collection only when an event (or an omen of an event) to be monitored is detected by the event detection module 82 (or the omen detection module 821). In other words, the collection target of the collection engine 84 does not include the measured value 95 specified by the standard target specification data 162, and may include the measured value 95 identified by each variable name of the collection target variable group 553 corresponding to one or more events determined by the collection target determination module 83. Thereby, the operation time of the collection engine 84 can be limited to the detection time of the event to be monitored, and even if the collection engine 84 is executed, the load on the PLC 100 can be reduced.
[0136] <P. Program> The processor 102 of the PLC 100 controls each component within the PLC 100 by executing the program. The secondary storage device 108 can store such a program and related data.
[0137] The storage medium for the program and data is not limited to the secondary storage device 108. For example, an external storage medium such as a memory card 116 may be used.
[0138] Also, the program and data may be downloaded to a storage medium readable by the PLC 100 via various communication lines such as the networks 11, 12, 13, 14. The storage medium is a medium that accumulates information such as the program by an electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, etc. can read the recorded program and other information.
[0139] The program can be executed by one or more processors 102 such as a CPU, or by a combination of the processor 102 and circuits such as an ASIC (Application Specific Integrated Circuit) and an FPGA (Field-Programmable Gate Array).
[0140] <Q. Supplementary Note> The present embodiment as described above includes the following technical idea. [Configuration 1] A control device (100) for controlling a controlled object (400), acquisition means (93) for acquiring a plurality of measurement values (95) related to the control object; a causal information (70) storage means for storing a causal relationship between a plurality of events that may occur in the controlled object and an identifier of the measurement value related to each of the plurality of events; An event detection means (82, 821) for detecting an event to be monitored or detecting a sign of the event based on the measurement value identified by the identifier (552) corresponding to the event to be monitored; a determining means (83) for scanning the causal relationships in response to detection by the event detecting means to determine one or more of the events related to the monitored event; a collection means (84) that collects, from the plurality of measurement values acquired by the acquisition means, measurement values identified by the identifiers corresponding to the monitored event and each of the one or more events determined by the determination means. [Configuration 2] The determining means is 2. The control device according to claim 1, further comprising: a controller for detecting the event by the event detection means, the controller scans the causal relationships and determines one or more of the events related to the monitored event as contributing factors to the monitored event. [Configuration 3] The determining means is 3. The control device according to configuration 1 or 2, which, in response to detection by the event detection means, scans the causal relationships and determines one or more events related to the monitored event as a result of the monitored event. [Configuration 4] The control object includes a plurality of objects (402, 404), The causal relationships include causal relationships (71, 72) corresponding to each of the plurality of objects, The control device detects an operating target among the plurality of targets, The event detection means includes: The control device according to any one of configurations 1 to 3, which scans the causal relationship corresponding to an operating target among the plurality of targets, and detects an event of the monitored target or detects a precursor of the event based on the measurement value identified by the identifier corresponding to the event of the monitored target. [Configuration 5] The apparatus further includes a means (88) for storing the measurement values collected by the collecting means in a memory unit (87), The collecting means includes a first collecting means (841) that collects predetermined types of measurement values in time series during operation of the controlled object, The storing means comprises: A control device according to any one of configurations 1 to 4, wherein in response to detection by the event detection means, among the measurement values collected by the first collection means, the measurement values identified by the identifier corresponding to the event to be monitored, and collected during a predetermined period prior to the detection of the event, are stored in the memory unit. [Configuration 6] A control device described in any one of configurations 1 to 5, which, in response to detection by the event detection means, transmits a command to another control device, the command including the identifier corresponding to the event determined by the determination means and a command to collect a measurement value identified by the identifier. [Configuration 7] A means (161) for displaying a UI including an image showing a causal relationship between the plurality of events; The control device according to any one of configurations 1 to 6, further comprising: a means (129) for receiving a user operation for designating the event to be monitored from the plurality of events in the causal relationship. [Configuration 8] A control system (10) configured by connecting a plurality of the control devices according to any one of configurations 1 to 7 through a network, The plurality of control devices are time-synchronized with each other, When a predetermined notification is transferred to the network (11), one of the plurality of control devices receives, aggregates, and manages measurement values acquired by the other control devices via the acquisition means or measurement values collected by the collection means from the other control devices. [Configuration 9] A control system (10) configured by connecting a plurality of the control devices according to any one of configurations 1 to 7 via a network (11), The plurality of control devices are time-synchronized with each other, Each of the plurality of control devices communicates with a host system (420, 450) that aggregates and manages the measurement values from each of the control devices via the network; A control system in which, when a predetermined notification is transferred to the network, each of the control devices transfers to the higher-level system the measurement values acquired by the acquisition means of the control device or the measurement values collected by the collection means. [Configuration 10] A computer-implemented method comprising: The computer includes a means for storing a causal relationship between a plurality of events that may occur in a controlled object and, for each of the plurality of events, an identifier of the measurement value related to the event; The method comprises: obtaining a plurality of measurements related to the control object; A step (S13) of detecting an event to be monitored or detecting a sign of the event based on the measurement value identified by the identifier corresponding to the event to be monitored; In response to said detection, scanning said causal relationships to determine one or more of said events related to said monitored event (S15); and (S19) collecting, from the plurality of measurement values acquired in the acquiring step, the measurement values identified by the identifier corresponding to the monitored event and each event determined in the determining step. [Configuration 11] A program for causing a processor (102) to execute the method according to configuration 8.
[0141] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not by the description of the embodiments described above, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0142] 10 control system, 30 control cycle, 50,60 record, 51 time, 53,54 collected value, 61 collection switching command, 70 causal model, 71,72 partial model, 73 free time, 81 control module, 82 event detection module, 83 collection target determination module, 84 collection engine, 85 buffer, 86 switching unit, 88 backup engine, 90 field device, 91 control command, 92 status value, 93 I / O refresh, 94 variable table, 95 measurement value, 102 processor, 106 main memory device, 108 secondary memory device, 116 memory card, 129 operation panel, 130 display, 131 message, 151 scheduler program, 152 I / O refresh program, 154 control program, 155 event detection program, 156 collection target determination program, 157 collection program, 158 Switching program, 159 backup program, 160 selected event data, 161 event selection UI program, 162 standard target designation data, 163 backup conditions, 164 learning model, 165 prediction model, 400 packaging machine, 402 supply mechanism, 404 work transport mechanism, 406 cutting mechanism, 551 event ID, 552 read variable group, 553 collection target variable group, 554, 555 pointer, 821 precursor detection module, 841 first collection unit, 1551 precursor detection program.
Claims
1. A control device for controlling a control target, an acquisition means for acquiring a plurality of measurement values related to the control object in synchronization with a control period; a causal information storage means for storing a causal relationship between a plurality of events that may occur in the controlled object and an identifier of the measurement value related to each of the plurality of events; a collection means for collecting, from among the plurality of measurement values acquired by the acquisition means, the measurement value identified by the identifier corresponding to the event to be monitored; an event detection means for detecting an event of the monitoring target or detecting a sign of the event based on the measurement value identified by the identifier corresponding to the event of the monitoring target collected by the collection means; a determining means for scanning the causal relationships in response to detection by the event detecting means to determine one or more of the events related to the monitored event; a switching means for controlling the collecting means to switch the measurement value to be collected in response to detection by the event detecting means; The switching means is A control device that controls the collection means to collect, from the plurality of measurement values acquired by the acquisition means, the measurement values identified by the identifiers corresponding to the events to be monitored in addition to the measurement values identified by the identifiers corresponding to each of the one or more events determined by the determination means.
2. The determining means is The control device according to claim 1 , further comprising: a controller that, in response to a detection by the event detection means, scans the causal relationships and determines one or more of the events related to the monitored event as factors causing the monitored event.
3. The determining means is The control device according to claim 1 or 2, further comprising: a control unit that scans the causal relationships in response to detection by the event detection means, and determines one or more of the events related to the monitored event as a result of the monitored event.
4. The control object includes a plurality of objects, The causal relationships include causal relationships corresponding to each of the plurality of objects, The control device detects an operating target among the plurality of targets, The event detection means includes:
4. The control device according to claim 1, further comprising: a control unit that scans the causal relationships corresponding to an operating object among the plurality of objects, and detects an event of the monitored object or detects a precursor of the event based on the measurement value identified by the identifier corresponding to the event of the monitored object.
5. The measuring device further includes a storage unit for storing the measurement values collected by the collecting unit, the collecting means includes a first collecting means for collecting predetermined types of measurement values in time series during operation of the controlled object, The storing means comprises: A control device as described in any one of claims 1 to 4, wherein in response to detection by the event detection means, among the measurement values collected by the first collection means, the measurement values identified by the identifier corresponding to the event to be monitored, and collected during a predetermined period prior to the detection of the event, are stored in the memory unit.
6. A control device as described in any one of claims 1 to 5, which transmits a command to another control device in response to detection by the event detection means, the command including the identifier corresponding to the event determined by the determination means and a command to collect measurement values identified by the identifier.
7. a means for displaying a UI including an image showing a causal relationship between the plurality of events; The control device according to claim 1 , further comprising: a means for receiving a user operation for designating the event to be monitored from the plurality of events in the causal relationship.
8. A control system configured by connecting a plurality of the control devices according to any one of claims 1 to 7 to a network, The plurality of control devices are time-synchronized with each other, A control system in which, when a predetermined notification is transferred to the network, one of the multiple control devices receives, aggregates, and manages measurement values acquired by the other control devices using the acquisition means or measurement values collected by the collection means from the other control devices.
9. A control system configured by connecting a plurality of the control devices according to any one of claims 1 to 7 to a network, The plurality of control devices are time-synchronized with each other, Each of the plurality of control devices communicates with a host system that aggregates and manages the measurement values from each of the control devices via the network; A control system in which, when a predetermined notification is transferred to the network, each of the control devices transfers to the higher-level system the measurement values acquired by the acquisition means of the control device or the measurement values collected by the collection means.
10. 1. A computer-implemented method comprising: The computer includes: a means for storing a causal relationship between a plurality of events that may occur in a controlled object and an identifier of a measurement value related to each of the plurality of events; The method comprises: acquiring a plurality of measurement values related to a control target in synchronization with a control period; collecting, from among the plurality of measurement values acquired in the acquiring step, the measurement value identified by the identifier corresponding to the event to be monitored; detecting an event of the monitoring target or detecting a sign of the event based on the measurement value identified by the identifier corresponding to the event of the monitoring target collected in the collecting step; responsive to said detection, scanning said causal relationships to determine one or more of said events related to said monitored event; and switching the measurement value collected in the collecting step in response to the detection. The switching step includes: The method includes a step of switching the measurement values collected in the collecting step so that, from the plurality of measurement values acquired in the acquiring step, in addition to the measurement values identified by the identifier corresponding to the monitored event, the measurement values identified by the identifier corresponding to each of the one or more events determined in the determining step are collected.
11. A program for causing a processor to execute the method according to claim 10.
Citation Information
Patent Citations
Device and method for monitoring and diagnostic plant
JP1996234832A
Plant monitoring device
JP1999095833A
Deriving system for causal relationship between data and deriving method for causal relationship in database
JP2000288877A
Equipment diagnosing system and equipment-diagnosing method on the basis of multiple model
JP2009053938A
Facility condition monitoring method, monitoring system, and monitoring program
JP2011081697A