WO2022190560A1 - 制御装置、制御システム、方法およびプログラム - Google Patents

制御装置、制御システム、方法およびプログラム Download PDF

Info

Publication number
WO2022190560A1
WO2022190560A1 PCT/JP2021/047280 JP2021047280W WO2022190560A1 WO 2022190560 A1 WO2022190560 A1 WO 2022190560A1 JP 2021047280 W JP2021047280 W JP 2021047280W WO 2022190560 A1 WO2022190560 A1 WO 2022190560A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
monitored
events
control device
measured values
Prior art date
Application number
PCT/JP2021/047280
Other languages
English (en)
French (fr)
Inventor
仁之 片岡
信幸 阪谷
光宏 米田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2022190560A1 publication Critical patent/WO2022190560A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • This disclosure relates to a control device, control system, method and program, and more particularly to a control device, control system, method and program capable of collecting information.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2020-135266 discloses data logging. More specifically, in Patent Document 1, the PLC records data acquired from a field device as log data in a memory (for example, a ring buffer) until a predetermined output condition is satisfied. is satisfied, the log data in the memory is written to the memory card or internal memory (non-volatile memory) (see paragraphs 0102, 0103, 0147, etc.).
  • the data collection unit of the PLC in Patent Document 2 (International Publication No. 2012/111653) collects the device data output by the controlled device, stores it in the device data storage unit, and transfers the device data in the device data storage unit to the host computer. For transfer, transfer to a storage device such as a ring buffer.
  • Patent Documents 1 and 2 do not propose a configuration from this viewpoint.
  • One object of the present disclosure is to provide a control device, method, and program for collecting necessary information according to the operating state of a controlled object.
  • a control device that controls a controlled object, the acquisition means for acquiring a plurality of measured values related to the controlled object, the causal relationship between a plurality of events that can occur in the controlled object, and the plurality of events
  • a causal information storage means for storing an identifier of a measured value related to the event, and based on the measured value identified by the identifier corresponding to the monitored event, the monitored event is detected or a sign of the event is detected.
  • event detecting means for detecting; determining means for scanning causal relationships and determining one or more events related to the monitored event in response to detection by the event detecting means; and a plurality of measurements obtained by the obtaining means. and collecting means for collecting measured values identified by identifiers corresponding to events to be monitored and each event determined by the determination means.
  • the controller when a monitored event or a sign of the event is detected in the controlled device, the controller performs one or more It collects an event and a measurement identified by an identifier corresponding to each monitored event.
  • control device can collect necessary measurement value information based on the causal relationship according to the state of the controlled object.
  • the determination means scans the causality in response to detection by the event detection means, and determines one or more events related to the event as factors causing the monitored event.
  • the factor events that cause the monitored events in the causal relationship can be included in the target events for which measurements are collected.
  • the determination means scans the causality in response to detection by the event detection means and determines one or more events related to the monitored event as a result of the event.
  • consequential events that can be caused by monitored events in causal relationships can be included in the target events for which measurements are collected.
  • the controlled object includes a plurality of objects
  • the causal relationship includes a causal relationship corresponding to each of the plurality of objects
  • the control device detects an operating object among the plurality of objects
  • the event detection means Scans the causal relationship corresponding to the operating target among multiple targets, and detects the monitored event or predicts the event based on the measured value identified by the identifier corresponding to the monitored event. To detect.
  • the event or sign of the monitored object is detected using the causal relationship corresponding to the controlled object.
  • control device further includes means for storing the measured values collected by the collecting means in the storage unit, and the collecting means collects a plurality of predetermined measured values in time series during operation of the controlled object.
  • the means for storing is a measured value identified by an identifier corresponding to the event to be monitored, among the measured values collected by the first collecting means in response to detection by the event detecting means. Measured values collected during a predetermined period going back from the detection of the event are stored in the storage unit.
  • control device detects, from among the measured values collected by the first collecting means, the measured value identified by the identifier corresponding to the event to be monitored, and the event to be monitored or its sign detected. Measurements collected for a predetermined time period going back in time can be stored.
  • control device sends a command including an identifier corresponding to the event determined by the determination means and a command to collect the measured value identified by the identifier to another control device in response to detection by the event detection means. Send to device.
  • the controller when a monitored event or sign is detected, the controller sends commands to other controllers.
  • the controller By executing the command on another control device, the measured values collected by the collection means of the own control device and the measured values of the same type that can be obtained from the controlled object of the other control device are transferred to the other control device. Can be collected by the controller.
  • control device includes means for displaying a UI including an image representing a causal relationship between multiple events, means for accepting a user operation specifying an event to be monitored from among the multiple events in the causal relationship, further provide.
  • control system is a control system configured by connecting the plurality of control devices described above to a network, wherein the plurality of control devices are time-synchronized with each other, and predetermined notifications are transferred to the network. Then, one of the plurality of control devices receives from the other control device the measured value acquired by the other control device by the acquiring means or the measured value collected by the collecting means. , aggregate and manage.
  • one of the plurality of control devices can aggregate and manage measured values from other control devices according to the timing at which a predetermined notification is transferred. .
  • control system is a control system configured by connecting the plurality of control devices described above to a network, wherein the plurality of control devices are time-synchronized with each other, and each control device is connected via a network. and communicates with a host system that aggregates and manages the measured values from each control device, and when a predetermined notification is transferred to the network, each control device receives the measured values acquired by the acquisition means of the control device, Alternatively, the measurement values collected by the collection means are transferred to the host system.
  • the host system can aggregate and manage measured values from multiple control devices according to the timing at which a predetermined notification is transferred.
  • the method is a computer-implemented method comprising means for storing causal relationships between multiple events that can occur in a controlled object and identifiers of measured values associated with each of the multiple events.
  • This method includes the steps of obtaining a plurality of measured values related to a controlled object, detecting the monitored event, or in response to the detection, scanning causality to determine one or more events related to the monitored event; , collecting a measurement identified by an identifier corresponding to each event determined in the step of determining an event to be monitored.
  • one or more events related to the monitored event determined by scanning causality; Collect measurements identified by corresponding identifiers for each of the events of interest.
  • the computer can collect necessary measurement value information based on the causal relationship according to the state of the controlled object.
  • a program for causing a processor to execute the above method is provided in the present disclosure.
  • measurement value information can be collected according to the state of the controlled object.
  • FIG. 3 is a diagram schematically showing components included in an information PLC according to the present embodiment; It is a figure showing typically composition of a control system concerning an embodiment of the invention. It is a block diagram which shows the hardware structural example of PLC which concerns on this Embodiment. 2 is a diagram schematically showing the hardware configuration of a support device according to this embodiment; FIG. 1 is a schematic diagram showing an example of manufacturing equipment according to the present embodiment; FIG. It is a figure which shows typically an example of the causal model which concerns on this Embodiment. It is a figure which shows the calculation example of the causal relationship which concerns on this Embodiment.
  • FIG. 7 is a diagram showing an example of a data structure of nodes of the causal model of FIG. 6; FIG.
  • FIG. 5 is a diagram showing an example of a UI screen for designating an event to be monitored according to the embodiment; 3 is a diagram showing processing according to the present embodiment in association with a control period 30; FIG. 9 is a flow chart showing an example of processing of an event selection UI according to the embodiment; 6 is a flowchart showing an example of collection processing according to the present embodiment;
  • FIG. 1 is a diagram schematically showing components provided in an information PLC 100 according to this 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 to be controlled.
  • the measured values are output values calculated by the processor of the PLC 100 executing control calculations, intermediate values calculated in the process of executing the control calculations, and state values 92, which will be described later, indicating the state of the control target. It may include one or more of various values that can be measured in association.
  • the output value calculated by the control calculation includes a control command 91, which will be described later.
  • the PLC 100 will be described as a specific example as a typical example of the "control device", but the technical idea disclosed in this specification is not limited to the name of the PLC, and can be applied to any control device. applicable to
  • the manufacturing facility includes a plurality of field devices 90.
  • the field device 90 operates according to the control commands 91 and may change the state of the field device 90 depending on the operation results.
  • the PLC 100 executes the I/O refresh 93 and the control calculation by the control module 81 every control cycle. More specifically, when I/O refresh 93 is performed, PLC 100 writes status values 92 received from each field device 90 to I/O variable table 94 and writes to I/O variable table 94 . Sends the embedded control command 91 to the field device 90 .
  • the I/O refresh 93 is an example of an "acquisition module" that acquires multiple pieces of status information indicating the status of manufacturing equipment.
  • a control command 91 indicates a value relating to control of the field device 90 .
  • the PLC 100 calculates a control-related value based on the state value 92 of the I/O variable table 94, and updates the control command 91 of the I/O variable table 94 based on the calculation result. In this way, the PLC 100 can keep the control commands 91 and the state values 92 in the I/O variable table 94 up-to-date by executing the I/O refresh 93 and control calculations in each control cycle.
  • 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 measured values for collection of measured values.
  • the PLC 100 also has a switching unit 86 for switching measurement values to be collected in relation to the collection engine 84, and a buffer 85 for storing collected information.
  • the PLC 100 also has a backup engine 88 and a time series DB (Data Base) 87 to back up the collected information.
  • the causal model 70 has causal relationships between multiple events that can occur in the controlled manufacturing facility, and identifiers of measured values related to each event.
  • Causal model 70 is stored in the storage unit of PLC 100 .
  • Multiple events include a result event in a causal relationship and one or more factor events that cause the result event. can.
  • the control program is a program according to variable programming, so the identifier of the measured value associated with each event corresponds to the variable name assigned to that measured value.
  • an "event” is a concept that includes changes in the state of manufacturing equipment to be monitored, abnormalities, signs of state changes (abnormalities), and the like.
  • the event detection module 82 detects the monitored event based on the measured value identified by the identifier corresponding to the monitored event in the causal model 70 among the multiple measured values in the I/O variable table 94 .
  • the event detection module 82 compares changes over time in measured values identified by identifiers corresponding to monitored events with a predetermined change pattern (tendency of change), and based on the result of the comparison, determines the status. Detect changes. Also, if a pattern for abnormality detection is used as the change pattern, the occurrence of abnormality can be detected based on the result of the comparison.
  • the event detection module 82 also has a sign detection module 821 that detects a sign of an event to be monitored using a prediction model.
  • the events to be monitored described above are designated by selected event data 160 that the PLC 100 accepts from user operations.
  • PLC 100 executes event detection module 82 in synchronization with the control period described above.
  • Collection determination module 83 in response to detection from event detection module 82, i.e., upon detection of a monitored event, determines one or more events related to the monitored event based on the causality of causal model 70. to decide. For example, collection object determination module 83 scans for causality when an event occurs and determines one or more events Y related to event X based on the results of the scan. The collection target determination module 83 acquires from the causal model 70 an identifier corresponding to each event Y determined as an event to be monitored, and outputs a collection switching command 61 having the acquired identifier.
  • the switching unit 86 controls the collection engine 84 to read from the I/O variable table 94 the measured value identified by the identifier indicated by the collection switching command 61 in accordance with the collection switching command 61 from the collection target determination module 83 .
  • the collection engine 84 has a first collection unit 841 that, during operation, reads measured values identified by identifiers indicated by standard target designation data 162, which will be described later, from the I/O variable table 94 and collects them in time series.
  • the collection engine 84 switches the measurement values to be collected. For example, the collection engine 84 starts collecting measured values related to the event Y determined by the collection target determination module 83 in addition to the measured values that have been collected according to the standard target designation data 162 by the first collection unit 841.
  • "collection” is a series of steps from reading the measured values from the I/O variable table 94 to adding a time stamp indicating when an event was detected to the read measured values and storing them in the buffer 85. Indicates processing.
  • the backup engine 88 executes backup processing of information stored in the buffer 85 .
  • the backup process includes, for example, copying information in the buffer 85 and storing (writing) the copied information in a storage medium different from the buffer 85 .
  • a storage medium in which information copied in this way is stored typically includes a non-volatile storage medium having a non-volatile storage area.
  • the backup engine 88 constitutes a module that stores the measured values 95 collected by the collection engine 84 in the storage unit (time-series DB 87).
  • a 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.
  • a record 50 in area E1 includes a time 51, a detected monitored event 52, and a collected value 53.
  • Collected values 53 include event IDs 531 of events causally related to monitored event 52 , one or more identifiers 532 associated with the related events, and measured values 95 identified by each identifier 532 .
  • Time 51 is the time when the event 52 of the record 50 was detected, and indicates the time stamp attached to the measurement value 95 by the collection engine 84 .
  • Record 60 in area E2 includes time 51 and collected value 54 .
  • Collected values 54 include measured values 95 and identifiers 532 of the measured values 95 .
  • time series DB 87 is provided within the PLC 100 in this embodiment, it may be provided outside the PLC 100.
  • the time-series DB 87 may be configured by a storage medium detachably attached to the PLC 100 or a storage managed by an information processing device including an external server.
  • External servers may include cloud-based servers or on-premise servers.
  • the PLC 100 When the PLC 100 detects a monitored event selectively specified by the user in the controlled object, the PLC 100 determines one or more events related to the monitored event from the causal relationship of the causal model 70, and determines the monitored event and Measured values 95 (including control commands 91 and state values 92) associated with each determined event are collected. Therefore, the PLC 100 can collect the type of information according to the detected event, that is, according to the state of the manufacturing equipment to be controlled. A more specific application example of the present embodiment will be described below.
  • FIG. 2 is a diagram schematically showing the configuration of the control system 10 according to the embodiment of the invention.
  • a control system 10 that may be applied to FA is networked in multiple levels, for example, but not limited to, four levels of networks 11, 12, 13 and 14 are provided.
  • the network 11 is a control level network.
  • the network 11 is connected with a device/line management device 190 in addition to the plurality of PLCs 100A, 100B and 100C shown in FIG. 1 and the HMI (Human Machine Interface) 280 .
  • the equipment/line management equipment 190 and HMI 280 correspond to equipment for managing equipment and production lines connected to the network.
  • three units of PLC 100A, PLC 100B, and PLC 00C are connected to network 11, but the number is not limited. Below, in the description common to PLC100A, PLC100B, and PLC100C, it is generically called PLC100.
  • the network 12 is connected to a device/line management device 190 that manages devices and lines, and manufacturing management devices 380 and 390 that manage manufacturing plans and the like.
  • the equipment/line management device 190 and the manufacturing management equipments 380 and 390 exchange management information such as manufacturing plans and equipment or line information via the network 12 .
  • the network 13 is provided as a computer-level network.
  • a manufacturing execution system (EMS) 410 that manages data using manufacturing control devices 380 and 390 and a storage unit 450 is connected to the network 13 .
  • Manufacturing control devices 380 and 390 and manufacturing execution system 420 exchange production control and information system data via network 13 .
  • the storage unit 450 includes an area for storing data of the time-series DB 87 .
  • the network 14 includes external networks such as the Internet.
  • a manufacturing execution system 420 and an external device on the cloud are connected to the network 14 .
  • the manufacturing execution system 420 transfers the data of the time-series DB 87 to the cloud computing device by exchanging data with devices on the cloud.
  • EtherNet/IP registered trademark
  • EtherCAT registered trademark
  • the protocol (first protocol) of the network 11 and the protocol of the network 110 may be the same or different.
  • General-purpose Ethernet or the like is used as the protocol for the networks 13 and 14 in order to ensure the diversity of connection destinations.
  • restrictions such as the amount of data that can be transmitted can be eliminated.
  • the PLC 100 is connected via a network 110 to one or more field devices 90 of manufacturing equipment. PLC 100 may be directly connected to field device 90 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 equipment, an input/output device that exchanges information with the field, and the like.
  • the data exchanged between the PLC 100 and the field device 90 via the network 110 is updated in a very short cycle of several hundred microseconds to several tens of milliseconds. It should be noted that such update processing of exchanged data is realized by the I/O refresh 93 .
  • a support device 500 can be connected to the PLC 100 .
  • the support device 500 provides support tools for assisting the user in operating the control system 10 .
  • the support tools include preparation setting tools for the execution environment of the control program or the communication environment with the PLC 100 , tools for creating the causal model 70 , and tools for creating prediction models or learning models used by the sign detection module 821 .
  • a support tool is provided to the user by, for example, a UI (User Interface).
  • the HMI 280 graphically displays data for monitoring or controlling the system processed by SCADA and accepts user operations.
  • the PLC 100, the support device 500 and the HMI 280 are configured as separate units, but a configuration in which all or part of these functions are integrated into a single device may be employed.
  • the support device 500 may be connected to the network 11, built into the PLC 100, or provided as a portable terminal.
  • the PLCs 100A, 100B and 100C connected to the network 11 of the control system 10 are provided in different processes 3A, 3B and 3C that constitute the overall process 1, respectively.
  • PLC 100A, PLC 100B and PLC 100C each have the configuration shown in FIG. Collect event-related measurements.
  • Time synchronization In the network 110 of FIG. 2, the arrival time of data needs to be guaranteed, so the PLC 100 and the field device 90 connected to the PLC 100 have timers synchronized with each other. PLC 100A, PLC 100B and PLC 100C have timers 101A, 101B and 101C synchronized with each other. Thereby, the control system 10 realizes coordinated control of multiple field devices 90 connected to different PLCs 100, that is, multiple field devices 90 between different processes based on synchronized times.
  • timer 101 is generically used.
  • Time synchronization indicates matching the time of the timer 101 of the PLC 100 with the time of the timer of another PLC 100 .
  • a timer with high accuracy is used as a master, other timers are used as slaves, and the slaves are synchronized with the master.
  • the master determines, for example, the most accurate timer among the timers 101 of the PLC 100 that the control system 10 has, but the master's determination method is not limited to this.
  • the time 51 attached to the collected values 53 and 54 of the time-series DB 87 of the PLC 100 shown in FIG. 1 corresponds to the time stamp based on the output of the timer 101.
  • the collected values 53 collected by each PLC 100 the collected values 53 collected at common timing among the PLCs 100 can be given the same time stamp indicating the same time 51 .
  • the collected value 54 is also the same.
  • time 51 represents the timing at which some event occurs, the width of time shorter than time, the time, or the concept of a certain moment.
  • FIG. 3 is a block diagram showing a hardware configuration example of the PLC 100 according to this 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 USB (Universal Serial Bus) controller 107, a memory card interface 114, and a field network controller. 118 , a timer 126 , and an input/output I/F (Interface) 127 connecting an operation panel 129 .
  • Operation panel 129 is provided as a touch panel having display 130 for displaying information. A user can input information including selected event data 160 to PLC 100 via operation panel 129 .
  • the processor 102 is composed of a CPU (Central Processing Unit), MPU (microprocessor unit), GPU (Graphics Processing Unit), etc., reads various programs stored in the secondary storage device 108, and expands them to the main storage device 106. By executing the command, control according to the controlled object and various processes described later are realized.
  • the secondary storage device 108 is, for example, a non-volatile storage device such as a HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the chipset 104 realizes the processing of the PLC 100 as a whole by controlling the processor 102 and each device.
  • the host network controller 105 exchanges data with the HMI 280, the manufacturing execution system 420, or devices on the cloud (see FIG. 2), etc., via the host network 11.
  • the USB controller 107 controls data exchange with the support device 500 via a USB connection.
  • the memory card interface 114 is configured such that the memory card 116 can be attached and detached, and various data can be written to the attached memory card 116 and various data can be read 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 .
  • the timer 126 is used as a time reference for managing execution timings of various processes in the PLC 100 .
  • Timer 126 typically includes a counter that increments or decrements a counter value at predetermined intervals.
  • Timer 101 may be configured by timer 126 .
  • the field network controller 118 controls data exchange between the PLC 100 and the field device 90 via the network 110 .
  • the secondary storage device 108 implements a scheduler program 151 for implementing a scheduler, which will be described later, and an I/O refresh 93, in addition to a system program for implementing basic functions including an OS (Operating System) 150.
  • UPG backup program 159, one or more causal models 70, selected event data 160, and an event selection UI that is executed to provide the event selection UI described below. It stores programs 161, standard targeting data 162, backup conditions 163, and a plurality of learning models 164 and predictive models 165 used to determine the occurrence of each event. Learning model 164 and predictive model 165 are appended with corresponding event IDs.
  • the UPG includes a control program 154 for implementing control calculations for controlled objects, an event detection program 155 that implements an event detection module 82 when executed, and a collection target determination module 83 that implements a collection target determination module 83 when executed.
  • the event detection program 155 includes a portent detection program 1551 that implements the portent detection program 1551 when executed.
  • the one or more causal models 70 include causal models 70 for each manufacturing facility, that is, for each process.
  • the PLC 100 collects information using the causal model 70 corresponding to the process in which its own device is arranged, out of one or more causal models 70 .
  • the standard target specification data 162 includes data specifying identifiers for each of the plurality of measurements 95 that the collection engine 84 should collect as standard.
  • the measured values 95 to be collected as standard include the measured values 95 identified by each variable of the collection target variable group 553 described later for each event of the causal model 70 .
  • the backup condition 163 indicates conditions related to backup of the data in the buffer 85 by the backup engine 88 . Backup based on the backup condition 163 will be described later.
  • the processor 102 reads and develops the program in the secondary storage device 108 into the main storage device 106 and executes it.
  • FIG. 1 shows a configuration example in which various modules are provided by the processor 102 executing a program.
  • Application specific Integrated Circuit or FPGA (Field-Programmable Gate Array), etc.
  • FPGA Field-Programmable Gate Array
  • the main part of the PLC 100 may be realized using hardware conforming to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • virtualization technology may be used to run multiple OSs (Operating Systems) for different purposes in parallel, and to run necessary applications on each OS.
  • the event detection module 82 detects an event by, for example, executing inference processing for inferring whether or not the event has occurred using the learning model 164 corresponding to the monitored event.
  • inference processing although not limited, the processor 102 calculates a feature amount based on the measured value 95 related to the monitored event acquired by the I/O refresh 93, and creates a feature amount learning model 164 (also called an inference model). ), and detect (infer) whether an event has occurred according to the evaluation result.
  • Model data for learning model 164 can be determined by a known data mining method.
  • Methods applicable to inference processing based on the degree of outlier include the k-nearest neighbor method, the LoF (local outlier factor) method, the iForest (isolation forest) method, and the like. As another method, a DBT (Deep Binary Tree) can also be used. Inference processing may update model data as appropriate based on learning results or a rule base.
  • the sign detection module 821 determines the feature amount used to acquire the prediction model 165 corresponding to the monitored event from the measured value 95 identified by the identifier corresponding to the monitored event. Calculate the value.
  • the sign detection module 821 applies the value of the calculated feature value to the prediction model 165 to detect whether there is a sign of an event to be monitored in the manufacturing facility.
  • Support device 500 creates predictive model 165 . More specifically, the feature quantity is acquired from the measurement values 95 of the manufacturing equipment for each of the normal time when the manufacturing equipment normally produces the product and the abnormal time when the product being produced has an abnormality.
  • a prediction model for extracting feature values that are significant for predicting anomalies based on a predetermined algorithm from among the multiple types of feature values acquired in the event of an anomaly, and using the extracted feature values to predict the occurrence of an anomaly. 165 is created. Note that the method of creating the prediction model 165 is not limited to this.
  • FIG. 4 is a diagram schematically showing the hardware configuration of support device 500 according to the present embodiment.
  • a support device 500 includes a CPU 510, a memory 511 configured by a volatile storage device such as a DRAM (Dynamic Random Access Memory), a timer 512, and a non-volatile storage device such as an HDD.
  • a hard disk 513, an input interface 514 that connects a keyboard 522, a display controller 515 that controls the display 520, and a communication interface 516 that communicates with the PLC 100 or device/line management device 190 via USB are detachably attached.
  • a data reader/writer 517 that reads and writes data on the attached memory card 519 .
  • the CPU 510 reads the program from the hard disk 513, expands it in the memory 511, and executes it.
  • the programs stored in hard disk 513 include system programs including OS 520 and support programs 521 .
  • Support program 521 when executed, provides various support tools to assist the user in operating control system 10 .
  • the memory card 116 in FIG. 3 and the memory card 519 in FIG. 4 include volatile or non-volatile storage media, such as CF (Compact Flash, registered trademark), SD (registered trademark, Secure Digital), etc. It includes a general-purpose semiconductor storage device, a magnetic storage medium such as a flexible disk, or an optical storage medium such as a CD-ROM (Compact Disk Read Only Memory).
  • CF Compact Flash, registered trademark
  • SD registered trademark, Secure Digital
  • CD-ROM Compact Disk Read Only Memory
  • the support device 500 transfers to the PLC 100 the causal model 70 created by the support tool and the learning data or predictive model for detecting events or signs.
  • FIG. 5 is a schematic diagram showing an example of manufacturing equipment according to the present embodiment. Although FIG. 5 shows the packaging machine 400 as an example, the manufacturing facility is not limited to the packaging machine 400 . The events to be monitored and the measurements 95 to be collected are described with reference to the packaging machine 400 of FIG.
  • the packaging machine 400 is composed of multiple mechanisms that operate in conjunction with each other.
  • the packaging machine 400 includes a supply mechanism 402 for a packaging base material 410 , a cutting mechanism 406 for cutting the packaging material 412 to generate individual packages 418 , and a packaging material 412 from the supply mechanism 402 to the cutting mechanism 406 . and a work transport mechanism 404 that transports the covered work 414 .
  • the supply mechanism 402 and the cutting mechanism 406 constitute a film transport mechanism.
  • the supply mechanism 402 sequentially feeds the roll-shaped packaging base material 410 with a supply roller 408, and covers the work 414 supplied from a line (not shown) with the packaging base material 410, so that the packaging material 412 in which the work 414 is enclosed. are continuously supplied to the work transport mechanism 404 .
  • the work transport mechanism 404 sequentially transports the packaging material 412 in which the work 414 is enclosed to the cutting mechanism 406 according to the transport direction 411 .
  • the cutting mechanism 406 cuts and seals the packaging material 412 by driving a pair of cutting rollers 416 according to predetermined timing to sequentially generate individual packages 418 .
  • 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 state values 92 .
  • a monitored event or prognostic detection for the packaging machine 400 can be performed based on temporal changes in the status values 92 collected from each of these mechanisms.
  • the torque value of the cutting roller 416 is measured by, for example, 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 measured values of these sensors as state values 92 .
  • the torque fluctuates relatively greatly at the timing of cutting by the cutting roller 416, and the torque generated in the supply roller 408 may also fluctuate under the influence of cutting the packaging material 412. That is, there is a significant correlation between the torque value produced by supply roller 408 and the torque value produced by cut roller 416 . Therefore, for example, when "roller imbalance" is specified as an event to be monitored by the selected event data 160, the event detection module 82 sets the torque value and , and the torque values produced at the cutting roller 416 are obtained, and the obtained torque values and the learning model are used to detect the event. Further, by applying these acquired torque values to the prediction model by the portent detection module 821, the portent of the event can be detected.
  • the work conveying mechanism 404 of the packaging machine 400 has, for example, a pair of rollers 55 and 56 on the upstream side and the downstream side in the conveying direction 411, and a conveying belt 417 is stretched between the two rollers with an appropriate tension. ing. By rotating both rollers, the packaging material 412 on the conveyor belt 417 is conveyed in the conveying direction 411 .
  • the rollers 55 and 56 are attached to the rollers such that the rotation axes of the rollers have a predetermined inclination angle with respect to the virtual axis extending in the conveying direction 411. . Vibrations that accompany the cutting action of the transport or cutting roller 416 can cause the tilt angle of the axis of rotation to vary. This variation can be greater for rollers 56 closer to cutting roller 416 .
  • the torque values generated by the rollers also fluctuate along with this fluctuation. Therefore, the tilt angle of the rotating shaft and the torque value have a significant correlation.
  • the event detection module 82 detects roller The torque values generated by 55 and rollers 56 and the tilt angles of the rotation shafts of rollers 55 and 56 are obtained, and the event is detected using the obtained torque values, tilt angles, and learning model. Further, by applying the acquired tilt angle and torque value to the prediction model by the portent detection module 821, the portent of the event can be detected.
  • the tilt angle and torque of the rotation shafts of the rollers 55 and 56 are measured by a tilt sensor 57 and a torque sensor 58, respectively.
  • the packaging machine 400 also has a camera 409 that captures images on the conveying path.
  • the camera 409 processes the captured image using the feature amount of the image, and detects, as the state value 92, the meandering amount or the degree of sagging of the resin material film forming the packaging material 412.
  • the state value 92 output by the camera 409 includes the amount of this meandering or sagging.
  • the event detection module 82 detects the feed roller 408 or the cut off as the measured value 95 related to the event.
  • the torque value of the 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 amount of meandering or slipping of the film are acquired, and these acquired state values 92 and the learning model to detect the event. Further, by applying these acquired state values 92 to the prediction model by the portent detection module 821, a portent of an event can be detected.
  • FIG. 6 is a diagram schematically showing an example of the causal model 70 according to this embodiment.
  • the causal model 70 is created by the support device 500 for each process in which the PLC 100 can be arranged, that is, for each manufacturing facility.
  • FIG. 6 shows a causal model 70 of packaging machine 400 of FIG. 5 as a manufacturing facility.
  • a causal model 70 includes a partial model 71 showing causal relationships corresponding to the mechanisms to be controlled, that is, the supply mechanism 402 and the cutting mechanism 406 , which constitute the manufacturing equipment, and a causal model corresponding to the work transport mechanism 404 . and a partial model 72 showing the relationship.
  • one or more other edges extending from the node N(i) to the left side of the drawing form the other one or more edges with the node N(i) as a result event. shows a causal relationship with the node N(i) of .
  • one or more other edges extending from that node N(i) to the right side of the drawing are the other one that can occur with that node N(i) as a factor event.
  • a causal relationship with the above node N(i) as a result event is shown.
  • an event that falls on node N(i) can be either a factor event or an effect event, or both, in a causal relationship.
  • FIG. 7 is a diagram showing an example of causal relationship calculation according to the present embodiment.
  • support device 500 implements function P(Xm:Yn) as a two-dimensional array to calculate the possibility that each factor Yn caused event Xm for arbitrary event Xm. be able to.
  • compound factors in which multiple factors are related to one event can be defined as multidimensional functions. For example, when an event X occurs, a function P (Xm : Yn′, Yn′′). Furthermore, it is also possible to associate more factors. Alternatively, the correlation coefficient a (Yn', Yn'') between factors is obtained in advance, and the correlation coefficient By multiplying a(Yn', Yn''), a compound factor for the event Xm may be identified.
  • the support device 500 calculates the possibility of each factor that caused the event Xm in the manufacturing facility, and outputs the causal relationship based on the calculation result. .
  • the identification of causal relationships using such functions involves the use of analysis technology for so-called big data, data that occurred in the past at the manufacturing equipment to be controlled, and obtained from manufacturing equipment that is similar to the manufacturing equipment to be controlled. can be created from the data obtained.
  • FIG. 8 is a diagram showing an example of the data structure of node N(i) of the causal model 70 of FIG.
  • the event node N(i) includes an event ID 551 that identifies the event, a read variable group 552 that includes one or more measurement value variable names, and one or more measurement value variables It includes a collection target variable group 553 including names, a pointer 554 to the previous event, and a pointer 555 to the next event.
  • Event ID 551 includes the name of the event and the like.
  • the event detection module 82 detects the measured value identified by the variable name RV(j) indicated by the read variable group 552 of the node N(i). 95 and detects an event based on the obtained measured value 95 .
  • the predictor detection module 821 also detects a predictor of an event using the measured value 95 identified by the variable name indicated by the read variable group 552 .
  • the collection engine 84 identifies the node N(i) with the identifier of the variable name CV(k) of the collection target variable group 553. Measured values 95 are collected. Collected variable group 553 may include the variable names of the corresponding read variable group 552 .
  • a pointer 554 to the previous event points to one or more nodes N(i) located on the right side of the drawing from node N(i) in the causal relationship of FIG. 6, and a pointer 555 to the next event points to , one or more nodes N(i) located on the left side of the drawing from the event of node N(i) are pointed out.
  • This plurality of nodes N(i) may constitute a composite factor as described above for the event in question.
  • one node N(i-1) is indicated by a pointer to the previous event 554, and one node N(i+1) is indicated by the pointer to the previous event 555, with each pointer There may be more than one node N(i) pointed to.
  • the pointer of node N(i) is set to null.
  • the structure of the causal model 70 is indicated 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.
  • the CPU 510 when the user operates the support device 500 to execute the support program 521, the CPU 510 generates the causal model 70 of the manufacturing equipment to be controlled. More specifically, the CPU 510 calculates the causal relationship by executing the operations in FIG. 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's operation via the keyboard 522 . For example, the user identifies an FB (function block) related to the event of the node N(i) from the control program 154 displayed by the CPU 510, and from a list of variable names defined in the control program 154, the identified Extract the variable name of the input/output value of the FB. The CPU 510 sets the variable name extracted by the user to the read variable group 552 or the collection target variable group 553 of the node N(i) of the event. Support device 500 installs generated causal model 70 in PLC 100 .
  • FB function block
  • the processor 102 by executing the event selection UI program 161, the processor 102 includes a module for displaying on the display 130 a UI including an image representing the causal relationship between multiple events, and a , and a module that accepts a user operation specifying an event to be monitored.
  • FIG. 9 is a diagram showing an example of a UI screen for specifying events to be monitored according to this embodiment.
  • processor 102 controls display 130 according to display control data based on causal model 70 .
  • the display 130 displays the UI screen shown in FIG.
  • the UI screen displays the causal relationship while assigning the name of the event ID 551 of node N(i).
  • the user selects the node N(i) of the event to be monitored in the causal relationship on the UI screen through the operation panel 129 according to the message 131 on the UI screen.
  • the selected event is highlighted. For example, “Roller imbalance”, “Film meandering", “Film leveling out” and “Film jamming" are selected.
  • Processor 102 receives selected event data 160 indicating those selected events.
  • FIG. 10 is a diagram showing the processing according to the present embodiment in association with the control cycle 30. As shown in FIG. The processing executed within the control cycle of FIG. 10 is similarly executed for each PLC 100 as well.
  • the PLC 100 implements a scheduler by executing the scheduler program 151.
  • the scheduler manages a plurality of programs to be executed by processor 102 according to priority within control period 30 based on the output of timer 126 .
  • the multiple programs managed by the scheduler mainly include a first program and a second program.
  • the first program is a high-priority program executed by the processor in control cycle 30 and includes I/O refresh program 152 and UPG.
  • the UPG contains a control program 154 for control operations and a program for acquisition processing.
  • Programs related to collection processing include an event detection program 155 (prediction detection program 1551), a collection target determination program 156, a collection program 157, and a switching program 158.
  • the second program has a lower execution priority than the first program and includes a second processing program that is executed during the idle time 73 of the processor 102 in the control cycle 30 . More specifically, the second process includes backup processing and the second program includes backup program 159 . In this way, when a monitored event is detected within the control cycle 30, one or more events related to the monitored event in the causal relationship are identified by the variable names of the collection target variable group 553. measurements 95 can be collected and backed up. A data compression process may be performed in the backup.
  • the collection process is executed every 30 control cycles, but the execution cycle may be set.
  • the backup processing execution cycle can be specified by the backup condition 163 .
  • FIG. 11 is a flow chart showing a processing example of the event selection UI according to this embodiment.
  • processor 102 presents the UI screen of FIG.
  • An operation to select a target event is accepted (step S7), and the selected event data 160 is set based on the accepted user operation (step S8).
  • FIG. 12 is a flowchart showing an example of collection processing according to the present embodiment.
  • processor 102 as collection engine 84, collects measurements 95 identified by variables specified by standard targeting data 162 (step S10).
  • processor 102 as event detection module 82, detects events specified by selected event data 160 (step S12).
  • step S12 a sign of the designated event may be detected.
  • step S13 If the monitored event is not detected (NO in step S13), the series of processing ends. to start.
  • processor 102 scans the causal relationships of causal model 70 based on nodes N(i) of detected events to identify nodes N corresponding to one or more related events. (i) is specified, and the collection target variable group 553 of each specified node N(i) is determined as collection target data (step S15). The processor 102 outputs a collection switching command 61 including each variable name of the determined collection target variable group 553 (step S17).
  • the processor 102 controls the collection engine 84 to switch to a collection target including the collection target variable group 553 in accordance with the collection switching command 61 (step S19).
  • the processor 102 as the collection engine 84, starts collecting a collection target variable group 553 in addition to the existing collection targets (that is, standard collection targets).
  • 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 is terminated. 88, a backup process is performed (step S23).
  • the processor 102 includes a module that detects an operating mechanism among a plurality of mechanisms that are controlled by the manufacturing equipment, and determines that the causal relationship to be scanned is the causal relationship corresponding to the operating mechanism. You may
  • the film transport mechanism and the work transport mechanism 404 operate in cooperation with each other as shown in FIG.
  • the machine is stopped, and only the other mechanism is operated to manufacture the workpiece.
  • the processor 102 detects which mechanism is active and scans the causal model 70 corresponding to the detected mechanism, either the partial model 71 or the partial model 72 or both, so that the causal relationships are scanned. , to enable.
  • the processor 102 detects the operating mechanism from the state value 92 of the predetermined variable acquired via the I/O variable table 94 or the measured value 95 of the control command 91 . 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 transport mechanism operates, and when it determines that the variable of the roller 55 or the roller 56 indicates a significant value, the work transport mechanism operates. Detects if
  • the processor 102 sets the causal model (partial model 71 or partial model 72) corresponding to the working mechanism as the scanning target.
  • the processor 102 as the event detection module 82 (or the sign detection module 821), scans the causal relationship to be scanned based on the event to be monitored, and identifies the event identified by the scanning with the variable name of the read variable group 552 corresponding to the event. Based on the measured value 95 obtained, it is detected whether the event to be monitored has occurred.
  • the method of determining which mechanism is in operation is not limited to the method of determining from the measured values 95, and may be determined from, for example, user operations.
  • Retroactive backup when the monitored event is detected, data collected during a predetermined period of time going back from the time of detection 51 can also be backed up.
  • each record 60 collected by the collection engine 84 according to the variable name specified by the standard targeting data 162 contains the manufacturing facility-wide collected values 54, including the collected values 54 of the monitored event.
  • the backup engine 88 selects the measured value identified by each identifier of the collection target variable group 553 corresponding to the monitored event among the measured values 95 collected by the first collection unit 841.
  • the time-series DB 87 stores measured values 95 collected in a predetermined period preceding the detection time 51 of the monitored event.
  • the backup engine 88 backs up the records 60 in the buffer 85 collected during a predetermined time period prior to the time 51 of the detection.
  • the record 60 having the identifier 532 of each variable name of the collection target variable group 553 corresponding to the monitoring target event is backed up and stored in the area E1.
  • the length of this predetermined period may be set according to the type of event to be monitored, and may be specified in the backup condition 163, for example.
  • PLCs 100 may collect measurements 95 in response to commands sent from other PLCs 100 .
  • the PLC 100 when the PLC 100 detects an event to be monitored, it sends commands to other PLCs.
  • This command includes the variable name of the collection target variable group 553 corresponding to each event determined by the collection target determination module 83, the event detection time 51, and the collection command.
  • the other PLC 100 receives the command, it causes the collection engine 84 to collect the measured value 95 identified by the variable name specified by the command in accordance with the collection instruction.
  • records 60 with collected measurements 95 are stored in timeline DB 87 by backup engine 88 .
  • the equipment of the manufacturing facility of the PLC 100 is common between the PLCs 100, the equipment is time-synchronized, so the control system 10 provides a backup containing the collected values 54 of the equipment individually obtained by different PLCs 100 (different processes).
  • the data can be acquired with the time axis indicated by the time 51 of the backup data substantially matching between the different PLCs 100 . Therefore, at the time of analysis, by specifying the time 51, it is possible to easily identify the backup data corresponding to the specified time 51 for devices common to different PLCs 100. FIG. This allows efficient analysis.
  • the above command may also include period data specifying the period of time to collect. (n1. Aggregation and management) Any one PLC 100 of the plurality of PLCs 100 collects records 50 or 60 from each of the other PLCs 100 and stores them in the time-series DB 87 .
  • any one PLC 100 in response to a predetermined trigger, from each of the other PLC 100, the measurement value 95 (record 50 or record 60) collected for the monitored event in the PLC 100 It is received and stored in the time-series DB 87 of the PLC 100 of the one concerned. That is, while each PLC 100 maintains the configuration of the distributed DB that manages the measured value 95 in its own time-series DB 87, any one PLC 100 collects the monitoring targets collected by all the PLCs 100 connected to the network 11. Measured values 95 corresponding to events are collectively managed in a time-series DB 87 .
  • each PLC 100 of the control system 1 searches for the record 50 or the record 60 from the area E1 or E2 of its own device in response to the above trigger, and aggregates and manages the time-series DB of the storage unit 450.
  • it may be transferred to the manufacturing execution system 420, which is a host system. Even in this case, the measured values 95 corresponding to the monitoring target events collected by all the PLCs 100 can be centrally managed in the host system while maintaining the structure of the distributed DB.
  • the above trigger may be a notification of a predetermined type. This notification may be transferred from one PLC 100 to another PLC 100 via the network 11 at the timing when any one PLC 100 detects an event to be monitored or detects a sign of the event.
  • one PLC 100 since the PLCs 100 operate in synchronization with each other, one PLC 100 stores the measured values 95 (records 50) received from the other PLCs 100 in the time series DB 87 based on the synchronized time. can be centralized and managed. Similarly, in the storage unit 450 of the manufacturing execution system 420, the measured values 95 (records 50) from each PLC 100 can be managed in a time-series DB. The measured values 95 aggregated in this way can be used as traceability information for analyzing the operation of the control system 1 .
  • collection engine 84 performs collection only when a monitored event (or event precursor) is detected by event detection module 82 (or precursor detection module 821).
  • the collection targets of the collection engine 84 do not include the measured values 95 specified by the standard target specification data 162, and each of the collection target variable groups 553 corresponding to one or more events determined by the collection target determination module 83. Measured values 95 identified by variable names may be included.
  • the operation time of the collection engine 84 can be limited to the detection of the event to be monitored, and even if the collection engine 84 is executed, the load on the PLC 100 can be reduced.
  • the processor 102 of the PLC 100 controls each component within the PLC 100 by executing the program.
  • Secondary storage device 108 may store such programs and related data.
  • the storage medium for programs and data is not limited to the secondary storage device 108.
  • an external storage medium such as the memory card 116 may be used.
  • Programs and data may also be downloaded to a storage medium readable by the PLC 100 via various communication lines such as the networks 11, 12, 13, and 14.
  • Storage media store information such as programs by electrical, magnetic, optical, mechanical or chemical action so that computers, other devices, machines, etc. can read information such as programs. is a medium.
  • a program can be executed by one or more processors 102 such as a CPU, or by a combination of processors 102 and circuits such as ASIC (Application Specific Integrated Circuit) and FPGA (Field-Programmable Gate Array).
  • processors 102 such as a CPU
  • circuits such as ASIC (Application Specific Integrated Circuit) and FPGA (Field-Programmable Gate Array).
  • the determining means is Control according to configuration 1, wherein in response to detection by the event detection means, the causal relationship is scanned to determine one or more of the events related to the monitored event as factors causing the monitored event.
  • Device. [Configuration 3] The determining means is 3. Arrangement 1 or 2, wherein in response to detection of the event detection means, scanning the causality to determine one or more of the events related to the event as a result of the monitored event. Control device.
  • the controlled object includes a plurality of objects (402, 404), the causality includes causality (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 is Scanning the causal relationship corresponding to the operating target among the plurality of targets, and detecting the monitored event or detecting the event based on the measured value identified by the identifier corresponding to the monitored event 4.
  • the control device according to any one of configurations 1 to 3, which detects a sign of.
  • the collection means includes a first collection means (841) that collects a plurality of types of predetermined measurement values in time series during operation of the controlled object, The means for storing the measured value identified by the identifier corresponding to the event to be monitored, among the measured values collected by the first collection means in response to the detection of the event detection means, when the event is detected; 5.
  • the control device according to any one of configurations 1 to 4, wherein the storage unit stores measured values collected in a predetermined time period dating back from .
  • a command including the identifier corresponding to the event determined by the determination means and a command to collect the measured value identified by the identifier is transmitted to another control device.
  • the control device according to any one of configurations 1 to 5.
  • [Configuration 7] means (161) for displaying a UI including images representing causal relationships between the plurality of events; 7.
  • a control system (10) configured by connecting a plurality of the control devices according to any one of configurations 1 to 7 to a network, The plurality of control devices are time-synchronized with each other, When a predetermined notification is transferred to the network (11), one control device among the plurality of control devices receives from another control device the measurement obtained by the other control device by the obtaining means.
  • a control system (10) configured by connecting a plurality of the control devices according to any one of configurations 1 to 7 to 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 collects and manages the measured values from each of the control devices via the network, When a predetermined notification is transferred to the network, each control device transfers the measured value acquired by the acquiring means of the control device or the measured value collected by the collecting means to the host system. control system.
  • a computer (102) implemented method comprising: The computer comprises means for storing a causal relationship between a plurality of events that can occur in the controlled object and an identifier of the measured value associated with each of the plurality of events, The method includes: obtaining a plurality of measurements associated with the controlled object; a step of detecting an event to be monitored or a sign of the event based on the measured value identified by the identifier corresponding to the event to be monitored (S13); responsive to said detection, scanning said causality to determine one or more said events related to said monitored event (S15); A step of collecting the measured values identified by the identifiers corresponding to the events to be monitored and the events determined in the determining step, among the plurality of measured values obtained in the obtaining step (S19 ) and a method.
  • control system 30 control cycle, 50, 60 record, 51 time, 53, 54 collection value, 61 collection switching command, 70 causal model, 71, 72 partial model, 73 idle 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 storage device, 108 secondary storage 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 selection 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

制御対象の稼働状態に応じて必要な情報を収集する。PLC(100)は、制御対象で生じ得る複数の事象間の因果関係と、各複数の事象について当該事象に関連する計測値の識別子とを格納する。制御装置は、監視対象の事象を検出、または当該事象の予兆を検出すると、因果関係を走査し、監視対象の事象に関係する1つ以上の事象を決定する。制御装置は、監視対象の事象と決定された各事象に対応の識別子で識別される計測値を収集する。

Description

制御装置、制御システム、方法およびプログラム
 この開示は、制御装置、制御システム、方法およびプログラムに関し、特に、情報を収集することが可能な制御装置、制御システム、方法およびプログラムに関する。
 近年の情報通信技術(ICT:Information and Communication Technology)の進歩に伴って、製造設備に関する情報を収集し、収集情報を用いて品質管理をより高度化したいという要望がある。産業機械に関する情報の収集に関して、例えば特許文献1(特開2020-13526号公報)はデータのロギングを開示する。より具体的には、特許文献1では、PLCは、所定の出力条件が満たされるまでは、フィールドデバイスから取得されたデータをログデータとしてメモリ(例えばリングバッファ)に記録していき、所定出力条件が満たされるとメモリのログデータをメモリカードまたは内部メモリ(不揮発性メモリ)に書込む(段落0102、0103、0147等参照)。
 特許文献2(国際公開第2012/111653号)のPLCのデータ収集部は被制御装置が出力するデバイスデータを収集しデバイスデータ記憶部に格納し、デバイスデータ記憶部のデバイスデータを、ホストコンピュータに転送するために、リングバッファ等の記憶装置に転送する。
特開2020-13526号公報 国際公開第2012/111653号
 製造設備から情報を収集する場合、品質管理の精度を維持しつつデータ収集のリソースを節約する観点から、製造設備の稼働状態に応じて必要な情報を決定し収集することが望まれる。特許文献1と2は、当該観点での構成は提案しない。
 本開示は、制御対象の稼働状態に応じて必要な情報を収集する制御装置、方法およびプログラムを提供することを1つの目的とする。
 本開示において、制御対象を制御する制御装置であって、制御対象に関連する複数の計測値を取得する取得手段と、制御対象で生じ得る複数の事象間の因果関係と、各複数の事象について当該事象に関連する計測値の識別子とを格納する因果情報格納手段と、監視対象の事象に対応の識別子で識別される計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する事象検出手段と、事象検出手段の検出に応じて、因果関係を走査し、監視対象の事象に関係する1つ以上の事象を決定する決定手段と、取得手段が取得する複数の計測値のうち、監視対象の事象と決定手段が決定した各事象に対応の識別子で識別される計測値を収集する収集手段と、を備える。
 上述の開示によれば、制御装置は、制御対象において監視対象の事象または当該事象の予兆が検出されたとき、因果関係を走査して決定された当該監視対象の事象に関係する1つ以上の事象と、監視対象の事象のそれぞれに対応の識別子で識別される計測値を収集する。
 したがって、制御装置は、制御対象の状態に応じて、因果関係に基づく必要な計測値の情報を収集できる。
 上述の開示において、決定手段は、事象検出手段の検出に応じて、因果関係を走査し、監視対象の事象を生じさせる要因として当該事象に関係する1つ以上の事象を決定する。
 上述の開示によれば、因果関係における監視対象の事象を生じさせる要因事象を、計測値を収集する対象事象に含めることができる。
 上述の開示において、決定手段は、事象検出手段の検出に応じて、因果関係を走査し、監視対象の事象によって生じる結果として当該事象に関係する1つ以上の事象を決定する。
 上述の開示によれば、因果関係における監視対象の事象によって生じ得る結果事象を、計測値を収集する対象事象に含めることができる。
 上述の開示において、制御対象は、複数の対象を含み、因果関係は、各複数の対象に対応の因果関係を含み、制御装置は、複数の対象のうち稼働する対象を検出し、事象検出手段は、複数の対象のうち稼働する対象に対応の因果関係を走査し、監視対象の事象に対応の識別子で識別される計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する。
 上述の開示によれば、制御対象が稼働する時に当該制御対象に対応する因果関係を用いて、監視対象の事象または予兆を検出する。
 上述の開示において、制御装置は、収集手段によって収集された計測値を記憶部に格納する手段を更に備え、収集手段は制御対象の稼働中に予め定められた複数種類の計測値を時系列に収集する第1収集手段を含み、格納する手段は、事象検出手段の検出に応じて、第1収集手段が収集する計測値のうち、監視対象の事象に対応の識別子で識別される計測値であって、当該事象の検出時から遡る予め定められた期間において収集された計測値を、記憶部に格納する。
 上述の開示によれば、制御装置は、第1収集手段が収集した計測値のうち、監視対象の事象に対応の識別子で識別される計測値であって、監視対象の事象またはその予兆の検出時から遡った予め定められた期間で収集されている計測値を格納しておくことができる。
 上述の開示において、制御装置は、事象検出手段の検出に応じて、決定手段が決定した事象に対応の識別子と、当該識別子で識別される計測値の収集指令とを含むコマンドを、他の制御装置に送信する。
 上述の開示によれば、監視対象の事象または予兆が検出されたときは、制御装置は他の制御装置にコマンドを送信する。コマンドが他の制御装置で実行されることにより、自制御装置の収集手段で収集する計測値と、同じ種類の計測値であって他の制御装置の制御対象から取得できる計測値を、他の制御装置に収集させることができる。
 上述の開示において、制御装置は、複数の事象間の因果関係を表す画像を含むUIを表示する手段と、因果関係における複数の事象から、監視対象の事象を指定するユーザ操作を受付ける手段と、をさらに備える。
 上述の開示によれば、ユーザに、監視対象の事象を指定するためのUIを、複数の事象間の因果関係を表す画像として提供できる。
 本開示において、制御システムは、上記に述べた複数の制御装置をネットワーク接続して構成される制御システムであって、複数の制御装置は、互いに時刻同期し、ネットワークに予め定められた通知が転送されると、複数の制御装置のうちの1の制御装置は、他の制御装置から、当該他の制御装置が取得手段によって取得した計測値、または、収集手段によって収集した計測値を、受信し、集約し管理する。
 この開示によれば、制御システムでは、予め定められた通知が転送されたタイミングに応じて、複数の制御装置のうちの1の制御装置において、他の制御装置からの計測値を集約し管理できる。
 本開示において、制御システムは、上記に述べた複数の前記制御装置をネットワーク接続して構成される制御システムであって、複数の制御装置は、互いに時刻同期し、各制御装置は、ネットワークを介して、各制御装置からの計測値を集約し管理する上位システムと通信し、ネットワークに予め定められた通知が転送されると、各制御装置は、当該制御装置の取得手段によって取得した計測値、または、収集手段によって収集した計測値を、上位システムに転送する。
 この開示によれば、制御システムでは、予め定められた通知が転送されたタイミングに応じて、上位システムにおいて、複数の制御装置から計測値を集約し管理できる。
 本開示において、方法は、制御対象で生じ得る複数の事象間の因果関係と、各複数の事象について当該事象に関連する計測値の識別子とを格納する手段を備えるコンピュータが実施する方法である。この方法は、制御対象に関連する複数の計測値を取得するステップと、ステップと、監視対象の事象に対応の識別子で識別される計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出するステップと、検出に応じて、因果関係を走査し、監視対象の事象に関係する1つ以上の事象を決定するステップと、取得するステップにおいて取得される複数の計測値のうち、監視対象の事象と決定するステップにおいて決定された各事象に対応の識別子で識別される計測値を収集するステップと、を備える。
 上述の開示によれば、制御対象において監視対象の事象または当該事象の予兆が検出されたとき、因果関係を走査して決定された当該監視対象の事象に関係する1つ以上の事象と、監視対象の事象のそれぞれに対応の識別子で識別される計測値を収集する。
 したがって、コンピュータは、制御対象の状態に応じて、因果関係に基づく必要な計測値の情報を収集できる。
 本開示おいて、上記の方法をプロセッサに実行させるためのプログラムが提供される。
 本開示によれば、制御対象の状態に応じて計測値の情報を収集できる。
本実施の形態に係る情報のPLCが備えるコンポーネントを模式的に示す図である。 本発明の実施の形態に係る制御システムの構成を模式的に示す図である。 本実施の形態に係るPLCのハードウェア構成例を示すブロック図である。 本実施の形態に係るサポート装置のハードウェア構成を概略的に示す図である。 本実施の形態に係る製造設備の一例を示す模式図である。 本実施の形態に係る因果モデルの一例を模式的に示す図である。 本実施の形態に係る因果関係の算出例を示す図である。 図6の因果モデルのノードのデータ構造の一例を示す図である。 本実施の形態に係る監視対象の事象を指定するためのUI画面の一例を示す図である。 本実施の形態に係る処理を制御周期30と関連付けて示す図である。 本実施の形態に係る事象選択UIの処理例を示すフローチャートである。 本実施の形態に係る収集処理の一例を示すフローチャートである。
 以下に、図面を参照しつつ、実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る情報のPLC100が備えるコンポーネントを模式的に示す図である。PLC(プログラマブルロジックコントローラ)100は、FA(Factory Automation)の製造設備を制御するとともに、制御対象である製造設備に関連する複数の「計測値」を収集する。計測値は、PLC100のプロセッサが制御演算を実行することで算出される出力値、制御演算の実行過程で算出される中間値、および制御対象の状態を示す後述する状態値92など、制御対象に関連して計測することができる各種値の1つ以上を含み得る。制御演算が算する出力値は、後述する制御指令91を含む。
 本実施の形態では、「制御装置」の典型例として、PLC100を具体例として説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
 製造設備は、複数のフィールド機器90を備える。フィールド機器90は制御指令91に従い動作し、動作結果によりフィールド機器90の状態を変化させ得る。
 PLC100は、制御周期毎に、I/Oリフレッシュ93を実行するとともに、制御モジュール81によって制御演算を実行する。より具体的には、I/Oリフレッシュ93が実行されると、PLC100は、各フィールド機器90から受信する状態値92をI/O変数テーブル94に書込むとともに、I/O変数テーブル94に書込まれている制御指令91をフィールド機器90に送信する。I/Oリフレッシュ93は、製造設備の状態を示す複数の状態情報を取得する「取得モジュール」の一実施例である。制御指令91は、フィールド機器90の制御に関する値を示す。制御演算が実行されると、PLC100は、I/O変数テーブル94の状態値92に基づき制御に関する値を算出し、算出結果に基づきI/O変数テーブル94の制御指令91を更新する。このように、PLC100は、制御周期毎に、I/Oリフレッシュ93および制御演算を実行することにより、I/O変数テーブル94の制御指令91および状態値92を最新に維持することができる。
 また、PLC100は、計測値の収集に関して、因果モデル70と、事象検出モジュール82と、収集対象決定モジュール83と、計測値を収集する収集エンジン84とを有する。また、PLC100は、収集エンジン84に関連して収集対象の計測値を切替えるための切替部86と、収集された情報を格納するバッファ85とを有する。また、PLC100は、収集された情報をバックアップするために、バックアップエンジン88と、時系列DB(Data Base)87とを有する。
 因果モデル70は、制御対象の製造設備で生じ得る複数の事象間の因果関係と、各事象について当該事象に関連する計測値の識別子とを有する。因果モデル70は、PLC100の記憶部に格納される。複数事象は因果関係における結果事象と、当該結果事象を生じさせる要因となる1つ以上の要因事象とを含む、結果事象と当該結果事象を生じさせた要因事象とは製造設備について統計的に取得できる。本実施の形態では、制御プログラムは、変数プログラミングに従うプログラムであるから、各事象に関連する計測値の識別子は、当該計測値に割当てられる変数名に対応する。
 本実施の形態では、「事象」は、監視対象である製造設備の状態の変化、異常、状態変化(異常)の予兆等を含む概念である。
 事象検出モジュール82は、I/O変数テーブル94の複数の計測値のうち、因果モデル70における監視対象の事象に対応の識別子で識別される計測値に基づき、当該監視対象の事象を検出する。
 例えば、事象検出モジュール82は、監視対象の事象に対応の識別子で識別される計測値の経時的変化を予め定められた変化パターン(変化の傾向)と照合し、照合の結果に基づき、状態の変化を検出する。また、当該変化パターンとして異常検出のためのパターンを用いれば、当該照合の結果に基づき、異常の発生を検出できる。
 また、事象検出モジュール82は、監視対象の事象の予兆を、予測モデルを用いて検出する予兆検出モジュール821を有する。
 上記に述べた監視対象の事象は、PLC100がユーザ操作から受付ける選択事象データ160によって指定される。本実施の形態では、PLC100は、上記に述べた制御周期に同期して、事象検出モジュール82を実行する。
 収集対象決定モジュール83は、事象検出モジュール82からの検出に応じて、すなわち監視対象の事象が検出されると、因果モデル70の因果関係に基づき、監視対象の事象に関係する1つ以上の事象を決定する。例えば、収集対象決定モジュール83は、ある事象が生じたときに、因果関係を走査し、走査の結果に基づき、事象Xに関係する1つ以上の事象Yを決定する。収集対象決定モジュール83は、監視対象の事象と決定された各事象Yに対応の識別子を因果モデル70から取得し、取得した識別子を有する収集切替コマンド61を出力する。
 切替部86は、収集対象決定モジュール83からの収集切替コマンド61に従い、収集エンジン84を、収集切替コマンド61が示す識別子で識別される計測値をI/O変数テーブル94から読出すよう制御する。
 収集エンジン84は、稼働中は、後述する標準対象指定データ162が示す識別子によって識別される計測値をI/O変数テーブル94から読出し時系列に収集する第1収集部841を有する。切替部86によって制御されると、収集エンジン84は収集する計測値を切替える。例えば、収集エンジン84が、第1収集部841によって標準対象指定データ162に従いそれまで収集していた計測値に加えて、収集対象決定モジュール83が決定した事象Yに関連の計測値を収集開始する。本実施の形態では、「収集」は、I/O変数テーブル94から計測値を読出し、読出された計測値に事象を検出した時を示すタイムスタンプを付けてバッファ85に格納するまでの一連の処理を示す。
 バックアップエンジン88は、バッファ85に格納される情報のバックアップ処理を実行する。バックアップ処理は、例えば、バッファ85の情報を複写して、複写された情報を、バッファ85とは異なる記憶媒体に格納する(書込む)処理を含む。このように複写された情報の格納先の記憶媒体は、典型的には、不揮発性の記憶領域を有する不揮発性記憶媒体を含む。バックアップエンジン88は、収集エンジン84によって収集された計測値95を記憶部(時系列DB87)に格納するモジュールを構成する。
 バックアップエンジン88により情報が書込まれる記憶領域は、時系列DB87を構成する。時系列DB87は、例えば、領域E1および領域E2を有する。領域E1は、監視対象の事象が検出されたとき収集される情報のレコード50が格納され、領域E2は、それ以外のときに収集される情報のレコード60が格納される。
 領域E1のレコード50は、時間51と、検出された監視対象の事象52と、収集値53とを含む。収集値53は、監視対象の事象52に因果関係において関係する事象の事象ID531と、当該関係する事象に関連付けられた1つ以上の識別子532と、各識別子532によって識別される計測値95とを含む。時間51は当該レコード50の事象52が検出された時間であり収集エンジン84が計測値95に付したタイムスタンプを示す。領域E2のレコード60は、時間51と、収集値54とを含む。収集値54は、計測値95と、当該計測値95の識別子532とを含む。
 時系列DB87は、本実施の形態ではPLC100内に設けられるが、PLC100の外部に設けられてもよい。例えば、時系列DB87は、PLC100に脱着自在に装着される記憶媒体、または外部のサーバを含む情報処理装置が管理するストレージによって構成されてもよい。外部サーバは、クラウドベースサーバまたはオンプレミスサーバを含み得る。
 PLC100は、制御対象において、ユーザが選択的に指定した監視対象の事象を検出すると、因果モデル70の因果関係から監視対象の事象に関係する1つ以上の事象を決定し、監視対象の事象と決定した各事象に関連する計測値95(制御指令91および状態値92を含む)を収集する。したがって、PLC100は、検出された事象に応じた、すなわち制御対象の製造設備の状態に応じた種類の情報を収集できる。以下、本実施の形態のより具体的な応用例について説明する。
 <B.ハードウェアの構成例>
 図2は、本発明の実施の形態に係る制御システム10の構成を模式的に示す図である。図2を参照して、FAに適用され得る制御システム10は、ネットワークが複数レベルに接続されており、限定されないが、例えば4つのレベルのネットワーク11、12、13および14が設けられている。
 ネットワーク11は、コントロールレベルのネットワークである。ネットワーク11は、図1に示した複数のPLC100A、100Bおよび100CとHMI(Human Machine Interface)280に追加して、装置/ライン管理装置190が接続される。装置/ライン管理装置190およびHMI280は、ネットワークに接続される装置および生産ラインを管理する機器に相当する。図2では、ネットワーク11に接続されるPLC100A、PLC100BおよびPLC00Cの3台とするが、台数は限定されない。以下では、PLC100A、PLC100BおよびPLC100Cに共通する説明では、PLC100と総称する。
 ネットワーク12は、装置およびラインを管理する装置/ライン管理装置190、製造計画等を管理する製造管理装置380および390が接続される。装置/ライン管理装置190、製造管理装置380および390は、ネットワーク12を介して、製造計画等の管理情報の遣り取り、および装置またはラインの情報を遣り取りする。
 ネットワーク13は、コンピュータレベルのネットワークとして提供される。ネットワーク13には、製造管理装置380および390、ならびに記憶部450を用いてデータを管理する製造実行システム(EMS:Manufacturing Execution System)410が接続される。製造管理装置380および390、ならびに製造実行システム420は、ネットワーク13を介して、生産管理および情報系のデータを遣り取りする。記憶部450は時系列DB87のデータを格納する領域を含む。
 ネットワーク14は、インターネットなどの外部ネットワークを含む。ネットワーク14には、製造実行システム420とクラウド上の外部装置などが接続される。製造実行システム420は、クラウド上の装置とデータを遣り取りすることにより、時系列DB87のデータをクラウドコンピューティング装置に転送する。
 ファクトリーネットワークに属するネットワーク11および12のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、ネットワーク110のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、ネットワーク11のプロトコル(第1のプロトコル)とネットワーク110のプロトコルとは、同じであってもよいし、異なっていてもよい。このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。
 ネットワーク13および14のプロトコルとしては、接続先の多様性を担保するために、汎用的なEthernetなどが用いられる。汎用的なEthernetを採用することで、送信可能なデータ量などの制限を排除できる。
 PLC100は、製造設備の1または複数のフィールド機器90が、ネットワーク110を介して接続される。PLC100は、関連した入出力ユニット(図示せず)を介してフィールド機器90が直接接続される場合もある。フィールド機器90の各々は、製造設備に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。
 ネットワーク110を介して、PLC100とフィールド機器90との間で遣り取りされるデータは、数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、I/Oリフレッシュ93によって実現される。
 PLC100は、サポート装置500が接続され得る。サポート装置500は、ユーザが制御システム10を運用するのを支援する支援ツールを提供する。支援ツールは、制御プログラムの実行環境またはPLC100との通信環境等の準備の設定ツールを含むとともに、因果モデル70の作成ツール、予兆検出モジュール821が用いる予測モデルまたは学習モデルの作成ツールを含む。支援ツールは、例えばUI(User Interface)によりユーザに提供される。
 HMI280は、SCADA(Supervisory Control And Data Acquisition)機能を提供することにより、SCADAによって処理されたシステムを監視または制御するためのデータをグラフィカル表示するとともに、ユーザ操作を受付ける。制御システム10においては、PLC100、サポート装置500およびHMI280が別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。サポート装置500は、ネットワーク11に接続さてもよく、または、PLC100に内蔵されてもよく、または、ポータブル端末として提供されてもよい。
 制御システム10のネットワーク11に接続されるPLC100A、100Bおよび100Cは、それぞれ、全体工程1を構成する異なる工程3A、3Bおよび3Cに備えられる。本実施の形態では、PLC100A、PLC100BおよびPLC100Cそれぞれが図1の構成を有し、当該PLCの制御対象(工程の製造設備)に応じた因果関係に基づき、検出される監視対象の事象に関係する事象に関連する計測値を収集する。
 <C.時刻同期>
 図2のネットワーク110では、データの到着時間が保証される必要があるため、PLC100と、当該PLC100に接続されるフィールド機器90とは互いに時刻同期されるタイマを有する。PLC100A、PLC100BおよびPLC100Cは互いに時刻同期されたタイマ101A、101Bおよび101Cを有している。これにより、制御システム10は、異なるPLC100に接続される複数のフィールド機器90の、すなわち異なる工程間における複数のフィールド機器90の同期した時刻に基づく協調制御を実現する。以下では、タイマ101A、101Bおよび101Cに共通した説明では、タイマ101と総称する。「時刻同期」はPLC100が有するタイマ101の時間を、他のPLC100が有するタイマの時間に合わせることを示す。時刻同期では、精度が高いタイマをマスタとして、他のタイマはスレーブとして、スレーブはマスタに合わせる。マスタは、例えば、制御システム10が有するPLC100のタイマ101うち、最も精度のよいタイマを決定するが、マスタの決定方法は、これに限定されない。
 図1に示すPLC100の時系列DB87の収集値53,54に付される時間51は、タイマ101の出力に基づくタイムスタンプに相当する。これにより、各PLC100が収集する収集値53のうち、PLC100の間で共通のタイミングで収集された収集値53に、同じ時間51を示すタイムスタンプを付すことができる。収集値54についても同様である。
 なお、本実施の形態では「時間51」は何らかの事象が生じるタイミング、または時間よりも短い時間の幅、または時刻、または、ある瞬間などの概念を表す。
 <D.PLC100の構成>
 図3は、本実施の形態に係るPLC100のハードウェア構成例を示すブロック図である。PLC100は、プロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ105と、USB(Universal Serial Bus)コントローラ107と、メモリカードインターフェイス114と、フィールドネットワークコントローラ118と、タイマ126と、操作パネル129を接続する入出力I/F(Interface)127とを含む。操作パネル129は、情報を表示するディスプレイ130を備えたタッチパネルとして提供される。ユーザは、操作パネル129を介してPLC100に対し選択事象データ160を含む情報を入力することができる。
 プロセッサ102は、CPU(Central Processing Unit)、MPU(microprocessor unit)、GPU(Graphics Processing Unit)などで構成され、二次記憶装置108に格納された各種プログラムを読出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。二次記憶装置108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置で構成される。
 チップセット104は、プロセッサ102と各デバイスを制御することで、PLC100全体としての処理を実現する。
 上位ネットワークコントローラ105は、上位のネットワーク11を介して、HMI280、製造実行システム420またはクラウド上の装置(図2参照)などとの間でデータを遣り取りする。USBコントローラ107は、USB接続を介してサポート装置500との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、装着されたメモリカード116に対し各種データを書込み、メモリカード116から各種データを読出すことが可能になっている。メモリカード116は、バックアップエンジン88によって時系列DB87が格納される外部の記憶媒体を構成する。
 タイマ126は、PLC100における各種処理の実行タイミングを管理するための時刻基準として用いられる。タイマ126は、典型的には、所定周期毎にカウンタ値をインクリメントまたはデクリメントするカウンタを含んで構成される。タイマ101は、タイマ126によって構成され得る。
 フィールドネットワークコントローラ118は、ネットワーク110を介したPLC100とフィールド機器90との間のデータの遣り取りを制御する。
 二次記憶装置108は、OS(Operating System)150を含む基本的な機能を実現するためのシステムプログラムに加えて、後述するスケジューラを実現するためのスケジューラプログラム151と、I/Oリフレッシュ93を実現するためのI/Oリフレッシュプログラム152と、UPGと、バックアッププログラム159と、1または複数の因果モデル70と、選択事象データ160と、後述する事象選択UIを提供するために実行される事象選択UIプログラム161と、標準対象指定データ162と、バックアップ条件163と、各事象の発生を判定するために用いる複数の学習モデル164および予測モデル165と、を格納する。学習モデル164および予測モデル165は、対応の事象IDが付加される。
 UPGは、制御対象の制御演算を実現するための制御プログラム154と、実行されると事象検出モジュール82を実現する事象検出プログラム155と、実行されると収集対象決定モジュール83を実現する収集対象決定プログラム156と、実行されると収集エンジン84を実現する収集プログラム157と、実行されると切替部86を実現する切替プログラム158と、実行されるとバックアップエンジン88を実現するバックアッププログラム159とを含む。事象検出プログラム155は、実行されると予兆検出プログラム1551を実現する予兆検出プログラム1551を含む。
 1または複数の因果モデル70は、製造設備毎の、すなわち工程毎の因果モデル70を含む。PLC100は、1または複数の因果モデル70のうち、自装置が配置される工程に対応した因果モデル70を用いて情報を収集する。
 標準対象指定データ162は、収集エンジン84が標準で収集するべき複数の計測値95それぞれの識別子を指定するデータを含む。本実施の形態では、標準で収集するべき計測値95は、因果モデル70の各事象の後述する収集対象変数群553の各変数で識別される計測値95を含む。
 バックアップ条件163は、バックアップエンジン88がバッファ85のデータのうち、バックアップに関する条件を示す。バックアップ条件163に基づくバックアップは後述する。
 プロセッサ102は、二次記憶装置108のプログラムを、主記憶装置106へ読出し展開し、実行する。
 図1には、プロセッサ102がプログラムを実行することで各種モジュールが提供される構成例を示したが、これらの提供されるモジュールの一部または全部を、専用のハードウェア回路(例えば、ASIC(Application specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <E.事象検出方法の例>
 本実施の形態に係る事象検出モジュール82は、例えば監視対象の事象に対応の学習モデル164を用いて事象が発生したか否かを推論する推論処理を実行することにより、事象を検出する。推論処理としては、限定されないが、プロセッサ102は、I/Oリフレッシュ93により取得された監視対象の事象に関連する計測値95に基づく特徴量を算出し、特徴量の学習モデル164(推論モデルともいう)からの外れ度合いを評価し、評価結果に従い、事象が発生したかを検出(推論)する。学習モデル164のモデルデータは、公知のデータマイニング方法により決定することができる。外れ度合いに基づく推論処理に適用可能な手法としては、k近傍法、LoF(local outlier factor)法、iForest(isolation forest)法などがある。また、他の手法として、DBT(Deep Binary Tree)を用いることもできる。推論処理は、モデルデータを、学習の結果またはルールベースに基づき適宜更新し得る。
 また、本実施の形態に係る予兆検出モジュール821は、監視対象の事象に対応の識別子で識別される計測値95から、監視対象の事象に対応の予測モデル165の取得に用いられた特徴量の値を算出する。予兆検出モジュール821は、この算出した特徴量の値を予測モデル165に適用することで、製造設備に監視対象の事象の予兆があるかを検出する。サポート装置500は、予測モデル165を作成する。より具体的には、製造設備が製品を正常に生産した正常時および生産される当該製品に異常が生じた異常時それぞれについて、当該製造設備の計測値95から特徴量を取得し、正常時および異常時に取得された複数種類の特徴量の中から、所定アルゴリズムに基づき、異常の予測に有意な特徴量を抽出し、抽出された特徴量を用いて、異常の発生を予測するための予測モデル165を作成する。なお、予測モデル165の作成方法は、これに限定されない。
 <F.サポート装置500のハードウェア構成>
 図4は、本実施の形態に係るサポート装置500のハードウェア構成を概略的に示す図である。図4を参照して、サポート装置500は、CPU510と、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置で構成されるメモリ511と、タイマ512と、HDDなどの不揮発性に記憶装置で構成されるハードディスク513と、キーボード522を接続する入力インタフェース514と、ディスプレイ520を制御する表示コントローラ515と、USBを介してPLC100または装置/ライン管理装置190と通信する通信インタフェース516と、脱着自在に装着されるメモリカード519のデータを読み書きするデータリーダ/ライタ517と、を含む。これらの各部は、バス518を介して互いにデータ通信が可能なように接続されている。
 CPU510は、ハードディスク513のプログラムを読出し、メモリ511に展開し実行する。ハードディスク513に格納されるプログラムは、OS520を含むシステムプログラムと、サポートプログラム521とを含む。サポートプログラム521は、実行されると、ユーザが制御システム10を運用するのを支援する各種の支援ツールを提供する。
 なお、図3のメモリカード116および図4のメモリカード519は、揮発性記憶媒体または不揮発性記憶媒体を含み、例えば、CF(Compact Flash、登録商標)、SD(登録商標、Secure Digital)などの汎用的な半導体記憶デバイス、またはフレキシブルディスク(Flexible Disk)などの磁気記憶媒体、またはCD-ROM(Compact Disk Read Only Memory)などの光学記憶媒体を含む。
 サポート装置500は、支援ツールによって作成された因果モデル70および事象また予兆を検出するための学習データまたは予測モデルを、PLC100に転送する。
 <G.製造設備の事象と計測値の例示>
 図5は、本実施の形態に係る製造設備の一例を示す模式図である。図5は一例として、包装機400を示すが、製造設備は包装機400に限定されない。図5の包装機400を参照して、監視対象の事象と、収集するべき計測値95を説明する。
 包装機400は、互いに連係して動作する複数の機構で構成される。具体的には、包装機400は、包装母材410の供給機構402と、包装材412を切断して個別パッケージ418を生成する切断機構406と、供給機構402から切断機構406へ包装材412で覆われたワーク414を搬送するワーク搬送機構404とを含む。供給機構402と切断機構406はフィルム搬送機構を構成する。
 供給機構402は、ロール状の包装母材410を供給ローラ408で順次送出すとともに、図示しないラインから供給されるワーク414を包装母材410で覆うことで、ワーク414が封入された包装材412を連続的にワーク搬送機構404へ供給する。
 ワーク搬送機構404は、ワーク414が封入された包装材412を搬送方向411に従い、切断機構406へ順次搬送する。切断機構406は、予め定められたタイミングに従って、一対の切断ローラ416を駆動することで、包装材412を切断および封止して個別パッケージ418を順次生成する。
 例えば、PLC100は、供給機構402の供給ローラ408に生じるトルク値と、切断機構406の切断ローラ416に生じるトルク値とを状態値92として取得できる。このようなそれぞれの機構から収集される状態値92の時間的変化に基づいて、包装機400に対する監視対象の事象の検出または予兆の検出を行うことができる。切断ローラ416のトルク値は、例えばトルクセンサ401によって計測されて、供給ローラ408のトルク値も同様に図示しないトルクセンサによって計測される。PLC100は、これらセンサの計測値を状態値92として取得する。
 包装機400においては、例えば、切断ローラ416による切断タイミングにおいてトルクが比較的大きく変動し、また、包装材412を切断する際の影響を受けて、供給ローラ408に生じるトルクも変動し得る。すなわち、供給ローラ408で生じるトルク値と、切断ローラ416で生じるトルク値との間には、有意な相関がある。そこで、例えば選択事象データ160によって監視対象の事象として「ローラの平衡度異常」が指定されると、事象検出モジュール82によって、当該事象に関連する状態値92として、供給ローラ408で生じるトルク値と、切断ローラ416で生じるトルク値とが取得されて、取得されたトルク値と学習モデルを用いて、当該事象を検出する。また、予兆検出モジュール821によって、これら取得されたトルク値を予測モデルに適用することで、事象の予兆を検出できる。
 包装機400のワーク搬送機構404は、例えば、搬送方向411の上流側と下流側に対をなすローラ55とローラ56を有し、両ローラ間に、搬送ベルト417は適度の張力で掛け渡されている。両ローラは回転することにより、搬送ベルト417上の包装材412が搬送方向411に搬送される。
 ワーク搬送機構404においては、例えば、ローラ55とローラ56は、それぞれ、当該ローラが有する回転軸は、搬送方向411に延びる仮想軸に対して予め定められた傾斜角を有してローラに取付けられる。搬送または切断ローラ416の切断動作に伴い生じる振動に因り回転軸の傾斜角が変動し得る。この変動は、切断ローラ416により近い方のローラ56で大きくなり得る。ローラ55とローラ56の回転軸の傾斜角が変動すると、この変動に伴いローラで生じるトルク値も変動する。したがって、回転軸の傾斜角度とトルク値は有意な相関関係を有する。ワーク搬送機構404において、ローラ55とローラ56の回転軸の傾斜角が変動すると、事象として「搬送系の振動」または「搬送系の歪み」が発生し得る。そこで、例えば選択事象データ160によって、監視対象の事象として「搬送系の振動」または「搬送系の歪み」が指定されると、事象検出モジュール82によって、当該事象に関連する状態値92として、ローラ55とローラ56それぞれで生じるトルク値と、ローラ55とローラ56それぞれの回転軸の傾斜角度とが取得されて、取得されたトルク値と傾斜角度と学習モデルを用いて、当該事象を検出する。また、予兆検出モジュール821によって、これら取得された傾斜角度とトルク値とを予測モデルに適用することで、事象の予兆を検出できる。ローラ55とローラ56の回転軸の傾斜角とトルクは、それぞれ、傾斜センサ57とトルクセンサ58によって計測される。
 また、包装機400は、搬送路上を撮像するカメラ409を有する。カメラ409は、撮像画像を当該画像の特徴量を用いて処理し、状態値92として、包装材412を構成する樹脂材料のフィルムの蛇行量またはなみうちの程度を検出する。カメラ409が出力する状態値92は、この蛇行量またはなみうちの程度を含む。
 上記に述べた供給ローラ408または切断ローラ416のトルク値の変動、ローラ55またはローラ56のトルク値の変動、ローラ55またはローラ56の回転軸の傾斜角の変動などが生じると、変動が大きくなるほど包装材412に物理的作用が及び、その結果、上記のフィルム蛇行またはなみうちが発生する。したがって、供給ローラ408または切断ローラ416のトルク値と、ローラ55またはローラ56のトルク値と、ローラ55またはローラ56の回転軸の傾斜角と、フィルム蛇行量またはなみうち量は有意な相関関係を有する。そこで、例えば選択事象データ160によって監視対象の事象として「フィルム蛇行」または「フィルムなみうち」が指定されると、事象検出モジュール82によって、当該事象に関連する計測値95として、供給ローラ408または切断ローラ416のトルク値と、ローラ55またはローラ56のトルク値と、ローラ55またはローラ56の回転軸の傾斜角と、フィルム蛇行量またはなみうち量とが取得されて、これら取得された状態値92と学習モデルを用いて、当該事象を検出する。また、予兆検出モジュール821によって、これら取得された状態値92を予測モデルに適用することで、事象の予兆を検出できる。
 <H.因果モデルの構成>
 図6は、本実施の形態に係る因果モデル70の一例を模式的に示す図である。本実施の形態では、サポート装置500によって、PLC100が配置され得る工程毎に、すなわち製造設備毎に因果モデル70が作成される。図6は、製造設備として図5の包装機400の因果モデル70を示す。
 図6を参照して、因果モデル70は、製造設備を構成する制御対象の機構、すなわち供給機構402と切断機構406に対応の因果関係を示す部分モデル71と、ワーク搬送機構404に対応する因果関係を示す部分モデル72とを含む。因果モデル70は、製造設備で発生し得る、すなわち検出され得る複数種類の事象間の因果関係を示す。より具体的には、因果モデル70は、複数の事象のそれぞれに対応したノードN(i)(ただし、i=1,2,3,・・・)を含み、各ノードN(i)は、矢印のエッジで1または複数のノードN(i)が接続される。このように1のノードN(i)と1または複数のノードN(i)を接続するエッジによって因果関係が示される。より具体的には、各ノードN(i)について、当該ノードN(i)から図面左側に延びる他の1つ以上のエッジは、当該ノードN(i)を結果事象として当該他の1つ以上のノードN(i)を要因事象とする因果関係を示す。対照的に、各ノードN(i)について、当該ノードN(i)から図面右側に延びる他の1つ以上のエッジは、当該ノードN(i)を要因事象として発生し得る当該他の1つ以上のノードN(i)を結果事象とする因果関係を示す。このように、因果モデル70では、ノードN(i)にあたる事象は、因果関係において要因事象または結果事象の一方、または両方になり得る。
 製造設備において、例えば、ある事象Xが生じたときに、要因Ynが事象Xm(n,m:いずれも正の整数)を生じさせた要因であるとの可能性Pを示す関数P(Xm:Yn)として定義できる。図7は、本実施の形態に係る因果関係の算出例を示す図である。図7を参照して、サポート装置500は、関数P(Xm:Yn)を2次元配列として実装することで、任意の事象Xmについて、各要因Ynが事象Xmを生じさせた可能性を算出することができる。
 さらに1の事象に複数の要因が関係するような複合要因については、多次元関数として定義することができる。例えば、ある事象Xが生じたときに、要因Yn’および要因Yn”が事象Xm(n,m:いずれも正の整数)を生じさせた要因であるとの可能性Pを示す関数P(Xm:Yn’,Yn”)として定義できる。さらに、より多くの要因を関連付けることも可能である。あるいは、要因間の相関係数a(Yn’,Yn”)を予め取得しておき、関数P(Xm:Yn’)と関数P(Xm:Yn”)との積に対して、相関係数a(Yn’,Yn”)を乗じることで、事象Xmについての複合要因を特定するようにしてもよい。
 サポート装置500は、このような分析を実施することによって、製造設備において事象Xmについて、当該事象Xmを生じさせた要因の可能性を要因別にそれぞれ算出し、算出結果に基づき、因果関係を出力する。
 このような関数を用いた因果関係の特定は、いわゆるビッグデータに対する解析技術などを用いて、制御対象の製造設備で過去に生じたデータや、制御対象の製造設備に類似した製造設備において取得されたデータなどから、作成することができる。
 図8は、図6の因果モデル70のノードN(i)のデータ構造の一例を示す図である。図8を参照して、事象のノードN(i)は、当該事象を識別する事象ID551と、1つ以上の計測値の変数名を含む読込変数群552と、1つ以上の計測値の変数名を含む収集対象変数群553と、直前の事象へのポインタ554と、次の事象へのポインタ555とを含む。事象ID551は、当該事象の名前などを含む。読込変数群552は、1または複数の計測値95の変数名RV(j)(j=1,2,3,・・・,n)を示す。事象検出モジュール82は、選択事象データ160によってノードN(i)が監視対象の事象であるとき、当該ノードN(i)の読込変数群552が示す変数名RV(j)で識別される計測値95を取得し、取得した計測値95に基づき事象を検出する。また、予兆検出モジュール821も、読込変数群552が示す変数名で識別される計測値95を用いて事象の予兆を検出する。収集対象変数群553は、1または複数の計測値95の変数名CV(k)(k=1,2,3,・・・,n)を示す。収集エンジン84は、ノードN(i)が、収集対象決定モジュール83によって決定された事象であるとき、当該ノードN(i)の収集対象変数群553の変数名CV(k)の識別子で識別される計測値95を収集する。収集対象変数群553は、対応の読込変数群552の変数名を含み得る。
 直前の事象へのポインタ554は、図6の因果関係において、ノードN(i)から図面右側に位置する1または複数のノードN(i)を指し示し、次の事象へのポインタ555は、図6の因果関係において、ノードN(i)の事象から図面左側に位置する1または複数のノードN(i)を指し示す。この複数のノードN(i)は、当該事象について上記に述べた複合要因を構成し得る。図8では、直前の事象へのポインタ554により1つのノードN(i-1)が示され、また、直前の事象へのポインタ555により1つのノードN(i+1)が示されるが、各ポインタで指し示されるノードN(i)は複数であってもよい。なお、因果関係において次の事象または直前の事象が存在しない場合、ノードN(i)のポインタにはnullがセットされる。なお、本実施の形態では、因果モデル70の構造はポインタを利用して示されるが、因果関係を規定できれば因果モデル70の構造はポインタ利用の構造に限定されない。
 本実施の形態では、ユーザがサポート装置500を操作することにより、サポートプログラム521が実行されると、CPU510は、制御対象の製造設備の因果モデル70を生成する。より具体的には、CPU510は、図7の演算を実行することにより、因果関係を算出する。また、CPU510は、キーボード522を介したユーザ操作に基づき、因果関係の各ノードN(i)について読込変数群552および収集対象変数群553を設定する。例えば、ユーザは、CPU510が表示する制御プログラム154から、当該ノードN(i)の事象に関連するFB(ファンクションブロック)を特定するとともに、制御プログラム154において定義される変数名の一覧から、当該特定されたFBの入出力値の変数名を抽出する。CPU510は、ユーザが抽出した変数名を当該事象のノードN(i)の読込変数群552または収集対象変数群553に設定する。サポート装置500は、生成された因果モデル70を、PLC100にインストールする。
 <I.監視対象の事象の指定>
 本実施の形態では、事象選択UIプログラム161が実行されることにより、プロセッサ102は、複数事象間の因果関係を表す画像を含むUIをディスプレイ130に表示するモジュールと、因果関係における複数の事象から、監視対象の事象を指定するユーザ操作を受付けるモジュールとを実現する。
 図9は、本実施の形態に係る監視対象の事象を指定するためのUI画面の一例を示す図である。PLC100の事象選択UIプログラム161が実行されると、プロセッサ102は、因果モデル70に基づく表示制御データに従い、ディスプレイ130を制御する。これにより、ディスプレイ130は、図9に示すUI画面を表示する。図9を参照して、UI画面は、因果関係をノードN(i)の事象ID551の名称を割当てながら表示する。ユーザは、UI画面のメッセージ131に従い、UI画面の因果関係において、監視対象の事象のノードN(i)を、操作パネル129を介して選択する。図9では、選択された事象は、強調表示される。例えば「ローラ平衡度異常」、「フィルム蛇行」、「フィルムなみうち」および「フィルム噛み込み」が選択される。プロセッサ102は、選択されたこれら事象を示す選択事象データ160を受付ける。
 <J.周期制御>
 本実施の形態では、予め定められた周期内において、制御演算およびデータ収集処理のUPGの実行を保証しながら、バックアップを実施可能な環境が提供される。予め定められた周期は、例えば制御周期に相当する。図10は、本実施の形態に係る処理を制御周期30と関連付けて示す図である。図10の制御周期内で実行される処理は、各PLC100についても同様に実施される。
 PLC100は、スケジューラプログラム151を実行することによりスケジューラを実現する。スケジューラは、タイマ126の出力に基づく制御周期30内で、プロセッサ102に優先度に従い実行させる複数のプログラムを管理する。スケジューラが管理する複数のプログラムは、主に、第1のプログラムと第2のプログラムとを含む。第1のプログラムは、制御周期30においてプロセッサで実行される優先度が高いプログラムであって、I/Oリフレッシュプログラム152およびUPGを含む。UPGは、制御演算のための制御プログラム154および収集処理に関するプログラムを含む。収集処理に関するプログラムは、事象検出プログラム155(予兆検出プログラム1551)と、収集対象決定プログラム156と、収集プログラム157と、切替プログラム158とを有する。
 第2のプログラムは、第1のプログラムより実行の優先度が低く、制御周期30におけるプロセッサ102の空き時間73において実行される第2処理のプログラムを含む。より具体的には、第2処理はバックアップ処理を含み、第2のプログラムはバックアッププログラム159を含む。このように、制御周期30内おいて監視対象の事象が検出されたときは、因果関係において監視対象の事象に関係する1つ以上の事象に対応の収集対象変数群553の変数名で識別される計測値95を収集しバックアップすることができる。バックアップでは、データの圧縮処理が実行されてもよい。
 本実施の形態では、収集処理は制御周期30毎に実行されるとしたが、実行の周期は設定できるとしてもよい。また、バックアップ処理は、N倍(N=1,2,3,・・・)の制御周期30毎に実行されるとしてもよい。バックアップ処理の実行周期は、バックアップ条件163によって指定され得る。
 <K.処理フローチャート>
 図11は、本実施の形態に係る事象選択UIの処理例を示すフローチャートである。事象選択UIプログラム161が実行されると、プロセッサ102は、因果モデル70に基づき、図9のUI画面を、ディスプレイ130を介して提示し(ステップS5)、UI画面を介してユーザ操作、すなわち監視対象の事象を選択する操作を受付け(ステップS7)、受付けたユーザ操作に基づき選択事象データ160を設定する(ステップS8)。
 図12は、本実施の形態に係る収集処理の一例を示すフローチャートである。PLC100の稼働時に、プロセッサ102は、収集エンジン84として、標準対象指定データ162によって指定される変数で識別される計測値95を収集する(ステップS10)。この収集に並行して、プロセッサ102は、事象検出モジュール82として、選択事象データ160によって指定される事象を検出する(ステップS12)。ステップS12では、当該指定される事象の予兆を検出してもよい。
 監視対象の事象が検出されないと(ステップS13でNO)、一連の処理は終了するが、監視対象の事象が検出されると(ステップS13でYES)、プロセッサ102は、監視対象の事象についてデータ収集を開始する。
 より具体的には、プロセッサ102は、収集対象決定モジュール83として、検出された事象のノードN(i)に基づき因果モデル70の因果関係を走査することにより1または複数の関係する事象にあたるノードN(i)を特定し、特定した各ノードN(i)の収集対象変数群553を収集対象データとして判定する(ステップS15)。プロセッサ102は、判定された収集対象変数群553の各変数名を含む収集切替コマンド61を出力する(ステップS17)。
 プロセッサ102は、切替部86として、収集切替コマンド61に従い、収集エンジン84を、収集対象変数群553を含む収集対象に切替えるよう制御する(ステップS19)。プロセッサ102は、収集エンジン84として、それまでの収集対象(すなわち標準収集対象)に追加して収集対象変数群553の収集を開始する。
 プロセッサ102は、バックアップ条件163が満たされるかを判定する(ステップS21)。バックアップ条件163が満たされないと判定されると(ステップS21でNO)、一連の処理を終了するが、バックアップ条件163が満たされると判定されると(ステップS21でYES)、プロセッサ102は、バックアップエンジン88としてバックアップの処理を実施する(ステップS23)。
 <L.走査対象の因果関係の判定>
 プロセッサ102は、製造設備が有する複数の制御対象である複数の機構のうち、稼働する機構を検出するモジュールを備えて、走査するべき因果関係は、稼働する機構に対応する因果関係であると判定してもよい。
 より具体的には、製造設備は、図5に示すようにフィルム搬送機構およびワーク搬送機構404が互いに協調して動作するが、ワーク414の種類が変更されると、これら機構のうち一方機構は停止し、他方機構のみが稼働してワークが製造される。プロセッサ102は、いずれの機構が稼働しているかを検出し、検出された機構に対応の因果モデル70、すなわち部分モデル71または部分モデル72の一方または両方を、その因果関係が走査対象となるよう、イネーブルに設定する。
 本実施の形態では、プロセッサ102は、I/O変数テーブル94を介して取得する予め定められた変数の状態値92または制御指令91の計測値95から、稼働する機構を検出する。例えば、供給ローラ408または切断ローラ416の変数が有意な値を示すと判定するとフィルム搬送機構が、また、ローラ55またはローラ56の変数が有意な値を示すと判定するとワーク搬送機構が、それぞれ稼働していると検出する。
 プロセッサ102は、稼働する機構に対応の因果モデル(部分モデル71または部分モデル72)を走査対象に設定する。プロセッサ102は、事象検出モジュール82(または予兆検出モジュール821)として、走査対象の因果関係を監視対象の事象に基づき走査し、走査により特定された事象に対応の読込変数群552の変数名で識別される計測値95に基づき、当該監視対象の事象が生じたかを検出する。なお、稼働している機構を判定する方法は、計測値95から判定する方法に限定されず、例えばユーザ操作から判定するとしてもよい。
 これにより、プロセッサ102は、走査対象となる因果関係を、稼働している機構に対応の因果関係に絞ることができて、製造設備の全ての機構に対応の因果関係を走査する場合に比べ、走査の時間を短縮でき、また因果関係の走査に係る負荷を小さくできる。
 <M.遡ったバックアップ>
 本実施の形態では、監視対象の事象が検出したとき、検出の時間51から遡る予め定められた期間において収集されたデータもバックアップされ得る。
 より具体的には、標準対象指定データ162が指定する変数名に従って収集エンジン84によって収集される各レコード60は、監視対象の事象の収集値54を含む製造設備の広範にわたる収集値54を含む。バックアップエンジン88は、監視対象の事象が検出されるとき、第1収集部841が収集する計測値95のうち、監視対象の事象に対応の収集対象変数群553の各識別子で識別される計測値95であって、当該監視対象の事象の検出の時間51から遡る予め定められた期間において収集された計測値95を、時系列DB87に格納する。
 より具体的には、バックアップエンジン88は、監視対象の事象(または事象の予兆)が検出されたとき、当該検出の時間51から遡る予め定められた期間において収集されたバッファ85内のレコード60のうち、監視対象の事象に対応の収集対象変数群553の各変数名の識別子532を有したレコード60を、バックアップし領域E1に格納する。この予め定められた期間の長さは、監視対象の事象の種類に応じて設定されてもよく、例えばバックアップ条件163で指定されるとしてもよい。
 これにより、監視対象の事象を生じさせる要因の解析対象として、監視対象の事象が検出された時間から遡って収集された計測値95も含めることができる。
 <N.他のPLC100の状態に起因したバックアップ>
 本実施の形態では、PLC100は他のPLC100から送信されるコマンドに応答して計測値95を収集するとしてもよい。
 より具体的には、PLC100は、監視対象の事象を検出したとき、他のPLCにコマンドを送信する。このコマンドは、収集対象決定モジュール83によって決定された各事象に対応の収集対象変数群553の変数名と、事象を検出した時間51と、収集指令とを含む。他のPLC100は、当該コマンドを受信すると、収集指令に従って、収集エンジン84に、当該コマンドで指定される変数名で識別される計測値95を収集させる。他のPLC00では、収集された計測値95を有するレコード60はバックアップエンジン88によって時系列DB87に格納される。
 PLC100の製造設備の機器がPLC100間で共通する場合、機器間は時刻同期しているので、制御システム10は、異なるPLC100(異なる工程)で個別に取得された当該機器の収集値54を含むバックアップデータを、バックアップデータの時間51が示す時間軸を異なるPLC100間でほぼ一致させて取得できる。したがって、解析時には、時間51を指定することによって、異なるPLC100において共通する機器について、指定された時間51に対応のバックアップデータを容易に特定できる。これにより、解析を効率的に実施できる。
 上記のコマンドは、収集するべき期間を指定する期間データを含んでも良い。
 (n1.集約と管理)
 複数のPLC100のいずれか1のPLC100は、他の各PLC100からレコード50またはレコード60を収集し時系列DB87に格納する。
 より具体的には、いずれか1のPLC100は、予め定められたトリガに応答して、他の各PLC100から、当該PLC100において監視対象の事象について収集した計測値95(レコード50またはレコード60)を受信し、当該1のPLC100の時系列DB87に格納する。すなわち、各PLC100が、自装置の時系列DB87で計測値95を管理する分散DBの構成を維持しながら、いずれか1のPLC100は、ネットワーク11に接続される全てのPLC100が収集した監視対象の事象に対応の計測値95を時系列DB87で集約的に管理する。
 または、制御システム1の各PLC100は、上記のトリガに応答して、自装置の領域E1またはE2からレコード50またはレコード60を検索し、記憶部450の時系列DBに集約して管理されるように、上位システムである製造実行システム420に転送してもよい。この場合でも、分散DBの構成を維持しながら、上位システムにおいて、全てのPLC100が収集した監視対象の事象に対応の計測値95を集約的に管理できる。
 上記のトリガは、予め定められたタイプの通知であればよい。この通知は、いずれか1のPLC100で、監視対象の事象を検出、または当該事象の予兆を検出したタイミングで、当該1のPLC100からネットワーク11を介して他のPLC100に転送されるとしてもよい。
 本実施の形態では、PLC100は、互いに時刻同期して動作するから、1のPLC100は、他のPLC100から受信する計測値95(レコード50)を、時系列DB87において、同期した時刻に基づき時系列に集約し管理できる。同様に、製造実行システム420の記憶部450においても、各PLC100からの計測値95(レコード50)を時系列DBで管理できる。このように集約された計測値95は、制御システム1の稼働を分析するトレーサビィリティの情報として利用できる。
 <O.収集の他の例>
 上記の実施の形態では、収集エンジン84は、事象検出モジュール82(または予兆検出モジュール821)によって、監視対象の事象(または事象の予兆)が検出されたときのみ収集を実施する。言い換えると、収集エンジン84の収集対象は、標準対象指定データ162によって指定される計測値95は含まれず、収集対象決定モジュール83が決定した1つ以上の事象に対応の収集対象変数群553の各変数名で識別される計測値95が含まれるとしてもよい。これにより、収集エンジン84の稼働時間を監視対象の事象の検出時に限定できて、収集エンジン84を実行するとしても、PLC100に係る負荷を少なくできる。
 <P.プログラム>
 PLC100のプロセッサ102は、のプログラムを実行することによりPLC100内の各構成要素の制御を行う。二次記憶装置108は、このようなプログラムおよび関連するデータなどを記憶し得る。
 プログラムおよびデータの記憶媒体は、二次記憶装置108に限定されない。例えば、メモリカード116等の外部の記憶媒体であってもよい。
 また、プログラムおよびデータは、ネットワーク11、12、13、14等の各種通信回線を介してPLC100が読み取り可能な記憶媒体にダウンロードされてもよい。記憶媒体は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。
 プログラムは、CPUなどの1つ以上のプロセッサ102により、またはプロセッサ102とASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)などの回路との組合せにより実行され得る。
 <Q.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 制御対象(400)を制御する制御装置(100)であって、
 前記制御対象に関連する複数の計測値(95)を取得する取得手段(93)と、
 前記制御対象で生じ得る複数の事象間の因果関係と、各前記複数の事象について当該事象に関連する前記計測値の識別子とを格納する因果情報(70)格納手段と、
 監視対象の事象に対応の前記識別子(552)で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する事象検出手段(82,821)と、
 前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象に関係する1つ以上の前記事象を決定する決定手段(83)と、
 前記取得手段が取得する前記複数の計測値のうち、前記監視対象の事象と前記決定手段が決定した各前記1つ以上の事象に対応の前記識別子で識別される前記計測値を収集する収集手段(84)と、を備える、制御装置。
[構成2]
 前記決定手段は、
 前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象を生じさせる要因として当該事象に関係する1つ以上の前記事象を決定する、構成1に記載の制御装置。
[構成3]
 前記決定手段は、
 前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象によって生じる結果として当該事象に関係する1つ以上の前記事象を決定する、構成1または2に記載の制御装置。
[構成4]
 前記制御対象は、複数の対象(402、404)を含み、
 前記因果関係は、各前記複数の対象に対応の因果関係(71,72)を含み、
 前記制御装置は、前記複数の対象のうち稼働する対象を検出し、
 前記事象検出手段は、
 前記複数の対象のうち稼働する対象に対応の前記因果関係を走査し、前記監視対象の事象に対応の前記識別子で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する、構成1から3のいずれか1に記載の制御装置。
[構成5]
 前記収集手段によって収集された計測値を記憶部(87)に格納する手段(88)を、さらに備え、
 前記収集手段は、前記制御対象の稼働中に予め定められた複数種類の計測値を時系列に収集する第1収集手段(841)を含み、
 前記格納する手段は、
 前記事象検出手段の検出に応じて、前記第1収集手段が収集する計測値のうち、前記監視対象の事象に対応の前記識別子で識別される前記計測値であって、当該事象の検出時から遡る予め定められた期間において収集された計測値を、前記記憶部に格納する、構成1から4のいずれか1に記載の制御装置。
[構成6]
 前記事象検出手段の検出に応じて、前記決定手段が決定した事象に対応の前記識別子と、当該識別子で識別される計測値の収集指令とを含むコマンドを、他の制御装置に送信する、構成1から5のいずれか1に記載の制御装置。
[構成7]
 前記複数の事象間の因果関係を表す画像を含むUIを表示する手段(161)と、
 前記因果関係における前記複数の事象から、前記監視対象の事象を指定するユーザ操作を受付ける手段(129)と、をさらに備える、構成1から6のいずれか1に記載の制御装置。
[構成8]
 構成1から7のいずれか1に記載の複数の前記制御装置をネットワーク接続して構成される制御システム(10)であって、
 前記複数の制御装置は、互いに時刻同期し、
 前記ネットワーク(11)に予め定められた通知が転送されると、前記複数の制御装置のうちの1の制御装置は、他の制御装置から、当該他の制御装置が前記取得手段によって取得した計測値、または、前記収集手段によって収集した計測値を、受信し、集約し管理する、制御システム。
[構成9]
 構成1から7のいずれか1に記載の複数の前記制御装置をネットワーク(11)接続して構成される制御システム(10)であって、
 前記複数の制御装置は、互いに時刻同期し、
 各前記複数の制御装置は、前記ネットワークを介して、各前記制御装置からの前記計測値を集約し管理する上位システム(420,450)と通信し、
 前記ネットワークに予め定められた通知が転送されると、前記各制御装置は、当該制御装置の前記取得手段によって取得した計測値、または、前記収集手段によって収集した計測値を、前記上位システムに転送する、制御システム。
[構成10]
 コンピュータ(102)が実施する方法であって、
 前記コンピュータは、制御対象で生じ得る複数の事象間の因果関係と、各前記複数の事象について当該事象に関連する前記計測値の識別子とを格納する手段を備え、
 前記方法は、
 前記制御対象に関連する複数の計測値を取得するステップと、
 監視対象の事象に対応の前記識別子で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出するステップ(S13)と、
 前記検出に応じて、前記因果関係を走査し、前記監視対象の事象に関係する1つ以上の前記事象を決定するステップ(S15)と、
 前記取得するステップにおいて取得される前記複数の計測値のうち、前記監視対象の事象と前記決定するステップにおいて決定された各事象に対応の前記識別子で識別される前記計測値を収集するステップ(S19)と、を備える、方法。
[構成11]
 構成8に記載の方法をプロセッサ(102)に実行させるためのプログラム。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
 10 制御システム、30 制御周期、50,60 レコード、51 時間、53,54 収集値、61 収集切替コマンド、70 因果モデル、71,72 部分モデル、73 空き時間、81 制御モジュール、82 事象検出モジュール、83 収集対象決定モジュール、84 収集エンジン、85 バッファ、86 切替部、88 バックアップエンジン、90 フィールド機器、91 制御指令、92 状態値、93 I/Oリフレッシュ、94 変数テーブル、95 計測値、102 プロセッサ、106 主記憶装置、108 二次記憶装置、116 メモリカード、129 操作パネル、130 ディスプレイ、131 メッセージ、151 スケジューラプログラム、152 I/Oリフレッシュプログラム、154 制御プログラム、155 事象検出プログラム、156 収集対象決定プログラム、157 収集プログラム、158 切替プログラム、159 バックアッププログラム、160 選択事象データ、161 事象選択UIプログラム、162 標準対象指定データ、163 バックアップ条件、164 学習モデル、165 予測モデル、400 包装機、402 供給機構、404 ワーク搬送機構、406 切断機構、551 事象ID、552 読込変数群、553 収集対象変数群、554,555 ポインタ、821 予兆検出モジュール、841 第1収集部、1551 予兆検出プログラム。

Claims (11)

  1.  制御対象を制御する制御装置であって、
     前記制御対象に関連する複数の計測値を取得する取得手段と、
     前記制御対象で生じ得る複数の事象間の因果関係と、各前記複数の事象について当該事象に関連する前記計測値の識別子とを格納する因果情報格納手段と、
     監視対象の事象に対応の前記識別子で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する事象検出手段と、
     前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象に関係する1つ以上の前記事象を決定する決定手段と、
     前記取得手段が取得する前記複数の計測値のうち、前記監視対象の事象と前記決定手段が決定した各前記1つ以上の事象に対応の前記識別子で識別される前記計測値を収集する収集手段と、を備える、制御装置。
  2.  前記決定手段は、
     前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象を生じさせる要因として当該事象に関係する1つ以上の前記事象を決定する、請求項1に記載の制御装置。
  3.  前記決定手段は、
     前記事象検出手段の検出に応じて、前記因果関係を走査し、前記監視対象の事象によって生じる結果として当該事象に関係する1つ以上の前記事象を決定する、請求項1または2に記載の制御装置。
  4.  前記制御対象は、複数の対象を含み、
     前記因果関係は、各前記複数の対象に対応の因果関係を含み、
     前記制御装置は、前記複数の対象のうち稼働する対象を検出し、
     前記事象検出手段は、
     前記複数の対象のうち稼働する対象に対応の前記因果関係を走査し、前記監視対象の事象に対応の前記識別子で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出する、請求項1から3のいずれか1項に記載の制御装置。
  5.  前記収集手段によって収集された計測値を記憶部に格納する手段を、さらに備え、
     前記収集手段は、前記制御対象の稼働中に予め定められた複数種類の計測値を時系列に収集する第1収集手段を含み、
     前記格納する手段は、
     前記事象検出手段の検出に応じて、前記第1収集手段が収集する計測値のうち、前記監視対象の事象に対応の前記識別子で識別される前記計測値であって、当該事象の検出時から遡る予め定められた期間において収集された計測値を、前記記憶部に格納する、請求項1から4のいずれか1項に記載の制御装置。
  6.  前記事象検出手段の検出に応じて、前記決定手段が決定した事象に対応の前記識別子と、当該識別子で識別される計測値の収集指令とを含むコマンドを、他の制御装置に送信する、請求項1から5のいずれか1項に記載の制御装置。
  7.  前記複数の事象間の因果関係を表す画像を含むUIを表示する手段と、
     前記因果関係における前記複数の事象から、前記監視対象の事象を指定するユーザ操作を受付ける手段と、をさらに備える、請求項1から6のいずれか1項に記載の制御装置。
  8.  請求項1から7のいずれか1項に記載の複数の前記制御装置をネットワーク接続して構成される制御システムであって、
     前記複数の制御装置は、互いに時刻同期し、
     前記ネットワークに予め定められた通知が転送されると、前記複数の制御装置のうちの1の制御装置は、他の制御装置から、当該他の制御装置が前記取得手段によって取得した計測値、または、前記収集手段によって収集した計測値を、受信し、集約し管理する、制御システム。
  9.  請求項1から7のいずれか1項に記載の複数の前記制御装置をネットワーク接続して構成される制御システムであって、
     前記複数の制御装置は、互いに時刻同期し、
     各前記複数の制御装置は、前記ネットワークを介して、各前記制御装置からの前記計測値を集約し管理する上位システムと通信し、
     前記ネットワークに予め定められた通知が転送されると、前記各制御装置は、当該制御装置の前記取得手段によって取得した計測値、または、前記収集手段によって収集した計測値を、前記上位システムに転送する、制御システム。
  10.  コンピュータが実施する方法であって、
     前記コンピュータは、
     制御対象で生じ得る複数の事象間の因果関係と、各前記複数の事象について当該事象に関連する計測値の識別子とを格納する手段を、備え、
     前記方法は、
     制御対象に関連する複数の計測値を取得するステップと、
     監視対象の事象に対応の前記識別子で識別される前記計測値に基づき、当該監視対象の事象を検出、または当該事象の予兆を検出するステップと、
     前記検出に応じて、前記因果関係を走査し、前記監視対象の事象に関係する1つ以上の前記事象を決定するステップと、
     前記取得するステップにおいて取得される前記複数の計測値のうち、前記監視対象の事象と前記決定するステップにおいて決定された各事象に対応の前記識別子で識別される前記計測値を収集するステップと、を備える、方法。
  11.  請求項10に記載の方法をプロセッサに実行させるためのプログラム。
PCT/JP2021/047280 2021-03-10 2021-12-21 制御装置、制御システム、方法およびプログラム WO2022190560A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021038265A JP2022138398A (ja) 2021-03-10 2021-03-10 制御装置、制御システム、方法およびプログラム
JP2021-038265 2021-03-10

Publications (1)

Publication Number Publication Date
WO2022190560A1 true WO2022190560A1 (ja) 2022-09-15

Family

ID=83226037

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/047280 WO2022190560A1 (ja) 2021-03-10 2021-12-21 制御装置、制御システム、方法およびプログラム

Country Status (2)

Country Link
JP (1) JP2022138398A (ja)
WO (1) WO2022190560A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234832A (ja) * 1995-02-24 1996-09-13 Toshiba Corp プラント監視診断装置および方法
JP2000288877A (ja) * 1999-04-05 2000-10-17 Toshiba Corp データ間の因果関係導出システム及びデータベースに於ける因果関係導出方法
JP2011081697A (ja) * 2009-10-09 2011-04-21 Hitachi Ltd 設備状態監視方法、監視システム及び監視プログラム
JP2017102668A (ja) * 2015-12-01 2017-06-08 オムロン株式会社 管理システムおよび管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234832A (ja) * 1995-02-24 1996-09-13 Toshiba Corp プラント監視診断装置および方法
JP2000288877A (ja) * 1999-04-05 2000-10-17 Toshiba Corp データ間の因果関係導出システム及びデータベースに於ける因果関係導出方法
JP2011081697A (ja) * 2009-10-09 2011-04-21 Hitachi Ltd 設備状態監視方法、監視システム及び監視プログラム
JP2017102668A (ja) * 2015-12-01 2017-06-08 オムロン株式会社 管理システムおよび管理プログラム

Also Published As

Publication number Publication date
JP2022138398A (ja) 2022-09-26

Similar Documents

Publication Publication Date Title
US10591886B2 (en) Control system, control program, and control method for device switching responsive to abnormality detection
US11163277B2 (en) Abnormality detection system, support device, and model generation method
JP6540481B2 (ja) 管理システムおよび管理プログラム
US10747212B2 (en) Management system and non-transitory computer-readable recording medium
WO2020129545A1 (ja) 制御装置およびプログラム
JP2018173883A (ja) 制御装置、制御プログラム、制御システム、および制御方法
US20190116100A1 (en) Machine-to-machine (m2m) communication monitoring
US11829130B2 (en) Control apparatus and non-transitory computer readable medium for detecting abnormality occurring in subject to be monitored
Pizoń et al. Key role and potential of Industrial Internet of Things (IIoT) in modern production monitoring applications
WO2022190560A1 (ja) 制御装置、制御システム、方法およびプログラム
JP6800799B2 (ja) 制御装置、制御プログラム、制御システム、および、制御方法
JP7102801B2 (ja) 制御システム、制御装置および表示装置
US20230305931A1 (en) Control device and non-transitory machine readable storage medium
CN112904807B (zh) 工业分析系统、方法和非暂态计算机可读介质
JP2023530858A (ja) 消費者向け製品を製造又は包装するための自動機械の予測保守のための方法
US20170277142A1 (en) Process control system performance analysis using scenario data
WO2020225030A1 (en) System, device and method of managing an asset model for assets in an industrial internet of things (iiot) environment
TWI830193B (zh) 預測系統、資訊處理裝置以及資訊處理程式
JP7151230B2 (ja) 制御システム、監視装置および監視プログラム
EP3470945A1 (en) Machine-to-machine (m2m) communication monitoring
CN116894544A (zh) 数据收集装置、记录介质以及方法
JP2023006304A (ja) 制御システム、モデル生成方法およびモデル生成プログラム
JP2021124966A (ja) データ収集装置、プロセッサコアの配分方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21930405

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21930405

Country of ref document: EP

Kind code of ref document: A1